Как указать scope для общего модуля

В приложении есть CoreComponent и несколько FeatureComponent. Каждый FeatureComponent имеет свой Scope. Есть модуль(в коде NavigationModule), который хотелось бы использовать во всех Feature-компонентах и чтобы модуль провайдил только один экземпляр объектов на feature-scope.

Core:

@Singleton
@Component
interface CoreComponent

@Module
class NavigationModule() {

    @Provides
    fun provideRouter(): Router = RouterImpl()

}

Feature1:

@Scope
@Retention(AnnotationRetention.RUNTIME)
annotation class Feature1Scope

@Feature1Scope
@Component(
    modules = [NavigationModule::class],
    dependencies = [CoreComponent::class]
)
interface Feature1Component : CoreComponent {}

Как сделать так, чтобы в FeatureComponent провайдился только один экземпляр Router-а на Feature1Scope без копипасты модуля для каждого feature и указания скопа?


Ответы (0 шт):