From 1055b6eb27b31de0ac08749605131b35980f3200 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 21 May 2025 09:42:08 +0300 Subject: move active feed and related helpers to online activity --- .../main/java/org/fox/ttrss/DetailActivity.java | 17 +++------- .../main/java/org/fox/ttrss/MasterActivity.java | 39 +++------------------- .../main/java/org/fox/ttrss/OnlineActivity.java | 37 +++++++++++++++++++- 3 files changed, 45 insertions(+), 48 deletions(-) (limited to 'org.fox.ttrss/src/main/java/org/fox') diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java index c9a246bb..77a70d02 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java @@ -137,27 +137,25 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList tmpFeed = i.getParcelableExtra("feed"); } - final Feed feed = tmpFeed; + final Feed activeFeed = tmpFeed; final int openedArticleId = i.getIntExtra("openedArticleId", 0); final String searchQuery = i.getStringExtra("searchQuery"); + setActiveFeed(activeFeed); + FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); HeadlinesFragment hf = new HeadlinesFragment(); - hf.initialize(feed, true); + hf.initialize(activeFeed, true); ft.replace(R.id.headlines_fragment, hf, FRAG_HEADLINES); ArticlePager ap = new ArticlePager(); - ap.initialize(openedArticleId, feed); + ap.initialize(openedArticleId, activeFeed); ft.replace(R.id.article_fragment, ap, FRAG_ARTICLE); - ft.commit(); - if (feed != null) - setTitle(feed.title); - initBottomBarMenu(); } } @@ -222,11 +220,6 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList return super.onOptionsItemSelected(item); } - @Override - public void onResume() { - super.onResume(); - } - @Override protected void initMenu() { super.initMenu(); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java index ff54895b..cb1fd5db 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java @@ -42,8 +42,6 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList protected long m_lastRefresh = 0; protected long m_lastWidgetRefresh = 0; - protected Feed m_activeFeed; - private ActionBarDrawerToggle m_drawerToggle; private DrawerLayout m_drawerLayout; @@ -199,9 +197,7 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList } else { // savedInstanceState != null - m_activeFeed = savedInstanceState.getParcelable("m_activeFeed"); - - if (m_drawerLayout != null && m_activeFeed == null) { + if (m_drawerLayout != null && getActiveFeed() == null) { m_drawerLayout.openDrawer(GravityCompat.START); } } @@ -374,7 +370,7 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList @Override public void onBackPressed() { if (m_drawerLayout != null && !m_drawerLayout.isDrawerOpen(GravityCompat.START) && - (getSupportFragmentManager().getBackStackEntryCount() > 0 || m_activeFeed != null)) { + (getSupportFragmentManager().getBackStackEntryCount() > 0 || getActiveFeed() != null)) { m_drawerLayout.openDrawer(GravityCompat.START); } else { @@ -394,20 +390,11 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList if (refresh) refresh(); } - @Override - public void onSaveInstanceState(Bundle out) { - super.onSaveInstanceState(out); - - out.putParcelable("m_activeFeed", m_activeFeed); - - Application.getInstance().save(out); - } - @Override public void onResume() { super.onResume(); - invalidateOptionsMenu(); + invalidateOptionsMenu(); } public void onArticleSelected(Article article) { @@ -424,7 +411,7 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList openUri(Uri.parse(article.link)); } else { Intent intent = new Intent(MasterActivity.this, DetailActivity.class); - intent.putExtra("feed", m_activeFeed); + intent.putExtra("feed", getActiveFeed()); startActivityForResult(intent, HEADLINES_REQUEST); overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); @@ -491,22 +478,4 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList req.execute(map); } - - public Feed getActiveFeed() { - return m_activeFeed; - } - - public void setActiveFeed(Feed feed) { - m_activeFeed = feed; - - setTitle(feed.title); - - FeedsFragment ff = (FeedsFragment) getSupportFragmentManager().findFragmentByTag(FRAG_FEEDS); - - if (ff != null) { - ff.setSelectedFeed(feed); - } - - } - } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java index fb423de1..684514d8 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java @@ -58,6 +58,8 @@ public class OnlineActivity extends CommonActivity { protected SharedPreferences m_prefs; protected Menu m_menu; + private Feed m_activeFeed; + private ActionMode m_headlinesActionMode; private HeadlinesActionModeCallback m_headlinesActionModeCallback; @@ -199,10 +201,13 @@ public class OnlineActivity extends CommonActivity { Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); + if (savedInstanceState != null) { + m_activeFeed = savedInstanceState.getParcelable("m_activeFeed"); + } + m_headlinesActionModeCallback = new HeadlinesActionModeCallback(); ArticleModel model = Application.getArticlesModel(); - model.getActive().observe(this, (articles) -> { invalidateOptionsMenu(); }); @@ -759,6 +764,10 @@ public class OnlineActivity extends CommonActivity { } else { loginSuccess(false); } + + if (m_activeFeed != null) + setTitle(m_activeFeed.title); + } public Menu getMenu() { @@ -1340,4 +1349,30 @@ public class OnlineActivity extends CommonActivity { } })); } + + @Override + public void onSaveInstanceState(Bundle out) { + super.onSaveInstanceState(out); + + out.putParcelable("m_activeFeed", m_activeFeed); + + Application.getInstance().save(out); + } + + + public Feed getActiveFeed() { + return m_activeFeed; + } + + public void setActiveFeed(Feed feed) { + m_activeFeed = feed; + + setTitle(feed.title); + + FeedsFragment ff = (FeedsFragment) getSupportFragmentManager().findFragmentByTag(FRAG_FEEDS); + + if (ff != null) { + ff.setSelectedFeed(feed); + } + } } -- cgit v1.2.3-54-g00ecf