Merge pull request #2928 from element-hq/feature/bma/movePushSetting

Move push provider setting
This commit is contained in:
Benoit Marty 2024-05-29 00:29:24 +02:00 committed by GitHub
commit edc589b494
52 changed files with 376 additions and 317 deletions

View file

@ -91,6 +91,8 @@ sealed interface AsyncData<out T> {
fun isSuccess(): Boolean = this is Success<T>
fun isUninitialized(): Boolean = this == Uninitialized
fun isReady() = isSuccess() || isFailure()
}
suspend inline fun <T> MutableState<AsyncData<T>>.runCatchingUpdatingState(

View file

@ -30,19 +30,26 @@ class FakePushService(
},
) : PushService {
override suspend fun getCurrentPushProvider(): PushProvider? {
return availablePushProviders.firstOrNull()
return registeredPushProvider ?: availablePushProviders.firstOrNull()
}
override fun getAvailablePushProviders(): List<PushProvider> {
return availablePushProviders
}
private var registeredPushProvider: PushProvider? = null
override suspend fun registerWith(
matrixClient: MatrixClient,
pushProvider: PushProvider,
distributor: Distributor,
): Result<Unit> = simulateLongTask {
return registerWithLambda(matrixClient, pushProvider, distributor)
.also {
if (it.isSuccess) {
registeredPushProvider = pushProvider
}
}
}
override suspend fun testPush(): Boolean = simulateLongTask {