oday
12/16/2023, 11:56 PMBooks - Camera - Profile
fun handleBottomNavigation(
navController: NavHostController,
route: String,
) {
Log.d("GRAPH", "handleBottomNavigation current destination: ${navController.currentDestination}")
navController.navigate(route) {
popUpTo(navController.graph.findStartDestination().id) {
saveState = true
}
launchSingleTop = true
restoreState = true
}
}
this leads to:
from `BooksScreen`:
navigate(BookDetail) screen -> from BookDetail navigate(BuyBook) which happens to be a different NavigationBarItem-> Camera NavigationBarItem is now selected -> press back to Books NavigationBarItem -> currentDestination in log stays Camera, does not navigate, $route is Books, navController.graph.findStartDestination().route is also Books just does not navigate
removing restoreState = true or save_state = true from handleBottomNavigation solves it of course but I want to keep state so that I can see BookDetail screen again when I press on the Books NavigationBarItem, I don't want to get thrown to back to BooksScreenoday
12/16/2023, 11:58 PMIan Lake
12/17/2023, 12:02 AModay
12/17/2023, 12:06 AModay
12/17/2023, 12:07 AMIan Lake
12/17/2023, 12:07 AModay
12/17/2023, 12:09 AMIan Lake
12/17/2023, 12:09 AModay
12/17/2023, 12:10 AModay
12/17/2023, 12:10 AMIan Lake
12/17/2023, 12:10 AMIan Lake
12/17/2023, 12:11 AMIan Lake
12/17/2023, 12:12 AModay
12/17/2023, 12:12 AModay
12/17/2023, 12:13 AMIan Lake
12/17/2023, 12:13 AModay
12/17/2023, 12:15 AModay
12/17/2023, 12:16 AModay
12/17/2023, 12:17 AMIan Lake
12/17/2023, 12:19 AMIan Lake
12/17/2023, 12:21 AMIan Lake
12/17/2023, 12:21 AModay
12/17/2023, 12:22 AModay
12/17/2023, 12:22 AM