Fix auto connection of A2DP profile.
When the user selects profiles from the UI, set priority to ON.
Dr No: Eastham
Bug: 2317323
diff --git a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
index b488c22..24ba045 100644
--- a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
+++ b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
@@ -214,8 +214,13 @@
@Override
public void setPreferred(BluetoothDevice device, boolean preferred) {
- mService.setSinkPriority(device,
- preferred ? BluetoothA2dp.PRIORITY_AUTO_CONNECT : BluetoothA2dp.PRIORITY_OFF);
+ if (preferred) {
+ if (mService.getSinkPriority(device) < BluetoothA2dp.PRIORITY_ON) {
+ mService.setSinkPriority(device, BluetoothA2dp.PRIORITY_ON);
+ }
+ } else {
+ mService.setSinkPriority(device, BluetoothA2dp.PRIORITY_OFF);
+ }
}
@Override
@@ -328,8 +333,13 @@
@Override
public void setPreferred(BluetoothDevice device, boolean preferred) {
- mService.setPriority(device,
- preferred ? BluetoothHeadset.PRIORITY_AUTO_CONNECT : BluetoothHeadset.PRIORITY_OFF);
+ if (preferred) {
+ if (mService.getPriority(device) < BluetoothHeadset.PRIORITY_ON) {
+ mService.setPriority(device, BluetoothHeadset.PRIORITY_ON);
+ }
+ } else {
+ mService.setPriority(device, BluetoothHeadset.PRIORITY_OFF);
+ }
}
@Override