summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
diff options
context:
space:
mode:
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.java27
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);