diff options
author | Ricardo Cerqueira <github@cerqueira.org> | 2012-04-17 01:14:37 +0100 |
---|---|---|
committer | Adnan Begovic <adnan@cyngn.com> | 2015-01-26 10:51:04 -0800 |
commit | 549c941969481368e413352b202f45a9def002dd (patch) | |
tree | fa4619a2f53c29583f40ed8372551c95f49af0fd | |
parent | 95413a7370dae78aee35f53e6d07d381a012b15b (diff) | |
download | android_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
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); |