diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-05-15 17:41:30 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-05-15 17:41:30 -0700 |
commit | ba2a3a1b32e242eea4e97c927d886e8987fde3d4 (patch) | |
tree | 110b388fb5a8ee4695601165d31d5908b5cd91af | |
parent | 935fd37d27804539b141fa074c060d2c15524424 (diff) | |
parent | caed8208bbcd3ba7226b49a4a40cf6d7d860746f (diff) | |
download | frameworks_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.java | 20 |
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]); |