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 | 48 |
1 files changed, 36 insertions, 12 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 e10e8041e..9caa35b5b 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -1,5 +1,6 @@ package de.danoeh.antennapod.activity; +import android.annotation.TargetApi; import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.DialogInterface; @@ -9,6 +10,7 @@ import android.content.res.Configuration; import android.database.DataSetObserver; import android.media.AudioManager; import android.os.AsyncTask; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.Fragment; @@ -27,6 +29,8 @@ import android.view.View; import android.widget.AdapterView; import android.widget.ListView; +import com.bumptech.glide.Glide; + import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.Validate; @@ -45,11 +49,10 @@ import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.storage.DBWriter; 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.EpisodesFragment; import de.danoeh.antennapod.fragment.ExternalPlayerFragment; import de.danoeh.antennapod.fragment.ItemlistFragment; -import de.danoeh.antennapod.fragment.NewEpisodesFragment; import de.danoeh.antennapod.fragment.PlaybackHistoryFragment; import de.danoeh.antennapod.fragment.QueueFragment; import de.danoeh.antennapod.menuhandler.NavDrawerActivity; @@ -82,8 +85,7 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity public static final String[] NAV_DRAWER_TAGS = { QueueFragment.TAG, - NewEpisodesFragment.TAG, - AllEpisodesFragment.TAG, + EpisodesFragment.TAG, DownloadsFragment.TAG, PlaybackHistoryFragment.TAG, AddFeedFragment.TAG @@ -169,10 +171,17 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity transaction.replace(R.id.main_view, mainFragment); } else { String lastFragment = getLastNavFragment(); - if(ArrayUtils.contains(NAV_DRAWER_TAGS, lastFragment)) { + if (ArrayUtils.contains(NAV_DRAWER_TAGS, lastFragment)) { loadFragment(lastFragment, null); } else { - loadFeedFragmentById(Integer.valueOf(lastFragment), null); + try { + loadFeedFragmentById(Integer.valueOf(lastFragment), null); + } catch (NumberFormatException e) { + // it's not a number, this happens if we removed + // a label from the NAV_DRAWER_TAGS + // give them a nice default... + loadFragment(QueueFragment.TAG, null); + } } } externalPlayerFragment = new ExternalPlayerFragment(); @@ -281,11 +290,8 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity case QueueFragment.TAG: fragment = new QueueFragment(); break; - case NewEpisodesFragment.TAG: - fragment = new NewEpisodesFragment(); - break; - case AllEpisodesFragment.TAG: - fragment = new AllEpisodesFragment(); + case EpisodesFragment.TAG: + fragment = new EpisodesFragment(); break; case DownloadsFragment.TAG: fragment = new DownloadsFragment(); @@ -296,6 +302,10 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity case AddFeedFragment.TAG: fragment = new AddFeedFragment(); break; + default: + // default to the queue + fragment = new QueueFragment(); + break; } currentTitle = navAdapter.getLabel(tag); getSupportActionBar().setTitle(currentTitle); @@ -476,6 +486,20 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity } } + + @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) + @Override + public void onTrimMemory(int level) { + super.onTrimMemory(level); + Glide.get(this).trimMemory(level); + } + + @Override + public void onLowMemory() { + super.onLowMemory(); + Glide.get(this).clearMemory(); + } + @Override public boolean onOptionsItemSelected(MenuItem item) { if (drawerToggle.onOptionsItemSelected(item)) { @@ -538,7 +562,7 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity protected void onPostExecute(Void result) { super.onPostExecute(result); if(getSelectedNavListIndex() == position) { - loadFragment(NewEpisodesFragment.TAG, null); + loadFragment(EpisodesFragment.TAG, null); } } }; |