From 330dcac0cb9412b7a856a99ce3ea94d2ebba330a Mon Sep 17 00:00:00 2001 From: Sanket Padawe Date: Thu, 18 Jun 2015 12:08:01 -0700 Subject: SubscriptionManager: Fix NPE in getSimStateForSlotIdx bug: 21915589 Change-Id: If703baff6408a0d7ba7c8b02bfd2427b64cda963 --- telephony/java/android/telephony/SubscriptionManager.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index e085d89..fa1ed54 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -1124,13 +1124,14 @@ public class SubscriptionManager { * {@hide} */ public static int getSimStateForSlotIdx(int slotIdx) { - int simState; + int simState = TelephonyManager.SIM_STATE_UNKNOWN; try { ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); - simState = iSub.getSimStateForSlotIdx(slotIdx); + if (iSub != null) { + simState = iSub.getSimStateForSlotIdx(slotIdx); + } } catch (RemoteException ex) { - simState = TelephonyManager.SIM_STATE_UNKNOWN; } logd("getSimStateForSubscriber: simState=" + simState + " slotIdx=" + slotIdx); return simState; @@ -1144,7 +1145,9 @@ public class SubscriptionManager { public boolean isActiveSubId(int subId) { try { ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); - return iSub.isActiveSubId(subId); + if (iSub != null) { + return iSub.isActiveSubId(subId); + } } catch (RemoteException ex) { } return false; -- cgit v1.1