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

Commit 4af90bf9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Fix remapRafIfApplicable get NPE" into main

parents e12193c1 8a8ea1ae
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2818,7 +2818,8 @@ public class SubscriptionManagerService extends ISub.Stub {
        ProxyController proxyController = ProxyController.getInstance();
        RadioAccessFamily[] rafs = new RadioAccessFamily[mTelephonyManager.getActiveModemCount()];
        for (int phoneId = 0; phoneId < rafs.length; phoneId++) {
            int raf = mSlotIndexToSubId.get(phoneId) == getDefaultDataSubId()
            int raf = mSlotIndexToSubId.getOrDefault(phoneId,
                    SubscriptionManager.INVALID_SUBSCRIPTION_ID) == getDefaultDataSubId()
                    ? proxyController.getMaxRafSupported() : proxyController.getMinRafSupported();
            rafs[phoneId] = new RadioAccessFamily(phoneId, raf);
        }
+20 −0
Original line number Diff line number Diff line
@@ -675,6 +675,26 @@ public class SubscriptionManagerServiceTest extends TelephonyTest {
        assertThat(b.getInt(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX)).isEqualTo(1);
    }

    @Test
    public void testSingleSimSetDefaultDataSubId() {
        mContextFixture.addCallingOrSelfPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE);
        mContextFixture.addCallingOrSelfPermission(Manifest.permission.MODIFY_PHONE_STATE);
        doReturn(1).when(mProxyController).getMinRafSupported();
        doReturn(2).when(mProxyController).getMaxRafSupported();
        insertSubscription(FAKE_SUBSCRIPTION_INFO2);

        mContextFixture.addCallingOrSelfPermission(Manifest.permission.MODIFY_PHONE_STATE);

        mSubscriptionManagerServiceUT.setDefaultDataSubId(1);
        assertThat(mSubscriptionManagerServiceUT.getDefaultDataSubId()).isEqualTo(1);
        ArgumentCaptor<RadioAccessFamily[]> rafsCaptor = ArgumentCaptor.forClass(
                RadioAccessFamily[].class);
        verify(mProxyController).setRadioCapability(rafsCaptor.capture());
        RadioAccessFamily[] rafs = (RadioAccessFamily[]) rafsCaptor.getValue();
        assertThat(rafs[0].getRadioAccessFamily()).isEqualTo(1);
        assertThat(rafs[1].getRadioAccessFamily()).isEqualTo(2);
    }

    @Test
    public void testSetDefaultSmsSubId() throws Exception {
        clearInvocations(mContext);