Merge "Emergency Number format"
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user