OSDN Git Service

Fix Cdma re-start of default connection.
authorRobert Greenwalt <robdroid@android.com>
Sun, 27 Sep 2009 21:01:33 +0000 (14:01 -0700)
committerRobert Greenwalt <robdroid@android.com>
Sun, 27 Sep 2009 21:55:37 +0000 (14:55 -0700)
We dropped an onTrySetupData call because onEnableNewApn calls that automatically on GSM,
but CDMA was not doing anything.  Made CDMA simply call onTrySetupData.

Also, isApnTypeActive for CDMA was returning true even when no data was working.  Changed
to report true when initing or connected, like GSM.

telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java

index ffaa1cd..93b48a9 100644 (file)
@@ -246,8 +246,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker {
     @Override
     protected boolean isApnTypeActive(String type) {
         return (isApnTypeAvailable(type) &&
-                mCdmaPhone.mSST.getCurrentCdmaDataConnectionState() ==
-                ServiceState.STATE_IN_SERVICE);
+                (state == State.CONNECTED || state == State.INITING));
     }
 
     @Override
@@ -261,8 +260,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker {
     }
 
     protected String[] getActiveApnTypes() {
-        if (mCdmaPhone.mSST.getCurrentCdmaDataConnectionState() ==
-                ServiceState.STATE_IN_SERVICE) {
+        if (state == State.CONNECTED || state == State.INITING) {
             return mSupportedApnTypes.clone();
         }
         return new String[0];
@@ -626,6 +624,15 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker {
     }
 
     /**
+     * @override com.android.intenral.telephony.DataConnectionTracker
+     */
+    @Override
+    protected void onEnableNewApn() {
+        // for cdma we only use this when default data is enabled..
+        onTrySetupData(Phone.REASON_DATA_ENABLED);
+    }
+
+    /**
      * @override com.android.internal.telephony.DataConnectionTracker
      */
     protected boolean onTrySetupData(String reason) {