From 70d83725fc18dc73d762de9b4dc8e37dba6b27e6 Mon Sep 17 00:00:00 2001 From: sqian Date: Thu, 14 Mar 2019 19:42:38 -0700 Subject: Emergency Number format Use PhoneNumberUtils#isDialable to check each character. Bug: 123241078 Test: Treehugger Change-Id: Icc9083ed4d6cdae22c3ede9433433ac8eeec4918 Merged-In: Icc9083ed4d6cdae22c3ede9433433ac8eeec4918 (cherry picked from commit 0197a96e8add2658d424d5d318b383281d702add) --- telephony/java/android/telephony/TelephonyManager.java | 11 ++++++++--- .../java/android/telephony/emergency/EmergencyNumber.java | 14 ++++++++++++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 5e0a7a69854e..003c7c5a1640 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -10260,15 +10260,20 @@ public class TelephonyManager { } /** - * Checks if the supplied number is an emergency number based on current locale, sim, default, - * modem and network. + * Identifies if the supplied phone number is an emergency number that matches a known + * emergency number based on current locale, SIM card(s), Android database, modem, network, + * or defaults. + * + *

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)}. * *

The subscriptions which the identification would be based on, are all the active * subscriptions, no matter which subscription could be used to create TelephonyManager. * * @param number - the number to look up * @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) { try { diff --git a/telephony/java/android/telephony/emergency/EmergencyNumber.java b/telephony/java/android/telephony/emergency/EmergencyNumber.java index 397975fe58cf..dba220718818 100644 --- a/telephony/java/android/telephony/emergency/EmergencyNumber.java +++ b/telephony/java/android/telephony/emergency/EmergencyNumber.java @@ -22,6 +22,7 @@ import android.hardware.radio.V1_4.EmergencyNumberSource; import android.hardware.radio.V1_4.EmergencyServiceCategory; import android.os.Parcel; import android.os.Parcelable; +import android.telephony.PhoneNumberUtils; import android.telephony.Rlog; import java.lang.annotation.Retention; @@ -673,11 +674,20 @@ public final class EmergencyNumber implements Parcelable, Comparable