Jonny
11/22/2020, 1:39 PM@Provides
@MainScope
fun contributeViewModel(isSignedInUseCase: IsSignedInUseCase, signOutUseCase:SignOutUseCase, toolbarViewConfig: ToolbarViewConfig): MainActivityViewModel =
MainActivityViewModel(isSignedInUseCase, signOutUseCase, toolbarViewConfig)
and then I build it in MainActivity using my builder, and then I can access the viewmodel there.
interface MainComponent {
fun mainViewModel(): MainActivityViewModel
fun navController(): NavController
@Component.Builder
interface Builder {
fun build(): MainComponent
@BindsInstance
fun activity(activity: AppCompatActivity): Builder
fun coreComponent(coreComponent: CoreComponent): Builder
}
}
Am I missing something? Will the viewmodel not be provided to me in the same way using this method? Here's how I use it in MainActivity:
mainComponent = DaggerMainComponent
.builder()
.coreComponent(coreComponent)
.activity(this)
.build()
mainActivityViewModel = mainComponent.mainViewModel()
dawidhyzy
11/23/2020, 6:22 AM