From c1942d012f1b856b01297009c64b50216dfbe268 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Borcz?= Date: Sat, 13 Mar 2021 20:15:12 +0100 Subject: [PATCH] Maybe fix fragment commits after activity state is saved (#1216) --- .../github/wulkanowy/ui/modules/main/MainActivity.kt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainActivity.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainActivity.kt index 2b2079331..5fda72106 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainActivity.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainActivity.kt @@ -291,7 +291,7 @@ class MainActivity : BaseActivity(), MainVie ): Boolean { val fragment = supportFragmentManager.fragmentFactory.instantiate(classLoader, pref.fragment) - navController.pushFragment(fragment) + pushView(fragment) return true } @@ -305,6 +305,8 @@ class MainActivity : BaseActivity(), MainVie } override fun switchMenuView(position: Int) { + if (supportFragmentManager.isStateSaved) return + analytics.popCurrentScreen(navController.currentFrag!!::class.simpleName) navController.switchTab(position) } @@ -322,6 +324,8 @@ class MainActivity : BaseActivity(), MainVie } override fun showAccountPicker(studentWithSemesters: List) { + if (supportFragmentManager.isStateSaved) return + navController.showDialogFragment(AccountQuickDialog.newInstance(studentWithSemesters)) } @@ -339,15 +343,21 @@ class MainActivity : BaseActivity(), MainVie } fun showDialogFragment(dialog: DialogFragment) { + if (supportFragmentManager.isStateSaved) return + navController.showDialogFragment(dialog) } fun pushView(fragment: Fragment) { + if (supportFragmentManager.isStateSaved) return + analytics.popCurrentScreen(navController.currentFrag!!::class.simpleName) navController.pushFragment(fragment) } override fun popView(depth: Int) { + if (supportFragmentManager.isStateSaved) return + analytics.popCurrentScreen(navController.currentFrag!!::class.simpleName) navController.safelyPopFragments(depth) }