Move SSD picker URI checks to typed Kotlin

ober

76dfbe79db0cb29aa31785a87bb67df7b8cea36e

diff --git a/templates/ssd-review.ss b/templates/ssd-review.ss
index 3ca438f..f8883f3 100644
--- 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\""