mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-22 10:46:50 +00:00
Add missing handling for sessions that are already verified.
This commit is contained in:
@@ -384,6 +384,7 @@ object RegistrationRepository {
|
||||
*/
|
||||
suspend fun registerAccount(context: Context, sessionId: String?, registrationData: RegistrationData, pin: String? = null, masterKeyProducer: VerifyAccountRepository.MasterKeyProducer? = null): RegisterAccountResult =
|
||||
withContext(Dispatchers.IO) {
|
||||
Log.v(TAG, "registerAccount()")
|
||||
val api: RegistrationApi = AccountManagerFactory.getInstance().createUnauthenticated(context, registrationData.e164, SignalServiceAddress.DEFAULT_DEVICE_ID, registrationData.password).registrationApi
|
||||
|
||||
val universalUnidentifiedAccess: Boolean = TextSecurePreferences.isUniversalUnidentifiedAccess(context)
|
||||
|
||||
@@ -357,6 +357,12 @@ class RegistrationViewModel : ViewModel() {
|
||||
)
|
||||
Log.d(TAG, "SMS code request network call completed.")
|
||||
|
||||
if (codeRequestResponse is AlreadyVerified) {
|
||||
Log.d(TAG, "Got session was already verified when requesting SMS code.")
|
||||
registerVerifiedSession(context, sessionId)
|
||||
return
|
||||
}
|
||||
|
||||
handleSessionStateResult(context, codeRequestResponse)
|
||||
|
||||
if (codeRequestResponse is Success) {
|
||||
@@ -792,6 +798,7 @@ class RegistrationViewModel : ViewModel() {
|
||||
}
|
||||
|
||||
private suspend fun registerVerifiedSession(context: Context, sessionId: String) {
|
||||
Log.v(TAG, "registerVerifiedSession()")
|
||||
val registrationData = getRegistrationData()
|
||||
val registrationResponse: RegisterAccountResult = RegistrationRepository.registerAccount(context, sessionId, registrationData)
|
||||
handleRegistrationResult(context, registrationData, registrationResponse, false)
|
||||
|
||||
Reference in New Issue
Block a user