summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-05-15 17:41:30 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-05-15 17:41:30 -0700
commitba2a3a1b32e242eea4e97c927d886e8987fde3d4 (patch)
tree110b388fb5a8ee4695601165d31d5908b5cd91af
parent935fd37d27804539b141fa074c060d2c15524424 (diff)
parentcaed8208bbcd3ba7226b49a4a40cf6d7d860746f (diff)
downloadframeworks_base-ba2a3a1b32e242eea4e97c927d886e8987fde3d4.zip
frameworks_base-ba2a3a1b32e242eea4e97c927d886e8987fde3d4.tar.gz
frameworks_base-ba2a3a1b32e242eea4e97c927d886e8987fde3d4.tar.bz2
Merge change 1831 into donut
* changes: Tear down data, if a disconnect request is pending.
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/PdpConnection.java20
1 files changed, 12 insertions, 8 deletions
diff --git a/telephony/java/com/android/internal/telephony/gsm/PdpConnection.java b/telephony/java/com/android/internal/telephony/gsm/PdpConnection.java
index 88acb1b..3f794a8 100644
--- a/telephony/java/com/android/internal/telephony/gsm/PdpConnection.java
+++ b/telephony/java/com/android/internal/telephony/gsm/PdpConnection.java
@@ -95,16 +95,20 @@ public class PdpConnection extends DataConnection {
apn.password, obtainMessage(EVENT_SETUP_DATA_CONNECTION_DONE));
}
+ private void tearDownData(Message msg) {
+ if (dataLink != null) {
+ dataLink.disconnect();
+ }
+
+ if (phone.mCM.getRadioState().isOn()) {
+ phone.mCM.deactivateDataCall(cid, obtainMessage(EVENT_DEACTIVATE_DONE, msg));
+ }
+ }
+
protected void disconnect(Message msg) {
onDisconnect = msg;
if (state == State.ACTIVE) {
- if (dataLink != null) {
- dataLink.disconnect();
- }
-
- if (phone.mCM.getRadioState().isOn()) {
- phone.mCM.deactivateDataCall(cid, obtainMessage(EVENT_DEACTIVATE_DONE, msg));
- }
+ tearDownData(msg);
} else if (state == State.ACTIVATING) {
receivedDisconnectReq = true;
} else {
@@ -243,7 +247,7 @@ public class PdpConnection extends DataConnection {
// Don't bother reporting success if there's already a
// pending disconnect request, since DataConnectionTracker
// has already updated its state.
- disconnect(onDisconnect);
+ tearDownData(onDisconnect);
} else {
String[] response = ((String[]) ar.result);
cid = Integer.parseInt(response[0]);