From 0e09030977aea8b40fd177139528d4b5637c9771 Mon Sep 17 00:00:00 2001 From: Jaikumar Ganesh Date: Mon, 29 Mar 2010 00:01:34 -0700 Subject: [PATCH] Relax the requirement of making a DBUS call for creating the Bluez Device. 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 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/java/android/server/BluetoothService.java b/core/java/android/server/BluetoothService.java index 2c7341699d3bb..c0affd3755d6a 100644 --- a/core/java/android/server/BluetoothService.java +++ b/core/java/android/server/BluetoothService.java @@ -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;