From 6b01e4cdf8b9d9bfebdf58c34091d2c670a4e7d9 Mon Sep 17 00:00:00 2001 From: Robert Greenwalt Date: Fri, 8 Apr 2011 15:52:23 -0700 Subject: [PATCH] Fix notification of disconnected networks. Reorder - set state and then report the state, else we always report disconnecting which is interpreted as still connected. Change-Id: I95f5fe9ccee0d7ee9a03f78ae5b614af2ba0860b --- .../internal/telephony/gsm/GsmDataConnectionTracker.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java index cfb78d0d6f353..24e3fefa4773b 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java @@ -1572,13 +1572,16 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { if(DBG) log("EVENT_DISCONNECT_DONE connId=" + connId); if (ar.userObj instanceof ApnContext) { apnContext = (ApnContext) ar.userObj; + } else { + loge("Invalid ar in onDisconnectDone"); + return; } - mPhone.notifyDataConnection(apnContext.getReason(), apnContext.getApnType()); - apnContext.setState(State.IDLE); apnContext.setApnSetting(null); + mPhone.notifyDataConnection(apnContext.getReason(), apnContext.getApnType()); + // if all data connection are gone, check whether Airplane mode request was // pending. if (!isConnected()) {