Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Module
- class RepositoryModule {
- @Provides
- fun provideRepository(sharedPrefs: SharedPrefs.Companion, myApi: MyAPI) : Repository {
- return Repository(sharedPrefs, myApi)
- }
- @Provides
- fun provideSharedPrefs() : SharedPrefs.Companion {
- return SharedPrefs
- }
- }
- @Module
- class MyAPIModule {
- @Provides
- @Reusable
- fun provideRetrofit(): MyAPI {
- return Retrofit.Builder()
- .baseUrl(BASE_URL)
- .addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io()))
- .build()
- .create(MyAPI::class.java)
- }
- }
- @Singleton
- @Component(modules = [(SharedPrefsModule::class), (MyAPIModule::class)])
- interface RepositoryComponent {
- fun inject(repository: Repository)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement