summaryrefslogtreecommitdiffstats
path: root/core/java/android/server/BluetoothAdapterStateMachine.java
diff options
context:
space:
mode:
authorMatthew Xie <mattx@google.com>2011-07-29 18:57:58 -0700
committerMatthew Xie <mattx@google.com>2011-08-02 15:22:09 -0700
commit8594394aadeaaa3f834d33d7b198fb071e0f31fe (patch)
treecd765ec51f9d90188f4beb3e03b851b5d3fd9344 /core/java/android/server/BluetoothAdapterStateMachine.java
parentc98c3597abf90ff547e1543923cba937e268a7df (diff)
downloadframeworks_base-8594394aadeaaa3f834d33d7b198fb071e0f31fe.zip
frameworks_base-8594394aadeaaa3f834d33d7b198fb071e0f31fe.tar.gz
frameworks_base-8594394aadeaaa3f834d33d7b198fb071e0f31fe.tar.bz2
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
Diffstat (limited to 'core/java/android/server/BluetoothAdapterStateMachine.java')
-rw-r--r--core/java/android/server/BluetoothAdapterStateMachine.java32
1 files changed, 13 insertions, 19 deletions
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);