summaryrefslogtreecommitdiff
path: root/app/src/main/java/org/terst/feedreader/ui/ReaderScreen.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/terst/feedreader/ui/ReaderScreen.kt')
-rw-r--r--app/src/main/java/org/terst/feedreader/ui/ReaderScreen.kt7
1 files changed, 6 insertions, 1 deletions
diff --git a/app/src/main/java/org/terst/feedreader/ui/ReaderScreen.kt b/app/src/main/java/org/terst/feedreader/ui/ReaderScreen.kt
index 4c74e5a..2bdaf64 100644
--- a/app/src/main/java/org/terst/feedreader/ui/ReaderScreen.kt
+++ b/app/src/main/java/org/terst/feedreader/ui/ReaderScreen.kt
@@ -519,7 +519,12 @@ private fun ReaderContent(
ctx,
onOpenLink,
onLongPressLink = { longPressedLink = it },
- onYouTubeVideo = { youtubeVideoId = it }
+ onYouTubeVideo = { youtubeVideoId = it },
+ onScrollChanged = { scrollY -> ReaderScrollPositions.set(articleId, scrollY) },
+ // The page's real content height isn't known until layout finishes
+ // -- scrolling to a saved offset any earlier would just clamp back
+ // to 0 on a page that hasn't grown tall enough yet.
+ onPageFinished = { webView -> webView.scrollTo(0, ReaderScrollPositions.get(articleId)) }
).apply {
loadDataWithBaseURL(baseUrl, wrapReaderHtml(content, article?.title, article?.publishedAt, article?.imageUrl), "text/html", "UTF-8", null)
loadedContent.value = content