summaryrefslogtreecommitdiff
path: root/app/src/main/java/org/terst/feedreader/ui/LinkReaderScreen.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/terst/feedreader/ui/LinkReaderScreen.kt')
-rw-r--r--app/src/main/java/org/terst/feedreader/ui/LinkReaderScreen.kt13
1 files changed, 10 insertions, 3 deletions
diff --git a/app/src/main/java/org/terst/feedreader/ui/LinkReaderScreen.kt b/app/src/main/java/org/terst/feedreader/ui/LinkReaderScreen.kt
index 4ed0722..72f6c1f 100644
--- a/app/src/main/java/org/terst/feedreader/ui/LinkReaderScreen.kt
+++ b/app/src/main/java/org/terst/feedreader/ui/LinkReaderScreen.kt
@@ -51,6 +51,7 @@ import org.terst.feedreader.data.DEFAULT_READER_FONT_SIZE_PX
import org.terst.feedreader.data.Settings
import org.terst.feedreader.data.ensureStandaloneArticle
import org.terst.feedreader.data.saveArticleToStash
+import org.terst.feedreader.data.loadCachedExtraction
import org.terst.feedreader.data.urlToArticleId
import org.terst.feedreader.readability.ReaderExtractor
import java.net.URLEncoder
@@ -95,9 +96,15 @@ fun LinkReaderScreen(url: String, onBack: () -> Unit, onOpenLink: (String) -> Un
LaunchedEffect(url) {
val existing = db.articleDao().getById(articleId)
article = existing
- if (existing?.extractedContent != null) {
- extractedTitle = existing.title
- extractedContent = existing.extractedContent
+ // A cached extraction can be the site's cookie-consent notice rather than the
+ // article (see CachedExtraction) -- drop it and extract again instead of showing
+ // a cookie disclaimer as the page.
+ val cached = loadCachedExtraction(existing?.extractedContent) {
+ db.articleDao().clearExtractedContent(articleId)
+ }
+ if (cached.content != null) {
+ extractedTitle = existing?.title
+ extractedContent = cached.content
} else {
val extracted = ReaderExtractor.extract(context, url)
val content = extracted?.content