diff options
| author | Andrew Dolgov <noreply@fakecake.org> | 2025-03-13 19:32:45 +0300 |
|---|---|---|
| committer | Andrew Dolgov <noreply@fakecake.org> | 2025-03-13 19:32:45 +0300 |
| commit | 3f2df20147e9aec06669c4c24917002364e471f3 (patch) | |
| tree | 2a0836aa838710000038fa8cbba23f36e89d8548 /org.fox.ttrss | |
| parent | 35fa38a576bf5a8e44f8051cd8fc51ee7975a16e (diff) | |
keep currently open feed open when switching display mode using context menu
Diffstat (limited to 'org.fox.ttrss')
| -rwxr-xr-x | org.fox.ttrss/build.gradle | 4 | ||||
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java | 14 | ||||
| -rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java | 14 |
3 files changed, 26 insertions, 6 deletions
diff --git a/org.fox.ttrss/build.gradle b/org.fox.ttrss/build.gradle index 8030236b..2ca4abd4 100755 --- a/org.fox.ttrss/build.gradle +++ b/org.fox.ttrss/build.gradle @@ -15,8 +15,8 @@ android { buildConfigField "boolean", "ENABLE_UPDATER", "false" minSdkVersion 24 targetSdkVersion 31 - versionCode 553 - versionName "1.318" + versionCode 554 + versionName "1.319" } signingConfigs { 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 98447a74..50a0e7f2 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 @@ -168,13 +168,23 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList ft.replace(R.id.feeds_fragment, new FeedsFragment(), FRAG_FEEDS); } - int openFeedId = Integer.parseInt(m_prefs.getString("open_on_startup", "0")); + // allow overriding feed to open on startup in non-shortcut mode, default to + // open_on_startup prefs setting and not-category + + int openFeedId = i.getIntExtra("feed_id", + Integer.parseInt(m_prefs.getString("open_on_startup", "0"))); + boolean openFeedIsCat = i.getBooleanExtra("feed_is_cat", false); + + String openFeedTitle = i.getStringExtra("feed_title"); + + if (openFeedTitle == null) + openFeedTitle = Feed.getSpecialFeedTitleById(this, openFeedId); if (!shortcutMode && openFeedId != 0) { Log.d(TAG, "opening feed id: " + openFeedId); HeadlinesFragment hf = new HeadlinesFragment(); - hf.initialize(new Feed(openFeedId, Feed.getSpecialFeedTitleById(this, openFeedId), false)); + hf.initialize(new Feed(openFeedId, openFeedTitle, openFeedIsCat)); ft.replace(R.id.headlines_fragment, hf, FRAG_HEADLINES); } else if (m_drawerLayout != null) { m_drawerLayout.openDrawer(GravityCompat.START); 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 73c0e635..2350187e 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 @@ -646,10 +646,20 @@ public class OnlineActivity extends CommonActivity { editor.putString("headline_mode", headlineModeValues[which]); editor.apply(); + Intent intent = getIntent(); + + Feed feed = hf.getFeed(); + + if (feed != null) { + intent.putExtra("feed_id", feed.id); + intent.putExtra("feed_is_cat", feed.is_cat); + intent.putExtra("feed_title", feed.title); + } + finish(); - startActivity(getIntent()); - overridePendingTransition(0, 0); + startActivity(intent); + overridePendingTransition(0, 0); } }); |