Erick
01/19/2025, 5:03 PMcomposable<Route.AddEditDreamScreen> { backStackEntry ->
val args = backStackEntry.toRoute<Route.AddEditDreamScreen>()
val image = args.backgroundID
val addEditDreamViewModel = koinViewModel<AddEditDreamViewModel>()
println("Dream ID: ${navController.currentBackStackEntry?.savedStateHandle?.get<String>("dreamID")}")
AddEditDreamScreen(
dreamImage = image,
onMainEvent = { onMainEvent(it) },
onAddEditDreamEvent = { addEditDreamViewModel.onEvent(it) },
animateVisibilityScope = this,
onNavigateToDreamJournalScreen = {
navController.popBackStack()
navController.navigate(Route.DreamJournalScreen)
},
onImageClick = { imageID ->
navController.navigate(
Route.FullScreenImageScreen(imageID)
)
}
)
}
Koin:
val viewModelModule = module {
viewModelOf(::AddEditDreamViewModel)
}
ViewModel:
class AddEditDreamViewModel(
private val savedStateHandle: SavedStateHandle,
private val dreamUseCases: DreamUseCases,
private val authRepository: AuthRepository,
private val dictionaryRepository: DictionaryRepository,
private val vibratorUtil: VibratorUtil,
) : ViewModel() {
private val _addEditDreamState = MutableStateFlow(
AddEditDreamState(
authRepository = authRepository
)
)
val addEditDreamState: StateFlow<AddEditDreamState> = _addEditDreamState.asStateFlow()
init {
savedStateHandle.get<String>("dreamID")?.let { dreamId -> //value is Null (worked before transition to KMM)
}
}
This problem started after I transitioned my project from Android to KMM. Am I doing something wrong?arnaud.giuliani
01/21/2025, 10:13 AMarnaud.giuliani
01/21/2025, 10:14 AMErick
01/21/2025, 6:36 PM