aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRicardo Cerqueira <github@cerqueira.org>2012-04-17 01:14:37 +0100
committerAdnan Begovic <adnan@cyngn.com>2015-01-26 10:51:04 -0800
commit549c941969481368e413352b202f45a9def002dd (patch)
treefa4619a2f53c29583f40ed8372551c95f49af0fd
parent95413a7370dae78aee35f53e6d07d381a012b15b (diff)
downloadandroid_frameworks_opt_telephony-549c941969481368e413352b202f45a9def002dd.tar.gz
android_frameworks_opt_telephony-549c941969481368e413352b202f45a9def002dd.tar.bz2
android_frameworks_opt_telephony-549c941969481368e413352b202f45a9def002dd.zip
Telephony: Add getLteOnGsmMode() method (2/2)
Same functionality as the existing getLteOnCdmaMode, but for GSM LTE devices. Enable with the telephony.lteOnGsmDevice system property From CM 10.0: Ibfb47ca608e51393b99d3308e0a6c66050b3f32e - Moved getLteOnGsmModeStatic() to TelephonyManager. Change-Id: I66ca1d109450b8e857079c342a93de8086e80660
-rw-r--r--src/java/com/android/internal/telephony/BaseCommands.java9
-rw-r--r--src/java/com/android/internal/telephony/CommandsInterface.java6
-rw-r--r--src/java/com/android/internal/telephony/Phone.java6
-rw-r--r--src/java/com/android/internal/telephony/PhoneBase.java16
-rw-r--r--src/java/com/android/internal/telephony/PhoneFactory.java3
-rw-r--r--src/java/com/android/internal/telephony/PhoneProxy.java8
6 files changed, 48 insertions, 0 deletions
diff --git a/src/java/com/android/internal/telephony/BaseCommands.java b/src/java/com/android/internal/telephony/BaseCommands.java
index 1b57e7456..3b5cb4e43 100644
--- a/src/java/com/android/internal/telephony/BaseCommands.java
+++ b/src/java/com/android/internal/telephony/BaseCommands.java
@@ -927,4 +927,13 @@ public abstract class BaseCommands implements CommandsInterface {
public void setLocalCallHold(int lchStatus) {
}
+
+ /**
+ * @hide
+ */
+ @Override
+ public int getLteOnGsmMode() {
+ return TelephonyManager.getLteOnGsmModeStatic();
+ }
+
}
diff --git a/src/java/com/android/internal/telephony/CommandsInterface.java b/src/java/com/android/internal/telephony/CommandsInterface.java
index 202dc4613..3ce39388d 100644
--- a/src/java/com/android/internal/telephony/CommandsInterface.java
+++ b/src/java/com/android/internal/telephony/CommandsInterface.java
@@ -1692,6 +1692,12 @@ public interface CommandsInterface {
public void getDataCallProfile(int appType, Message result);
/**
+ * Return if the current radio is LTE on GSM
+ * @hide
+ */
+ public int getLteOnGsmMode();
+
+ /**
* Request the ISIM application on the UICC to perform the AKA
* challenge/response algorithm for IMS authentication. The nonce string
* and challenge response are Base64 encoded Strings.
diff --git a/src/java/com/android/internal/telephony/Phone.java b/src/java/com/android/internal/telephony/Phone.java
index 5d419fad9..fecc62adb 100644
--- a/src/java/com/android/internal/telephony/Phone.java
+++ b/src/java/com/android/internal/telephony/Phone.java
@@ -1818,6 +1818,12 @@ public interface Phone {
public int getLteOnCdmaMode();
/**
+ * Return if the current radio is LTE on GSM
+ * @hide
+ */
+ public int getLteOnGsmMode();
+
+ /**
* TODO: Adding a function for each property is not good.
* A fucntion of type getPhoneProp(propType) where propType is an
* enum of GSM+CDMA+LTE props would be a better approach.
diff --git a/src/java/com/android/internal/telephony/PhoneBase.java b/src/java/com/android/internal/telephony/PhoneBase.java
index f2c324ddd..5c7092216 100644
--- a/src/java/com/android/internal/telephony/PhoneBase.java
+++ b/src/java/com/android/internal/telephony/PhoneBase.java
@@ -1887,6 +1887,22 @@ public abstract class PhoneBase extends Handler implements Phone {
return mCi.getLteOnCdmaMode();
}
+ /**
+ * {@hide}
+ */
+ @Override
+ public int getLteOnGsmMode() {
+ return mCi.getLteOnGsmMode();
+ }
+
+ /**
+ * Sets the SIM voice message waiting indicator records.
+ * @param line GSM Subscriber Profile Number, one-based. Only '1' is supported
+ * @param countWaiting The number of messages waiting, if known. Use
+ * -1 to indicate that an unknown number of
+ * messages are waiting
+ */
+ @Override
public void setVoiceMessageWaiting(int line, int countWaiting) {
// This function should be overridden by class GSMPhone and CDMAPhone.
Rlog.e(LOG_TAG, "Error! This function should never be executed, inactive Phone.");
diff --git a/src/java/com/android/internal/telephony/PhoneFactory.java b/src/java/com/android/internal/telephony/PhoneFactory.java
index 1b9066170..026a7f92c 100644
--- a/src/java/com/android/internal/telephony/PhoneFactory.java
+++ b/src/java/com/android/internal/telephony/PhoneFactory.java
@@ -121,6 +121,9 @@ public class PhoneFactory {
if (TelephonyManager.getLteOnCdmaModeStatic() == PhoneConstants.LTE_ON_CDMA_TRUE) {
preferredNetworkMode = Phone.NT_MODE_GLOBAL;
}
+ if (TelephonyManager.getLteOnGsmModeStatic() != 0) {
+ preferredNetworkMode = Phone.NT_MODE_LTE_GSM_WCDMA;
+ }
int cdmaSubscription = CdmaSubscriptionSourceManager.getDefault(context);
Rlog.i(LOG_TAG, "Cdma Subscription set to " + cdmaSubscription);
diff --git a/src/java/com/android/internal/telephony/PhoneProxy.java b/src/java/com/android/internal/telephony/PhoneProxy.java
index 2d7e5ef68..aa6abb644 100644
--- a/src/java/com/android/internal/telephony/PhoneProxy.java
+++ b/src/java/com/android/internal/telephony/PhoneProxy.java
@@ -1275,6 +1275,14 @@ public class PhoneProxy extends Handler implements Phone {
return mActivePhone.getLteOnCdmaMode();
}
+ /**
+ * {@hide}
+ */
+ @Override
+ public int getLteOnGsmMode() {
+ return mActivePhone.getLteOnGsmMode();
+ }
+
@Override
public void setVoiceMessageWaiting(int line, int countWaiting) {
mActivePhone.setVoiceMessageWaiting(line, countWaiting);