diff options
author | Alexandre R d'anzi <alexandre.roux.danzi@e.email> | 2022-06-23 17:56:25 +0200 |
---|---|---|
committer | Alexandre R d'anzi <alexandre.roux.danzi@e.email> | 2022-06-23 17:56:25 +0200 |
commit | d231e28732c3607c15bbac9d062ea0728c4945d0 (patch) | |
tree | 0c2cad748bd9f17a35f37c79d6f38717804d3c65 /flow-mvi/src | |
parent | 0cacbaa0177b03b8d313e051196ef399fea7c34d (diff) |
Revert "advanced-privacy: run everything in same scope to prevent race conditions"
This reverts commit d3c76d20e4a79d44947404a7bb411a8f5c496256.
Diffstat (limited to 'flow-mvi/src')
-rw-r--r-- | flow-mvi/src/main/java/foundation/e/flowmvi/feature/BaseFeature.kt | 10 |
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) } } |