diff options
author | Wink Saville <wink@google.com> | 2011-04-16 14:47:15 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-04-16 14:47:15 -0700 |
commit | fa65533ef11e794b21580e5583a74d2d8ffb7047 (patch) | |
tree | 83f2721f8bc94587998f4ad782cafd83666c9b0b /telephony/java | |
parent | 6708e008ef29b5221960d3b42ca8fcc192108192 (diff) | |
parent | dc26a0c8d4ce4edcddcfc6b8e810ae5f8e73cda4 (diff) | |
download | frameworks_base-fa65533ef11e794b21580e5583a74d2d8ffb7047.zip frameworks_base-fa65533ef11e794b21580e5583a74d2d8ffb7047.tar.gz frameworks_base-fa65533ef11e794b21580e5583a74d2d8ffb7047.tar.bz2 |
am dc26a0c8: Merge "Clean up calls immediately if cid become inactive in unsol data state changed" into honeycomb-LTE
* commit 'dc26a0c8d4ce4edcddcfc6b8e810ae5f8e73cda4':
Clean up calls immediately if cid become inactive in unsol data state changed
Diffstat (limited to 'telephony/java')
-rw-r--r-- | telephony/java/com/android/internal/telephony/DataConnectionTracker.java | 1 | ||||
-rw-r--r-- | telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java | 38 |
2 files changed, 12 insertions, 27 deletions
diff --git a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java index dfbe1272..3280c44 100644 --- a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java @@ -97,7 +97,6 @@ public abstract class DataConnectionTracker extends Handler { protected static final int EVENT_TRY_SETUP_DATA = 5; protected static final int EVENT_DATA_STATE_CHANGED = 6; protected static final int EVENT_POLL_PDP = 7; - protected static final int EVENT_GET_PDP_LIST_COMPLETE = 11; protected static final int EVENT_RADIO_OFF_OR_NOT_AVAILABLE = 12; protected static final int EVENT_VOICE_CALL_STARTED = 14; protected static final int EVENT_VOICE_CALL_ENDED = 15; diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java index a67f36b..21a2cb9 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java @@ -996,7 +996,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { * via an unsolicited response (which could have happened at any * previous state */ - private void onDataStateChanged (AsyncResult ar, boolean explicitPoll) { + private void onDataStateChanged (AsyncResult ar) { ArrayList<DataCallState> dataCallStates; dataCallStates = (ArrayList<DataCallState>)(ar.result); @@ -1009,12 +1009,11 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { } for (ApnContext apnContext : mApnContexts.values()) { - onDataStateChanged(dataCallStates, explicitPoll, apnContext); + onDataStateChanged(dataCallStates, apnContext); } } private void onDataStateChanged (ArrayList<DataCallState> dataCallStates, - boolean explicitPoll, ApnContext apnContext) { if (apnContext == null) { @@ -1044,25 +1043,16 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { return; } else if (!dataCallStatesHasActiveCID(dataCallStates, apnContext.getDataConnection().getCid())) { - // Here, we only consider this authoritative if we asked for the - // PDP list. If it was an unsolicited response, we poll again - // to make sure everyone agrees on the initial state. - - if (!explicitPoll) { - // We think it disconnected but aren't sure...poll from our side - mPhone.mCM.getPDPContextList( - this.obtainMessage(EVENT_GET_PDP_LIST_COMPLETE)); - } else { - Log.i(LOG_TAG, "PDP connection has dropped (active=false case). " + + Log.i(LOG_TAG, "PDP connection has dropped (active=false case). " + " Reconnecting"); - // Log the network drop on the event log. - int cid = getCellLocationId(); - EventLog.writeEvent(EventLogTags.PDP_NETWORK_DROP, cid, - TelephonyManager.getDefault().getNetworkType()); + // Log the network drop on the event log. + int cid = getCellLocationId(); + EventLog.writeEvent(EventLogTags.PDP_NETWORK_DROP, cid, + TelephonyManager.getDefault().getNetworkType()); - cleanUpConnection(true, apnContext); - } + cleanUpConnection(true, apnContext); } } } @@ -1214,7 +1204,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { // It's possible the PDP context went down and we weren't notified. // Start polling the context list in an attempt to recover. if (DBG) log("no DATAIN in a while; polling PDP"); - mPhone.mCM.getDataCallList(obtainMessage(EVENT_GET_PDP_LIST_COMPLETE)); + mPhone.mCM.getDataCallList(obtainMessage(EVENT_DATA_STATE_CHANGED)); mNoRecvPollCount++; @@ -1653,7 +1643,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { protected void onPollPdp() { if (getOverallState() == State.CONNECTED) { // only poll when connected - mPhone.mCM.getPDPContextList(this.obtainMessage(EVENT_GET_PDP_LIST_COMPLETE)); + mPhone.mCM.getDataCallList(this.obtainMessage(EVENT_DATA_STATE_CHANGED)); sendMessageDelayed(obtainMessage(EVENT_POLL_PDP), POLL_PDP_MILLIS); } } @@ -1933,11 +1923,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { break; case EVENT_DATA_STATE_CHANGED: - onDataStateChanged((AsyncResult) msg.obj, false); - break; - - case EVENT_GET_PDP_LIST_COMPLETE: - onDataStateChanged((AsyncResult) msg.obj, true); + onDataStateChanged((AsyncResult) msg.obj); break; case EVENT_POLL_PDP: |