Merge "Emergency Number format"

This commit is contained in:
Shuo Qian
2019-03-29 18:11:26 +00:00
committed by Gerrit Code Review
2 changed files with 20 additions and 5 deletions

View File

@@ -10260,15 +10260,20 @@ public class TelephonyManager {
} }
/** /**
* Checks if the supplied number is an emergency number based on current locale, sim, default, * Identifies if the supplied phone number is an emergency number that matches a known
* modem and network. * emergency number based on current locale, SIM card(s), Android database, modem, network,
* or defaults.
*
* <p>This method assumes that only dialable phone numbers are passed in; non-dialable
* numbers are not considered emergency numbers. A dialable phone number consists only
* of characters/digits identified by {@link PhoneNumberUtils#isDialable(char)}.
* *
* <p>The subscriptions which the identification would be based on, are all the active * <p>The subscriptions which the identification would be based on, are all the active
* subscriptions, no matter which subscription could be used to create TelephonyManager. * subscriptions, no matter which subscription could be used to create TelephonyManager.
* *
* @param number - the number to look up * @param number - the number to look up
* @return {@code true} if the given number is an emergency number based on current locale, * @return {@code true} if the given number is an emergency number based on current locale,
* sim, modem and network; {@code false} otherwise. * SIM card(s), Android database, modem, network or defaults; {@code false} otherwise.
*/ */
public boolean isEmergencyNumber(@NonNull String number) { public boolean isEmergencyNumber(@NonNull String number) {
try { try {

View File

@@ -22,6 +22,7 @@ import android.hardware.radio.V1_4.EmergencyNumberSource;
import android.hardware.radio.V1_4.EmergencyServiceCategory; import android.hardware.radio.V1_4.EmergencyServiceCategory;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.telephony.PhoneNumberUtils;
import android.telephony.Rlog; import android.telephony.Rlog;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
@@ -673,11 +674,20 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu
} }
/** /**
* Validate Emergency Number address that only allows '0'-'9', '*', or '#' * Validate Emergency Number address that only contains the dialable character
* {@link PhoneNumberUtils#isDialable(char)}
* *
* @hide * @hide
*/ */
public static boolean validateEmergencyNumberAddress(String address) { public static boolean validateEmergencyNumberAddress(String address) {
return address.matches("[0-9*#]+"); if (address == null) {
return false;
}
for (char c : address.toCharArray()) {
if (!PhoneNumberUtils.isDialable(c)) {
return false;
}
}
return true;
} }
} }