diff --git a/navigation-cicerone/src/main/java/ru/touchin/roboswag/navigation_cicerone/flow/FlowFragment.kt b/navigation-cicerone/src/main/java/ru/touchin/roboswag/navigation_cicerone/flow/FlowFragment.kt index d646c9d..5d20819 100644 --- a/navigation-cicerone/src/main/java/ru/touchin/roboswag/navigation_cicerone/flow/FlowFragment.kt +++ b/navigation-cicerone/src/main/java/ru/touchin/roboswag/navigation_cicerone/flow/FlowFragment.kt @@ -59,7 +59,10 @@ abstract class FlowFragment : Fragment(R.layout.fragment_flow) { private val exitRouterOnBackPressed = object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { - if (childFragmentManager.backStackEntryCount == 0 && parentFragmentManager.backStackEntryCount != 0) { + val isFragmentOnTop = childFragmentManager.backStackEntryCount == 0 + val hasParentFragment = parentFragmentManager.backStackEntryCount != 0 + + if (isFragmentOnTop && hasParentFragment) { parentFragmentManager.popBackStack() } else { router.exit()