alouanemed
08/15/2017, 10:19 AMapply plugin: 'kotlin-kapt'
...
implementation 'com.google.dagger:dagger:2.11'
kapt 'com.google.dagger:dagger-compiler:2.11'
gildor
08/15/2017, 10:19 AMefemoney
08/15/2017, 10:20 AM./gradlew clean
and/or rebuild project?denis.shakinov
08/15/2017, 10:20 AMkapt {
generateStubs = true
}
to gradle file?alouanemed
08/15/2017, 10:21 AMgildor
08/15/2017, 10:21 AMalouanemed
08/15/2017, 10:21 AMefemoney
08/15/2017, 10:22 AMgildor
08/15/2017, 10:22 AMefemoney
08/15/2017, 10:22 AMalouanemed
08/15/2017, 10:23 AMdenis.shakinov
08/15/2017, 10:23 AMalouanemed
08/15/2017, 10:23 AMgildor
08/15/2017, 10:23 AM@Provides fun providePresenterFactory(interactor: DragonInteractor): WelcomePresenter {
return WelcomePresenter(interactor)
}
efemoney
08/15/2017, 10:23 AMalouanemed
08/15/2017, 10:23 AMgildor
08/15/2017, 10:24 AMefemoney
08/15/2017, 10:24 AMalouanemed
08/15/2017, 10:24 AMgildor
08/15/2017, 10:25 AMefemoney
08/15/2017, 10:25 AMgildor
08/15/2017, 10:25 AMlovis
08/15/2017, 10:27 AMgenerateStubs
alouanemed
08/15/2017, 10:28 AMgildor
08/15/2017, 10:29 AM@Provides fun providePresenterFactory(interactor: DragonInteractor): PresenterFactory<WelcomeContract.Presenter> {
return PresenterFactory { WelcomePresenter(interactor) }
}
}
denis.shakinov
08/15/2017, 10:36 AMgildor
08/15/2017, 10:39 AMdenis.shakinov
08/15/2017, 10:39 AMalouanemed
08/15/2017, 10:41 AMgildor
08/15/2017, 10:44 AMalouanemed
08/15/2017, 10:45 AMgildor
08/15/2017, 10:45 AMalouanemed
08/15/2017, 10:45 AMgildor
08/15/2017, 10:45 AM@Provides
fun providePresenterFactory(interactor: DragonInteractor): PresenterFactory<WelcomeContract.Presenter> {
return object : PresenterFactory<WelcomeContract.Presenter> {
override fun provide(): WelcomeContract.Presenter {
return WelcomePresenter(interactor)
}
}
}
alouanemed
08/15/2017, 10:48 AMgildor
08/15/2017, 10:53 AMclass SimplePresenterFactory<T : BasePresenter<*>>(private val factory: () -> T) : PresenterFactory<T> {
override fun create(): T {
return factory()
}
}
and then to use it:
@Provides
fun providePresenterFactory(interactor: DragonInteractor): PresenterFactory<WelcomeContract.Presenter> {
return SimplePresenterFactory { WelcomePresenter(interactor) }
}
alouanemed
08/15/2017, 11:02 AM@ActivityScope @Subcomponent(modules = arrayOf(WelcomeModule::class)) interface WelcomeComponent {
gildor
08/16/2017, 1:11 AM