From e903a13a554b6f4226120a99d1df53395386eab0 Mon Sep 17 00:00:00 2001 From: Tom Hennen Date: Sat, 6 Jun 2015 14:22:26 -0400 Subject: Avoid IllegalStateExceptions commitAllowingStateLoss should do this for us. As noted in the TODO there is probably a better way, but now is not time. --- app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'app/src') 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 0645c4620..254749cd6 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -332,7 +332,13 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity FragmentTransaction t = fragmentManager.beginTransaction(); t.replace(R.id.main_view, fragment, "main"); fragmentManager.popBackStack(); - t.commit(); + // TODO: we have to allow state loss here + // since this function can get called from an AsyncTask which + // could be finishing after our app has already committed state + // and is about to get shutdown. What we *should* do is + // not commit anything in an AsyncTask, but that's a bigger + // change than we want now. + t.commitAllowingStateLoss(); if (navAdapter != null) { navAdapter.notifyDataSetChanged(); } -- cgit v1.2.3