OSDN Git Service

Relax the requirement of making a DBUS call for creating the Bluez Device.
authorJaikumar Ganesh <jaikumar@google.com>
Mon, 29 Mar 2010 07:01:34 +0000 (00:01 -0700)
committerJaikumar Ganesh <jaikumar@google.com>
Tue, 30 Mar 2010 17:23:55 +0000 (10:23 -0700)
Bug: 2136464

When the bluez device is created, we get the onDeviceCreated signal.
We add it to our  cache when that happens. We can have a device created
even when its not bonded - as a result of OPP. So use this cache to avoid
a DBUS call to Bluez.

Change-Id: I9465da7d72a12a6888128ff40ac1fe598cbae3c3

core/java/android/server/BluetoothService.java

index 2c73416..c0affd3 100644 (file)
@@ -1406,7 +1406,9 @@ public class BluetoothService extends IBluetooth.Stub {
         }
 
         boolean ret;
-        if (getBondState(address) == BluetoothDevice.BOND_BONDED) {
+        // Just do the SDP if the device is already  created and UUIDs are not
+        // NULL, else create the device and then do SDP.
+        if (isRemoteDeviceInCache(address) && getRemoteUuids(address) != null) {
             String path = getObjectPathFromAddress(address);
             if (path == null) return false;