diff options
Diffstat (limited to 'src/org/fox/ttrss/MainActivity.java')
| -rw-r--r-- | src/org/fox/ttrss/MainActivity.java | 59 |
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 |