From 9371193264ee1ebfea2e55a79d39c406e017f934 Mon Sep 17 00:00:00 2001 From: sqian Date: Mon, 1 Apr 2019 19:26:18 -0700 Subject: [PATCH] Modify the deprecation of PhoneNumberUtil isEmergencyNumber 1) Telephony API is still called by a bunch of Util methods in Android that don't have context, therefore the service can be null. Throwing an exception can cause crash. 2) Fix the usage of isEmergencyNumber and isPotentialEmergencyNumber. Test: Manual Fixes: 129721537 Change-Id: If82bfc5102a9ac1d7e07ff744c0775a1dc95ba2c Merged-In: If82bfc5102a9ac1d7e07ff744c0775a1dc95ba2c (cherry picked from commit c6d55453ee9a4c352be873eb73c4ec433be11faf) --- .../java/android/telephony/PhoneNumberUtils.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java index 549c04420ce06..b75e51577fdba 100644 --- a/telephony/java/android/telephony/PhoneNumberUtils.java +++ b/telephony/java/android/telephony/PhoneNumberUtils.java @@ -2016,7 +2016,16 @@ public class PhoneNumberUtils { private static boolean isEmergencyNumberInternal(int subId, String number, String defaultCountryIso, boolean useExactMatch) { - return TelephonyManager.getDefault().isEmergencyNumber(number); + try { + if (useExactMatch) { + return TelephonyManager.getDefault().isEmergencyNumber(number); + } else { + return TelephonyManager.getDefault().isPotentialEmergencyNumber(number); + } + } catch (RuntimeException ex) { + Rlog.e(LOG_TAG, "isEmergencyNumberInternal: RuntimeException: " + ex); + } + return false; } /**