Sagar Suri
02/04/2020, 1:59 PMAppComponent marked as Singleton can have dependencies which are not Singleton?
AppComponent
@Singleton
@Component(modules = [AppModule::class])
interface AppComponent {
fun inject(mainActivity: MainActivity)
fun inject(secondActivity: SecondActivity)
}
AppModule
@Module
class AppModule(private val application: MyApplication) {
@Provides
@Singleton
fun provideOkHttpClient(): OkHttpClient {
return OkHttpClient.Builder().build()
}
@Provides
fun provideRetrofit(okHttpClient: OkHttpClient): Retrofit {
return Retrofit.Builder()
.baseUrl("<https://api.unsplash.com>")
.client(okHttpClient)
.build()
}
}
This works. If you see provideRetrofit is not annotated as Singleton but it works.