Моя область действия:
@Scope
@Retention
annotation class ActivityScope
AppModule:
@Module(includes = [ActivityModule::class])
class AppModule {
@Provides
@Singleton
fun provideContext(application: Application): Context {
return application
}
@Provides
@Singleton
internal fun provideDataManager(appDataManager: AppDataManager): DataManager {
return appDataManager
}
}
UsecaseActivityModule:
@Module
class UsecaseActivityModule {
@Provides
@RegisterActivityScope
fun provideUsecase(appDataManager: AppDataManager): UseCase =
UseCase(appDataManager)
}
@Module
internal abstract class ActivityModule {
@ContributesAndroidInjector(
modules = [
UsecaseActivityModule::class
]
)
internal abstract fun contributeUsecaseActivity(): UsecaseActivity
}
Проблема в том, что я не могу предоставить это:
@Provides
@Singleton
fun provideContext(application: Application): Context {
return application
}
получена ошибка
ошибка: (без области) может не ссылаться на привязки области: @Subcomponent (
bla bla bla ...
AppComponent.java: 6: ошибка: com.example.di.AppComponent, ограниченный @Singleton, может не ссылаться на привязки с разными областями: @ dagger.Component (modules = {dagger.android.AndroidInjectionModule.class, com.example.di.ActivityModule.class, com.example.di.AppModule.class})
Что я делаю не так?