diff --git a/ui/src/main/java/app/trian/mvi/ui/PageWrapper.kt b/ui/src/main/java/app/trian/mvi/ui/PageWrapper.kt index af96dd2..d553882 100644 --- a/ui/src/main/java/app/trian/mvi/ui/PageWrapper.kt +++ b/ui/src/main/java/app/trian/mvi/ui/PageWrapper.kt @@ -30,19 +30,20 @@ inline fun > NavGraphBuilder.pageWrapper( deepLinks = deepLinks ) { val viewModel: ViewModel = (if (parent.isNullOrEmpty()) { - hiltViewModel() + hiltViewModel().apply { + setController(controller) + } } else { val parentEntry = remember(controller.navigator.currentBackStackEntry) { controller .navigator .getBackStackEntry(parent) } - hiltViewModel(parentEntry) - }) - - LaunchedEffect(key1 = viewModel, block = { - viewModel.setController(controller) + hiltViewModel(parentEntry).apply { + setController(controller) + } }) content(viewModel) } } + diff --git a/ui/src/main/java/app/trian/mvi/ui/viewModel/MviViewModel.kt b/ui/src/main/java/app/trian/mvi/ui/viewModel/MviViewModel.kt index 4aae22f..6a2175a 100644 --- a/ui/src/main/java/app/trian/mvi/ui/viewModel/MviViewModel.kt +++ b/ui/src/main/java/app/trian/mvi/ui/viewModel/MviViewModel.kt @@ -90,7 +90,12 @@ abstract class MviViewModel( when (it) { is ResultState.Error -> error( it.message.ifEmpty { - controller.getString(it.stringId) + try { + controller.getString(it.stringId) + }catch (e:Exception){ + "Unknown error message" + } + } ) @@ -111,7 +116,11 @@ abstract class MviViewModel( when (it) { is ResultStateData.Error -> error( it.message.ifEmpty { - controller.getString(it.stringId) + try { + controller.getString(it.stringId) + }catch (e:Exception){ + "Unknown error message" + } } )