am 2d8500d2: am 799f04c0: Merge "Report data status from ApnContext even if data is detached" into honeycomb-LTE

* commit '2d8500d21a3fe6af36040a5dcd0599e00a242766':
  Report data status from ApnContext even if data is detached
diff --git a/telephony/java/com/android/internal/telephony/cdma/CDMALTEPhone.java b/telephony/java/com/android/internal/telephony/cdma/CDMALTEPhone.java
index fe2fcb2..518a34a 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CDMALTEPhone.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CDMALTEPhone.java
@@ -65,33 +65,13 @@
 
     @Override
     public DataState getDataConnectionState(String apnType) {
-        // TODO: Remove instanceof if possible.
-        boolean isCdmaDataConnectionTracker = false;
-        if (mDataConnectionTracker instanceof CdmaDataConnectionTracker) {
-            log("getDataConnectionState isCdmaDataConnectionTracker");
-            isCdmaDataConnectionTracker = true;
-        } else {
-            log("getDataConnectionState NOT CdmaDataConnectionTracker");
-        }
         DataState ret = DataState.DISCONNECTED;
 
-        if (!isCdmaDataConnectionTracker && (SystemProperties.get("adb.connected", "").length()
-                > 0)) {
-            // We're connected to an ADB host and we have USB networking
-            // turned on. No matter what the radio state is,
-            // we report data connected
-
-            ret = DataState.CONNECTED;
-        } else if (mSST == null) {
+        if (mSST == null) {
             // Radio Technology Change is ongoning, dispose() and
-            // removeReferences() have
-            // already been called
+            // removeReferences() have already been called
 
             ret = DataState.DISCONNECTED;
-        } else if (mSST.getCurrentDataConnectionState() != ServiceState.STATE_IN_SERVICE) {
-            // If we're out of service, open TCP sockets may still work
-            // but no data will flow
-            ret = DataState.DISCONNECTED;
         } else if (mDataConnectionTracker.isApnTypeEnabled(apnType) == false) {
             ret = DataState.DISCONNECTED;
         } else {
diff --git a/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java b/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java
index 48debd4..d357eac 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java
@@ -301,6 +301,9 @@
             ret = DataState.DISCONNECTED;
         } else if (mDataConnectionTracker.isApnTypeEnabled(apnType) == false ||
                 mDataConnectionTracker.isApnTypeActive(apnType) == false) {
+            //TODO: isApnTypeActive() is just checking whether ApnContext holds
+            //      Dataconnection or not. Checking each ApnState below should
+            //      provide the same state. Calling isApnTypeActive() can be removed.
             ret = DataState.DISCONNECTED;
         } else { /* mSST.gprsState == ServiceState.STATE_IN_SERVICE */
             switch (mDataConnectionTracker.getState(apnType)) {