From 7c20ea2ce47ef46b5fb70e7f61b6172786e15e31 Mon Sep 17 00:00:00 2001 From: Kirill Nayduik Date: Wed, 22 Sep 2021 03:52:14 +0300 Subject: [PATCH] Fix navigating back inside nested features --- .../roboswag/navigation_cicerone/flow/FlowFragment.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 9849a3a..d646c9d 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,11 @@ abstract class FlowFragment : Fragment(R.layout.fragment_flow) { private val exitRouterOnBackPressed = object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { - router.exit() + if (childFragmentManager.backStackEntryCount == 0 && parentFragmentManager.backStackEntryCount != 0) { + parentFragmentManager.popBackStack() + } else { + router.exit() + } } }