Skip to content

Commit

Permalink
#3 provide dispatchers
Browse files Browse the repository at this point in the history
  • Loading branch information
nastix123 committed Jul 14, 2024
1 parent ac92815 commit 695128a
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package by.eapp.musicroom.data

import by.eapp.musicroom.domain.DispatcherProvider
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Dispatchers

class DispatcherProviderImpl : DispatcherProvider {
override val main: CoroutineDispatcher
get() = Dispatchers.Main
override val io: CoroutineDispatcher
get() = Dispatchers.IO
override val default: CoroutineDispatcher
get() = Dispatchers.Default
override val unconfined: CoroutineDispatcher
get() = Dispatchers.Unconfined
}
10 changes: 8 additions & 2 deletions android/app/src/main/java/by/eapp/musicroom/di/AppModule.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package by.eapp.musicroom.di

import by.eapp.musicroom.data.DispatcherProviderImpl
import by.eapp.musicroom.data.StatusRepo
import by.eapp.musicroom.domain.DispatcherProvider
import by.eapp.musicroom.domain.repo.StatusRepository
import by.eapp.musicroom.network.RegistrationService
import dagger.Module
Expand All @@ -14,7 +16,6 @@ import retrofit2.converter.gson.GsonConverterFactory
import javax.inject.Singleton



@Module
@InstallIn(SingletonComponent::class)
object AppModule {
Expand Down Expand Up @@ -46,12 +47,17 @@ object AppModule {

@Provides
@Singleton
fun provideApiService(retrofit: Retrofit): RegistrationService = retrofit.create(RegistrationService::class.java)
fun provideApiService(retrofit: Retrofit): RegistrationService =
retrofit.create(RegistrationService::class.java)

@Singleton
@Provides
fun provideStatusRepository(registrationService: RegistrationService): StatusRepository {
return StatusRepo(registrationService)
}

@Provides
@Singleton
fun provideDispatcherProvider(): DispatcherProvider = DispatcherProviderImpl()

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package by.eapp.musicroom.domain

import kotlinx.coroutines.CoroutineDispatcher

interface DispatcherProvider {
val main: CoroutineDispatcher
val io: CoroutineDispatcher
val default: CoroutineDispatcher
val unconfined: CoroutineDispatcher
}

0 comments on commit 695128a

Please sign in to comment.