In :app module
@Singleton
@Component(modules = [AppModule::class])
interface AppComponent {
@Component.Factory
interface Factory {
fun create(@BindsInstance context: Context): AppComponent
}
}
@Module
class AppModule {
@Singleton
@Provides
fun provideA() = A()
}
In dynamic feature module
@Component(
dependencies = [AppComponent::class],
modules = [FeatureModule::class]
)
interface FeatureComponent{
@Component.Factory
interface Factory {
fun create(appComponent: AppComponent): FeatureComponent
}
fun inject(fragment: HomeFragment)
}
@Module
class FeatureModule {
}
In HomeFragment or HomeViewModel, I can't inject object A (provided in AppModule in AppComponent). How to resolve it?
Thanks.