diff options
Diffstat (limited to 'org.fox.ttrss/src')
8 files changed, 58 insertions, 20 deletions
diff --git a/org.fox.ttrss/src/main/AndroidManifest.xml b/org.fox.ttrss/src/main/AndroidManifest.xml index 7bf2e720..52cde96c 100755 --- a/org.fox.ttrss/src/main/AndroidManifest.xml +++ b/org.fox.ttrss/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.fox.ttrss" - android:versionCode="537" - android:versionName="1.303"> + android:versionCode="538" + android:versionName="1.304"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java index e8638e0b..469068dc 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java @@ -354,7 +354,7 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc String[] filter = new String[] { "enable_cats", "headline_mode", "widget_update_interval", "headlines_swipe_to_dismiss", "headlines_mark_read_scroll", "headlines_request_size", - "force_phone_layout" }; + "force_phone_layout", "open_on_startup"}; m_needRestart = Arrays.asList(filter).indexOf(key) != -1; } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java index d6f373aa..d4f431c0 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java @@ -114,7 +114,7 @@ public class FeedsFragment extends BaseFeedlistFragment implements OnItemClickLi catUnread += f.unread; } - // localize special feed names + // TODO: use Feed.getSpecialFeedTitleById // TODO: join with shortcut title lookup by id? if (m_activeCategory != null && m_activeCategory.id == -1) { switch (f.id) { 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 e9404268..bfba02a1 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 @@ -16,6 +16,12 @@ import android.view.Gravity; import android.view.MenuItem; import android.view.View; +import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.appcompat.widget.Toolbar; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentTransaction; + import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.gson.JsonElement; @@ -28,11 +34,6 @@ import java.util.Date; import java.util.HashMap; import java.util.LinkedHashMap; -import androidx.appcompat.app.ActionBarDrawerToggle; -import androidx.appcompat.widget.Toolbar; -import androidx.drawerlayout.widget.DrawerLayout; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentTransaction; import icepick.State; public class MasterActivity extends OnlineActivity implements HeadlinesEventListener { @@ -178,15 +179,13 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList ft.replace(R.id.feeds_fragment, new FeedsFragment(), FRAG_FEEDS); } - if (!shortcutMode && m_prefs.getBoolean("open_fresh_on_startup", true)) { - HeadlinesFragment hf = new HeadlinesFragment(); + int openFeedId = Integer.parseInt(m_prefs.getString("open_on_startup", "0")); - if (BuildConfig.DEBUG) { - hf.initialize(new Feed(-1, getString(R.string.feed_starred_articles), false)); - } else { - hf.initialize(new Feed(-3, getString(R.string.fresh_articles), false)); - } + 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)); ft.replace(R.id.headlines_fragment, hf, FRAG_HEADLINES); } else if (m_drawerLayout != null) { m_drawerLayout.openDrawer(Gravity.START); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Feed.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Feed.java index 57a237ec..9cbe9f83 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Feed.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/Feed.java @@ -1,8 +1,11 @@ package org.fox.ttrss.types; +import android.content.Context; import android.os.Parcel; import android.os.Parcelable; +import org.fox.ttrss.R; + public class Feed implements Comparable<Feed>, Parcelable { public String feed_url; public String title; @@ -21,6 +24,26 @@ public class Feed implements Comparable<Feed>, Parcelable { this.title = title; this.is_cat = is_cat; } + + // TODO: maybe add special categories? (, bool isCat) + public static String getSpecialFeedTitleById(Context context, int feedId) { + switch (feedId) { + case -1: + return context.getString(R.string.feed_starred_articles); + case -2: + return context.getString(R.string.feed_published_articles); + case -3: + return context.getString(R.string.fresh_articles); + case -4: + return context.getString(R.string.feed_all_articles); + case -6: + return context.getString(R.string.feed_recently_read); + case 0: + return context.getString(R.string.feed_archived_articles); + default: + return null; + } + } public Feed(Parcel in) { readFromParcel(in); diff --git a/org.fox.ttrss/src/main/res/values/arrays.xml b/org.fox.ttrss/src/main/res/values/arrays.xml index d2df646a..8791ec17 100644 --- a/org.fox.ttrss/src/main/res/values/arrays.xml +++ b/org.fox.ttrss/src/main/res/values/arrays.xml @@ -53,4 +53,16 @@ <item>45</item> </string-array> <string name="theme_follow_device">Same as device</string> + <string-array name="open_on_startup_names"> + <item>@string/fresh_articles</item> + <item>@string/feed_all_articles</item> + <item>@string/feed_starred_articles</item> + <item>@string/dont_open_anything</item> + </string-array> + <string-array name="open_on_startup_values" translatable="false"> + <item>-3</item> + <item>-4</item> + <item>-1</item> + <item>0</item> + </string-array> </resources>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/values/strings.xml b/org.fox.ttrss/src/main/res/values/strings.xml index 96798ee8..7913a14d 100755 --- a/org.fox.ttrss/src/main/res/values/strings.xml +++ b/org.fox.ttrss/src/main/res/values/strings.xml @@ -299,4 +299,6 @@ <string name="score_invalid">Invalid score</string> <string name="check_for_updates_summary">Check for new app releases on startup</string> <string name="check_for_updates">Check for updates</string> + <string name="dont_open_anything">Nothing</string> + <string name="open_on_startup">Open on startup</string> </resources> diff --git a/org.fox.ttrss/src/main/res/xml/preferences.xml b/org.fox.ttrss/src/main/res/xml/preferences.xml index 1d658af4..41d6c9ef 100755 --- a/org.fox.ttrss/src/main/res/xml/preferences.xml +++ b/org.fox.ttrss/src/main/res/xml/preferences.xml @@ -63,10 +63,12 @@ android:summary="@string/browse_cats_like_feeds_summary" android:title="@string/browse_cats_like_feeds" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference - android:defaultValue="true" - android:key="open_fresh_on_startup" - android:title="@string/prefs_open_fresh_on_startup" /> + <ListPreference + android:defaultValue="0" + android:entries="@array/open_on_startup_names" + android:entryValues="@array/open_on_startup_values" + android:key="open_on_startup" + android:title="@string/open_on_startup" /> <org.fox.ttrss.util.LessBrokenSwitchPreference android:defaultValue="false" |