diff --git a/core/common/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/core/di/CoroutineScopeComponent.kt b/core/common/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/core/di/CoroutineScopeComponent.kt index abe513134..89b373db0 100644 --- a/core/common/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/core/di/CoroutineScopeComponent.kt +++ b/core/common/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/core/di/CoroutineScopeComponent.kt @@ -16,6 +16,7 @@ package com.google.samples.apps.nowinandroid.core.di +import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.SupervisorJob import me.tatarka.inject.annotations.Component @@ -29,9 +30,12 @@ import me.tatarka.inject.annotations.Scope annotation class ApplicationScope @Component -abstract class CoroutineScopeComponent { +abstract class CoroutineScopeComponent( + @Component val dispatchersComponent: DispatchersComponent +) { + @DefaultDispatcher abstract val defaultDispatcher: CoroutineDispatcher + @Provides - fun providesCoroutineScope( - dispatcher: DefaultDispatcher, - ): CoroutineScope = CoroutineScope(SupervisorJob() + dispatcher) + fun providesCoroutineScope(): CoroutineScope = + CoroutineScope(SupervisorJob() + defaultDispatcher) } diff --git a/core/common/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/core/di/DispatcherQualifier.kt b/core/common/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/core/di/DispatcherQualifier.kt index 3193db2c9..d51c0277a 100644 --- a/core/common/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/core/di/DispatcherQualifier.kt +++ b/core/common/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/core/di/DispatcherQualifier.kt @@ -23,7 +23,8 @@ import me.tatarka.inject.annotations.Qualifier AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.FUNCTION, AnnotationTarget.VALUE_PARAMETER, - AnnotationTarget.TYPE + AnnotationTarget.TYPE, + AnnotationTarget.PROPERTY ) annotation class IoDispatcher @@ -32,7 +33,8 @@ annotation class IoDispatcher AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.FUNCTION, AnnotationTarget.VALUE_PARAMETER, - AnnotationTarget.TYPE + AnnotationTarget.TYPE, + AnnotationTarget.PROPERTY ) annotation class MainDispatcher @@ -41,6 +43,7 @@ annotation class MainDispatcher AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.FUNCTION, AnnotationTarget.VALUE_PARAMETER, - AnnotationTarget.TYPE + AnnotationTarget.TYPE, + AnnotationTarget.PROPERTY ) annotation class DefaultDispatcher