diff options
| author | 2010-10-14 09:43:00 -0700 | |
|---|---|---|
| committer | 2010-10-14 09:43:00 -0700 | |
| commit | c50a67b3965a1ed9ffbee4dae736590a167876f5 (patch) | |
| tree | 2d3b230eee1a9645c8f2c93e5e32e3ea906d9b20 | |
| parent | 838c6a15783b3ca9adc1ab49b25043ee272f63de (diff) | |
| parent | aa4b235dd720d1f2861681cdfabf3b5fabc61fb0 (diff) | |
Merge "resolved conflicts for merge of 79a5307a to master"
| -rw-r--r-- | core/java/android/server/BluetoothA2dpService.java | 21 | ||||
| -rw-r--r-- | core/java/com/android/internal/util/HierarchicalStateMachine.java | 8 |
2 files changed, 16 insertions, 13 deletions
diff --git a/core/java/android/server/BluetoothA2dpService.java b/core/java/android/server/BluetoothA2dpService.java index 946c266bb868..d44b28b0ec87 100644 --- a/core/java/android/server/BluetoothA2dpService.java +++ b/core/java/android/server/BluetoothA2dpService.java @@ -65,7 +65,6 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub { private final BluetoothService mBluetoothService; private final BluetoothAdapter mAdapter; private int mTargetA2dpState; - private boolean mAdjustedPriority = false; private BluetoothDevice mPlayingA2dpDevice; private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @@ -334,7 +333,10 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub { String path = mBluetoothService.getObjectPathFromAddress(device.getAddress()); - // State is DISCONNECTED + // State is DISCONNECTED and we are connecting. + if (getPriority(device) < BluetoothA2dp.PRIORITY_AUTO_CONNECT) { + setPriority(device, BluetoothA2dp.PRIORITY_AUTO_CONNECT); + } handleSinkStateChange(device, state, BluetoothA2dp.STATE_CONNECTING); if (!connectSinkNative(path)) { @@ -513,14 +515,10 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub { mTargetA2dpState = -1; if (getPriority(device) > BluetoothA2dp.PRIORITY_OFF && - state == BluetoothA2dp.STATE_CONNECTING || state == BluetoothA2dp.STATE_CONNECTED) { // We have connected or attempting to connect. // Bump priority setPriority(device, BluetoothA2dp.PRIORITY_AUTO_CONNECT); - } - - if (state == BluetoothA2dp.STATE_CONNECTED) { // We will only have 1 device with AUTO_CONNECT priority // To be backward compatible set everyone else to have PRIORITY_ON adjustOtherSinkPriorities(device); @@ -547,14 +545,11 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub { } private void adjustOtherSinkPriorities(BluetoothDevice connectedDevice) { - if (!mAdjustedPriority) { - for (BluetoothDevice device : mAdapter.getBondedDevices()) { - if (getPriority(device) >= BluetoothA2dp.PRIORITY_AUTO_CONNECT && - !device.equals(connectedDevice)) { - setPriority(device, BluetoothA2dp.PRIORITY_ON); - } + for (BluetoothDevice device : mAdapter.getBondedDevices()) { + if (getPriority(device) >= BluetoothA2dp.PRIORITY_AUTO_CONNECT && + !device.equals(connectedDevice)) { + setPriority(device, BluetoothA2dp.PRIORITY_ON); } - mAdjustedPriority = true; } } diff --git a/core/java/com/android/internal/util/HierarchicalStateMachine.java b/core/java/com/android/internal/util/HierarchicalStateMachine.java index 3030316a31c0..aaaa1948b15f 100644 --- a/core/java/com/android/internal/util/HierarchicalStateMachine.java +++ b/core/java/com/android/internal/util/HierarchicalStateMachine.java @@ -1292,6 +1292,14 @@ public class HierarchicalStateMachine { } /** + * Removes a message from the message queue. + * Protected, may only be called by instances of HierarchicalStateMachine. + */ + protected final void removeMessages(int what) { + mHsmHandler.removeMessages(what); + } + + /** * Conditionally quit the looper and stop execution. * * This sends the HSM_QUIT_MSG to the state machine and |