ds3fdfd3
12/03/2020, 11:52 AMallan.conda
12/03/2020, 11:53 AMfun Screen(viewModel: SomeViewModel = viewModel())
allan.conda
12/03/2020, 11:54 AMcomposable("someScreen") {
val viewModel = viewModel()
val state = viewModel.state.collectAsState()
// stateless
Screen(state, onSomeEvent = viewModel::onSomeEvent)
}
ds3fdfd3
12/03/2020, 12:00 PMds3fdfd3
12/03/2020, 12:01 PMNavHost(navController = navController, startDestination = "login") {
composable("login") {
LoginScreen(navController, loginViewModel)
}
composable("sms_entry") {
SmsScreen(navController, loginViewModel)
}
composable("map_screen") {
Text(text = "Logged In")
}
}
I have something like this. Where loginViewModel is injected in Activity using Hiltallan.conda
12/03/2020, 12:03 PM// ViewModelStoreOwner and LifecycleOwner
Providers(
ViewModelStoreOwnerAmbient provides currentNavBackStackEntry,
LifecycleOwnerAmbient provides currentNavBackStackEntry
) {
restorableStateHolder.withRestorableState {
destination.content(currentNavBackStackEntry)
}
}
}
allan.conda
12/03/2020, 12:03 PMallan.conda
12/03/2020, 12:03 PMallan.conda
12/03/2020, 12:03 PMallan.conda
12/03/2020, 12:03 PMallan.conda
12/03/2020, 12:04 PMallan.conda
12/03/2020, 12:04 PMds3fdfd3
12/03/2020, 12:05 PM