Generate SSD PDF choice item callback from typed Jerboa
ober
c115461a3ac0bce94735700916c0cfeb91e5c4c8
--- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -4823,6 +4823,7 @@ mainActivitySetNegativeCancelAppend mainActivitySetPositiveLoadPage runBackground mainActivityLogClientEventAsync + mainActivitySetPdfChoiceItems mainActivityInstallApproveAreaDialogButton mainActivityInstallAppendDialogButton mainActivityInstallEditDialogButtons @@ -4929,6 +4930,7 @@ (type SimpleOnScaleGestureListener) (type SsdSession) (type SsdReviewView) + (type SsdPdfChoice) (type MainActivity) (type BoxType) (type TruthStore) @@ -4966,6 +4968,11 @@ (text : String) (listener : (-> DialogInterface Int32 Unit))) : Builder (kotlin-member-call setNeutralButton)) + (extern (alertDialogBuilderSetItemsRaw + (builder : Builder) + (items : (Array String)) + (listener : (-> DialogInterface Int32 Unit))) : Builder + (kotlin-member-call setItems)) (extern (alertDialogGetButtonRaw (dialog : AlertDialog) (which : Int32)) : Button @@ -5081,6 +5088,9 @@ (first : Char) (second : Char)) : (List String) (kotlin-member-call split)) + (extern (stringListToTypedArray + (items : (List String))) : (Array String) + (kotlin-member-call toTypedArray)) (extern (androidColorRgb (red : Int32) (green : Int32) (blue : Int32)) : Int32 @@ -5389,6 +5399,11 @@ (payload : JSONObject) (readTimeoutMillis : Int32)) : Unit (kotlin-member-call sendClientLog)) + (extern (mainActivityLoadPdfRaw + (activity : MainActivity) + (uri : Uri) + (flags : Int32)) : Unit + (kotlin-member-call loadPdf)) (extern (mainActivityReviewViewSet (activity : MainActivity) (view : SsdReviewView)) : Unit @@ -6753,6 +6768,19 @@ readTimeoutMillis) (catch (error : Exception) (begin)))))))) + (def (mainActivitySetPdfChoiceItems + (builder : Builder) + (activity : MainActivity) + (choices : (List SsdPdfChoice)) + (readFlag : Int32)) : Builder + (alertDialogBuilderSetItemsRaw + builder + (stringListToTypedArray (ssdPdfChoiceLabels choices)) + (lambda ((unusedDialog : DialogInterface) (which : Int32)) + (mainActivityLoadPdfRaw + activity + (ssdPdfChoiceUriAt choices which) + readFlag)))) (def (mainActivityInstallApproveAreaDialogButton (activity : MainActivity) (dialog : AlertDialog) @@ -9208,12 +9236,14 @@ " private fun showPdfChoiceDialog(choices: List<SsdPdfChoice>, title: String) {" " mainActivitySetPositiveOpenAnyPdf(" " mainActivitySetNeutralChooseSsdPdfFolder(" - " AlertDialog.Builder(this)" - " .setTitle(title)" - " .setItems(ssdPdfChoiceLabels(choices).toTypedArray()) { _, which ->" - " loadPdf(ssdPdfChoiceUriAt(choices, which), Intent.FLAG_GRANT_READ_URI_PERMISSION)" - " }" - " .setNegativeButton(\"Cancel\", null)," + " mainActivitySetPdfChoiceItems(" + " AlertDialog.Builder(this)" + " .setTitle(title)" + " .setNegativeButton(\"Cancel\", null)," + " this," + " choices," + " Intent.FLAG_GRANT_READ_URI_PERMISSION" + " )," " this" " )," " this" @@ -9377,7 +9407,7 @@ " }" " }" "" - " private fun loadPdf(uri: Uri, flags: Int, initialPageIndex: Int = 0, restoring: Boolean = false) {" + " internal fun loadPdf(uri: Uri, flags: Int, initialPageIndex: Int = 0, restoring: Boolean = false) {" " try {" " contentResolver.takePersistableUriPermission(uri, flags and Intent.FLAG_GRANT_READ_URI_PERMISSION)" " } catch (_: Exception) {"