In Dagger, You can inject your activity
as View in Presenter, Please follow below example,
Splash Module
@Module
class SplashModule {
@Provides
fun provideXUseCase(
xRepository: XRepository
) = XUseCase(xRepository)
@Provides
fun provideSplashPresenter(
view: SplashView,
xUseCase: XUseCase
): SplashPresenter = SplashPresenter(
view,
xUseCase
)
}
View Module
@Module
abstract class ViewModule {
@Binds
abstract fun provideSplashView(activity: SplashActivity): SplashView
}
Activity Module
@Module
abstract class ActivitiesModule {
@ContributesAndroidInjector(modules = [SplashModule::class, ViewModule::class])
abstract fun bindSplashActivity(): SplashActivity
}
I tried to find how to do it in ToothPick, but could not find any official document or blog post!
Thanks