Preserve SSD viewport while restoring last page
ober
63b8765b66e5b406fbc96e21fc57f8727ef68cc3
--- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -1644,7 +1644,7 @@ " }" " }" "" - " private fun loadPdf(uri: Uri, flags: Int, initialPageIndex: Int = 0) {" + " private 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) {" @@ -1664,7 +1664,7 @@ " pdfSha1 = hash" " pageCount = count" " pageIndex = initialPageIndex.coerceIn(0, maxOf(0, count - 1))" - " persistCurrentPdfState(includeViewport = false)" + " if (!restoring) persistCurrentPdfState(includeViewport = false)" " setStatus(\"Loaded $pdfName ($pageCount pages)\")" " renderCurrentPage()" " }" @@ -1679,7 +1679,7 @@ " val raw = prefs.getString(PREF_LAST_PDF_URI, null) ?: return false" " val page = prefs.getInt(PREF_LAST_PAGE_INDEX, 0)" " return try {" - " loadPdf(Uri.parse(raw), Intent.FLAG_GRANT_READ_URI_PERMISSION, page)" + " loadPdf(Uri.parse(raw), Intent.FLAG_GRANT_READ_URI_PERMISSION, page, restoring = true)" " true" " } catch (_: Exception) {" " false"