Move SSD activity request dispatch to typed Kotlin
ober
fefd7f0bf81b58c6a4e3cdc34b08d1524d8e70bb
--- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -3887,6 +3887,9 @@ hasReplacementLabel hasResolvedLabel packageUriText mediaStorePdfSelection mediaStoreDisplayNameSort + requestIsOpenPdf requestIsOpenSsdPdfTree + requestIsExportZip requestIsImportZip + requestIsSyncTree requestIsReadStorage clampPageIndex shiftPageIndex displayGroupCanvasLabel dropdownHeight dialogPageNumber dialogPageNumberText pageNumberText sessionIdFromUuid nullableLowercaseOrEmpty @@ -4290,6 +4293,20 @@ (string-append displayNameColumn " LIKE ?)"))))) (def (mediaStoreDisplayNameSort (displayNameColumn : String)) : String (string-append displayNameColumn " COLLATE NOCASE ASC")) + (def (requestCodeMatches (requestCode : Int32) (expected : Int32)) : Bool + (= requestCode expected)) + (def (requestIsOpenPdf (requestCode : Int32) (expected : Int32)) : Bool + (requestCodeMatches requestCode expected)) + (def (requestIsOpenSsdPdfTree (requestCode : Int32) (expected : Int32)) : Bool + (requestCodeMatches requestCode expected)) + (def (requestIsExportZip (requestCode : Int32) (expected : Int32)) : Bool + (requestCodeMatches requestCode expected)) + (def (requestIsImportZip (requestCode : Int32) (expected : Int32)) : Bool + (requestCodeMatches requestCode expected)) + (def (requestIsSyncTree (requestCode : Int32) (expected : Int32)) : Bool + (requestCodeMatches requestCode expected)) + (def (requestIsReadStorage (requestCode : Int32) (expected : Int32)) : Bool + (requestCodeMatches requestCode expected)) (def (dropdownHeight (screenHeight : Int32)) : Int32 (let ((third (/ screenHeight (int32 3)))) (if (> third (int32 620)) @@ -6407,18 +6424,22 @@ " super.onActivityResult(requestCode, resultCode, data)" " if (resultCode != RESULT_OK) return" " val uri = data?.data ?: return" - " when (requestCode) {" - " REQ_OPEN_PDF -> loadPdf(uri, data.flags)" - " REQ_OPEN_SSD_PDF_TREE -> rememberAndBrowseSsdFolder(uri, data.flags)" - " REQ_EXPORT_ZIP -> contentResolver.openOutputStream(uri)?.use {" + " if (requestIsOpenPdf(requestCode, REQ_OPEN_PDF)) {" + " loadPdf(uri, data.flags)" + " } else if (requestIsOpenSsdPdfTree(requestCode, REQ_OPEN_SSD_PDF_TREE)) {" + " rememberAndBrowseSsdFolder(uri, data.flags)" + " } else if (requestIsExportZip(requestCode, REQ_EXPORT_ZIP)) {" + " contentResolver.openOutputStream(uri)?.use {" " truthStore.exportZip(it)" " setStatus(exportedTruthZipStatus())" " }" - " REQ_IMPORT_ZIP -> contentResolver.openInputStream(uri)?.use {" + " } else if (requestIsImportZip(requestCode, REQ_IMPORT_ZIP)) {" + " contentResolver.openInputStream(uri)?.use {" " val count = truthStore.importZip(it)" " setStatus(importedTruthZipStatus(count, truthStore.storageSummary()))" " }" - " REQ_SYNC_TREE -> syncSelectedTree(uri, data.flags)" + " } else if (requestIsSyncTree(requestCode, REQ_SYNC_TREE)) {" + " syncSelectedTree(uri, data.flags)" " }" " }" "" @@ -6428,7 +6449,7 @@ " grantResults: IntArray" " ) {" " super.onRequestPermissionsResult(requestCode, permissions, grantResults)" - " if (requestCode == REQ_READ_STORAGE) {" + " if (requestIsReadStorage(requestCode, REQ_READ_STORAGE)) {" " reopenSsdBrowserOnResume = false" " openPdf()" " }"