summaryrefslogtreecommitdiff
path: root/src/org/fox/ttrss/MainActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/fox/ttrss/MainActivity.java')
-rw-r--r--src/org/fox/ttrss/MainActivity.java88
1 files changed, 61 insertions, 27 deletions
diff --git a/src/org/fox/ttrss/MainActivity.java b/src/org/fox/ttrss/MainActivity.java
index 1fa20f7e..f458af79 100644
--- a/src/org/fox/ttrss/MainActivity.java
+++ b/src/org/fox/ttrss/MainActivity.java
@@ -21,12 +21,14 @@ import android.widget.ViewFlipper;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
-public class MainActivity extends Activity {
+public class MainActivity extends Activity implements FeedsFragment.OnFeedSelectedListener, HeadlinesFragment.OnArticleSelectedListener {
private final String TAG = this.getClass().getSimpleName();
private SharedPreferences m_prefs;
private String m_themeName = "";
- protected String m_sessionId;
+ private String m_sessionId;
+ private Article m_selectedArticle;
+ private Feed m_activeFeed;
protected MenuItem m_syncStatus;
@@ -61,22 +63,15 @@ public class MainActivity extends Activity {
setContentView(R.layout.main);
- /* HeadlinesFragment hf = new HeadlinesFragment();
- FeedsFragment ff = new FeedsFragment();
+ HeadlinesFragment hf = new HeadlinesFragment();
ArticleFragment af = new ArticleFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
-
- ft.add(R.id.main, ff);
- ft.add(R.id.main, hf);
- ft.add(R.id.main, af);
- ft.hide(hf);
+ ft.replace(R.id.feeds_fragment, new FeedsFragment());
+ ft.replace(R.id.headlines_fragment, hf);
+ ft.replace(R.id.article_fragment, af);
ft.hide(af);
- ft.commit(); */
-
- FragmentTransaction ft = getFragmentManager().beginTransaction();
- ft.hide(getFragmentManager().findFragmentById(R.id.headlines_fragment));
- ft.hide(getFragmentManager().findFragmentById(R.id.article_fragment));
+ ft.hide(hf);
ft.commit();
LoginRequest ar = new LoginRequest();
@@ -93,13 +88,7 @@ public class MainActivity extends Activity {
ar.execute(map);
setLoadingStatus(R.string.login_in_progress, true);
-
- /* ViewFlipper vf = (ViewFlipper) findViewById(R.id.main_flipper);
-
- if (vf != null) {
- vf.showNext();
- } */
-
+
}
public void setLoadingStatus(int status, boolean showProgress) {
@@ -176,18 +165,20 @@ public class MainActivity extends Activity {
setLoadingStatus(R.string.loading_message, true);
- FragmentManager fm = getFragmentManager();
- FeedsFragment ff = (FeedsFragment) fm.findFragmentById(R.id.feeds_fragment);
-
- if (ff != null) {
- ff.initialize(m_sessionId);
- }
+ //FragmentManager fm = getFragmentManager();
+ //FeedsFragment ff = (FeedsFragment) fm.findFragmentById(R.id.feeds_fragment);
ViewFlipper vf = (ViewFlipper) findViewById(R.id.main_flipper);
if (vf != null) {
vf.showNext();
}
+
+ FeedsFragment frag = new FeedsFragment();
+
+ FragmentTransaction ft = getFragmentManager().beginTransaction();
+ ft.replace(R.id.feeds_fragment, frag);
+ ft.commit();
}
} else {
JsonObject content = rv.get("content").getAsJsonObject();
@@ -212,4 +203,47 @@ public class MainActivity extends Activity {
}
}
}
+
+ @Override
+ public void onFeedSelected(Feed feed) {
+ Log.d(TAG, "Selected feed: " + feed.toString());
+
+ m_activeFeed = feed;
+
+ HeadlinesFragment hf = new HeadlinesFragment();
+ //hf.initialize(m_sessionId, feed.id, m_prefs);
+
+ FragmentTransaction ft = getFragmentManager().beginTransaction();
+ ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
+ ft.show(getFragmentManager().findFragmentById(R.id.headlines_fragment));
+ ft.replace(R.id.headlines_fragment, hf);
+ ft.addToBackStack(null);
+ ft.commit();
+ }
+
+ public Article getSelectedArticle() {
+ return m_selectedArticle;
+ }
+
+ @Override
+ public void onArticleSelected(Article article) {
+ Log.d(TAG, "Selected article: " + article.toString());
+
+ m_selectedArticle = article;
+
+ ArticleFragment frag = new ArticleFragment();
+
+ FragmentTransaction ft = getFragmentManager().beginTransaction();
+ ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
+ ft.show(getFragmentManager().findFragmentById(R.id.article_fragment));
+ //ft.hide(getFragmentManager().findFragmentById(R.id.feeds_fragment));
+ ft.replace(R.id.article_fragment, frag);
+ ft.addToBackStack(null);
+ ft.commit();
+
+ }
+
+ public Feed getActiveFeed() {
+ return m_activeFeed;
+ }
} \ No newline at end of file