Start sync faster

This commit is contained in:
Benoit Marty
2024-12-19 13:44:19 +01:00
parent acf7e4655b
commit 4c63d892ac

View File

@@ -84,11 +84,11 @@ import io.element.android.libraries.preferences.api.store.EnableNativeSlidingSyn
import io.element.android.services.appnavstate.api.AppNavigationStateService
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.FlowPreview
import kotlinx.coroutines.flow.collectIndexed
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.debounce
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.flow.onStart
import kotlinx.coroutines.launch
import kotlinx.parcelize.Parcelize
import timber.log.Timber
@@ -197,9 +197,13 @@ class LoggedInFlowNode @AssistedInject constructor(
) { syncState, networkStatus ->
Pair(syncState, networkStatus)
}
.collectIndexed { index, (syncState, networkStatus) ->
Timber.d("Sync state: $syncState, network status: $networkStatus, index: $index")
if (syncState != SyncState.Running && (index == 0 || networkStatus == NetworkStatus.Online)) {
.onStart {
// Temporary fix to ensure that the sync is started even if the networkStatus is offline.
syncService.startSync()
}
.collect { (syncState, networkStatus) ->
Timber.d("Sync state: $syncState, network status: $networkStatus")
if (syncState != SyncState.Running && networkStatus == NetworkStatus.Online) {
syncService.startSync()
}
}