summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Ross <toastcfh@gmail.com>2013-06-11 23:06:18 -0400
committerShareef Ali <shareefalis@cyanogenmod.org>2013-07-02 10:28:07 -0500
commit5e0983ba3e96083da094d9706beadacce6b4e9c9 (patch)
tree8c195552995f70c734e8bb15bc590827d8df40cb
parent06dcba0815889f23e2021d788fe6ad00b78d6d4d (diff)
downloadframeworks_opt_telephony-5e0983ba3e96083da094d9706beadacce6b4e9c9.zip
frameworks_opt_telephony-5e0983ba3e96083da094d9706beadacce6b4e9c9.tar.gz
frameworks_opt_telephony-5e0983ba3e96083da094d9706beadacce6b4e9c9.tar.bz2
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 f0ddc6a7318b74608c58beca61901820ea7d9a7d 97cabb4543823fd989f4aa371fca41b1aeb07278 a34c63e1842f018f7d318ba7887ec2500c07658c Change-Id: I4c9fc73e18ebee0df43e69ac982b61904d11333b
-rw-r--r--src/java/com/android/internal/telephony/PhoneProxy.java9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/java/com/android/internal/telephony/PhoneProxy.java b/src/java/com/android/internal/telephony/PhoneProxy.java
index 38fe68d..a1a8d88 100644
--- a/src/java/com/android/internal/telephony/PhoneProxy.java
+++ b/src/java/com/android/internal/telephony/PhoneProxy.java
@@ -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) {