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

Commit a4dff0e9 authored by Ricardo Cerqueira's avatar Ricardo Cerqueira
Browse files

LGEQualcommUiccRIL: Adapt to new GSM+LTE support

User LTE preferences now stick, instead of resetting to LTE-on after
reboot

Change-Id: If8285af9a9eeaa70594f8a10ce5d8177b5fe030f
parent 29983476
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import java.util.ArrayList;
public class LGEQualcommUiccRIL extends LGEQualcommRIL implements CommandsInterface {
    protected String mAid;
    protected boolean mUSIM;
    private int mSetPreferredNetworkType;
    private String mLastDataIface;
    boolean RILJ_LOGV = true;
    boolean RILJ_LOGD = true;
@@ -329,6 +330,8 @@ public class LGEQualcommUiccRIL extends LGEQualcommRIL implements CommandsInterf
            mAid = application.aid;
            mUSIM = application.app_type
                      == IccCardApplication.AppType.APPTYPE_USIM;
            mSetPreferredNetworkType = mPreferredNetworkType;

            if (TextUtils.isEmpty(mAid))
               mAid = "";
            Log.d(LOG_TAG, "mAid " + mAid);
@@ -405,15 +408,21 @@ public class LGEQualcommUiccRIL extends LGEQualcommRIL implements CommandsInterf
        send(rr);
    }

    @Override
    public void setCurrentPreferredNetworkType() {
        if (RILJ_LOGD) riljLog("setCurrentPreferredNetworkType: " + mSetPreferredNetworkType);
        setPreferredNetworkType(mSetPreferredNetworkType, null);
    }

    @Override
    public void setPreferredNetworkType(int networkType , Message response) {
        /**
          * For USIMs, we want the preference to go to LTE, unless "2G-only"
          * is requested
          * If not using a USIM, ignore LTE mode and go to 3G
          */
        if (mUSIM && networkType != RILConstants.NETWORK_MODE_GSM_ONLY) {
            networkType = RILConstants.NETWORK_MODE_LTE_GSM_WCDMA;
        if (!mUSIM && networkType == RILConstants.NETWORK_MODE_LTE_GSM_WCDMA) {
            networkType = RILConstants.NETWORK_MODE_WCDMA_PREF;
        }
        mSetPreferredNetworkType = networkType;
        super.setPreferredNetworkType(networkType, response);
    }