resolved conflicts for merge of 79a5307a to master
Change-Id: I5a524fe53e74df722db003cec6ab62451fe0f899
diff --git a/core/java/android/server/BluetoothA2dpService.java b/core/java/android/server/BluetoothA2dpService.java
index 946c266..d44b28b 100644
--- a/core/java/android/server/BluetoothA2dpService.java
+++ b/core/java/android/server/BluetoothA2dpService.java
@@ -65,7 +65,6 @@
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 @@
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 @@
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 @@
}
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 3030316..aaaa194 100644
--- a/core/java/com/android/internal/util/HierarchicalStateMachine.java
+++ b/core/java/com/android/internal/util/HierarchicalStateMachine.java
@@ -1292,6 +1292,14 @@
}
/**
+ * 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