summaryrefslogtreecommitdiff
path: root/flow-mvi/src/main/java
diff options
context:
space:
mode:
authorAlexandre R d'anzi <alexandre.roux.danzi@e.email>2022-06-23 17:56:25 +0200
committerAlexandre R d'anzi <alexandre.roux.danzi@e.email>2022-06-23 17:56:25 +0200
commitd231e28732c3607c15bbac9d062ea0728c4945d0 (patch)
tree0c2cad748bd9f17a35f37c79d6f38717804d3c65 /flow-mvi/src/main/java
parent0cacbaa0177b03b8d313e051196ef399fea7c34d (diff)
Revert "advanced-privacy: run everything in same scope to prevent race conditions"
This reverts commit d3c76d20e4a79d44947404a7bb411a8f5c496256.
Diffstat (limited to 'flow-mvi/src/main/java')
-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)
}
}