OSDN Git Service

Fix null pointer in SubscriptionUtil
authorSalvador Martinez <dehboxturtle@google.com>
Tue, 30 Apr 2019 16:56:25 +0000 (09:56 -0700)
committerSalvador Martinez <dehboxturtle@google.com>
Tue, 30 Apr 2019 16:59:27 +0000 (09:59 -0700)
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
tests/robotests/src/com/android/settings/network/SubscriptionUtilTest.java

index e700329..ebac51f 100644 (file)
@@ -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;
     }
index c647914..40b955c 100644 (file)
@@ -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();
+    }
 }