diff options
Diffstat (limited to 'org.fox.ttrss/src')
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java | 12 | ||||
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java | 33 |
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 |