summaryrefslogtreecommitdiff
path: root/app/src/main/java/org/terst/feedreader/ui/ReaderScreen.kt
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-08-22 01:01:05 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-08-22 01:01:05 +0000
commita3296f5c14a5fb95feaa3751044a1995935e6f3e (patch)
tree6e1c1399c1a04ef4c7f24b573e48fd7de4f6d547 /app/src/main/java/org/terst/feedreader/ui/ReaderScreen.kt
parentfd49bacfb92ef8d29cbad56419acd016ff40f357 (diff)
Feed writes: bulk OPML upsert, targeted fetch-result update, shared toggle
- AddFeedScreen: OPML import no longer crashes the app on a non-XML/corrupt file (try/catch around the whole import). Bulk upsertAll() instead of a per-feed getById()+upsert() loop -- 2N sequential DB round-trips for N feeds otherwise, real cost at 100+ feed subscription lists. - FeedDao.updateFetchResult only writes the columns a fetch actually produces, instead of a full-row @Update built from a feed snapshot read before a (possibly slow) network round-trip -- the old path could silently revert a readerModeEnabled/folder edit made via FeedListScreen while that feed's fetch was still in flight. - setReaderModeEnabled(feed, enabled) persists the toggle and returns the exact confirmation text, shared by FeedListScreen's per-row toggle and ReaderScreen's toggleFeedReaderMode -- previously two independently-typed copies of the same snackbar message.
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, 3 insertions, 4 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 b586fbc..ae63258 100644
--- a/app/src/main/java/org/terst/feedreader/ui/ReaderScreen.kt
+++ b/app/src/main/java/org/terst/feedreader/ui/ReaderScreen.kt
@@ -62,6 +62,7 @@ import org.terst.feedreader.data.ArticleEntity
import org.terst.feedreader.data.FeedEntity
import org.terst.feedreader.data.ensureStandaloneArticle
import org.terst.feedreader.data.saveArticleToStash
+import org.terst.feedreader.data.setReaderModeEnabled
import org.terst.feedreader.readability.ReaderExtractor
import java.net.URLEncoder
@@ -229,8 +230,7 @@ private fun ReaderContent(
val newEnabled = !f.readerModeEnabled
feed = f.copy(readerModeEnabled = newEnabled)
scope.launch {
- db.feedDao().update(f.copy(readerModeEnabled = newEnabled))
- val feedLabel = f.title.ifBlank { "this feed" }
+ val message = db.feedDao().setReaderModeEnabled(f, newEnabled)
if (newEnabled) {
if (readerContent == null) {
isExtracting = true
@@ -243,13 +243,12 @@ private fun ReaderContent(
}
}
isReaderMode = true
- snackbarHostState.showSnackbar("Reader mode enabled for $feedLabel")
} else {
isReaderMode = false
readerContent = null
db.articleDao().clearExtractedContent(articleId)
- snackbarHostState.showSnackbar("Reader mode disabled for $feedLabel")
}
+ snackbarHostState.showSnackbar(message)
}
}