diff options
| author | 2009-12-11 12:00:31 -0800 | |
|---|---|---|
| committer | 2009-12-11 12:00:31 -0800 | |
| commit | 551ed72940af6e4f0b34a1d05282497a547e9a7c (patch) | |
| tree | 77ca146a5bf4a4ef43fd0a2fc73d99b7f9e97ceb | |
| parent | f9b0e826689cca5ecbd40aa49f3ea7f7c73ad2a2 (diff) | |
Use UNDEFINED priorities when unpaired.
For the docks, we can set if a device is preferred or not
before pairing process. This was getting overridden when we pair.
This problem doesn't happen with normal headsets.
Dr No: Eastham
Bug: 2318290
| -rw-r--r-- | core/java/android/bluetooth/BluetoothA2dp.java | 2 | ||||
| -rw-r--r-- | core/java/android/bluetooth/BluetoothHeadset.java | 2 | ||||
| -rw-r--r-- | core/java/android/server/BluetoothA2dpService.java | 6 |
3 files changed, 8 insertions, 2 deletions
diff --git a/core/java/android/bluetooth/BluetoothA2dp.java b/core/java/android/bluetooth/BluetoothA2dp.java index fda9b81c8f0e..7e5f858f050b 100644 --- a/core/java/android/bluetooth/BluetoothA2dp.java +++ b/core/java/android/bluetooth/BluetoothA2dp.java @@ -83,6 +83,8 @@ public final class BluetoothA2dp { /** Default priority for a2dp devices that should not allow incoming * connections */ public static final int PRIORITY_OFF = 0; + /** Default priority when not set or when the device is unpaired */ + public static final int PRIORITY_UNDEFINED = -1; private final IBluetoothA2dp mService; private final Context mContext; diff --git a/core/java/android/bluetooth/BluetoothHeadset.java b/core/java/android/bluetooth/BluetoothHeadset.java index 5eb655a27937..b7929658156b 100644 --- a/core/java/android/bluetooth/BluetoothHeadset.java +++ b/core/java/android/bluetooth/BluetoothHeadset.java @@ -109,6 +109,8 @@ public final class BluetoothHeadset { /** Default priority for headsets that should not be auto-connected * and not allow incoming connections. */ public static final int PRIORITY_OFF = 0; + /** Default priority when not set or when the device is unpaired */ + public static final int PRIORITY_UNDEFINED = -1; /** The voice dialer 'works' but the user experience is poor. The voice * recognizer has trouble dealing with the 8kHz SCO signal, and it still diff --git a/core/java/android/server/BluetoothA2dpService.java b/core/java/android/server/BluetoothA2dpService.java index f2e132b56fe7..dfec1eb2a2b5 100644 --- a/core/java/android/server/BluetoothA2dpService.java +++ b/core/java/android/server/BluetoothA2dpService.java @@ -96,11 +96,13 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub { BluetoothDevice.ERROR); switch(bondState) { case BluetoothDevice.BOND_BONDED: - setSinkPriority(device, BluetoothA2dp.PRIORITY_ON); + if (getSinkPriority(device) == BluetoothA2dp.PRIORITY_UNDEFINED) { + setSinkPriority(device, BluetoothA2dp.PRIORITY_ON); + } break; case BluetoothDevice.BOND_BONDING: case BluetoothDevice.BOND_NONE: - setSinkPriority(device, BluetoothA2dp.PRIORITY_OFF); + setSinkPriority(device, BluetoothA2dp.PRIORITY_UNDEFINED); break; } } else if (action.equals(BluetoothDevice.ACTION_ACL_CONNECTED)) { |