n
Size: a a a
I
ОР
I
@AppScope
@Component(
modules = [BindingModule::class]... и дальше я вижу @Moduleabstract class BindingModule {
@MainActivityScope
@ContributesAndroidInjector(modules = [MainActivityModuleProvider::class, MainActivityModuleBinder::class])
abstract fun mainActivity(): MainActivity то есть уже вижу различные скоупы, а внутри MainActivityModuleBinder вообще много разных скоупсIG
@AppScope
@Component(
modules = [BindingModule::class]... и дальше я вижу @Moduleabstract class BindingModule {
@MainActivityScope
@ContributesAndroidInjector(modules = [MainActivityModuleProvider::class, MainActivityModuleBinder::class])
abstract fun mainActivity(): MainActivity то есть уже вижу различные скоупы, а внутри MainActivityModuleBinder вообще много разных скоупсAB
OrganizationRepository cannot be provided without an @Provides-annotated methodИмею такой код:
@Component(modules = [
ActivityModule::class
]
)
interface AppComponent: AndroidInjector<SampleApplication> {
....
}
@Module
abstract class ActivityModule {
@ContributesAndroidInjector(
modules = [OrganizationFragmentModule::class]
)
internal abstract fun contributeMainActivity(): MainActivity
}
@Module
abstract class OrganizationFragmentModule {
@ContributesAndroidInjector(modules = [
OrganizationDataModule::class,
OrganizationDomainModule::class,
OrganizationPresentationModule::class])
abstract fun contributeOrganizationsFragment(): OrganizationsFragment
}
@Module
internal class OrganizationDataModule {
// Вот provide-метод
@Provides
internal fun provideOrganizationRepository(): OrganizationRepository {
return OrganizationRepositoryImpl()
}
}
@Module
internal class OrganizationDomainModule {
@Provides
internal fun provideGetOrganizationsUseCase(organizationsRepository: OrganizationRepository)
= GetOrganizationsUseCase(organizationsRepository)
}
Подскажите пожалуйста, в чем может быть проблема?AB
VB
AB
AB
AB
@Module(includes = [OrganizationDataModule::class])
internal class OrganizationDomainModule {
@FeatureScope
@Provides
internal fun provideGetOrganizationsUseCase(organizationsRepository: OrganizationRepository)
= GetOrganizationsUseCase(organizationsRepository)
}AB
AB
internal class GetOrganizationsUseCase @Inject constructor(да, Inject есть
private val organizationRepository: OrganizationRepository
)