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

Commit 5e0983ba authored by Richard Ross's avatar Richard Ross Committed by Shareef Ali
Browse files

PhoneProxy: when using v6 or greater ril make sure current phone type isnt GSM

This fixes an issue with CDMA + LTE devices that are able to utilize
GSM netowrks. When using v6 or greater ril and connected to a GSM network
it routes you through the CDMA stack. This causes all sorts of issues.
Fix by making sure that phone type isnt GSM.

a revert of
f0ddc6a7
97cabb45
a34c63e1

Change-Id: I4c9fc73e18ebee0df43e69ac982b61904d11333b
parent 06dcba08
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.telephony.CellInfo;
import android.telephony.CellLocation;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.TelephonyManager;
import android.util.Log;

import com.android.internal.telephony.cdma.CDMAPhone;
@@ -55,8 +56,6 @@ public class PhoneProxy extends Handler implements Phone {
    private boolean mResetModemOnRadioTechnologyChange = false;

    private int mRilVersion;
    private boolean mRilV7NeedsCDMALTEPhone = SystemProperties.getBoolean(
                    "telephony.rilV7NeedCDMALTEPhone", false);

    private static final int EVENT_VOICE_RADIO_TECH_CHANGED = 1;
    private static final int EVENT_RADIO_ON = 2;
@@ -148,10 +147,10 @@ public class PhoneProxy extends Handler implements Phone {
    private void updatePhoneObject(int newVoiceRadioTech) {

        if (mActivePhone != null) {
            if((mRilVersion == 6 && getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE) ||
                mRilV7NeedsCDMALTEPhone) {
            int phoneType = TelephonyManager.getPhoneType(TelephonyManager.getDefault().getNetworkType());
            if(mRilVersion >= 6 && getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE && phoneType != PhoneConstants.PHONE_TYPE_GSM) {
                /*
                 * On v6 RIL, when LTE_ON_CDMA is TRUE, always create CDMALTEPhone
                 * On v6 RIL or greater, when LTE_ON_CDMA is TRUE, always create CDMALTEPhone
                 * irrespective of the voice radio tech reported.
                 */
                if (mActivePhone.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA) {