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

Commit d8e5b7f2 authored by Amit Mahajan's avatar Amit Mahajan
Browse files

Change to set pref network type on APM off if SIM is already loaded.

This is to make sure user setting is preserved across APM toggling.

Bug: 21880742
Change-Id: I8ab780440023db339be99c06c239a3c0f3039cea
parent be2a6a25
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -2330,6 +2330,13 @@ public abstract class PhoneBase extends Handler implements Phone {
        mDcTracker.setDataEnabled(getDataEnabled());
    }

    protected void setPreferredNetworkTypeIfSimLoaded() {
        int subId = getSubId();
        if (SubscriptionManager.isValidSubscriptionId(subId)) {
            int type = PhoneFactory.calculatePreferredNetworkType(mContext, getSubId());
            setPreferredNetworkType(type, null);
        }
    }

    @Override
    public void registerForRadioCapabilityChanged(Handler h, int what, Object obj) {
+3 −0
Original line number Diff line number Diff line
@@ -1273,6 +1273,9 @@ public class CDMAPhone extends PhoneBase {
            case EVENT_RADIO_ON:{
                Rlog.d(LOG_TAG, "Event EVENT_RADIO_ON Received");
                handleCdmaSubscriptionSource(mCdmaSSM.getCdmaSubscriptionSource());
                // If this is on APM off, SIM may already be loaded. Send setPreferredNetworkType
                // request to RIL to preserve user setting across APM toggling
                setPreferredNetworkTypeIfSimLoaded();
            }
            break;

+3 −1
Original line number Diff line number Diff line
@@ -1450,7 +1450,9 @@ public class GSMPhone extends PhoneBase {
            break;

            case EVENT_RADIO_ON:
                // do-nothing
                // If this is on APM off, SIM may already be loaded. Send setPreferredNetworkType
                // request to RIL to preserve user setting across APM toggling
                setPreferredNetworkTypeIfSimLoaded();
                break;

            case EVENT_REGISTERED_TO_NETWORK: