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.java59
1 files changed, 40 insertions, 19 deletions
diff --git a/src/org/fox/ttrss/MainActivity.java b/src/org/fox/ttrss/MainActivity.java
index 02677b38..66066465 100644
--- a/src/org/fox/ttrss/MainActivity.java
+++ b/src/org/fox/ttrss/MainActivity.java
@@ -378,12 +378,19 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
findViewById(R.id.main).setAnimation(AnimationUtils.loadAnimation(this, R.anim.slide_right));
}
- findViewById(R.id.headlines_fragment).setVisibility(View.GONE);
- findViewById(R.id.feeds_fragment).setVisibility(View.VISIBLE);
-
- m_activeFeed = null;
+ if (m_activeFeed.is_cat) {
+ findViewById(R.id.headlines_fragment).setVisibility(View.GONE);
+ findViewById(R.id.cats_fragment).setVisibility(View.VISIBLE);
+
+ refreshCategories();
+ } else {
+ findViewById(R.id.headlines_fragment).setVisibility(View.GONE);
+ findViewById(R.id.feeds_fragment).setVisibility(View.VISIBLE);
+
+ refreshFeeds();
+ }
+ m_activeFeed = null;
initMainMenu();
- refreshFeeds();
} else if (m_activeCategory != null) {
if (m_compatMode) {
@@ -756,7 +763,6 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
@Override
public void onFeedSelected(Feed feed) {
- Log.d(TAG, "Selected feed: " + feed.toString());
viewFeed(feed, false);
}
@@ -788,19 +794,34 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
}
}
- public void viewCategory(FeedCategory cat) {
- m_activeCategory = cat;
-
- initMainMenu();
-
- findViewById(R.id.cats_fragment).setVisibility(View.GONE);
- findViewById(R.id.feeds_fragment).setVisibility(View.VISIBLE);
+ public void viewCategory(FeedCategory cat, boolean openAsFeed) {
- FeedsFragment frag = new FeedsFragment();
+ if (!openAsFeed) {
+ findViewById(R.id.cats_fragment).setVisibility(View.GONE);
+ findViewById(R.id.feeds_fragment).setVisibility(View.VISIBLE);
+
+ m_activeCategory = cat;
+
+ FeedsFragment frag = new FeedsFragment();
- FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
- ft.replace(R.id.feeds_fragment, frag);
- ft.commit();
+ FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
+ ft.replace(R.id.feeds_fragment, frag);
+ ft.commit();
+ } else {
+ findViewById(R.id.cats_fragment).setVisibility(View.GONE);
+ findViewById(R.id.headlines_fragment).setVisibility(View.VISIBLE);
+
+ m_activeFeed = new Feed(cat.id, cat.title, true);
+
+ HeadlinesFragment frag = new HeadlinesFragment();
+
+ FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
+ ft.replace(R.id.headlines_fragment, frag);
+ ft.commit();
+
+ }
+
+ initMainMenu();
}
public void openArticle(Article article, int compatAnimation) {
@@ -934,7 +955,7 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
@Override
public void onCatSelected(FeedCategory cat) {
- m_activeCategory = cat;
- viewCategory(cat);
+ Log.d(TAG, "onCatSelected");
+ viewCategory(cat, m_prefs.getBoolean("browse_cats_like_feeds", false));
}
} \ No newline at end of file