Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit daf7550a authored by Jeremy Goldman's avatar Jeremy Goldman
Browse files

SubscriptionUtil checks that SubscriptionInfo is null before accessing.

Test: atest -c SubscriptionUtilTest
Bug: 178707680
Change-Id: I03938405929c3307460107671bbe695ee5e0f6e9
parent a621e517
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -338,6 +338,9 @@ public class SubscriptionUtil {
    @VisibleForTesting
    public static CharSequence getUniqueSubscriptionDisplayName(
            SubscriptionInfo info, Context context) {
        if (info == null) {
            return "";
        }
        return getUniqueSubscriptionDisplayName(info.getSubscriptionId(), context);
    }

+20 −0
Original line number Diff line number Diff line
@@ -380,6 +380,26 @@ public class SubscriptionUtilTest {
        assertEquals(CARRIER_1, name);
    }

    @Test
    public void getUniqueDisplayName_nullSubscriptionInfo_emptyStringReturned() {
        final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
        when(info1.getSubscriptionId()).thenReturn(SUBID_1);
        when(info1.getDisplayName()).thenReturn(CARRIER_1);
        when(mSubMgr.getActiveSubscriptionInfoList()).thenReturn(
                Arrays.asList(info1));

        TelephonyManager sub1Telmgr = mock(TelephonyManager.class);
        when(sub1Telmgr.getLine1Number()).thenReturn("1112223333");
        when(mTelMgr.createForSubscriptionId(SUBID_1)).thenReturn(sub1Telmgr);

        SubscriptionInfo info2 = null;
        final CharSequence name =
                SubscriptionUtil.getUniqueSubscriptionDisplayName(info2, mContext);

        assertThat(name).isNotNull();
        assertTrue(TextUtils.isEmpty(name));
    }

    @Test
    public void isInactiveInsertedPSim_nullSubInfo_doesNotCrash() {
        assertThat(SubscriptionUtil.isInactiveInsertedPSim(null)).isFalse();