mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 01:40:07 +01:00
Improve and centralize e164 utils.
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
package org.thoughtcrime.securesms.registration.ui.countrycode
|
||||
|
||||
import com.google.i18n.phonenumbers.PhoneNumberUtil
|
||||
import org.whispersystems.signalservice.api.util.PhoneNumberFormatter
|
||||
import org.signal.core.util.E164Util
|
||||
import java.text.Collator
|
||||
import java.util.Locale
|
||||
|
||||
@@ -25,7 +25,7 @@ object CountryUtils {
|
||||
return PhoneNumberUtil.getInstance().supportedRegions
|
||||
.map { region ->
|
||||
Country(
|
||||
name = PhoneNumberFormatter.getRegionDisplayName(region).orElse(""),
|
||||
name = E164Util.getRegionDisplayName(region).orElse(""),
|
||||
emoji = countryToEmoji(region),
|
||||
countryCode = PhoneNumberUtil.getInstance().getCountryCodeForRegion(region),
|
||||
regionCode = region
|
||||
@@ -39,7 +39,7 @@ object CountryUtils {
|
||||
return COMMON_COUNTRIES
|
||||
.map { region ->
|
||||
Country(
|
||||
name = PhoneNumberFormatter.getRegionDisplayName(region).orElse(""),
|
||||
name = E164Util.getRegionDisplayName(region).orElse(""),
|
||||
emoji = countryToEmoji(region),
|
||||
countryCode = PhoneNumberUtil.getInstance().getCountryCodeForRegion(region),
|
||||
regionCode = region
|
||||
|
||||
@@ -45,7 +45,6 @@ import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.components.ViewBinderDelegate
|
||||
import org.thoughtcrime.securesms.databinding.FragmentRegistrationEnterPhoneNumberBinding
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter
|
||||
import org.thoughtcrime.securesms.registration.data.RegistrationRepository
|
||||
import org.thoughtcrime.securesms.registration.data.network.Challenge
|
||||
import org.thoughtcrime.securesms.registration.data.network.RegisterAccountResult
|
||||
@@ -65,6 +64,7 @@ import org.thoughtcrime.securesms.registration.util.CountryPrefix
|
||||
import org.thoughtcrime.securesms.util.CommunicationActions
|
||||
import org.thoughtcrime.securesms.util.Dialogs
|
||||
import org.thoughtcrime.securesms.util.PlayServicesUtil
|
||||
import org.thoughtcrime.securesms.util.SignalE164Util
|
||||
import org.thoughtcrime.securesms.util.SpanUtil
|
||||
import org.thoughtcrime.securesms.util.SupportEmailUtil
|
||||
import org.thoughtcrime.securesms.util.ViewUtil
|
||||
@@ -619,7 +619,7 @@ class EnterPhoneNumberFragment : LoggingFragment(R.layout.fragment_registration_
|
||||
}
|
||||
|
||||
val message: CharSequence = SpannableStringBuilder().apply {
|
||||
append(SpanUtil.bold(PhoneNumberFormatter.prettyPrint(phoneNumber.toE164())))
|
||||
append(SpanUtil.bold(SignalE164Util.prettyPrint(phoneNumber.toE164())))
|
||||
if (!canSkipSms) {
|
||||
append("\n\n")
|
||||
append(getString(R.string.RegistrationActivity_a_verification_code_will_be_sent_to_this_number))
|
||||
|
||||
@@ -13,13 +13,13 @@ import com.google.i18n.phonenumbers.PhoneNumberUtil
|
||||
import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.update
|
||||
import org.signal.core.util.E164Util
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.thoughtcrime.securesms.registration.data.RegistrationRepository
|
||||
import org.thoughtcrime.securesms.registration.ui.countrycode.Country
|
||||
import org.thoughtcrime.securesms.registration.ui.countrycode.CountryUtils
|
||||
import org.thoughtcrime.securesms.registration.util.CountryPrefix
|
||||
import org.thoughtcrime.securesms.util.Util
|
||||
import org.whispersystems.signalservice.api.util.PhoneNumberFormatter
|
||||
|
||||
/**
|
||||
* ViewModel for the phone number entry screen.
|
||||
@@ -74,7 +74,7 @@ class EnterPhoneNumberViewModel : ViewModel() {
|
||||
countryPrefixIndex = prefixIndex,
|
||||
phoneNumberRegionCode = regionCode,
|
||||
country = existingCountry ?: Country(
|
||||
name = PhoneNumberFormatter.getRegionDisplayName(regionCode).orElse(""),
|
||||
name = E164Util.getRegionDisplayName(regionCode).orElse(""),
|
||||
emoji = CountryUtils.countryToEmoji(regionCode),
|
||||
countryCode = countryCode,
|
||||
regionCode = regionCode
|
||||
@@ -122,7 +122,7 @@ class EnterPhoneNumberViewModel : ViewModel() {
|
||||
|
||||
val regionCode = supportedCountryPrefixes[matchingIndex].regionCode
|
||||
val matchedCountry = Country(
|
||||
name = PhoneNumberFormatter.getRegionDisplayName(regionCode).orElse(""),
|
||||
name = E164Util.getRegionDisplayName(regionCode).orElse(""),
|
||||
emoji = CountryUtils.countryToEmoji(regionCode),
|
||||
countryCode = digits,
|
||||
regionCode = regionCode
|
||||
|
||||
@@ -19,12 +19,12 @@ import androidx.annotation.Nullable;
|
||||
import com.google.i18n.phonenumbers.AsYouTypeFormatter;
|
||||
import com.google.i18n.phonenumbers.PhoneNumberUtil;
|
||||
|
||||
import org.signal.core.util.E164Util;
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.components.LabeledEditText;
|
||||
import org.thoughtcrime.securesms.registration.ui.countrycode.Country;
|
||||
import org.thoughtcrime.securesms.registration.ui.countrycode.CountryUtils;
|
||||
import org.thoughtcrime.securesms.registration.viewmodel.NumberViewState;
|
||||
import org.whispersystems.signalservice.api.util.PhoneNumberFormatter;
|
||||
|
||||
/**
|
||||
* Handle the logic and formatting of phone number input specifically for change number flows.
|
||||
@@ -248,7 +248,7 @@ public final class ChangeNumberInputController {
|
||||
}
|
||||
|
||||
if (!isUpdating) {
|
||||
Country country = new Country(CountryUtils.countryToEmoji(regionCode), PhoneNumberFormatter.getRegionDisplayName(regionCode).orElse(""), countryCode, regionCode);
|
||||
Country country = new Country(CountryUtils.countryToEmoji(regionCode), E164Util.getRegionDisplayName(regionCode).orElse(""), countryCode, regionCode);
|
||||
callbacks.setCountry(country);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import com.google.i18n.phonenumbers.NumberParseException;
|
||||
import com.google.i18n.phonenumbers.PhoneNumberUtil;
|
||||
import com.google.i18n.phonenumbers.Phonenumber;
|
||||
|
||||
import org.whispersystems.signalservice.api.util.PhoneNumberFormatter;
|
||||
import org.signal.core.util.E164Util;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -42,7 +42,7 @@ public final class NumberViewState implements Parcelable {
|
||||
return nationalNumber;
|
||||
}
|
||||
|
||||
public String getCountryDisplayName() {
|
||||
public @Nullable String getCountryDisplayName() {
|
||||
if (selectedCountryName != null) {
|
||||
return selectedCountryName;
|
||||
}
|
||||
@@ -58,7 +58,7 @@ public final class NumberViewState implements Parcelable {
|
||||
}
|
||||
|
||||
String regionCode = util.getRegionCodeForCountryCode(countryCode);
|
||||
return PhoneNumberFormatter.getRegionDisplayNameLegacy(regionCode);
|
||||
return E164Util.getRegionDisplayName(regionCode).orElse(null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -70,7 +70,7 @@ public final class NumberViewState implements Parcelable {
|
||||
String regionCode = util.getRegionCodeForNumber(phoneNumber);
|
||||
|
||||
if (regionCode != null) {
|
||||
return PhoneNumberFormatter.getRegionDisplayNameLegacy(regionCode);
|
||||
return E164Util.getRegionDisplayName(regionCode).orElse(null);
|
||||
}
|
||||
|
||||
} catch (NumberParseException e) {
|
||||
@@ -80,7 +80,7 @@ public final class NumberViewState implements Parcelable {
|
||||
}
|
||||
|
||||
public boolean isValid() {
|
||||
return PhoneNumberFormatter.isValidNumber(getE164Number(), Integer.toString(getCountryCode()));
|
||||
return E164Util.isValidNumberForRegistration(Integer.toString(getCountryCode()), getE164Number());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -123,7 +123,7 @@ public final class NumberViewState implements Parcelable {
|
||||
}
|
||||
|
||||
private static String getConfiguredE164Number(int countryCode, String number) {
|
||||
return PhoneNumberFormatter.formatE164(String.valueOf(countryCode), number);
|
||||
return E164Util.formatAsE164WithCountryCodeForDisplay(String.valueOf(countryCode), number);
|
||||
}
|
||||
|
||||
private static Phonenumber.PhoneNumber getPhoneNumber(@NonNull PhoneNumberUtil util, @NonNull String e164Number)
|
||||
|
||||
Reference in New Issue
Block a user