Always move Bluetooth Adapter to cold state when turn off Bluetooth.

quick switch feature introduced in ICS does not work very well. Reported
logs indicate the Bluez stack cannot sustain the long time ON/hotoff state.
This change will always move the adapter to code but move it to hotoff
to be able to turn on quickly.
bug 5792792

Change-Id: I41c39d4bf11bb5eb3cd83279e8ec81e01774e008
This commit is contained in:
Matthew Xie
2012-05-02 13:09:58 -07:00
parent d72ad2ac88
commit 7f58b36fec

View File

@@ -441,9 +441,10 @@ final class BluetoothAdapterStateMachine extends StateMachine {
if (mPublicState == BluetoothAdapter.STATE_TURNING_OFF) {
transitionTo(mHotOff);
finishSwitchingOff();
if (!mContext.getResources().getBoolean
(com.android.internal.R.bool.config_bluetooth_adapter_quick_switch)) {
deferMessage(obtainMessage(TURN_COLD));
deferMessage(obtainMessage(TURN_COLD));
if (mContext.getResources().getBoolean
(com.android.internal.R.bool.config_bluetooth_adapter_quick_switch)) {
deferMessage(obtainMessage(TURN_HOT));
}
}
} else {
@@ -612,9 +613,10 @@ final class BluetoothAdapterStateMachine extends StateMachine {
removeMessages(POWER_DOWN_TIMEOUT);
if (!((Boolean) message.obj)) {
transitionTo(mHotOff);
if (!mContext.getResources().getBoolean
deferMessage(obtainMessage(TURN_COLD));
if (mContext.getResources().getBoolean
(com.android.internal.R.bool.config_bluetooth_adapter_quick_switch)) {
deferMessage(obtainMessage(TURN_COLD));
deferMessage(obtainMessage(TURN_HOT));
}
} else {
if (!isTurningOn) {