summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/bluetooth/CachedBluetoothDevice.java')
-rw-r--r--src/com/android/settings/bluetooth/CachedBluetoothDevice.java21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
index 5f374a5..d655f90 100644
--- a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
+++ b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
@@ -91,10 +91,10 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
// See mConnectAttempted
private static final long MAX_UUID_DELAY_FOR_AUTO_CONNECT = 5000;
-
+
/**
* Describes the current device and profile for logging.
- *
+ *
* @param profile Profile to describe
* @return Description of the device and profile
*/
@@ -107,7 +107,7 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
return sb.toString();
}
-
+
private String describe(Profile profile) {
return describe(this, profile);
}
@@ -264,7 +264,7 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
.getProfileManager(mLocalManager, profile);
if (profileManager.isPreferred(mDevice)) {
++preferredProfiles;
- disconnectConnected(profile);
+ disconnectConnected(this, profile);
connectInt(this, profile);
}
}
@@ -287,7 +287,7 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager
.getProfileManager(mLocalManager, profile);
profileManager.setPreferred(mDevice, false);
- disconnectConnected(profile);
+ disconnectConnected(this, profile);
connectInt(this, profile);
}
}
@@ -297,19 +297,20 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
mConnectAttempted = SystemClock.elapsedRealtime();
// Reset the only-show-one-error-dialog tracking variable
mIsConnectingErrorPossible = true;
- disconnectConnected(profile);
+ disconnectConnected(this, profile);
connectInt(this, profile);
}
- private void disconnectConnected(Profile profile) {
+ private void disconnectConnected(CachedBluetoothDevice device, Profile profile) {
LocalBluetoothProfileManager profileManager =
LocalBluetoothProfileManager.getProfileManager(mLocalManager, profile);
CachedBluetoothDeviceManager cachedDeviceManager = mLocalManager.getCachedDeviceManager();
Set<BluetoothDevice> devices = profileManager.getConnectedDevices();
if (devices == null) return;
- for (BluetoothDevice device : devices) {
- CachedBluetoothDevice cachedDevice = cachedDeviceManager.findDevice(device);
- if (cachedDevice != null) {
+ for (BluetoothDevice btDevice : devices) {
+ CachedBluetoothDevice cachedDevice = cachedDeviceManager.findDevice(btDevice);
+
+ if (cachedDevice != null && !cachedDevice.equals(device)) {
disconnectInt(cachedDevice, profile);
}
}