From 9d7d62801ddb206d2ea96d74864a9edfe54d2eee Mon Sep 17 00:00:00 2001 From: Wink Saville Date: Sat, 12 Mar 2011 14:52:01 -0800 Subject: [PATCH] Do not merge: Revert the revert of "LTE Changes for Telephony including Multiple PDN support and IPV6 support" This reverts commit eca208fae6d1b6ae9c8c0e42eee092e86dbddbb7 and is the first of the LTE commits in master being back ported to the LTE branch. Change-Id: I17d4a1b779ed74bc7dfb409d2c1a30f60fdb27c7 --- .../java/android/net/ConnectivityManager.java | 28 +- .../android/net/MobileDataStateTracker.java | 9 +- core/java/android/provider/Telephony.java | 8 + core/res/res/values/config.xml | 8 + .../res/drawable-mdpi/stat_sys_signal_4g.png | Bin 0 -> 258 bytes .../statusbar/phone/PhoneStatusBarPolicy.java | 15 +- .../statusbar/policy/NetworkController.java | 6 +- .../statusbar/policy/TelephonyIcons.java | 13 + .../android/server/ConnectivityService.java | 45 +- .../java/android/telephony/ServiceState.java | 10 + .../internal/telephony/ApnContext.java | 164 +++ .../internal/telephony/ApnSetting.java | 26 +- .../internal/telephony/BaseCommands.java | 41 +- .../internal/telephony/CallTracker.java | 4 + .../internal/telephony/CommandsInterface.java | 63 +- .../telephony/DataConnectionTracker.java | 105 +- .../android/internal/telephony/IccCard.java | 14 +- .../telephony/IccCardApplication.java | 4 +- .../internal/telephony/IccConstants.java | 10 + .../com/android/internal/telephony/Phone.java | 12 + .../android/internal/telephony/PhoneBase.java | 32 +- .../internal/telephony/PhoneFactory.java | 33 +- .../internal/telephony/PhoneProxy.java | 4 + .../com/android/internal/telephony/RIL.java | 15 + .../internal/telephony/RILConstants.java | 12 +- .../internal/telephony/SMSDispatcher.java | 29 +- .../telephony/ServiceStateTracker.java | 43 +- .../internal/telephony/cdma/CDMALTEPhone.java | 180 +++ .../internal/telephony/cdma/CDMAPhone.java | 21 +- .../telephony/cdma/CdmaCallTracker.java | 4 + .../telephony/cdma/CdmaConnection.java | 2 +- .../cdma/CdmaDataConnectionTracker.java | 66 +- .../cdma/CdmaLteServiceStateTracker.java | 567 +++++++++ .../telephony/cdma/CdmaSMSDispatcher.java | 8 +- .../cdma/CdmaServiceStateTracker.java | 382 +++--- .../internal/telephony/gsm/GSMPhone.java | 17 +- .../telephony/gsm/GsmDataConnection.java | 66 +- .../gsm/GsmDataConnectionTracker.java | 1084 +++++++++++++---- .../telephony/gsm/GsmSMSDispatcher.java | 8 +- .../telephony/gsm/GsmServiceStateTracker.java | 40 +- .../internal/telephony/gsm/SIMRecords.java | 29 +- .../internal/telephony/gsm/SimCard.java | 17 + .../internal/telephony/ApnSettingTest.java | 10 +- 43 files changed, 2571 insertions(+), 683 deletions(-) create mode 100644 packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4g.png create mode 100644 telephony/java/com/android/internal/telephony/ApnContext.java create mode 100644 telephony/java/com/android/internal/telephony/cdma/CDMALTEPhone.java create mode 100644 telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index cab8ed25f0ab1..26f375d43db32 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -221,12 +221,32 @@ public class ConnectivityManager /** {@hide} */ public static final int TYPE_DUMMY = 8; + /** {@hide} */ public static final int TYPE_ETHERNET = 9; - /** {@hide} TODO: Need to adjust this for WiMAX. */ - public static final int MAX_RADIO_TYPE = TYPE_DUMMY; - /** {@hide} TODO: Need to adjust this for WiMAX. */ - public static final int MAX_NETWORK_TYPE = TYPE_DUMMY; + /** + * Over the air Adminstration. + * {@hide} + */ + public static final int TYPE_MOBILE_FOTA = 10; + + /** + * IP Multimedia Subsystem + * {@hide} + */ + public static final int TYPE_MOBILE_IMS = 11; + + /** + * Carrier Branded Services + * {@hide} + */ + public static final int TYPE_MOBILE_CBS = 12; + + /** {@hide} */ + public static final int MAX_RADIO_TYPE = TYPE_MOBILE_CBS; + + /** {@hide} */ + public static final int MAX_NETWORK_TYPE = TYPE_MOBILE_CBS; public static final int DEFAULT_NETWORK_PREFERENCE = TYPE_WIFI; diff --git a/core/java/android/net/MobileDataStateTracker.java b/core/java/android/net/MobileDataStateTracker.java index e04964e53efcd..5b4da66a4f240 100644 --- a/core/java/android/net/MobileDataStateTracker.java +++ b/core/java/android/net/MobileDataStateTracker.java @@ -437,7 +437,8 @@ public class MobileDataStateTracker implements NetworkStateTracker { retValue = true; break; case Phone.APN_REQUEST_STARTED: - // no need to do anything - we're already due some status update intents + // set IDLE here , avoid the following second FAILED not sent out + mNetworkInfo.setDetailedState(DetailedState.IDLE, null, null); retValue = true; break; case Phone.APN_REQUEST_FAILED: @@ -546,6 +547,12 @@ public class MobileDataStateTracker implements NetworkStateTracker { return Phone.APN_TYPE_DUN; case ConnectivityManager.TYPE_MOBILE_HIPRI: return Phone.APN_TYPE_HIPRI; + case ConnectivityManager.TYPE_MOBILE_FOTA: + return Phone.APN_TYPE_FOTA; + case ConnectivityManager.TYPE_MOBILE_IMS: + return Phone.APN_TYPE_IMS; + case ConnectivityManager.TYPE_MOBILE_CBS: + return Phone.APN_TYPE_CBS; default: sloge("Error mapping networkType " + netType + " to apnType."); return null; diff --git a/core/java/android/provider/Telephony.java b/core/java/android/provider/Telephony.java index 62f66b6ce7993..d2d2557077c2d 100644 --- a/core/java/android/provider/Telephony.java +++ b/core/java/android/provider/Telephony.java @@ -1723,6 +1723,14 @@ public final class Telephony { public static final String TYPE = "type"; + public static final String INACTIVE_TIMER = "inactivetimer"; + + // Only if enabled try Data Connection. + public static final String ENABLED = "enabled"; + + // Rules apply based on class. + public static final String CLASS = "class"; + /** * The protocol to be used to connect to this APN. * diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index b24ee9e655cef..be1166252bc17 100755 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -51,6 +51,11 @@ manager will disable alpha trasformation in animations where not strictly needed. --> false + + + false