parent
a33eeed6d3
commit
5d87ad0301
1 changed files with 17 additions and 8 deletions
|
@ -339,13 +339,13 @@ public final class EnterPhoneNumberFragment extends BaseRegistrationFragment {
|
|||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
String number = reformatText(s);
|
||||
Long number = reformatText(s);
|
||||
|
||||
if (number == null) return;
|
||||
|
||||
RegistrationViewModel model = getModel();
|
||||
|
||||
model.setNationalNumber(Long.parseLong(number));
|
||||
model.setNationalNumber(number);
|
||||
|
||||
setCountryDisplay(model.getNumber().getCountryDisplayName());
|
||||
}
|
||||
|
@ -360,7 +360,7 @@ public final class EnterPhoneNumberFragment extends BaseRegistrationFragment {
|
|||
}
|
||||
}
|
||||
|
||||
private String reformatText(Editable s) {
|
||||
private Long reformatText(Editable s) {
|
||||
if (countryFormatter == null) {
|
||||
return null;
|
||||
}
|
||||
|
@ -371,17 +371,26 @@ public final class EnterPhoneNumberFragment extends BaseRegistrationFragment {
|
|||
|
||||
countryFormatter.clear();
|
||||
|
||||
String number = s.toString().replaceAll("[^\\d.]", "");
|
||||
String formattedNumber = null;
|
||||
StringBuilder justDigits = new StringBuilder();
|
||||
|
||||
for (int i = 0; i < number.length(); i++) {
|
||||
formattedNumber = countryFormatter.inputDigit(number.charAt(i));
|
||||
for (int i = 0; i < s.length(); i++) {
|
||||
char c = s.charAt(i);
|
||||
if (Character.isDigit(c)) {
|
||||
formattedNumber = countryFormatter.inputDigit(c);
|
||||
justDigits.append(c);
|
||||
}
|
||||
}
|
||||
|
||||
if (formattedNumber != null && !s.toString().equals(formattedNumber)) {
|
||||
s.replace(0, s.length(), formattedNumber);
|
||||
}
|
||||
return number;
|
||||
|
||||
if (justDigits.length() == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return Long.parseLong(justDigits.toString());
|
||||
}
|
||||
|
||||
private void setCountryFormatter(@Nullable String regionCode) {
|
||||
|
|
Loading…
Add table
Reference in a new issue