Jovan
02/10/2020, 9:52 PM@Module
class CoreModule {
@Provides
@AppScope
fun provideLogger(): Logger {
...
}
@Provides
@AppScope
fun provideApiService(serviceHolder: ServiceHolder, OkHttpClientBuilder: OkHttpClientBuilder): APIService {
...
}
}
@Component(
modules = [
AndroidSupportInjectionModule::class,
CoreModule::class,
MainActivityModule::class
]
)
@AppScope
interface AppComponent: AndroidInjector<MainApplication> {
@Component.Factory
interface Factory {
fun create(@BindsInstance applicationContext: Context): AppComponent
}
}
@Module
abstract class MainActivityModule {
@ContributesAndroidInjector(modules = [OnBoardingModule::class])
@ActivityScope
abstract fun mainActivity(): MainActivity
}
@Module
abstract class OnBoardingModule {
@ContributesAndroidInjector(modules = [SignInModule::class])
abstract fun signInFragment(): SignInFragment
}
Am I breaking rules doing it like this?Jovan
02/10/2020, 9:55 PMtrevjones
02/10/2020, 11:47 PMtrevjones
02/10/2020, 11:49 PMtrevjones
02/10/2020, 11:53 PMJovan
02/11/2020, 7:21 AMwasyl
02/11/2020, 8:37 AMwasyl
02/11/2020, 8:39 AMJovan
02/11/2020, 8:44 AMwasyl
02/11/2020, 8:50 AMapp
) and both use it directly and also pass the same instance to the onboarding component, if I understand correctlyJovan
02/11/2020, 8:52 AM