Do not fail un-registration if Firebase token is not known. Fixes #2895
This commit is contained in:
parent
3cae2c05c4
commit
16b04afa1f
2 changed files with 7 additions and 11 deletions
|
|
@ -64,14 +64,13 @@ class FirebasePushProvider @Inject constructor(
|
||||||
override suspend fun getCurrentDistributor(matrixClient: MatrixClient) = firebaseDistributor
|
override suspend fun getCurrentDistributor(matrixClient: MatrixClient) = firebaseDistributor
|
||||||
|
|
||||||
override suspend fun unregister(matrixClient: MatrixClient): Result<Unit> {
|
override suspend fun unregister(matrixClient: MatrixClient): Result<Unit> {
|
||||||
val pushKey = firebaseStore.getFcmToken() ?: return Result.failure<Unit>(
|
val pushKey = firebaseStore.getFcmToken()
|
||||||
IllegalStateException(
|
return if (pushKey == null) {
|
||||||
"Unable to unregister pusher, Firebase token is not known."
|
|
||||||
)
|
|
||||||
).also {
|
|
||||||
Timber.tag(loggerTag.value).w("Unable to unregister pusher, Firebase token is not known.")
|
Timber.tag(loggerTag.value).w("Unable to unregister pusher, Firebase token is not known.")
|
||||||
|
Result.success(Unit)
|
||||||
|
} else {
|
||||||
|
pusherSubscriber.unregisterPusher(matrixClient, pushKey, FirebaseConfig.PUSHER_HTTP_URL)
|
||||||
}
|
}
|
||||||
return pusherSubscriber.unregisterPusher(matrixClient, pushKey, FirebaseConfig.PUSHER_HTTP_URL)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun getCurrentUserPushConfig(): CurrentUserPushConfig? {
|
override suspend fun getCurrentUserPushConfig(): CurrentUserPushConfig? {
|
||||||
|
|
|
||||||
|
|
@ -134,17 +134,14 @@ class FirebasePushProviderTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `unregister ko no token`() = runTest {
|
fun `unregister no token - in this case, the error is ignored`() = runTest {
|
||||||
val firebasePushProvider = createFirebasePushProvider(
|
val firebasePushProvider = createFirebasePushProvider(
|
||||||
firebaseStore = InMemoryFirebaseStore(
|
firebaseStore = InMemoryFirebaseStore(
|
||||||
token = null
|
token = null
|
||||||
),
|
),
|
||||||
pusherSubscriber = FakePusherSubscriber(
|
|
||||||
unregisterPusherResult = { _, _, _ -> Result.success(Unit) }
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
val result = firebasePushProvider.unregister(FakeMatrixClient())
|
val result = firebasePushProvider.unregister(FakeMatrixClient())
|
||||||
assertThat(result.isFailure).isTrue()
|
assertThat(result.isSuccess).isTrue()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue