From 839508eea27126c0df4d2df56b6bfb84c6077d53 Mon Sep 17 00:00:00 2001 From: Shuo Qian Date: Wed, 5 May 2021 20:47:23 +0000 Subject: Handles Telephony service not up fatal exception in CallerInfoAsyncQuery Bug: 181062609 Test: Treehugger Change-Id: I5df03a61f55f863e17594aa3239433a5048a4890 --- telecomm/java/android/telecom/CallerInfoAsyncQuery.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/telecomm/java/android/telecom/CallerInfoAsyncQuery.java b/telecomm/java/android/telecom/CallerInfoAsyncQuery.java index a9e1a8fc1952..bf49f3c7b9bf 100644 --- a/telecomm/java/android/telecom/CallerInfoAsyncQuery.java +++ b/telecomm/java/android/telecom/CallerInfoAsyncQuery.java @@ -483,7 +483,16 @@ public class CallerInfoAsyncQuery { // check to see if these are recognized numbers, and use shortcuts if we can. TelephonyManager tm = context.getSystemService(TelephonyManager.class); - if (tm.isEmergencyNumber(number)) { + boolean isEmergencyNumber = false; + try { + isEmergencyNumber = tm.isEmergencyNumber(number); + } catch (IllegalStateException ise) { + // Ignore the exception that Telephony is not up. Use PhoneNumberUtils API now. + // Ideally the PhoneNumberUtils API needs to be removed once the + // telphony service not up issue can be fixed (b/187412989) + isEmergencyNumber = PhoneNumberUtils.isLocalEmergencyNumber(context, number); + } + if (isEmergencyNumber) { cw.event = EVENT_EMERGENCY_NUMBER; } else if (PhoneNumberUtils.isVoiceMailNumber(context, subId, number)) { cw.event = EVENT_VOICEMAIL_NUMBER; -- cgit v1.2.3-59-g8ed1b