package com.eitor.eitorphonevalidator;
import anywheresoftware.b4a.BA.Author;
import anywheresoftware.b4a.BA.DependsOn;
import anywheresoftware.b4a.BA.ShortName;
import anywheresoftware.b4a.BA.Version;
import com.google.i18n.phonenumbers.*;
import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberType;
import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberFormat;
import android.util.Log;
//@DependsOn(values=("libphonenumbers-7.3"))
@ShortName("EitorPhoneValidator")
@Version(1)
@Author("EitorTeam")
public class EitorPhoneValidator {
private PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
public boolean Validate(String phoneNumber, String defaultCountry){
boolean Resp = false;
try {
PhoneNumber number = phoneUtil.parseAndKeepRawInput(phoneNumber, defaultCountry);
boolean isPossible = phoneUtil.isPossibleNumber(number);
boolean isNumberValid = phoneUtil.isValidNumber(number);
PhoneNumberType numberType = phoneUtil.getNumberType(number);
boolean hasDefaultCountry = !defaultCountry.isEmpty() && defaultCountry != "ZZ";
Resp = phoneUtil.isValidNumber(number);
} catch (Exception e){
Log.w("B4A", Log.getStackTraceString(e));
}
return Resp;
}
public String GetE164(String phoneNumber, String defaultCountry){
String formattedNumber = "";
try {
PhoneNumber NumberProto = phoneUtil.parse(phoneNumber, defaultCountry);
formattedNumber = phoneUtil.format(NumberProto, PhoneNumberFormat.E164);
} catch (Exception e){
Log.w("B4A", Log.getStackTraceString(e));
}
return formattedNumber;
}
}