From d231e28732c3607c15bbac9d062ea0728c4945d0 Mon Sep 17 00:00:00 2001
From: Alexandre R d'anzi <alexandre.roux.danzi@e.email>
Date: Thu, 23 Jun 2022 17:56:25 +0200
Subject: Revert "advanced-privacy: run everything in same scope to prevent
 race conditions"

This reverts commit d3c76d20e4a79d44947404a7bb411a8f5c496256.
---
 .../src/main/java/foundation/e/flowmvi/feature/BaseFeature.kt  | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

(limited to 'flow-mvi/src')

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)
     }
 }
-- 
cgit v1.2.1