I wanna use ViewModelProvider Factory to inject custom parcelable data from intent (ie: Club).
val teamModule = Kodein.Module {
bind<ViewModelProvider.Factory>("team-factory") with factory { club: Club -> TeamListViewModelFactory(club, instance()) }
bind<GetTeams>() with provider { GetTeams(instance()) }
bind<TeamRepository>() with provider { TeamDataRepository(instance()) }
bind<TeamListViewModel>() with factory { context: FragmentActivity -> ViewModelProviders.of(context, instance("team-factory")).get(TeamListViewModel::class.java) }
}
In my activity, I wanna get a viewModel with the data from the intent built in. Here my activity :
class TeamActivity : AppCompatActivity(), KodeinInjected {
override val injector = KodeinInjector()
private val viewModel: TeamListViewModel by injector.with(this).instance() // and intent.getParcelable<Club>(CLUB) but no idea how
}
Any idea?