From b5d471c19b7dc6cd6086283be41fe2d959c7ab56 Mon Sep 17 00:00:00 2001 From: Salvador Martinez Date: Tue, 30 Apr 2019 09:56:25 -0700 Subject: [PATCH] Fix null pointer in SubscriptionUtil Sometimes we get null sub info which causes a crash. This just makes it so that if we see that we treat it as inactive since there isn't really a world where an active null sub info makes sense. Test: atest SubscriptionUtilTest Bug: 131603073 Change-Id: Id5ecbecf011e19ff02d9465e0571b1d17c83de9a --- src/com/android/settings/network/SubscriptionUtil.java | 6 +++++- .../com/android/settings/network/SubscriptionUtilTest.java | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/network/SubscriptionUtil.java b/src/com/android/settings/network/SubscriptionUtil.java index e7003298bf7..ebac51f3f67 100644 --- a/src/com/android/settings/network/SubscriptionUtil.java +++ b/src/com/android/settings/network/SubscriptionUtil.java @@ -59,7 +59,11 @@ public class SubscriptionUtil { return subscriptions; } - private static boolean isInactiveInsertedPSim(UiccSlotInfo slotInfo) { + @VisibleForTesting + static boolean isInactiveInsertedPSim(UiccSlotInfo slotInfo) { + if (slotInfo == null) { + return false; + } return !slotInfo.getIsEuicc() && !slotInfo.getIsActive() && slotInfo.getCardStateInfo() == CARD_STATE_INFO_PRESENT; } diff --git a/tests/robotests/src/com/android/settings/network/SubscriptionUtilTest.java b/tests/robotests/src/com/android/settings/network/SubscriptionUtilTest.java index c6479147e6a..40b955ccd06 100644 --- a/tests/robotests/src/com/android/settings/network/SubscriptionUtilTest.java +++ b/tests/robotests/src/com/android/settings/network/SubscriptionUtilTest.java @@ -187,4 +187,9 @@ public class SubscriptionUtilTest { assertThat(subs).isNotNull(); assertThat(subs).hasSize(2); } + + @Test + public void isInactiveInsertedPSim_nullSubInfo_doesNotCrash() { + assertThat(SubscriptionUtil.isInactiveInsertedPSim(null)).isFalse(); + } }