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

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

Merge "Port setRadioCapability on dds change" into main

parents 1fd75b98 f47721e1
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -87,6 +87,7 @@ import com.android.internal.telephony.MccTable;
import com.android.internal.telephony.MultiSimSettingController;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.ProxyController;
import com.android.internal.telephony.RILConstants;
import com.android.internal.telephony.SubscriptionController;
import com.android.internal.telephony.TelephonyIntents;
@@ -2708,6 +2709,8 @@ public class SubscriptionManagerService extends ISub.Stub {
        final long token = Binder.clearCallingIdentity();
        try {
            if (mDefaultDataSubId.set(subId)) {
                remapRafIfApplicable();

                MultiSimSettingController.getInstance().notifyDefaultDataSubChanged();

                Intent intent = new Intent(
@@ -2723,6 +2726,22 @@ public class SubscriptionManagerService extends ISub.Stub {
        }
    }

    /**
     * Remap Radio Access Family if needed.
     */
    private void remapRafIfApplicable() {
        boolean applicable = mSlotIndexToSubId.containsValue(getDefaultDataSubId());
        if (!applicable) return;
        ProxyController proxyController = ProxyController.getInstance();
        RadioAccessFamily[] rafs = new RadioAccessFamily[mTelephonyManager.getActiveModemCount()];
        for (int phoneId = 0; phoneId < rafs.length; phoneId++) {
            int raf = mSlotIndexToSubId.get(phoneId) == getDefaultDataSubId()
                    ? proxyController.getMaxRafSupported() : proxyController.getMinRafSupported();
            rafs[phoneId] = new RadioAccessFamily(phoneId, raf);
        }
        proxyController.setRadioCapability(rafs);
    }

    /**
     * @return The default subscription id for voice.
     */
+1 −0
Original line number Diff line number Diff line
@@ -605,6 +605,7 @@ public class SubscriptionManagerServiceTest extends TelephonyTest {

        mSubscriptionManagerServiceUT.setDefaultDataSubId(1);
        assertThat(mSubscriptionManagerServiceUT.getDefaultDataSubId()).isEqualTo(1);
        verify(mProxyController).setRadioCapability(any());

        assertThat(Settings.Global.getInt(mContext.getContentResolver(),
                        Settings.Global.MULTI_SIM_DATA_CALL_SUBSCRIPTION)).isEqualTo(1);