From 8ae095459e45d8dbebe3e243a5968b983fbf565a Mon Sep 17 00:00:00 2001 From: Edouard Marquez Date: Sun, 24 Oct 2021 18:27:53 +0200 Subject: [PATCH] fix: When no further fragment is visible, the app should close itself (#4322) Fixes #4320 --- .../scrachx/openfood/features/MainActivity.kt | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/MainActivity.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/MainActivity.kt index 84a4d4271372..79fb5c19eb67 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/MainActivity.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/MainActivity.kt @@ -628,15 +628,18 @@ class MainActivity : BaseActivity(), NavigationDrawerListener { // activity if (drawerResult.isDrawerOpen) { drawerResult.closeDrawer() + } else if (supportFragmentManager.backStackEntryCount > 0) { + supportFragmentManager.popBackStackImmediate( + supportFragmentManager.getBackStackEntryAt(0).id, + FragmentManager.POP_BACK_STACK_INCLUSIVE + ) + + // Close the app if no Fragment is visible anymore + if (supportFragmentManager.backStackEntryCount == 0) { + super.onBackPressed() + } } else { - if (supportFragmentManager.backStackEntryCount > 0) { - supportFragmentManager.popBackStack( - supportFragmentManager.getBackStackEntryAt(0).id, - FragmentManager.POP_BACK_STACK_INCLUSIVE - ) - // Recreate the activity onBackPressed - recreate() - } else super.onBackPressed() + super.onBackPressed() } }