When injecting a class in another, here a viewModel, the argument is taken after the module instance.
class InjectedClass
class MainActivityViewModel(
val injectedClass: InjectedClass
) : ViewModel()
startKoin {
androidContext(this@App)
}
loadKoinModules(
module {
singleOf(::InjectedClass)
viewModelOf(::MainActivityViewModel)
}
)
private val injectedClass: InjectedClass = InjectedClass()
private val viewModel by viewModel<MainActivityViewModel> {
parametersOf(injectedClass)
}
// Here injectedClass instance is not the same as viewModel.injectedClass