summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Xie <mattx@google.com>2011-12-05 17:36:01 -0800
committerMatthew Xie <mattx@google.com>2011-12-05 17:36:01 -0800
commita6ba6fd4bb931ba7c1cbda6adc8452609ea80dac (patch)
treeb048ef685426cd1878d79c523cafeb31fae2ff68
parente5715521232443f01f8c0c0633cac364c8136bde (diff)
downloadframeworks_base-a6ba6fd4bb931ba7c1cbda6adc8452609ea80dac.zip
frameworks_base-a6ba6fd4bb931ba7c1cbda6adc8452609ea80dac.tar.gz
frameworks_base-a6ba6fd4bb931ba7c1cbda6adc8452609ea80dac.tar.bz2
Broadcast turning on/off intent as early as possible when switch on/off BT
Move broadcastState(BluetoothAdapter.STATE_TURNING_ON/OFF) before any other method calls when turn on/off Bluetooth. Bug 5703346 Change-Id: Iddbdab58367a7d648708aa23671eb09701d66793
-rw-r--r--core/java/android/server/BluetoothAdapterStateMachine.java10
1 files changed, 5 insertions, 5 deletions
diff --git a/core/java/android/server/BluetoothAdapterStateMachine.java b/core/java/android/server/BluetoothAdapterStateMachine.java
index da7c489..f3f4174 100644
--- a/core/java/android/server/BluetoothAdapterStateMachine.java
+++ b/core/java/android/server/BluetoothAdapterStateMachine.java
@@ -175,8 +175,8 @@ final class BluetoothAdapterStateMachine extends StateMachine {
switch(message.what) {
case USER_TURN_ON:
// starts turning on BT module, broadcast this out
- transitionTo(mWarmUp);
broadcastState(BluetoothAdapter.STATE_TURNING_ON);
+ transitionTo(mWarmUp);
if (prepareBluetooth()) {
// this is user request, save the setting
if ((Boolean) message.obj) {
@@ -198,8 +198,8 @@ final class BluetoothAdapterStateMachine extends StateMachine {
case AIRPLANE_MODE_OFF:
if (getBluetoothPersistedSetting()) {
// starts turning on BT module, broadcast this out
- transitionTo(mWarmUp);
broadcastState(BluetoothAdapter.STATE_TURNING_ON);
+ transitionTo(mWarmUp);
if (prepareBluetooth()) {
// We will continue turn the BT on all the way to the BluetoothOn state
deferMessage(obtainMessage(TURN_ON_CONTINUE));
@@ -355,9 +355,9 @@ final class BluetoothAdapterStateMachine extends StateMachine {
// let it fall to TURN_ON_CONTINUE:
//$FALL-THROUGH$
case TURN_ON_CONTINUE:
+ broadcastState(BluetoothAdapter.STATE_TURNING_ON);
mBluetoothService.switchConnectable(true);
transitionTo(mSwitching);
- broadcastState(BluetoothAdapter.STATE_TURNING_ON);
break;
case AIRPLANE_MODE_ON:
case TURN_COLD:
@@ -367,9 +367,9 @@ final class BluetoothAdapterStateMachine extends StateMachine {
break;
case AIRPLANE_MODE_OFF:
if (getBluetoothPersistedSetting()) {
+ broadcastState(BluetoothAdapter.STATE_TURNING_ON);
transitionTo(mSwitching);
mBluetoothService.switchConnectable(true);
- broadcastState(BluetoothAdapter.STATE_TURNING_ON);
}
break;
case PER_PROCESS_TURN_ON:
@@ -515,8 +515,8 @@ final class BluetoothAdapterStateMachine extends StateMachine {
}
//$FALL-THROUGH$ to AIRPLANE_MODE_ON
case AIRPLANE_MODE_ON:
- transitionTo(mSwitching);
broadcastState(BluetoothAdapter.STATE_TURNING_OFF);
+ transitionTo(mSwitching);
if (mBluetoothService.getAdapterConnectionState() !=
BluetoothAdapter.STATE_DISCONNECTED) {
mBluetoothService.disconnectDevices();