diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberEnterCodeFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberEnterCodeFragment.kt index d51698656d..e23c5ea8a9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberEnterCodeFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberEnterCodeFragment.kt @@ -101,14 +101,14 @@ class ChangeNumberEnterCodeFragment : LoggingFragment(R.layout.fragment_change_n binding.codeEntryLayout.callMeCountDown.apply { setTextResources(R.string.RegistrationActivity_call, R.string.RegistrationActivity_call_me_instead_available_in) setOnClickListener { - viewModel.initiateChangeNumberSession(requireContext(), RegistrationRepository.Mode.PHONE_CALL) + viewModel.initiateChangeNumberSession(requireContext(), RegistrationRepository.E164VerificationMode.PHONE_CALL) } } binding.codeEntryLayout.resendSmsCountDown.apply { setTextResources(R.string.RegistrationActivity_resend_code, R.string.RegistrationActivity_resend_sms_available_in) setOnClickListener { - viewModel.initiateChangeNumberSession(requireContext(), RegistrationRepository.Mode.SMS_WITHOUT_LISTENER) + viewModel.initiateChangeNumberSession(requireContext(), RegistrationRepository.E164VerificationMode.SMS_WITHOUT_LISTENER) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberVerifyFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberVerifyFragment.kt index 1b0332830f..1ce805215c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberVerifyFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberVerifyFragment.kt @@ -69,7 +69,7 @@ class ChangeNumberVerifyFragment : LoggingFragment(R.layout.fragment_change_phon } private fun requestCode() { - val mode = if (ChangeNumberVerifyFragmentArgs.fromBundle(requireArguments()).smsListenerEnabled) RegistrationRepository.Mode.SMS_WITH_LISTENER else RegistrationRepository.Mode.SMS_WITHOUT_LISTENER + val mode = if (ChangeNumberVerifyFragmentArgs.fromBundle(requireArguments()).smsListenerEnabled) RegistrationRepository.E164VerificationMode.SMS_WITH_LISTENER else RegistrationRepository.E164VerificationMode.SMS_WITHOUT_LISTENER viewModel.initiateChangeNumberSession(requireContext(), mode) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberViewModel.kt index 352a151572..a2d093d1db 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberViewModel.kt @@ -336,7 +336,7 @@ class ChangeNumberViewModel : ViewModel() { } } - fun initiateChangeNumberSession(context: Context, mode: RegistrationRepository.Mode) { + fun initiateChangeNumberSession(context: Context, mode: RegistrationRepository.E164VerificationMode) { Log.v(TAG, "changeNumber()") store.update { it.copy(inProgress = true) } viewModelScope.launch { @@ -465,7 +465,7 @@ class ChangeNumberViewModel : ViewModel() { numberChangeErrorHandler(result) } - private suspend fun requestVerificationCode(context: Context, mode: RegistrationRepository.Mode) { + private suspend fun requestVerificationCode(context: Context, mode: RegistrationRepository.E164VerificationMode) { Log.v(TAG, "requestVerificationCode()") val e164 = number.e164Number diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/data/RegistrationRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/data/RegistrationRepository.kt index 06721b84d5..4fd063cdd8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/data/RegistrationRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/data/RegistrationRepository.kt @@ -351,7 +351,7 @@ object RegistrationRepository { /** * Asks the service to send a verification code through one of our supported channels (SMS, phone call). */ - suspend fun requestSmsCode(context: Context, sessionId: String, e164: String, password: String, mode: Mode): VerificationCodeRequestResult = + suspend fun requestSmsCode(context: Context, sessionId: String, e164: String, password: String, mode: E164VerificationMode): VerificationCodeRequestResult = withContext(Dispatchers.IO) { val api: RegistrationApi = AccountManagerFactory.getInstance().createUnauthenticated(context, e164, SignalServiceAddress.DEFAULT_DEVICE_ID, password).registrationApi @@ -605,7 +605,7 @@ object RegistrationRepository { fun produceMasterKey(): MasterKey } - enum class Mode(val isSmsRetrieverSupported: Boolean, val transport: PushServiceSocket.VerificationCodeTransport) { + enum class E164VerificationMode(val isSmsRetrieverSupported: Boolean, val transport: PushServiceSocket.VerificationCodeTransport) { SMS_WITH_LISTENER(true, PushServiceSocket.VerificationCodeTransport.SMS), SMS_WITHOUT_LISTENER(false, PushServiceSocket.VerificationCodeTransport.SMS), PHONE_CALL(false, PushServiceSocket.VerificationCodeTransport.VOICE) diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/RegistrationViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/RegistrationViewModel.kt index 6ec4cb3833..c52fe55ba1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/RegistrationViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/RegistrationViewModel.kt @@ -321,7 +321,7 @@ class RegistrationViewModel : ViewModel() { sessionId = validSession.body.id, e164 = e164, password = password, - mode = RegistrationRepository.Mode.PHONE_CALL + mode = RegistrationRepository.E164VerificationMode.PHONE_CALL ) Log.d(TAG, "Voice code request network call completed.") @@ -348,7 +348,7 @@ class RegistrationViewModel : ViewModel() { } Log.d(TAG, "Requesting SMS code…") - val transportMode = if (smsListenerReady) RegistrationRepository.Mode.SMS_WITH_LISTENER else RegistrationRepository.Mode.SMS_WITHOUT_LISTENER + val transportMode = if (smsListenerReady) RegistrationRepository.E164VerificationMode.SMS_WITH_LISTENER else RegistrationRepository.E164VerificationMode.SMS_WITHOUT_LISTENER val codeRequestResponse = RegistrationRepository.requestSmsCode( context = context, sessionId = sessionId, @@ -820,9 +820,6 @@ class RegistrationViewModel : ViewModel() { private suspend fun onSuccessfulRegistration(context: Context, registrationData: RegistrationData, remoteResult: RegistrationRepository.AccountRegistrationResult, reglockEnabled: Boolean) { Log.v(TAG, "onSuccessfulRegistration()") val metadata = LocalRegistrationMetadataUtil.createLocalRegistrationMetadata(SignalStore.account.aciIdentityKey, SignalStore.account.pniIdentityKey, registrationData, remoteResult, reglockEnabled) - if (RemoteConfig.restoreAfterRegistration) { - SignalStore.registration.localRegistrationMetadata = metadata - } RegistrationRepository.registerAccountLocally(context, metadata) if (reglockEnabled) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberFragment.kt index 15b1621bc6..76f890226e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberFragment.kt @@ -422,7 +422,7 @@ class EnterPhoneNumberFragment : LoggingFragment(R.layout.fragment_registration_ } } - private fun handleNonNormalizedNumberError(originalNumber: String, normalizedNumber: String, mode: RegistrationRepository.Mode) { + private fun handleNonNormalizedNumberError(originalNumber: String, normalizedNumber: String, mode: RegistrationRepository.E164VerificationMode) { try { val phoneNumber = PhoneNumberUtil.getInstance().parse(normalizedNumber, null) @@ -441,9 +441,9 @@ class EnterPhoneNumberFragment : LoggingFragment(R.layout.fragment_registration_ spinnerView.setText(phoneNumber.countryCode.toString()) phoneNumberInputLayout.setText(phoneNumber.nationalNumber.toString()) when (mode) { - RegistrationRepository.Mode.SMS_WITH_LISTENER, - RegistrationRepository.Mode.SMS_WITHOUT_LISTENER -> sharedViewModel.requestSmsCode(requireContext()) - RegistrationRepository.Mode.PHONE_CALL -> sharedViewModel.requestVerificationCall(requireContext()) + RegistrationRepository.E164VerificationMode.SMS_WITH_LISTENER, + RegistrationRepository.E164VerificationMode.SMS_WITHOUT_LISTENER -> sharedViewModel.requestSmsCode(requireContext()) + RegistrationRepository.E164VerificationMode.PHONE_CALL -> sharedViewModel.requestVerificationCall(requireContext()) } dialogInterface.dismiss() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberState.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberState.kt index 226c3bf98a..707879cafa 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberState.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberState.kt @@ -11,7 +11,13 @@ import org.thoughtcrime.securesms.registration.data.RegistrationRepository /** * State holder for the phone number entry screen, including phone number and Play Services errors. */ -data class EnterPhoneNumberState(val countryPrefixIndex: Int = 0, val phoneNumber: String = "", val phoneNumberFormatter: TextWatcher? = null, val mode: RegistrationRepository.Mode = RegistrationRepository.Mode.SMS_WITHOUT_LISTENER, val error: Error = Error.NONE) { +data class EnterPhoneNumberState( + val countryPrefixIndex: Int = 0, + val phoneNumber: String = "", + val phoneNumberFormatter: TextWatcher? = null, + val mode: RegistrationRepository.E164VerificationMode = RegistrationRepository.E164VerificationMode.SMS_WITHOUT_LISTENER, + val error: Error = Error.NONE +) { enum class Error { NONE, INVALID_PHONE_NUMBER, PLAY_SERVICES_MISSING, PLAY_SERVICES_NEEDS_UPDATE, PLAY_SERVICES_TRANSIENT } diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberViewModel.kt index 3b9e53178d..128a3b04f5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberViewModel.kt @@ -47,7 +47,7 @@ class EnterPhoneNumberViewModel : ViewModel() { .map { CountryPrefix(it, PhoneNumberUtil.getInstance().getRegionCodeForCountryCode(it)) } .sortedBy { it.digits } - var mode: RegistrationRepository.Mode + var mode: RegistrationRepository.E164VerificationMode get() = store.value.mode set(value) = store.update { it.copy(mode = value) diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/welcome/WelcomeFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/welcome/WelcomeFragment.kt index a342509166..58390f2a20 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/welcome/WelcomeFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/welcome/WelcomeFragment.kt @@ -28,10 +28,8 @@ import org.thoughtcrime.securesms.registration.ui.grantpermissions.GrantPermissi import org.thoughtcrime.securesms.restore.RestoreActivity import org.thoughtcrime.securesms.util.BackupUtil import org.thoughtcrime.securesms.util.CommunicationActions -import org.thoughtcrime.securesms.util.RemoteConfig import org.thoughtcrime.securesms.util.TextSecurePreferences import org.thoughtcrime.securesms.util.navigation.safeNavigate -import org.thoughtcrime.securesms.util.visible /** * First screen that is displayed on the very first app launch. @@ -60,7 +58,6 @@ class WelcomeFragment : LoggingFragment(R.layout.fragment_registration_welcome) binding.welcomeContinueButton.setOnClickListener { onContinueClicked() } binding.welcomeTermsButton.setOnClickListener { onTermsClicked() } binding.welcomeTransferOrRestore.setOnClickListener { onTransferOrRestoreClicked() } - binding.welcomeTransferOrRestore.visible = !RemoteConfig.restoreAfterRegistration } private fun onContinueClicked() {