Generate SSD main activity class from typed Jerboa
ober
b66f26114993978b178d190babdcbfca889ade87
--- a/.build.yml +++ b/.build.yml @@ -5,7 +5,7 @@ packages: - make=4.4.1-r4 sources: # Build dependency: full immutable commit, mirrored in dependencies.lock.json. - - "https://git.sr.ht/~lisp/jerboa#344119da5afd49cc97ed78676474b98d0da8fc97" + - "https://git.sr.ht/~lisp/jerboa#75fe436882fc90a2d8375b8f2000e6a829f77b7c" # The second source is the build subject selected by the SourceHut submitter. - https://git.sr.ht/~lisp/jerboa-android tasks: @@ -14,6 +14,6 @@ tasks: test "$(apk info -v chez-scheme)" = chez-scheme-10.3.0-r2 test "$(apk info -v git)" = git-2.54.0-r0 test "$(apk info -v make)" = make-4.4.1-r4 - test "$(git -C ../jerboa rev-parse HEAD)" = 344119da5afd49cc97ed78676474b98d0da8fc97 - test "$(git -C ../jerboa rev-parse 'HEAD^{tree}')" = 7869f8316b49971e0846fa995dd2f08f8940aee6 + test "$(git -C ../jerboa rev-parse HEAD)" = 75fe436882fc90a2d8375b8f2000e6a829f77b7c + test "$(git -C ../jerboa rev-parse 'HEAD^{tree}')" = 883737c903b9a6d8b9200911a1ad77f8844e0597 JERBOA="chez --libdirs .:../jerboa/lib --script" make test --- a/dependencies.lock.json +++ b/dependencies.lock.json @@ -11,8 +11,8 @@ "generator_runtime": { "name": "jerboa", "repository": "https://git.sr.ht/~lisp/jerboa", - "commit": "344119da5afd49cc97ed78676474b98d0da8fc97", - "tree": "7869f8316b49971e0846fa995dd2f08f8940aee6" + "commit": "75fe436882fc90a2d8375b8f2000e6a829f77b7c", + "tree": "883737c903b9a6d8b9200911a1ad77f8844e0597" }, "assurance_tools": { "osv_scanner": { --- a/scripts/verify-supply-chain.sh +++ b/scripts/verify-supply-chain.sh @@ -3,8 +3,8 @@ set -eu repo=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd -P) lock="$repo/dependencies.lock.json" -jerboa_commit=344119da5afd49cc97ed78676474b98d0da8fc97 # gitsafe:ignore -jerboa_tree=7869f8316b49971e0846fa995dd2f08f8940aee6 # gitsafe:ignore +jerboa_commit=75fe436882fc90a2d8375b8f2000e6a829f77b7c # gitsafe:ignore +jerboa_tree=883737c903b9a6d8b9200911a1ad77f8844e0597 # gitsafe:ignore gradle_sha=20f1b1176237254a6fc204d8434196fa11a4cfb387567519c61556e8710aed78 jdk_macos_sha=8fa1eff40bb637a33613b2ccb8b12c70dc3661cc22cf8e784943715769a05336 jdk_linux_sha=d8afc263758141a66e0e3aafc321e783f7016696f4eaea067d340a269037d331 --- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -13301,103 +13301,148 @@ (mainLifecyclePackageManagerPermissionGrantedValue) (mainLifecycleManageAppAllFilesAccessActionValue) (mainLifecycleManageAllFilesAccessActionValue))))) - (kotlin-file-lines "com/sfb/ssdreview/MainActivity.kt" - ( - "package com.sfb.ssdreview" - "" - "import android.Manifest" - "import android.app.Activity" - "import android.app.AlertDialog" - "import android.content.ContentUris" - "import android.content.Intent" - "import android.content.pm.PackageManager" - "import android.graphics.Bitmap" - "import android.graphics.Color" - "import android.graphics.Matrix" - "import android.graphics.pdf.PdfRenderer" - "import android.net.Uri" - "import android.os.Build" - "import android.os.Bundle" - "import android.os.Environment" - "import android.os.ParcelFileDescriptor" - "import android.os.SystemClock" - "import android.provider.DocumentsContract" - "import android.provider.MediaStore" - "import android.provider.OpenableColumns" - "import android.provider.Settings" - "import android.text.Editable" - "import android.text.InputType" - "import android.view.Gravity" - "import android.view.HapticFeedbackConstants" - "import android.view.View" - "import android.widget.AutoCompleteTextView" - "import android.widget.Button" - "import android.widget.EditText" - "import android.widget.LinearLayout" - "import android.widget.ScrollView" - "import android.widget.TextView" - "import android.widget.Toast" - "import androidx.documentfile.provider.DocumentFile" - "import org.json.JSONObject" - "import java.io.File" - "import java.io.PrintWriter" - "import java.io.StringWriter" - "import javax.net.ssl.HttpsURLConnection" - "import java.net.URL" - "import java.util.UUID" - "import kotlin.concurrent.thread" - "" - "class MainActivity : Activity() {" - " internal lateinit var truthStore: TruthStore" - " internal lateinit var reviewView: SsdReviewView" - " internal lateinit var status: TextView" - "" - " internal var pdfUri: Uri? = null" - " internal var pdfName: String = \"\"" - " internal var pdfSha1: String = \"\"" - " internal var pageIndex: Int = 0" - " internal var pageCount: Int = 0" - " internal var currentBitmap: Bitmap? = null" - " internal var currentSession: SsdSession? = null" - " internal var selectedGroupId: String? = null" - " internal var appendMode: Boolean = false" - " internal var ssdAreaMode: Boolean = false" - " internal var reopenSsdBrowserOnResume: Boolean = false" - " @Volatile internal var loadGeneration: Int = 0" - " internal val boxTypeDisplays: List<String> by lazy { boxTypeDisplays(boxTypesLoadAndroid(this)) }" - " override fun onCreate(savedInstanceState: Bundle?) {" - " super.onCreate(savedInstanceState)" - " mainActivityOnCreate(this)" - " }" - "" - " override fun onResume() {" - " super.onResume()" - " mainActivityOnResume(this)" - " }" - "" - " override fun onPause() {" - " super.onPause()" - " mainActivityOnPause(this)" - " }" - "" - " private fun buildUi(): View = mainActivityBuildUi(this)" - "" - " override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {" - " super.onActivityResult(requestCode, resultCode, data)" - " mainActivityOnActivityResult(this, requestCode, resultCode, data)" - " }" - "" - " override fun onRequestPermissionsResult(" - " requestCode: Int," - " permissions: Array<out String>," - " grantResults: IntArray" - " ) {" - " super.onRequestPermissionsResult(requestCode, permissions, grantResults)" - " mainActivityOnReadStoragePermissionResult(this, requestCode)" - " }" - "" - "}" - )) + (typed-kotlin-file "com/sfb/ssdreview/MainActivity.kt" + (kotlin-imports (android app Activity) + (android content Intent) + (android graphics Bitmap) + (android net Uri) + (android os Bundle) + (android widget TextView)) + (typed-library (com sfb ssdreview) + (export MainActivity) + (type Activity) + (type Bitmap) + (type BoxType) + (type Bundle) + (type Int32) + (type IntArray) + (type Intent) + (type SsdReviewView) + (type SsdSession) + (type TextView) + (type TruthStore) + (type Uri) + (extern (mainActivitySuperOnCreate + (savedInstanceState : (Nullable Bundle))) : Unit + (kotlin-call super onCreate)) + (extern (mainActivitySuperOnResume) : Unit + (kotlin-call super onResume)) + (extern (mainActivitySuperOnPause) : Unit + (kotlin-call super onPause)) + (extern (mainActivitySuperOnActivityResult + (requestCode : Int32) + (resultCode : Int32) + (data : (Nullable Intent))) : Unit + (kotlin-call super onActivityResult)) + (extern (mainActivitySuperOnRequestPermissionsResult + (requestCode : Int32) + (permissions : (Array (Out String))) + (grantResults : IntArray)) : Unit + (kotlin-call super onRequestPermissionsResult)) + (extern (mainActivityBoxTypesLoadAndroid + (activity : MainActivity)) : (List BoxType) + (kotlin-call boxTypesLoadAndroid)) + (def (mainActivityInitialBoxTypeDisplays + (activity : MainActivity)) : (List String) + (boxTypeDisplays (mainActivityBoxTypesLoadAndroid activity))) + (class MainActivity () + (extends Activity) + (var truthStore : TruthStore + (modifiers internal lateinit)) + (var reviewView : SsdReviewView + (modifiers internal lateinit)) + (var status : TextView + (modifiers internal lateinit)) + (var pdfUri : (Nullable Uri) + (nullable-none Uri) + (modifiers internal)) + (var pdfName : String + "" + (modifiers internal)) + (var pdfSha1 : String + "" + (modifiers internal)) + (var pageIndex : Int32 + (int32 0) + (modifiers internal)) + (var pageCount : Int32 + (int32 0) + (modifiers internal)) + (var currentBitmap : (Nullable Bitmap) + (nullable-none Bitmap) + (modifiers internal)) + (var currentSession : (Nullable SsdSession) + (nullable-none SsdSession) + (modifiers internal)) + (var selectedGroupId : (Nullable String) + (nullable-none String) + (modifiers internal)) + (var appendMode : Bool + #f + (modifiers internal)) + (var ssdAreaMode : Bool + #f + (modifiers internal)) + (var reopenSsdBrowserOnResume : Bool + #f + (modifiers internal)) + (var loadGeneration : Int32 + (int32 0) + (modifiers @Volatile internal)) + (var boxTypeDisplays : (List String) + (list-of String) + (modifiers internal)) + (def (onCreate + (savedInstanceState : (Nullable Bundle))) : Unit + (modifiers override) + (kotlin-name onCreate) + (begin + (mainActivitySuperOnCreate savedInstanceState) + (set! boxTypeDisplays + (mainActivityInitialBoxTypeDisplays this)) + (mainActivityOnCreate this))) + (def (onResume) : Unit + (modifiers override) + (kotlin-name onResume) + (begin + (mainActivitySuperOnResume) + (mainActivityOnResume this))) + (def (onPause) : Unit + (modifiers override) + (kotlin-name onPause) + (begin + (mainActivitySuperOnPause) + (mainActivityOnPause this))) + (def (onActivityResult + (requestCode : Int32) + (resultCode : Int32) + (data : (Nullable Intent))) : Unit + (modifiers override) + (kotlin-name onActivityResult) + (begin + (mainActivitySuperOnActivityResult + requestCode + resultCode + data) + (mainActivityOnActivityResult + this + requestCode + resultCode + data))) + (def (onRequestPermissionsResult + (requestCode : Int32) + (permissions : (Array (Out String))) + (grantResults : IntArray)) : Unit + (modifiers override) + (kotlin-name onRequestPermissionsResult) + (begin + (mainActivitySuperOnRequestPermissionsResult + requestCode + permissions + grantResults) + (mainActivityOnReadStoragePermissionResult + this + requestCode)))))) (typed-kotlin-file "com/sfb/ssdreview/SsdPdfDiscovery.kt" (kotlin-imports (android content ContentResolver) (android database Cursor)