summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-09-16 22:13:32 +0400
committerAndrew Dolgov <[email protected]>2012-09-16 22:13:32 +0400
commitc580d8225a0ddb3596ff177cd457db2c6ffee4bf (patch)
tree948c43af40c5004cc8847a20109ded8b87a0baac /src
parent306a0bf4c9c0c3a8db719d6bd6211aa5f6355c0c (diff)
properly restore state when going back from headlinesactivity
Diffstat (limited to 'src')
-rw-r--r--src/org/fox/ttrss/ArticlePager.java2
-rw-r--r--src/org/fox/ttrss/HeadlinesActivity.java12
-rw-r--r--src/org/fox/ttrss/HeadlinesFragment.java20
-rw-r--r--src/org/fox/ttrss/TinyApplication.java6
4 files changed, 30 insertions, 10 deletions
diff --git a/src/org/fox/ttrss/ArticlePager.java b/src/org/fox/ttrss/ArticlePager.java
index 3a78c338..f9f7b1bd 100644
--- a/src/org/fox/ttrss/ArticlePager.java
+++ b/src/org/fox/ttrss/ArticlePager.java
@@ -123,7 +123,7 @@ public class ArticlePager extends Fragment {
m_onlineServices = (HeadlinesEventListener)activity;
- m_articles = TinyApplication.getInstance().m_articles;
+ m_articles = TinyApplication.getInstance().m_loadedArticles;
}
@Override
diff --git a/src/org/fox/ttrss/HeadlinesActivity.java b/src/org/fox/ttrss/HeadlinesActivity.java
index ad1a691b..6da308ba 100644
--- a/src/org/fox/ttrss/HeadlinesActivity.java
+++ b/src/org/fox/ttrss/HeadlinesActivity.java
@@ -135,6 +135,13 @@ private final String TAG = this.getClass().getSimpleName();
@Override
public void onArticleSelected(Article article, boolean open) {
+ if (article.unread) {
+ article.unread = false;
+ saveArticleUnread(article);
+ }
+
+ //TinyApplication.getInstance().m_activeArticle = article;
+
if (open) {
FragmentTransaction ft = getSupportFragmentManager()
.beginTransaction();
@@ -145,11 +152,14 @@ private final String TAG = this.getClass().getSimpleName();
ft.replace(R.id.article_fragment, frag, FRAG_ARTICLE);
//ft.addToBackStack(null);
+
+ hf.notifyUpdated();
ft.commit();
} else {
HeadlinesFragment hf = (HeadlinesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
- if (hf != null) hf.setActiveArticle(article);
+ hf.setActiveArticle(article);
+
initMenu();
}
diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java
index 8b087fa8..a312c237 100644
--- a/src/org/fox/ttrss/HeadlinesFragment.java
+++ b/src/org/fox/ttrss/HeadlinesFragment.java
@@ -75,7 +75,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
private SharedPreferences m_prefs;
private ArticleListAdapter m_adapter;
- private ArticleList m_articles = TinyApplication.getInstance().m_articles;
+ private ArticleList m_articles = TinyApplication.getInstance().m_loadedArticles;
private ArticleList m_selectedArticles = new ArticleList();
private HeadlinesEventListener m_listener;
@@ -295,9 +295,17 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
public void onResume() {
super.onResume();
- if (m_articles.size() == 0 || !m_feed.equals(TinyApplication.getInstance().m_feed)) {
+ /* if (TinyApplication.getInstance().m_activeArticle != null) {
+ m_activeArticle = TinyApplication.getInstance().m_activeArticle;
+ notifyUpdated();
+ TinyApplication.getInstance().m_activeArticle = null;
+ } */
+
+ if (m_articles.size() == 0 || !m_feed.equals(TinyApplication.getInstance().m_activeFeed)) {
refresh(false);
- TinyApplication.getInstance().m_feed = m_feed;
+ TinyApplication.getInstance().m_activeFeed = m_feed;
+ } else {
+ notifyUpdated();
}
m_activity.initMenu();
@@ -329,7 +337,11 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
m_listener.onArticleSelected(article);
}
- m_activeArticle = article;
+ // only set active article when it makes sense (in HeadlinesActivity)
+ if (getActivity().findViewById(R.id.article_fragment) != null) {
+ m_activeArticle = article;
+ }
+
m_adapter.notifyDataSetChanged();
}
}
diff --git a/src/org/fox/ttrss/TinyApplication.java b/src/org/fox/ttrss/TinyApplication.java
index 135de75f..ddd06115 100644
--- a/src/org/fox/ttrss/TinyApplication.java
+++ b/src/org/fox/ttrss/TinyApplication.java
@@ -1,6 +1,5 @@
package org.fox.ttrss;
-import org.fox.ttrss.types.Article;
import org.fox.ttrss.types.ArticleList;
import org.fox.ttrss.types.Feed;
@@ -9,9 +8,8 @@ import android.app.Application;
public class TinyApplication extends Application {
private static TinyApplication m_singleton;
- public ArticleList m_articles = new ArticleList();
- public Feed m_feed;
- public Article m_selectedArticle;
+ public ArticleList m_loadedArticles = new ArticleList();
+ public Feed m_activeFeed;
public static TinyApplication getInstance(){
return m_singleton;