Merge pull request #2928 from element-hq/feature/bma/movePushSetting
Move push provider setting
This commit is contained in:
commit
edc589b494
52 changed files with 376 additions and 317 deletions
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue