summaryrefslogtreecommitdiffstats
path: root/telephony/java
diff options
context:
space:
mode:
authorWink Saville <wink@google.com>2011-04-16 14:47:15 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-04-16 14:47:15 -0700
commitfa65533ef11e794b21580e5583a74d2d8ffb7047 (patch)
tree83f2721f8bc94587998f4ad782cafd83666c9b0b /telephony/java
parent6708e008ef29b5221960d3b42ca8fcc192108192 (diff)
parentdc26a0c8d4ce4edcddcfc6b8e810ae5f8e73cda4 (diff)
downloadframeworks_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.java1
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java38
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: