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