Use typed file predicates in SSD browser paths

ober

1b8e187dcbc0c7e9653fbb16ba9985e667024d92

diff --git a/templates/ssd-review.ss b/templates/ssd-review.ss
index 0cbd7ca..26033f3 100644
--- a/templates/ssd-review.ss
+++ b/templates/ssd-review.ss
@@ -6796,7 +6796,7 @@
        ""
        "    private fun findDownloadSsdPdfsViaFiles(): List<SsdPdfChoice> {"
        "        val dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)"
-       "        if (!dir.exists() || !dir.isDirectory) return emptyList()"
+       "        if (!fileIsDirectory(dir)) return emptyList()"
        "        val choices = mutableListOf<SsdPdfChoice>()"
        "        try {"
        "            dir.walkTopDown()"
@@ -8377,7 +8377,7 @@
        "        } finally {"
        "            stage.deleteRecursively()"
        "        }"
-       "        if (count > 0 || !File(learnedDir, learnedExamplesFileName()).exists()) {"
+       "        if (count > 0 || !fileExists(File(learnedDir, learnedExamplesFileName()))) {"
        "            rebuildLearnedExamples()"
        "        }"
        "        return count"