Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //DAGGER 2 MODULE
- @Module
- class NetworkModules{
- @Provides
- @Singleton
- fun provideApiServiceEndpoint() :ApiService{
- return NetworkConfig.initRetrofit().create(ApiService::class.java)
- }
- @Provides
- @Singleton
- fun provideNetworkScheduler() : ISchedulerProvider{
- return SchedulerProvider()
- }
- }
- //DAGGER 2 COMPONENT
- @Component(modules = [NetworkModules::class])
- @Singleton
- interface AppComponent {
- }
- //MAIN
- abstract class BaseMvpPresenter<V : BaseMvpView> : MvpPresenter<V>() {
- @Inject
- lateinit var iSchedulerProvider: ISchedulerProvider
- @Inject
- lateinit var apiService: ApiService
- }
- //BaseApp
- class BaseApplication : Application() {
- companion object {
- lateinit var contextApp: Context
- lateinit var appComponent:AppComponent
- }
- override fun onCreate() {
- super.onCreate()
- contextApp = applicationContext
- appComponent= DaggerAppComponent.create()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement