Avoid runBlocking. Start with a nullable boolean.

This commit is contained in:
Benoit Marty 2023-10-31 21:51:10 +01:00 committed by Benoit Marty
parent 5013ff061e
commit d09d95b269
4 changed files with 12 additions and 15 deletions

View file

@ -34,9 +34,9 @@ import io.element.android.libraries.matrix.api.MatrixClient
import io.element.android.libraries.matrix.api.encryption.BackupUploadState
import io.element.android.libraries.matrix.api.encryption.EncryptionService
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.emptyFlow
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import javax.inject.Inject
class LogoutPresenter @Inject constructor(
@ -53,13 +53,13 @@ class LogoutPresenter @Inject constructor(
}
val secureStorageFlag by featureFlagService.isFeatureEnabledFlow(FeatureFlags.SecureStorage)
.collectAsState(initial = runBlocking { featureFlagService.isFeatureEnabled(FeatureFlags.SecureStorage) })
.collectAsState(initial = null)
val backupUploadState: BackupUploadState by remember(secureStorageFlag) {
if (secureStorageFlag) {
encryptionService.waitForBackupUploadSteadyState()
} else {
flowOf(BackupUploadState.Done)
when (secureStorageFlag) {
true -> encryptionService.waitForBackupUploadSteadyState()
false -> flowOf(BackupUploadState.Done)
else -> emptyFlow()
}
}
.collectAsState(initial = BackupUploadState.Unknown)