From 4b446877af021e4168d38be54b636d87482f7d97 Mon Sep 17 00:00:00 2001 From: Nicholas Tinsley Date: Tue, 4 Jun 2024 13:24:22 -0400 Subject: [PATCH] Change number captcha submission improvement. --- .../app/changenumber/v2/ChangeNumberV2Repository.kt | 4 ++-- .../app/changenumber/v2/ChangeNumberV2ViewModel.kt | 10 ++++++++-- .../changenumber/v2/ChangeNumberVerifyV2Fragment.kt | 5 +++++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/v2/ChangeNumberV2Repository.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/v2/ChangeNumberV2Repository.kt index 845947d538..d5c5109945 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/v2/ChangeNumberV2Repository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/v2/ChangeNumberV2Repository.kt @@ -88,11 +88,11 @@ class ChangeNumberV2Repository( } } - it.invokeOnCancellation { + it.invokeOnCancellation { cancellationCause -> AppDependencies .incomingMessageObserver .removeDecryptionDrainedListener(drainedListener) - Log.d(TAG, "Decryptions draining canceled.") + Log.d(TAG, "Decryptions draining canceled.", cancellationCause) } AppDependencies diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/v2/ChangeNumberV2ViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/v2/ChangeNumberV2ViewModel.kt index c35383296a..459af31ff4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/v2/ChangeNumberV2ViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/v2/ChangeNumberV2ViewModel.kt @@ -267,6 +267,13 @@ class ChangeNumberV2ViewModel : ViewModel() { Log.v(TAG, "submitCaptchaToken()") val e164 = number.e164Number val captchaToken = store.value.captchaToken ?: throw IllegalStateException("Can't submit captcha token if no captcha token is set!") + store.update { + it.copy( + captchaToken = null, + inProgress = true, + changeNumberOutcome = null + ) + } viewModelScope.launch { Log.d(TAG, "Getting session in order to submit captcha token…") @@ -275,7 +282,6 @@ class ChangeNumberV2ViewModel : ViewModel() { Log.d(TAG, "Captcha submission no longer necessary, bailing.") store.update { it.copy( - captchaToken = null, inProgress = false, changeNumberOutcome = null ) @@ -286,7 +292,7 @@ class ChangeNumberV2ViewModel : ViewModel() { val captchaSubmissionResult = RegistrationRepository.submitCaptchaToken(context, e164, password, session.body.id, captchaToken) Log.d(TAG, "Captcha token submitted.") store.update { - it.copy(captchaToken = null, inProgress = false, changeNumberOutcome = ChangeNumberOutcome.ChangeNumberRequestOutcome(captchaSubmissionResult)) + it.copy(inProgress = false, changeNumberOutcome = ChangeNumberOutcome.ChangeNumberRequestOutcome(captchaSubmissionResult)) } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/v2/ChangeNumberVerifyV2Fragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/v2/ChangeNumberVerifyV2Fragment.kt index 84af2f8ae6..9567e7ba7e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/v2/ChangeNumberVerifyV2Fragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/v2/ChangeNumberVerifyV2Fragment.kt @@ -98,6 +98,11 @@ class ChangeNumberVerifyV2Fragment : LoggingFragment(R.layout.fragment_change_ph showErrorDialog(R.string.RegistrationActivity_rate_limited_to_service) } + is VerificationCodeRequestResult.TokenNotAccepted -> { + Log.i(TAG, "Token was not accepted.") + showErrorDialog(R.string.RegistrationActivity_additional_verification_required) + } + else -> { Log.w(TAG, "Unable to request sms code", castResult.getCause()) showErrorDialog(R.string.RegistrationActivity_unable_to_request_verification_code)