summaryrefslogtreecommitdiff
path: root/app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt')
-rw-r--r--app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt10
1 files changed, 9 insertions, 1 deletions
diff --git a/app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt b/app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt
index 3a791cc..63614d1 100644
--- a/app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt
+++ b/app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt
@@ -1,6 +1,7 @@
package org.terst.feedreader.data
import org.terst.feedreader.readability.ConsentNotice
+import org.terst.feedreader.readability.RecirculationWidgets
import org.terst.feedreader.readability.UnrenderedTex
/** What a cached `articles.extractedContent` value turned out to be worth. */
@@ -58,7 +59,14 @@ suspend fun loadCachedExtraction(
discardedUnrenderedTex = true
)
else -> null
- } ?: return CachedExtraction(content = cached, discardedConsentNotice = false)
+ } ?: return CachedExtraction(
+ // Recirculation widgets are deliberately not in the `discard` list above. A cached
+ // article carrying the publisher's promo blocks is a good article with litter in it,
+ // not a poisoned row: cleaning it in place shows the right thing immediately, where
+ // discarding it would throw away a usable body and fetch the identical one back.
+ content = RecirculationWidgets.strip(cached),
+ discardedConsentNotice = false
+ )
clearCache()
return discard