am 6e81a40d: Merge change 26286 into eclair

Merge commit '6e81a40d078269258d75bf22dd00a9dc22f4d0b9' into eclair-plus-aosp

* commit '6e81a40d078269258d75bf22dd00a9dc22f4d0b9':
  Resolve race conditions with disconnect of CDMA data and airplane mode
This commit is contained in:
Yong Zhang
2009-09-21 17:10:34 -07:00
committed by Android Git Automerger

View File

@@ -538,12 +538,15 @@ final class CdmaServiceStateTracker extends ServiceStateTracker {
if (!mPendingRadioPowerOffAfterDataOff) { if (!mPendingRadioPowerOffAfterDataOff) {
DataConnectionTracker.State currentState = dcTracker.getState(); DataConnectionTracker.State currentState = dcTracker.getState();
if (currentState != DataConnectionTracker.State.CONNECTED if (currentState != DataConnectionTracker.State.CONNECTED
&& currentState != DataConnectionTracker.State.DISCONNECTING) { && currentState != DataConnectionTracker.State.DISCONNECTING
&& currentState != DataConnectionTracker.State.INITING) {
if (DBG) log("Data disconnected, turn off radio right away."); if (DBG) log("Data disconnected, turn off radio right away.");
cm.setRadioPower(false, null); cm.setRadioPower(false, null);
} }
else if (sendEmptyMessageDelayed(EVENT_SET_RADIO_POWER_OFF, 5000)) { else if (sendEmptyMessageDelayed(EVENT_SET_RADIO_POWER_OFF, 30000)) {
if (DBG) log("Wait 5 sec for data to be disconnected, then turn off radio."); if (DBG) {
log("Wait up to 30 sec for data to disconnect, then turn off radio.");
}
mPendingRadioPowerOffAfterDataOff = true; mPendingRadioPowerOffAfterDataOff = true;
} else { } else {
Log.w(LOG_TAG, "Cannot send delayed Msg, turn off radio right away."); Log.w(LOG_TAG, "Cannot send delayed Msg, turn off radio right away.");