diff options
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java index 2efee838d..6f6b68579 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -34,6 +34,7 @@ import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.util.StorageUtils; import de.danoeh.antennapod.fragment.AddFeedFragment; +import de.danoeh.antennapod.fragment.AllEpisodesFragment; import de.danoeh.antennapod.fragment.DownloadsFragment; import de.danoeh.antennapod.fragment.ExternalPlayerFragment; import de.danoeh.antennapod.fragment.ItemlistFragment; @@ -56,6 +57,7 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity public static final String PREF_NAME = "MainActivityPrefs"; public static final String PREF_IS_FIRST_LAUNCH = "prefMainActivityIsFirstLaunch"; + public static final String PREF_LAST_FRAGMENT = "prefMainActivityLastFragment"; public static final String EXTRA_NAV_INDEX = "nav_index"; public static final String EXTRA_NAV_TYPE = "nav_type"; @@ -68,9 +70,10 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity public static final int POS_QUEUE = 0, POS_NEW = 1, - POS_DOWNLOADS = 2, - POS_HISTORY = 3, - POS_ADD = 4; + POS_ALL_EPISODES = 2, + POS_DOWNLOADS = 3, + POS_HISTORY = 4, + POS_ADD = 5; private Toolbar toolbar; private ExternalPlayerFragment externalPlayerFragment; @@ -144,7 +147,7 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity if (mainFragment != null) { transaction.replace(R.id.main_view, mainFragment); } else { - loadFragment(NavListAdapter.VIEW_TYPE_NAV, POS_QUEUE, null); + loadFragment(NavListAdapter.VIEW_TYPE_NAV, getLastNavFragment(), null); } externalPlayerFragment = new ExternalPlayerFragment(); @@ -169,6 +172,18 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity checkFirstLaunch(); } + private void saveLastNavFragment(int relPos) { + SharedPreferences prefs = getSharedPreferences(PREF_NAME, MODE_PRIVATE); + SharedPreferences.Editor edit = prefs.edit(); + edit.putInt(PREF_LAST_FRAGMENT, relPos); + edit.commit(); + } + + private int getLastNavFragment() { + SharedPreferences prefs = getSharedPreferences(PREF_NAME, MODE_PRIVATE); + return prefs.getInt(PREF_LAST_FRAGMENT, POS_QUEUE); + } + private void checkFirstLaunch() { SharedPreferences prefs = getSharedPreferences(PREF_NAME, MODE_PRIVATE); if (prefs.getBoolean(PREF_IS_FIRST_LAUNCH, true)) { @@ -211,6 +226,9 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity case POS_NEW: fragment = new NewEpisodesFragment(); break; + case POS_ALL_EPISODES: + fragment = new AllEpisodesFragment(); + break; case POS_QUEUE: fragment = new QueueFragment(); break; @@ -227,6 +245,7 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity } currentTitle = getString(NavListAdapter.NAV_TITLES[relPos]); selectedNavListIndex = relPos; + saveLastNavFragment(relPos); } else if (viewType == NavListAdapter.VIEW_TYPE_SUBSCRIPTION) { Feed feed = itemAccess.getItem(relPos); |