From c6d55453ee9a4c352be873eb73c4ec433be11faf 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 --- .../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; } /**