Новичок в kotlin и попытка миграции через небольшой проект Android, написанный на Java.Не знаю, что делать с этой ошибкой:
Причина: java.lang.IllegalStateException:
com.mydomain.example.dagger.BusModule должен быть установлен
> на com.mydomain.example.dagger.DaggerAppComponent $ Builder.build (DaggerAppComponent.java:87)
> в com.mydomain.example.MyApplication.buildComponent (MyApplication.kt: 29)
> в com.mydomain.example.MyApplication.onCreate (MyApplication.kt: 17)
> в android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1118)
> в android.app.ActivityThread.handleBindApplication (ActivityThread.java:5791)
Вот класс BusModule
:
@Module
object BusModule {
const val PROVIDER_FRAGMENT_SELECTION = "fragment_selection"
@Provides
@Singleton
@Named(PROVIDER_FRAGMENT_SELECTION)
fun provideNewFragmentSelection(): PublishSubject<String> {
return PublishSubject.create()
}
}
А вот класс AppComponent:
@Component(modules = [(AppModule::class), (DataModule::class), (BusModule::class)])
@Singleton
interface AppComponent {
@get:Named(BusModule.PROVIDER_FRAGMENT_SELECTION)
val selectedFragmentName: PublishSubject<String>
fun inject(mainActivity: MainActivity)
}
И, наконец, класс приложения:
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
appComponent = buildComponent()
}
private fun buildComponent(): AppComponent {
return DaggerAppComponent.builder().build()
}
companion object {
var appComponent: AppComponent? = null
private set
}
}
Не могу понять, что означает сообщение об ошибке.Как BusModule не «установлен»?Спасибо!