From 52e85e76659a67493f1d9355ceac2d12751206fe Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Wed, 6 May 2020 14:28:48 +0200 Subject: Do not replace the fragment if it exists --- .../de/danoeh/antennapod/activity/MainActivity.java | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) (limited to 'app') 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 38b032272..a452113d4 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -68,8 +68,6 @@ public class MainActivity extends CastEnabledActivity { public static final String EXTRA_OPEN_PLAYER = "open_player"; public static final String EXTRA_REFRESH_ON_START = "refresh_on_start"; - private static final String SAVE_BACKSTACK_COUNT = "backstackCount"; - private DrawerLayout drawerLayout; private View navDrawer; private ActionBarDrawerToggle drawerToggle; @@ -100,12 +98,7 @@ public class MainActivity extends CastEnabledActivity { fm.addOnBackStackChangedListener(() -> drawerToggle.setDrawerIndicatorEnabled(fm.getBackStackEntryCount() == 0)); - FragmentTransaction transaction = fm.beginTransaction(); - - Fragment mainFragment = fm.findFragmentByTag(MAIN_FRAGMENT_TAG); - if (mainFragment != null) { - transaction.replace(R.id.main_view, mainFragment); - } else { + if (fm.findFragmentByTag(MAIN_FRAGMENT_TAG) == null) { String lastFragment = NavDrawerFragment.getLastNavFragment(this); if (ArrayUtils.contains(NavDrawerFragment.NAV_DRAWER_TAGS, lastFragment)) { loadFragment(lastFragment, null); @@ -120,6 +113,8 @@ public class MainActivity extends CastEnabledActivity { } } } + + FragmentTransaction transaction = fm.beginTransaction(); NavDrawerFragment navDrawerFragment = new NavDrawerFragment(); transaction.replace(R.id.navDrawerFragment, navDrawerFragment, NavDrawerFragment.TAG); AudioPlayerFragment audioPlayerFragment = new AudioPlayerFragment(); @@ -159,6 +154,7 @@ public class MainActivity extends CastEnabledActivity { R.string.drawer_open, R.string.drawer_close); drawerLayout.addDrawerListener(drawerToggle); drawerToggle.syncState(); + drawerToggle.setDrawerIndicatorEnabled(getSupportFragmentManager().getBackStackEntryCount() == 0); super.setSupportActionBar(toolbar); } @@ -303,12 +299,6 @@ public class MainActivity extends CastEnabledActivity { drawerToggle.onConfigurationChanged(newConfig); } - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - outState.putInt(SAVE_BACKSTACK_COUNT, getSupportFragmentManager().getBackStackEntryCount()); - } - @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); -- cgit v1.2.3 From e57d003786f991bd24cefbe973d3d93d2a52ef0e Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Wed, 6 May 2020 14:30:40 +0200 Subject: Do not recreate app when starting MultiWindow --- app/src/main/AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2d5033533..f0572d0ba 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -73,7 +73,7 @@ -- cgit v1.2.3