Generate SSD activity lifecycle from typed Jerboa
ober
5f21db310ad47eb6a2fe97133a12fa6cca75cd42
--- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -13144,6 +13144,163 @@ (mainUiAddControlsScroll root activity) root))))) + (typed-kotlin-file "com/sfb/ssdreview/MainActivityLifecycle.kt" + (kotlin-imports (android Manifest) + (android app Activity) + (android content Intent) + (android content pm PackageManager) + (android os Build) + (android provider Settings) + (android view View) + (android widget LinearLayout) + (org json JSONObject)) + (typed-library (com sfb ssdreview) + (export mainActivityOnCreate mainActivityOnResume + mainActivityOnPause mainActivityOnActivityResult + mainActivityOnReadStoragePermissionResult) + (type Intent) + (type Int32) + (type LinearLayout) + (type MainActivity) + (type JSONObject) + (type TruthStore) + (extern (mainLifecycleTruthStore + (activity : MainActivity)) : TruthStore + (kotlin-call TruthStore)) + (extern (mainLifecycleSetContentView + (activity : MainActivity) + (view : LinearLayout)) : Unit + (kotlin-member-call setContentView)) + (extern (mainLifecycleTruthStoreRaw + (activity : MainActivity)) : TruthStore + (kotlin-member-get truthStore)) + (extern (mainLifecycleReopenSsdBrowserOnResumeRaw + (activity : MainActivity)) : Bool + (kotlin-member-get reopenSsdBrowserOnResume)) + (extern (mainLifecycleClientLogCrashTimeoutMillisValue) : Int32 + (kotlin-value CLIENT_LOG_CRASH_TIMEOUT_MS)) + (extern (mainLifecycleReqOpenPdfValue) : Int32 + (kotlin-value REQ_OPEN_PDF)) + (extern (mainLifecycleReqExportZipValue) : Int32 + (kotlin-value REQ_EXPORT_ZIP)) + (extern (mainLifecycleReqImportZipValue) : Int32 + (kotlin-value REQ_IMPORT_ZIP)) + (extern (mainLifecycleReqSyncTreeValue) : Int32 + (kotlin-value REQ_SYNC_TREE)) + (extern (mainLifecycleReqOpenSsdPdfTreeValue) : Int32 + (kotlin-value REQ_OPEN_SSD_PDF_TREE)) + (extern (mainLifecycleReqReadStorageValue) : Int32 + (kotlin-value REQ_READ_STORAGE)) + (extern (mainLifecyclePrefSsdPdfTreeUriValue) : String + (kotlin-value PREF_SSD_PDF_TREE_URI)) + (extern (mainLifecyclePrefLastPdfUriValue) : String + (kotlin-value PREF_LAST_PDF_URI)) + (extern (mainLifecycleResultOkValue) : Int32 + (kotlin-value Activity RESULT_OK)) + (extern (mainLifecycleBuildSdkIntValue) : Int32 + (kotlin-value Build VERSION SDK_INT)) + (extern (mainLifecycleBuildVersionCodesRValue) : Int32 + (kotlin-value Build VERSION_CODES R)) + (extern (mainLifecycleBuildVersionCodesMValue) : Int32 + (kotlin-value Build VERSION_CODES M)) + (extern (mainLifecycleReadExternalStoragePermissionValue) : String + (kotlin-value Manifest permission READ_EXTERNAL_STORAGE)) + (extern (mainLifecyclePackageManagerPermissionGrantedValue) : Int32 + (kotlin-value PackageManager PERMISSION_GRANTED)) + (extern (mainLifecycleManageAppAllFilesAccessActionValue) : String + (kotlin-value Settings ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION)) + (extern (mainLifecycleManageAllFilesAccessActionValue) : String + (kotlin-value Settings ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION)) + (def (mainActivityOnCreate (activity : MainActivity)) : Unit + (begin + (mainActivityInstallClientCrashLogger + activity + (mainLifecycleClientLogCrashTimeoutMillisValue)) + (mainActivityLogClientEvent + activity + "ssd-app-start" + (emptyJsonObject)) + (mainActivitySetTruthStore + activity + (mainLifecycleTruthStore activity)) + (mainLifecycleSetContentView + activity + (mainActivityBuildUi activity)) + (mainActivitySetStatusRaw + activity + (startupStatus + (truthStoreStorageSummary + (mainLifecycleTruthStoreRaw activity)))) + (mainActivityRestoreLastPdf activity) + (mainActivitySeedBundledTruthAsync + activity + (mainLifecycleTruthStoreRaw activity)))) + (def (mainActivityOnResume (activity : MainActivity)) : Unit + (if (ssdBrowserResumeReady + (mainLifecycleReopenSsdBrowserOnResumeRaw activity) + (mainActivityHasDirectDownloadAccess + activity + (mainLifecycleBuildSdkIntValue) + (mainLifecycleBuildVersionCodesRValue) + (mainLifecycleBuildVersionCodesMValue) + (mainLifecycleReadExternalStoragePermissionValue) + (mainLifecyclePackageManagerPermissionGrantedValue))) + (begin + (mainActivitySetReopenSsdBrowserOnResume activity #f) + (mainActivityOpenPdf + activity + (mainLifecycleReqOpenPdfValue) + (mainLifecycleReqOpenSsdPdfTreeValue) + (mainLifecycleReqReadStorageValue) + (mainLifecyclePrefSsdPdfTreeUriValue) + (mainLifecyclePrefLastPdfUriValue) + (mainLifecycleBuildSdkIntValue) + (mainLifecycleBuildVersionCodesRValue) + (mainLifecycleBuildVersionCodesMValue) + (mainLifecycleReadExternalStoragePermissionValue) + (mainLifecyclePackageManagerPermissionGrantedValue) + (mainLifecycleManageAppAllFilesAccessActionValue) + (mainLifecycleManageAllFilesAccessActionValue))) + (begin))) + (def (mainActivityOnPause (activity : MainActivity)) : Unit + (mainActivityPersistCurrentPdfState activity #t)) + (def (mainActivityOnActivityResult + (activity : MainActivity) + (requestCode : Int32) + (resultCode : Int32) + (data : (Nullable Intent))) : Unit + (mainActivityHandleActivityResult + activity + (mainLifecycleTruthStoreRaw activity) + requestCode + resultCode + data + (mainLifecycleResultOkValue) + (mainLifecycleReqOpenPdfValue) + (mainLifecycleReqOpenSsdPdfTreeValue) + (mainLifecycleReqExportZipValue) + (mainLifecycleReqImportZipValue) + (mainLifecycleReqSyncTreeValue) + (mainLifecyclePrefSsdPdfTreeUriValue) + (mainLifecyclePrefLastPdfUriValue))) + (def (mainActivityOnReadStoragePermissionResult + (activity : MainActivity) + (requestCode : Int32)) : Unit + (mainActivityHandleReadStoragePermissionResult + activity + requestCode + (mainLifecycleReqReadStorageValue) + (mainLifecycleReqOpenPdfValue) + (mainLifecycleReqOpenSsdPdfTreeValue) + (mainLifecyclePrefSsdPdfTreeUriValue) + (mainLifecyclePrefLastPdfUriValue) + (mainLifecycleBuildSdkIntValue) + (mainLifecycleBuildVersionCodesRValue) + (mainLifecycleBuildVersionCodesMValue) + (mainLifecycleReadExternalStoragePermissionValue) + (mainLifecyclePackageManagerPermissionGrantedValue) + (mainLifecycleManageAppAllFilesAccessActionValue) + (mainLifecycleManageAllFilesAccessActionValue))))) (kotlin-file-lines "com/sfb/ssdreview/MainActivity.kt" ( "package com.sfb.ssdreview" @@ -13205,38 +13362,29 @@ " internal var selectedGroupId: String? = null" " internal var appendMode: Boolean = false" " internal var ssdAreaMode: Boolean = false" - " internal var reopenSsdBrowserOnResume: 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)" - " mainActivityInstallClientCrashLogger(this, CLIENT_LOG_CRASH_TIMEOUT_MS)" - " mainActivityLogClientEvent(this, \"ssd-app-start\")" - " mainActivitySetTruthStore(this, TruthStore(this))" - " setContentView(buildUi())" - " mainActivitySetStatusRaw(this, startupStatus(truthStoreStorageSummary(truthStore)))" - " mainActivityRestoreLastPdf(this)" - " mainActivitySeedBundledTruthAsync(this, truthStore)" + " mainActivityOnCreate(this)" " }" "" " override fun onResume() {" " super.onResume()" - " if (ssdBrowserResumeReady(reopenSsdBrowserOnResume, mainActivityHasDirectDownloadAccess(this, Build.VERSION.SDK_INT, Build.VERSION_CODES.R, Build.VERSION_CODES.M, Manifest.permission.READ_EXTERNAL_STORAGE, PackageManager.PERMISSION_GRANTED))) {" - " mainActivitySetReopenSsdBrowserOnResume(this, false)" - " mainActivityOpenPdf(this, REQ_OPEN_PDF, REQ_OPEN_SSD_PDF_TREE, REQ_READ_STORAGE, PREF_SSD_PDF_TREE_URI, PREF_LAST_PDF_URI, Build.VERSION.SDK_INT, Build.VERSION_CODES.R, Build.VERSION_CODES.M, Manifest.permission.READ_EXTERNAL_STORAGE, PackageManager.PERMISSION_GRANTED, Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION, Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION)" - " }" + " mainActivityOnResume(this)" " }" "" " override fun onPause() {" " super.onPause()" - " mainActivityPersistCurrentPdfState(this, true)" + " mainActivityOnPause(this)" " }" "" " private fun buildUi(): View = mainActivityBuildUi(this)" "" " override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {" " super.onActivityResult(requestCode, resultCode, data)" - " mainActivityHandleActivityResult(this, truthStore, requestCode, resultCode, data, RESULT_OK, REQ_OPEN_PDF, REQ_OPEN_SSD_PDF_TREE, REQ_EXPORT_ZIP, REQ_IMPORT_ZIP, REQ_SYNC_TREE, PREF_SSD_PDF_TREE_URI, PREF_LAST_PDF_URI)" + " mainActivityOnActivityResult(this, requestCode, resultCode, data)" " }" "" " override fun onRequestPermissionsResult(" @@ -13245,7 +13393,7 @@ " grantResults: IntArray" " ) {" " super.onRequestPermissionsResult(requestCode, permissions, grantResults)" - " mainActivityHandleReadStoragePermissionResult(this, requestCode, REQ_READ_STORAGE, REQ_OPEN_PDF, REQ_OPEN_SSD_PDF_TREE, PREF_SSD_PDF_TREE_URI, PREF_LAST_PDF_URI, Build.VERSION.SDK_INT, Build.VERSION_CODES.R, Build.VERSION_CODES.M, Manifest.permission.READ_EXTERNAL_STORAGE, PackageManager.PERMISSION_GRANTED, Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION, Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION)" + " mainActivityOnReadStoragePermissionResult(this, requestCode)" " }" "" "}"