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

Commit 362c53b7 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix remapRafIfApplicable get NPE" into main am: 4af90bf9

parents e8c7b614 4af90bf9
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);