From c08d2d981c1bd0e46aed377ba4e8a7cb866b2a7c Mon Sep 17 00:00:00 2001 From: Evan Tyra Date: Fri, 31 May 2019 11:04:58 -0700 Subject: [PATCH] Catch NPE in getServiceStateForSubscriber ITelephony can enter a bad state with an incorrect SubId and throw an NPE as shown in the attached bug. This is not an expected error, so a bugreport will be triggered on userdebug builds on catch. Test: Local Bug: 134067547 Change-Id: Ib8f3b69eb3870c3567578aadaee6cf2693526fbd --- telephony/java/android/telephony/TelephonyManager.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 2ba34c6c3453a..b53860303e20b 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -105,6 +105,7 @@ import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.UUID; import java.util.concurrent.Executor; import java.util.function.Consumer; import java.util.regex.Matcher; @@ -9239,6 +9240,10 @@ public class TelephonyManager { } } catch (RemoteException e) { Log.e(TAG, "Error calling ITelephony#getServiceStateForSubscriber", e); + } catch (NullPointerException e) { + AnomalyReporter.reportAnomaly( + UUID.fromString("a3ab0b9d-f2aa-4baf-911d-7096c0d4645a"), + "getServiceStateForSubscriber " + subId + " NPE"); } return null; }