From 8594394aadeaaa3f834d33d7b198fb071e0f31fe Mon Sep 17 00:00:00 2001 From: Matthew Xie Date: Fri, 29 Jul 2011 18:57:58 -0700 Subject: Move mBluetoothService.runBluetooth after broadcasting the STATE_ON intent. This is because broadcastState method move the Bluetooth adapter state to ON. The mBluetoothService.runBluetooth should be called only in the ON state. Remove mIsDiscovering variable in BluetoothService. Fix a bug in BluetoothA2dpService that caused 2 times of state change from DISCONNECTED to CONNECTING that messed up BluetoothService's connection state count. Change-Id: Ifb782a845ae70f007d2e036d930bb55f445d68b5 --- .../server/BluetoothAdapterStateMachine.java | 32 +++++++++------------- 1 file changed, 13 insertions(+), 19 deletions(-) (limited to 'core/java/android/server/BluetoothAdapterStateMachine.java') diff --git a/core/java/android/server/BluetoothAdapterStateMachine.java b/core/java/android/server/BluetoothAdapterStateMachine.java index 83f5a9f..cb18ade 100644 --- a/core/java/android/server/BluetoothAdapterStateMachine.java +++ b/core/java/android/server/BluetoothAdapterStateMachine.java @@ -156,7 +156,7 @@ final class BluetoothAdapterStateMachine extends StateMachine { private class PowerOff extends State { @Override public void enter() { - if (DBG) log("Enter PowerOff: "); + if (DBG) log("Enter PowerOff: " + getCurrentMessage().what); } @Override public boolean processMessage(Message message) { @@ -280,7 +280,7 @@ final class BluetoothAdapterStateMachine extends StateMachine { @Override public void enter() { - if (DBG) log("Enter WarmUp"); + if (DBG) log("Enter WarmUp: " + getCurrentMessage().what); } @Override @@ -319,7 +319,7 @@ final class BluetoothAdapterStateMachine extends StateMachine { private class HotOff extends State { @Override public void enter() { - if (DBG) log("Enter HotOff:"); + if (DBG) log("Enter HotOff: " + getCurrentMessage().what); } @Override @@ -380,8 +380,7 @@ final class BluetoothAdapterStateMachine extends StateMachine { @Override public void enter() { - int what = getCurrentMessage().what; - if (DBG) log("Enter Switching: " + what); + if (DBG) log("Enter Switching: " + getCurrentMessage().what); } @Override public boolean processMessage(Message message) { @@ -390,13 +389,12 @@ final class BluetoothAdapterStateMachine extends StateMachine { boolean retValue = HANDLED; switch(message.what) { case BECAME_PAIRABLE: - String[] propVal = {"Pairable", mBluetoothService.getProperty("Pairable")}; - mEventLoop.onPropertyChanged(propVal); - - // run bluetooth now that it's turned on - mBluetoothService.runBluetooth(); + mBluetoothService.initBluetoothAfterTurningOn(); transitionTo(mBluetoothOn); broadcastState(BluetoothAdapter.STATE_ON); + // run bluetooth now that it's turned on + // Note runBluetooth should be called only in adapter STATE_ON + mBluetoothService.runBluetooth(); break; case BECAME_NON_PAIRABLE: if (mBluetoothService.getAdapterConnectionState() == @@ -438,11 +436,10 @@ final class BluetoothAdapterStateMachine extends StateMachine { } private class BluetoothOn extends State { - private boolean mPersistBluetoothOff = false; @Override public void enter() { - if (DBG) log("Enter BluetoothOn: " + mPersistBluetoothOff); + if (DBG) log("Enter BluetoothOn: " + getCurrentMessage().what); } @Override public boolean processMessage(Message message) { @@ -500,7 +497,7 @@ final class BluetoothAdapterStateMachine extends StateMachine { @Override public void enter() { - if (DBG) log("Enter PerProcessState"); + if (DBG) log("Enter PerProcessState: " + getCurrentMessage().what); } @Override @@ -523,14 +520,11 @@ final class BluetoothAdapterStateMachine extends StateMachine { case USER_TURN_ON: broadcastState(BluetoothAdapter.STATE_TURNING_ON); persistSwitchSetting(true); - - String[] propVal = {"Pairable", mBluetoothService.getProperty("Pairable")}; - mEventLoop.onPropertyChanged(propVal); - - // run bluetooth now that it's turned on - mBluetoothService.runBluetooth(); + mBluetoothService.initBluetoothAfterTurningOn(); transitionTo(mBluetoothOn); broadcastState(BluetoothAdapter.STATE_ON); + // run bluetooth now that it's turned on + mBluetoothService.runBluetooth(); break; case USER_TURN_OFF: broadcastState(BluetoothAdapter.STATE_TURNING_OFF); -- cgit v1.1