From 44685eb45e81d281357291ec3a0a90a05ad1942d Mon Sep 17 00:00:00 2001 From: Robert Greenwalt Date: Sun, 27 Sep 2009 14:01:33 -0700 Subject: [PATCH] Fix Cdma re-start of default connection. 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/cdma/CdmaDataConnectionTracker.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java index ffaa1cdc9fa7c..93b48a9465ad8 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java @@ -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]; @@ -625,6 +623,15 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { sendMessage(obtainMessage(EVENT_TRY_SETUP_DATA)); } + /** + * @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 */