diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-08-22 01:01:05 +0000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-08-22 01:01:05 +0000 |
| commit | a3296f5c14a5fb95feaa3751044a1995935e6f3e (patch) | |
| tree | 6e1c1399c1a04ef4c7f24b573e48fd7de4f6d547 /app/src/main/java/org/terst/feedreader/ui/ReaderScreen.kt | |
| parent | fd49bacfb92ef8d29cbad56419acd016ff40f357 (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.kt | 7 |
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) } } |
