Move SSD picker URI checks to typed Kotlin
ober
76dfbe79db0cb29aa31785a87bb67df7b8cea36e
--- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -6447,9 +6447,8 @@ " thread {" " val choices = mutableListOf<SsdPdfChoice>()" " choices.addAll(findDownloadSsdPdfs())" - " getPreferences(MODE_PRIVATE).getString(PREF_SSD_PDF_TREE_URI, null)?.let { remembered ->" - " choices.addAll(findSsdPdfsFromTree(Uri.parse(remembered)))" - " }" + " val remembered = getPreferences(MODE_PRIVATE).getString(PREF_SSD_PDF_TREE_URI, null)" + " if (nullableTextPresent(remembered)) choices.addAll(findSsdPdfsFromTree(Uri.parse(nullableTextOrEmpty(remembered))))" " val unique = uniquePdfChoices(choices)" " runOnUiThread {" " if (ssdPdfChoicesAvailable(unique)) {" @@ -6466,7 +6465,8 @@ " addCategory(Intent.CATEGORY_OPENABLE)" " type = \"application/pdf\"" " addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION)" - " initialPickerUri()?.let { putExtra(DocumentsContract.EXTRA_INITIAL_URI, it) }" + " val initialUri = initialPickerUri()" + " if (pdfUriLoaded(initialUri)) putExtra(DocumentsContract.EXTRA_INITIAL_URI, uriOrEmpty(initialUri))" " }" " startActivityForResult(intent, REQ_OPEN_PDF)" " }" @@ -6478,7 +6478,8 @@ " Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION or" " Intent.FLAG_GRANT_PREFIX_URI_PERMISSION" " )" - " initialPickerUri()?.let { putExtra(DocumentsContract.EXTRA_INITIAL_URI, it) }" + " val initialUri = initialPickerUri()" + " if (pdfUriLoaded(initialUri)) putExtra(DocumentsContract.EXTRA_INITIAL_URI, uriOrEmpty(initialUri))" " }" " startActivityForResult(intent, REQ_OPEN_SSD_PDF_TREE)" " }" @@ -6503,8 +6504,10 @@ "" " private fun initialPickerUri(): Uri? {" " val prefs = getPreferences(MODE_PRIVATE)" - " prefs.getString(PREF_SSD_PDF_TREE_URI, null)?.let { return Uri.parse(it) }" - " prefs.getString(PREF_LAST_PDF_URI, null)?.let { return Uri.parse(it) }" + " val treeUri = prefs.getString(PREF_SSD_PDF_TREE_URI, null)" + " if (nullableTextPresent(treeUri)) return Uri.parse(nullableTextOrEmpty(treeUri))" + " val lastUri = prefs.getString(PREF_LAST_PDF_URI, null)" + " if (nullableTextPresent(lastUri)) return Uri.parse(nullableTextOrEmpty(lastUri))" " return DocumentsContract.buildDocumentUri(" " \"com.android.externalstorage.documents\"," " \"primary:Download\""