summaryrefslogtreecommitdiff
path: root/flow-mvi/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'flow-mvi/src/main')
-rw-r--r--flow-mvi/src/main/java/foundation/e/flowmvi/feature/BaseFeature.kt10
1 files changed, 4 insertions, 6 deletions
diff --git a/flow-mvi/src/main/java/foundation/e/flowmvi/feature/BaseFeature.kt b/flow-mvi/src/main/java/foundation/e/flowmvi/feature/BaseFeature.kt
index e3dd257..068cd8e 100644
--- a/flow-mvi/src/main/java/foundation/e/flowmvi/feature/BaseFeature.kt
+++ b/flow-mvi/src/main/java/foundation/e/flowmvi/feature/BaseFeature.kt
@@ -24,7 +24,6 @@ import foundation.e.flowmvi.Reducer
import foundation.e.flowmvi.SingleEventProducer
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.Job
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
@@ -105,12 +104,11 @@ open class BaseFeature<State : Any, in Action : Any, in Effect : Any, SingleEven
}
private suspend fun Flow<Action>.collectIntoHandler(
- @Suppress("UNUSED_PARAMETER")callerCoroutineScope: CoroutineScope,
+ callerCoroutineScope: CoroutineScope,
@Suppress("UNUSED_PARAMETER") logger: Logger
) {
- val scope = CoroutineScope(Dispatchers.IO + Job())
onEach { action ->
- scope.launch {
+ callerCoroutineScope.launch(Dispatchers.IO) {
actor.invoke(_state.value, action)
.onEach { effect ->
mutex.withLock {
@@ -125,9 +123,9 @@ open class BaseFeature<State : Any, in Action : Any, in Effect : Any, SingleEven
}
}
}
- .launchIn(scope)
+ .launchIn(coroutineScope)
}
}
- .launchIn(scope)
+ .launchIn(callerCoroutineScope)
}
}