summaryrefslogtreecommitdiff
path: root/org.fox.ttrss/src
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2025-05-18 17:54:41 +0300
committerAndrew Dolgov <fox@fakecake.org>2025-05-18 17:54:41 +0300
commitb5c26f8dcf4563df56142b15047c78cc304bdd77 (patch)
treee3021608df3fe08afc6304c94c914ee9797c33aa /org.fox.ttrss/src
parent16b191cf4594df8b7ed3462836fd57859729c60f (diff)
fix several more unread-related observable triggers
Diffstat (limited to 'org.fox.ttrss/src')
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java12
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java33
2 files changed, 23 insertions, 22 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java
index 9b07de38..59ff4e66 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java
@@ -93,7 +93,7 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList
Article articleClone = new Article(article);
articleClone.unread = !articleClone.unread;
- saveArticleUnread(article);
+ saveArticleUnread(articleClone);
Application.getArticlesModel().updateById(articleClone);
}
@@ -272,9 +272,13 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList
@Override
public void onArticleSelected(Article article, boolean open) {
- if (article.unread) {
- article.unread = false;
- saveArticleUnread(article);
+ Article articleClone = new Article(article);
+
+ if (articleClone.unread) {
+ articleClone.unread = false;
+ saveArticleUnread(articleClone);
+
+ Application.getArticlesModel().updateById(articleClone);
}
if (!getSupportActionBar().isShowing()) getSupportActionBar().show();
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java
index f2ef3aa0..19cfbe0c 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java
@@ -417,26 +417,28 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList
}
public void onArticleSelected(Article article, boolean open) {
+ Article articleClone = new Article(article);
+
+ if (articleClone.unread) {
+ articleClone.unread = false;
+ saveArticleUnread(articleClone);
+
+ Application.getArticlesModel().updateById(articleClone);
+ }
+
if (open) {
- boolean alwaysOpenUri = m_prefs.getBoolean("always_open_uri", false);
- if (alwaysOpenUri) {
- if (article.unread) {
- article.unread = false;
- saveArticleUnread(article);
- }
+ HeadlinesFragment hf = (HeadlinesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
- HeadlinesFragment hf = (HeadlinesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
+ if (m_prefs.getBoolean("always_open_uri", false)) {
- if (hf != null) {
+ if (hf != null) {
hf.setActiveArticleId(article.id);
}
openUri(Uri.parse(article.link));
- }
- else {
- HeadlinesFragment hf = (HeadlinesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
+ } else if (hf != null) {
- Intent intent = new Intent(MasterActivity.this, DetailActivity.class);
+ Intent intent = new Intent(MasterActivity.this, DetailActivity.class);
intent.putExtra("feed", hf.getFeed());
intent.putExtra("searchQuery", hf.getSearchQuery());
intent.putExtra("openedArticleId", article.id);
@@ -446,12 +448,7 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList
}
} else {
invalidateOptionsMenu();
-
- if (article.unread) {
- article.unread = false;
- saveArticleUnread(article);
- }
- }
+ }
}
@Override