Lukasz Kalnik
07/21/2025, 11:32 AMsetContent {
val navigateToHomeScreen by viewModel.navigateToHomeScreen.collectAsStateWithLifecycle()
if (navigateToHomeScreen) {
navController.navigate(HOME) {
popUpTo(LOGIN) { inclusive = true }
}
}
However when I close the app with the back button and then reopen, it crashes with
java.lang.IllegalArgumentException: Cannot navigate to shoppingSessions. Navigation graph has not been set for NavController androidx.navigation.internal.NavControllerImplNitesh Singh
07/21/2025, 11:34 AMLukasz Kalnik
07/21/2025, 11:35 AMLukasz Kalnik
07/21/2025, 11:37 AMNavHost(navController, startDestination = LOGIN) {
composable(HOME) {
HomeScreen( /* ... */)
}
composable(LOGIN) {
LoginScreen( /* ... */)
}
}
It uses the same navController instance, which is remembered beforehand.Lukasz Kalnik
07/21/2025, 11:37 AMLukasz Kalnik
07/21/2025, 11:37 AMSideEffect, but then it doesn't navigate at all.Nitesh Singh
07/21/2025, 11:41 AMNavController before navigating anywhere.Nitesh Singh
07/21/2025, 11:41 AMNavHost is set before you trigger any navigationNitesh Singh
07/21/2025, 11:42 AMNitesh Singh
07/21/2025, 11:42 AMNitesh Singh
07/21/2025, 11:43 AMnavigate() before NavHost is renderedNitesh Singh
07/21/2025, 11:44 AMLukasz Kalnik
07/21/2025, 11:49 AMLukasz Kalnik
07/21/2025, 11:50 AMcomposableLukasz Kalnik
07/21/2025, 11:50 AMLukasz Kalnik
07/21/2025, 11:52 AMsetContent {
val navController = rememberNavController()
val navigateToHomeScreen by viewModel.navigateToHomeScreen.collectAsStateWithLifecycle()
if (navigateToHomeScreen) {
viewModel.onNavigatedToHomeScreen() // resets the state
navController.navigate(HOME) {
popUpTo(LOGIN) { inclusive = true }
}
}
NavHost(navController, startDestination = LOGIN) {
composable(HOME) {
HomeScreen( /* ... */)
}
composable(LOGIN) {
LoginScreen( /* ... */)
}
}
}Nitesh Singh
07/21/2025, 11:56 AMLukasz Kalnik
07/21/2025, 11:56 AMLukasz Kalnik
07/21/2025, 11:56 AMsetContent MethodLukasz Kalnik
07/21/2025, 11:57 AMonCreate()Nitesh Singh
07/21/2025, 11:57 AMLukasz Kalnik
07/21/2025, 11:57 AMNitesh Singh
07/21/2025, 12:01 PMNitesh Singh
07/21/2025, 12:02 PMLukasz Kalnik
07/21/2025, 12:03 PMLukasz Kalnik
07/21/2025, 12:05 PMLukasz Kalnik
07/21/2025, 12:05 PMlaunchSingleTop = true inside the navigate() didn't helpNitesh Singh
07/21/2025, 12:06 PMLukasz Kalnik
07/21/2025, 12:06 PMNitesh Singh
07/21/2025, 12:08 PMNitesh Singh
07/21/2025, 12:08 PMLukasz Kalnik
07/21/2025, 12:10 PMNitesh Singh
07/21/2025, 12:11 PMLukasz Kalnik
07/21/2025, 12:12 PMLukasz Kalnik
07/21/2025, 12:12 PMpopUpTo(LOGIN) { inclusive = true }Nitesh Singh
07/21/2025, 12:16 PMLukasz Kalnik
07/21/2025, 12:17 PMNitesh Singh
07/21/2025, 12:17 PMLukasz Kalnik
07/21/2025, 12:17 PMLukasz Kalnik
07/21/2025, 12:17 PMLukasz Kalnik
07/21/2025, 12:18 PMLukasz Kalnik
07/21/2025, 12:18 PMNitesh Singh
07/21/2025, 12:23 PMLukasz Kalnik
07/21/2025, 12:23 PMLukasz Kalnik
07/21/2025, 12:23 PMNitesh Singh
07/21/2025, 12:27 PMNitesh Singh
07/21/2025, 12:28 PMNitesh Singh
07/21/2025, 12:28 PMLukasz Kalnik
07/21/2025, 12:29 PMif (navigateToShoppingSessions) {
homeViewModel.onNavigatedToShoppingSessions()
navController.navigate(NAV_DESTINATION_SHOPPING_SESSIONS) {
popUpTo(NAV_DESTINATION_AUTO_LOGIN) { inclusive = true }
}
}Nitesh Singh
07/21/2025, 12:29 PMLukasz Kalnik
07/21/2025, 12:29 PMLukasz Kalnik
07/21/2025, 12:29 PMLukasz Kalnik
07/21/2025, 12:29 PMNitesh Singh
07/21/2025, 12:29 PMNitesh Singh
07/21/2025, 12:30 PMLukasz Kalnik
07/21/2025, 12:30 PMNitesh Singh
07/21/2025, 12:30 PMLukasz Kalnik
07/21/2025, 12:30 PMNitesh Singh
07/21/2025, 12:31 PMLukasz Kalnik
07/21/2025, 12:31 PMLukasz Kalnik
07/21/2025, 12:31 PMNitesh Singh
07/21/2025, 12:33 PMNitesh Singh
07/21/2025, 12:35 PMNitesh Singh
07/21/2025, 12:35 PMLukasz Kalnik
07/21/2025, 12:37 PMLukasz Kalnik
07/21/2025, 12:37 PMLaunchedEffect(navigateToShoppingSessions) {
if (navigateToShoppingSessions && navController.currentDestination?.route != NAV_DESTINATION_SHOPPING_SESSIONS) {
homeViewModel.onNavigatedToShoppingSessions()
navController.navigate(NAV_DESTINATION_SHOPPING_SESSIONS) {
popUpTo(navController.graph.startDestinationId) { inclusive = true }
launchSingleTop = true
}
}
}Lukasz Kalnik
07/21/2025, 12:38 PMNitesh Singh
07/21/2025, 12:42 PMNitesh Singh
07/21/2025, 12:53 PMLukasz Kalnik
07/21/2025, 12:53 PMLukasz Kalnik
07/21/2025, 12:53 PMLukasz Kalnik
07/21/2025, 12:53 PMNitesh Singh
07/21/2025, 12:58 PMLukasz Kalnik
07/21/2025, 12:59 PMNitesh Singh
07/21/2025, 12:59 PMLukasz Kalnik
07/21/2025, 1:49 PMHomeActivity was missing the launchMode:singleTop in manifest