mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-21 02:08:40 +00:00
Fix bug reusing already validated session during registration.
This commit is contained in:
committed by
Greyson Parrelli
parent
fdeaf77fc0
commit
c5bf88366c
@@ -65,6 +65,7 @@ import org.thoughtcrime.securesms.util.Util
|
||||
import org.thoughtcrime.securesms.util.dualsim.MccMncProducer
|
||||
import org.whispersystems.signalservice.api.SvrNoDataException
|
||||
import org.whispersystems.signalservice.api.kbs.MasterKey
|
||||
import org.whispersystems.signalservice.internal.push.RegistrationSessionMetadataJson
|
||||
import org.whispersystems.signalservice.internal.push.RegistrationSessionMetadataResponse
|
||||
import java.io.IOException
|
||||
import java.util.concurrent.TimeUnit
|
||||
@@ -743,21 +744,26 @@ class RegistrationViewModel : ViewModel() {
|
||||
|
||||
var reglock = registrationLocked
|
||||
|
||||
val sessionId = getOrCreateValidSession(context)?.body?.id ?: return
|
||||
val registrationData = getRegistrationData()
|
||||
val session: RegistrationSessionMetadataJson? = getOrCreateValidSession(context)?.body
|
||||
val sessionId: String = session?.id ?: return
|
||||
val registrationData: RegistrationData = getRegistrationData()
|
||||
|
||||
Log.d(TAG, "Submitting verification code…")
|
||||
if (session.verified) {
|
||||
Log.i(TAG, "Session is already verified, registering account.")
|
||||
} else {
|
||||
Log.d(TAG, "Submitting verification code…")
|
||||
|
||||
val verificationResponse = RegistrationRepository.submitVerificationCode(context, sessionId, registrationData)
|
||||
val verificationResponse = RegistrationRepository.submitVerificationCode(context, sessionId, registrationData)
|
||||
|
||||
val submissionSuccessful = verificationResponse is Success
|
||||
val alreadyVerified = verificationResponse is AlreadyVerified
|
||||
val submissionSuccessful = verificationResponse is Success
|
||||
val alreadyVerified = verificationResponse is AlreadyVerified
|
||||
|
||||
Log.d(TAG, "Verification code submission network call completed. Submission successful? $submissionSuccessful Account already verified? $alreadyVerified")
|
||||
Log.d(TAG, "Verification code submission network call completed. Submission successful? $submissionSuccessful Account already verified? $alreadyVerified")
|
||||
|
||||
if (!submissionSuccessful && !alreadyVerified) {
|
||||
handleSessionStateResult(context, verificationResponse)
|
||||
return
|
||||
if (!submissionSuccessful && !alreadyVerified) {
|
||||
handleSessionStateResult(context, verificationResponse)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
Log.d(TAG, "Submitting registration…")
|
||||
|
||||
Reference in New Issue
Block a user