Preload account management URL.
It will populate the SDK in-memory cache.
This commit is contained in:
parent
fab227ae05
commit
1f7e281cfc
1 changed files with 8 additions and 0 deletions
|
|
@ -26,6 +26,7 @@ import io.element.android.libraries.core.meta.BuildMeta
|
||||||
import io.element.android.libraries.matrix.api.MatrixClient
|
import io.element.android.libraries.matrix.api.MatrixClient
|
||||||
import io.element.android.libraries.matrix.api.encryption.EncryptionService
|
import io.element.android.libraries.matrix.api.encryption.EncryptionService
|
||||||
import io.element.android.libraries.matrix.api.encryption.RecoveryState
|
import io.element.android.libraries.matrix.api.encryption.RecoveryState
|
||||||
|
import io.element.android.libraries.matrix.api.oidc.AccountManagementAction
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomListService
|
import io.element.android.libraries.matrix.api.roomlist.RoomListService
|
||||||
import io.element.android.libraries.matrix.api.sync.SlidingSyncVersion
|
import io.element.android.libraries.matrix.api.sync.SlidingSyncVersion
|
||||||
import io.element.android.libraries.matrix.api.sync.SyncService
|
import io.element.android.libraries.matrix.api.sync.SyncService
|
||||||
|
|
@ -35,6 +36,7 @@ import io.element.android.libraries.matrix.api.verification.SessionVerifiedStatu
|
||||||
import io.element.android.libraries.push.api.PushService
|
import io.element.android.libraries.push.api.PushService
|
||||||
import io.element.android.libraries.pushproviders.api.RegistrationFailure
|
import io.element.android.libraries.pushproviders.api.RegistrationFailure
|
||||||
import io.element.android.services.analytics.api.AnalyticsService
|
import io.element.android.services.analytics.api.AnalyticsService
|
||||||
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.flow.combine
|
import kotlinx.coroutines.flow.combine
|
||||||
import kotlinx.coroutines.flow.launchIn
|
import kotlinx.coroutines.flow.launchIn
|
||||||
import kotlinx.coroutines.flow.onEach
|
import kotlinx.coroutines.flow.onEach
|
||||||
|
|
@ -60,6 +62,7 @@ class LoggedInPresenter @Inject constructor(
|
||||||
pushService.ignoreRegistrationError(matrixClient.sessionId)
|
pushService.ignoreRegistrationError(matrixClient.sessionId)
|
||||||
}.collectAsState(initial = false)
|
}.collectAsState(initial = false)
|
||||||
val pusherRegistrationState = remember<MutableState<AsyncData<Unit>>> { mutableStateOf(AsyncData.Uninitialized) }
|
val pusherRegistrationState = remember<MutableState<AsyncData<Unit>>> { mutableStateOf(AsyncData.Uninitialized) }
|
||||||
|
LaunchedEffect(Unit) { preloadAccountManagementUrl() }
|
||||||
LaunchedEffect(Unit) {
|
LaunchedEffect(Unit) {
|
||||||
sessionVerificationService.sessionVerifiedStatus
|
sessionVerificationService.sessionVerifiedStatus
|
||||||
.onEach { sessionVerifiedStatus ->
|
.onEach { sessionVerifiedStatus ->
|
||||||
|
|
@ -202,4 +205,9 @@ class LoggedInPresenter @Inject constructor(
|
||||||
analyticsService.capture(CryptoSessionStateChange(changeRecoveryState, changeVerificationState))
|
analyticsService.capture(CryptoSessionStateChange(changeRecoveryState, changeVerificationState))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun CoroutineScope.preloadAccountManagementUrl() = launch {
|
||||||
|
matrixClient.getAccountManagementUrl(AccountManagementAction.Profile).getOrNull()
|
||||||
|
matrixClient.getAccountManagementUrl(AccountManagementAction.SessionsList).getOrNull()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue