From fbe70ddf5db6fa1d90fb166f76861ad4462edc64 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 8 Jul 2024 16:47:17 +0200 Subject: [PATCH] Use session coroutine scope instead of application coroutine scope. --- .../android/features/ftue/impl/state/DefaultFtueService.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/state/DefaultFtueService.kt b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/state/DefaultFtueService.kt index 049bba4dbb..8ff01100d7 100644 --- a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/state/DefaultFtueService.kt +++ b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/state/DefaultFtueService.kt @@ -24,6 +24,7 @@ import io.element.android.features.ftue.api.state.FtueService import io.element.android.features.ftue.api.state.FtueState import io.element.android.features.lockscreen.api.LockScreenService import io.element.android.libraries.di.SessionScope +import io.element.android.libraries.di.annotations.SessionCoroutineScope import io.element.android.libraries.matrix.api.verification.SessionVerificationService import io.element.android.libraries.matrix.api.verification.SessionVerifiedStatus import io.element.android.libraries.permissions.api.PermissionStateProvider @@ -47,7 +48,7 @@ import kotlin.time.Duration.Companion.seconds @ContributesBinding(SessionScope::class) class DefaultFtueService @Inject constructor( private val sdkVersionProvider: BuildVersionSdkIntProvider, - coroutineScope: CoroutineScope, + @SessionCoroutineScope sessionCoroutineScope: CoroutineScope, private val analyticsService: AnalyticsService, private val permissionStateProvider: PermissionStateProvider, private val lockScreenService: LockScreenService, @@ -66,11 +67,11 @@ class DefaultFtueService @Inject constructor( init { sessionVerificationService.sessionVerifiedStatus .onEach { updateState() } - .launchIn(coroutineScope) + .launchIn(sessionCoroutineScope) analyticsService.didAskUserConsent() .onEach { updateState() } - .launchIn(coroutineScope) + .launchIn(sessionCoroutineScope) } suspend fun getNextStep(currentStep: FtueStep? = null): FtueStep? =