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 5fda72106..37c6c6e75 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 @@ -324,9 +324,7 @@ class MainActivity : BaseActivity(), MainVie } override fun showAccountPicker(studentWithSemesters: List) { - if (supportFragmentManager.isStateSaved) return - - navController.showDialogFragment(AccountQuickDialog.newInstance(studentWithSemesters)) + showDialogFragment(AccountQuickDialog.newInstance(studentWithSemesters)) } override fun showActionBarElevation(show: Boolean) { @@ -342,9 +340,18 @@ class MainActivity : BaseActivity(), MainVie (navController.currentStack?.getOrNull(0) as? MainView.MainChildView)?.onFragmentChanged() } + @Suppress("DEPRECATION") fun showDialogFragment(dialog: DialogFragment) { if (supportFragmentManager.isStateSaved) return + //Deprecated method is used here to avoid fragnav bug + if (navController.currentDialogFrag?.fragmentManager == null) { + FragNavController::class.java.getDeclaredField("mCurrentDialogFrag").apply { + isAccessible = true + set(navController, null) + } + } + navController.showDialogFragment(dialog) }