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.java68
1 files changed, 39 insertions, 29 deletions
diff --git a/src/org/fox/ttrss/MainActivity.java b/src/org/fox/ttrss/MainActivity.java
index 46b65771..04a5a725 100644
--- a/src/org/fox/ttrss/MainActivity.java
+++ b/src/org/fox/ttrss/MainActivity.java
@@ -560,15 +560,18 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
private synchronized void refresh() {
Date date = new Date();
+
+ boolean canRefresh = date.getTime() - m_lastRefresh > 5000;
- if (m_sessionId != null && date.getTime() - m_lastRefresh > 5000) {
+ if (m_sessionId != null) {
FeedsFragment ff = (FeedsFragment) getSupportFragmentManager()
.findFragmentByTag(FRAG_FEEDS);
if (ff != null) {
Log.d(TAG, "Refreshing feeds...");
- ff.refresh(true);
+ if (canRefresh) ff.refresh(true);
+ ff.setSelectedFeed(m_activeFeed);
}
FeedCategoriesFragment cf = (FeedCategoriesFragment) getSupportFragmentManager()
@@ -576,10 +579,11 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
if (cf != null) {
Log.d(TAG, "Refreshing categories...");
- cf.refresh(true);
+ if (canRefresh) cf.refresh(true);
+ cf.setSelectedCategory(m_activeCategory);
}
- m_lastRefresh = date.getTime();
+ if (canRefresh) m_lastRefresh = date.getTime();
}
}
@@ -1024,6 +1028,8 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
ft.replace(R.id.headlines_fragment, new DummyFragment(), "");
ft.commit();
+ refresh();
+
initMainMenu();
} else if (m_activeCategory != null) {
closeCategory();
@@ -2303,40 +2309,44 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
}
private void closeFeed() {
- if (m_smallScreenMode && m_activeFeed != null) {
- if (m_activeFeed.is_cat) {
- FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
-
- Fragment headlines = getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
- FeedCategoriesFragment cats = (FeedCategoriesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_CATS);
-
- ft.show(cats);
- ft.remove(headlines);
-
- cats.setSelectedCategory(null);
-
- //ft.replace(R.id.fragment_container, new FeedCategoriesFragment(), FRAG_CATS);
- ft.commit();
+ if (m_activeFeed != null) {
+ FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
+
+ if (m_smallScreenMode) {
+ if (m_activeFeed.is_cat) {
+
+ Fragment headlines = getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
+ FeedCategoriesFragment cats = (FeedCategoriesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_CATS);
+
+ ft.show(cats);
+ ft.remove(headlines);
+
+ //cats.setSelectedCategory(null);
+
+ //ft.replace(R.id.fragment_container, new FeedCategoriesFragment(), FRAG_CATS);
+ } else {
+ Fragment headlines = getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
+ FeedsFragment feeds = (FeedsFragment) getSupportFragmentManager().findFragmentByTag(FRAG_FEEDS);
+
+ ft.show(feeds);
+ ft.remove(headlines);
+
+ //feeds.setSelectedFeed(null);
+
+ }
} else {
- FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
-
Fragment headlines = getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
- FeedsFragment feeds = (FeedsFragment) getSupportFragmentManager().findFragmentByTag(FRAG_FEEDS);
-
- ft.show(feeds);
ft.remove(headlines);
-
- feeds.setSelectedFeed(null);
-
- ft.commit();
- }
+ }
+ ft.commit();
}
-
+
m_activeFeed = null;
refresh();
initMainMenu();
+
}
@Override