mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 00:59:49 +01:00
Ensure change number operation status before returning to normal app usage.
This commit is contained in:
committed by
Greyson Parrelli
parent
d8c82add78
commit
7e7bbad788
@@ -1,6 +1,7 @@
|
||||
package org.thoughtcrime.securesms.registration
|
||||
|
||||
import org.thoughtcrime.securesms.pin.TokenData
|
||||
import org.whispersystems.signalservice.api.push.exceptions.NonSuccessfulResponseCodeException
|
||||
import org.whispersystems.signalservice.internal.ServiceResponse
|
||||
import org.whispersystems.signalservice.internal.ServiceResponseProcessor
|
||||
import org.whispersystems.signalservice.internal.push.LockedException
|
||||
@@ -9,7 +10,9 @@ import org.whispersystems.signalservice.internal.push.VerifyAccountResponse
|
||||
/**
|
||||
* Process responses from attempting to verify an account for use in account registration.
|
||||
*/
|
||||
sealed class VerifyAccountResponseProcessor(response: ServiceResponse<VerifyAccountResponse>) : ServiceResponseProcessor<VerifyAccountResponse>(response) {
|
||||
sealed class VerifyAccountResponseProcessor(
|
||||
response: ServiceResponse<VerifyAccountResponse>
|
||||
) : ServiceResponseProcessor<VerifyAccountResponse>(response), VerifyProcessor {
|
||||
|
||||
open val tokenData: TokenData? = null
|
||||
|
||||
@@ -33,6 +36,10 @@ sealed class VerifyAccountResponseProcessor(response: ServiceResponse<VerifyAcco
|
||||
return error as LockedException
|
||||
}
|
||||
|
||||
override fun isServerSentError(): Boolean {
|
||||
return error is NonSuccessfulResponseCodeException
|
||||
}
|
||||
|
||||
abstract fun isKbsLocked(): Boolean
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import org.thoughtcrime.securesms.pin.KeyBackupSystemWrongPinException
|
||||
import org.thoughtcrime.securesms.pin.TokenData
|
||||
import org.thoughtcrime.securesms.registration.VerifyAccountRepository.VerifyAccountWithRegistrationLockResponse
|
||||
import org.whispersystems.signalservice.api.KeyBackupSystemNoDataException
|
||||
import org.whispersystems.signalservice.api.push.exceptions.NonSuccessfulResponseCodeException
|
||||
import org.whispersystems.signalservice.internal.ServiceResponse
|
||||
import org.whispersystems.signalservice.internal.ServiceResponseProcessor
|
||||
import org.whispersystems.signalservice.internal.contacts.entities.TokenResponse
|
||||
@@ -16,7 +17,7 @@ import org.whispersystems.signalservice.internal.push.VerifyAccountResponse
|
||||
class VerifyCodeWithRegistrationLockResponseProcessor(
|
||||
response: ServiceResponse<VerifyAccountWithRegistrationLockResponse>,
|
||||
val token: TokenData
|
||||
) : ServiceResponseProcessor<VerifyAccountWithRegistrationLockResponse>(response) {
|
||||
) : ServiceResponseProcessor<VerifyAccountWithRegistrationLockResponse>(response), VerifyProcessor {
|
||||
|
||||
public override fun rateLimit(): Boolean {
|
||||
return super.rateLimit()
|
||||
@@ -45,4 +46,10 @@ class VerifyCodeWithRegistrationLockResponseProcessor(
|
||||
|
||||
return VerifyCodeWithRegistrationLockResponseProcessor(ServiceResponse.coerceError(response), token)
|
||||
}
|
||||
|
||||
override fun isServerSentError(): Boolean {
|
||||
return error is NonSuccessfulResponseCodeException ||
|
||||
error is KeyBackupSystemWrongPinException ||
|
||||
error is KeyBackupSystemNoDataException
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
package org.thoughtcrime.securesms.registration
|
||||
|
||||
interface VerifyProcessor {
|
||||
fun hasResult(): Boolean
|
||||
fun isServerSentError(): Boolean
|
||||
}
|
||||
Reference in New Issue
Block a user