summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPriti Aghera <paghera@broadcom.com>2012-04-11 15:29:22 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-07-16 21:58:57 -0700
commit990b2cd65392bc6db58eda732ad41de22b713202 (patch)
tree3c80968afea65c0169613fe250ddb3351d039d71
parentedb14a4944d66ca9255b2ab9b384c583b626fd94 (diff)
downloadandroid_packages_apps_Bluetooth-990b2cd65392bc6db58eda732ad41de22b713202.tar.gz
android_packages_apps_Bluetooth-990b2cd65392bc6db58eda732ad41de22b713202.tar.bz2
android_packages_apps_Bluetooth-990b2cd65392bc6db58eda732ad41de22b713202.zip
Patch for inconsistent pair-unpair state
Change-Id: I356cd978c6b30b415a94267c9e535dc0297d6540
-rwxr-xr-xsrc/com/android/bluetooth/btservice/AdapterProperties.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/com/android/bluetooth/btservice/AdapterProperties.java b/src/com/android/bluetooth/btservice/AdapterProperties.java
index 8d053028a..47f8c63be 100755
--- a/src/com/android/bluetooth/btservice/AdapterProperties.java
+++ b/src/com/android/bluetooth/btservice/AdapterProperties.java
@@ -407,9 +407,13 @@ class AdapterProperties {
for (int j = 0; j < number; j++) {
System.arraycopy(val, j * BD_ADDR_LEN, addrByte, 0, BD_ADDR_LEN);
mBondedDevices[j] = mRemoteDevices.getDevice(addrByte);
- DeviceProperties prop = mRemoteDevices.getDeviceProperties(mBondedDevices[j]);
- if(prop == null)
+ DeviceProperties prop = null;
+ if ( mBondedDevices[j] != null )
+ prop = mRemoteDevices.getDeviceProperties(mBondedDevices[j]);
+ if(mBondedDevices[j] == null || prop == null){
prop = mRemoteDevices.addDeviceProperties(addrByte);
+ mBondedDevices[j] = mRemoteDevices.getDevice(addrByte);
+ }
prop.setBondState(BluetoothDevice.BOND_BONDED);
debugLog("Bonded Device" + mBondedDevices[j]);
}