diff options
| author | Jaikumar Ganesh <jaikumar@google.com> | 2009-09-21 12:48:51 -0700 |
|---|---|---|
| committer | Jaikumar Ganesh <jaikumar@google.com> | 2009-09-21 15:58:08 -0700 |
| commit | 10eac971b3a6e5f34a420dd68ebfa796553ad2b9 (patch) | |
| tree | bac8d1cf32901b1c5f3b78438d25ccce76418fb2 /core/java/android/server/BluetoothEventLoop.java | |
| parent | 36322db5752c7ec196f59ba94abe5d5a63cc19f5 (diff) | |
| download | frameworks_base-10eac971b3a6e5f34a420dd68ebfa796553ad2b9.zip frameworks_base-10eac971b3a6e5f34a420dd68ebfa796553ad2b9.tar.gz frameworks_base-10eac971b3a6e5f34a420dd68ebfa796553ad2b9.tar.bz2 | |
Cache the remote device's service channel.
Bluez Device implementation is such that when a device
is unpaired, we removes the device and hence there is no
way to interact with it unless you pair again. Remote service
channel call is used to get the rfcomm channel number which
will be used in profiles like OPP which don't require pairing.
Change-Id: I868a6cdfdb1b7d3591dd8b66cd0320f41a9c1b92
Diffstat (limited to 'core/java/android/server/BluetoothEventLoop.java')
| -rw-r--r-- | core/java/android/server/BluetoothEventLoop.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/core/java/android/server/BluetoothEventLoop.java b/core/java/android/server/BluetoothEventLoop.java index 34921f4..f9ab31c 100644 --- a/core/java/android/server/BluetoothEventLoop.java +++ b/core/java/android/server/BluetoothEventLoop.java @@ -369,6 +369,10 @@ class BluetoothEventLoop { uuid = str.toString(); } mBluetoothService.setRemoteDeviceProperty(address, name, uuid); + + // UUIDs have changed, query remote service channel and update cache. + mBluetoothService.updateDeviceServiceChannelCache(address); + mBluetoothService.sendUuidIntent(address); } else if (name.equals("Paired")) { if (propValues[1].equals("true")) { @@ -537,8 +541,7 @@ class BluetoothEventLoop { String address = mBluetoothService.getAddressFromObjectPath(deviceObjectPath); // We don't parse the xml here, instead just query Bluez for the properties. if (result) { - String[] properties = mBluetoothService.getRemoteDeviceProperties(address); - mBluetoothService.addRemoteDeviceProperties(address, properties); + mBluetoothService.updateRemoteDevicePropertiesCache(address); } mBluetoothService.sendUuidIntent(address); } |
