From 5ee58535eae6c49f742e1917e1d23705f97aba00 Mon Sep 17 00:00:00 2001 From: Mohit Rajput Date: Thu, 3 Jul 2025 23:16:46 -0700 Subject: [PATCH] NTP-77146 | bbps raamcosta add navigator crash fix (#16827) --- .../com/navi/bbps/entry/NaviBbpsActivity.kt | 1 - .../com/navi/bbps/entry/NaviBbpsMainScreen.kt | 17 +++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/entry/NaviBbpsActivity.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/entry/NaviBbpsActivity.kt index 29b3715c07..23861757f3 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/entry/NaviBbpsActivity.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/entry/NaviBbpsActivity.kt @@ -82,7 +82,6 @@ class NaviBbpsActivity : BaseActivity(), BackButtonHandler { NaviBbpsMainScreen( naviBbpsActivity = this, naviBbpsAnalytics = naviBbpsAnalytics, - naviBbpsMainViewModel = naviBbpsMainViewModel, errorEventHandler = errorEventHandler, onErrorVisibilityChange = { isErrorVisible, isErrorCancellable -> isErrorSheetVisible = isErrorVisible diff --git a/android/navi-bbps/src/main/kotlin/com/navi/bbps/entry/NaviBbpsMainScreen.kt b/android/navi-bbps/src/main/kotlin/com/navi/bbps/entry/NaviBbpsMainScreen.kt index c0bdf5da09..963c42dd35 100644 --- a/android/navi-bbps/src/main/kotlin/com/navi/bbps/entry/NaviBbpsMainScreen.kt +++ b/android/navi-bbps/src/main/kotlin/com/navi/bbps/entry/NaviBbpsMainScreen.kt @@ -52,12 +52,18 @@ fun NaviBbpsMainScreen( naviBbpsActivity: NaviBbpsActivity, errorEventHandler: ErrorEventHandler, onErrorVisibilityChange: (IsErrorVisible, IsErrorCancellable) -> Unit, - naviBbpsMainViewModel: NaviBbpsMainViewModel, naviBbpsAnalytics: NaviBbpsAnalytics.GenericDev, ) { val bottomSheetNavigator = rememberBottomSheetNavigator() - val navController = - rememberNavController().apply { this.navigatorProvider += bottomSheetNavigator } + val navController = rememberNavController() + val navHostEngine = rememberNavHostEngine() + + val isNavigatorAdded = + remember(key1 = navController, key2 = bottomSheetNavigator) { + navController.navigatorProvider.addNavigator(bottomSheetNavigator) + naviBbpsActivity.navController = navController + true // Return boolean indicating navigator was added + } ModalBottomSheetLayout( bottomSheetNavigator = bottomSheetNavigator, @@ -67,15 +73,14 @@ fun NaviBbpsMainScreen( rememberModalBottomSheetState(initialValue = ModalBottomSheetValue.Hidden), sheetContent = {}, ) { - naviBbpsActivity.navController = navController DestinationsNavHost( start = NaviBbpsRouter.getStartDirection( naviBbpsActivity.intent.getStringExtra(START_SCREEN_NAME) ?: EMPTY ), navGraph = BbpsNavGraph, - engine = rememberNavHostEngine(), - navController = naviBbpsActivity.navController, + engine = navHostEngine, + navController = navController, defaultTransitions = BbpsTransition, dependenciesContainerBuilder = { dependency(naviBbpsActivity) }, )