diff options
author | Jaikumar Ganesh <jaikumar@google.com> | 2010-07-19 14:59:44 -0700 |
---|---|---|
committer | Jaikumar Ganesh <jaikumar@google.com> | 2010-07-20 19:51:58 -0700 |
commit | c3ee99d9eb7e8b4b20c2b8f1c548373e1017e0d3 (patch) | |
tree | 2b77acc6e5030f8211fe4901d679b64dbd778bb5 /core/java/android/server | |
parent | d1f4a17ea580a0478932993868a0d39d993aec61 (diff) | |
download | frameworks_base-c3ee99d9eb7e8b4b20c2b8f1c548373e1017e0d3.zip frameworks_base-c3ee99d9eb7e8b4b20c2b8f1c548373e1017e0d3.tar.gz frameworks_base-c3ee99d9eb7e8b4b20c2b8f1c548373e1017e0d3.tar.bz2 |
Set initial HID profile preference.
Change-Id: I804089cbea4ad25b87ade60fa8a905ddb167bff4
Diffstat (limited to 'core/java/android/server')
-rw-r--r-- | core/java/android/server/BluetoothService.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/core/java/android/server/BluetoothService.java b/core/java/android/server/BluetoothService.java index 8bee174..d7cd933 100644 --- a/core/java/android/server/BluetoothService.java +++ b/core/java/android/server/BluetoothService.java @@ -676,6 +676,10 @@ public class BluetoothService extends IBluetooth.Stub { removeProfileState(address); } + // HID is handled by BluetoothService, other profiles + // will be handled by their respective services. + setInitialInputDevicePriority(mAdapter.getRemoteDevice(address), state); + if (DBG) log(address + " bond state " + oldState + " -> " + state + " (" + reason + ")"); Intent intent = new Intent(BluetoothDevice.ACTION_BOND_STATE_CHANGED); @@ -1347,6 +1351,19 @@ public class BluetoothService extends IBluetooth.Stub { handleInputDeviceStateChange(device, state); } + private void setInitialInputDevicePriority(BluetoothDevice device, int state) { + switch (state) { + case BluetoothDevice.BOND_BONDED: + if (getInputDevicePriority(device) == BluetoothInputDevice.PRIORITY_UNDEFINED) { + setInputDevicePriority(device, BluetoothInputDevice.PRIORITY_ON); + } + break; + case BluetoothDevice.BOND_NONE: + setInputDevicePriority(device, BluetoothInputDevice.PRIORITY_UNDEFINED); + break; + } + } + /*package*/ boolean isRemoteDeviceInCache(String address) { return (mDeviceProperties.get(address) != null); } |