Merge "Don't disconnect the same device before connecting." into gingerbread
This commit is contained in:
committed by
Android (Google) Code Review
commit
213d579f98
@@ -242,7 +242,7 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
|
|||||||
.getProfileManager(mLocalManager, profile);
|
.getProfileManager(mLocalManager, profile);
|
||||||
if (profileManager.isPreferred(mDevice)) {
|
if (profileManager.isPreferred(mDevice)) {
|
||||||
++preferredProfiles;
|
++preferredProfiles;
|
||||||
disconnectConnected(profile);
|
disconnectConnected(this, profile);
|
||||||
connectInt(this, profile);
|
connectInt(this, profile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -265,7 +265,7 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
|
|||||||
LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager
|
LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager
|
||||||
.getProfileManager(mLocalManager, profile);
|
.getProfileManager(mLocalManager, profile);
|
||||||
profileManager.setPreferred(mDevice, false);
|
profileManager.setPreferred(mDevice, false);
|
||||||
disconnectConnected(profile);
|
disconnectConnected(this, profile);
|
||||||
connectInt(this, profile);
|
connectInt(this, profile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -275,19 +275,20 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
|
|||||||
mConnectAttempted = SystemClock.elapsedRealtime();
|
mConnectAttempted = SystemClock.elapsedRealtime();
|
||||||
// Reset the only-show-one-error-dialog tracking variable
|
// Reset the only-show-one-error-dialog tracking variable
|
||||||
mIsConnectingErrorPossible = true;
|
mIsConnectingErrorPossible = true;
|
||||||
disconnectConnected(profile);
|
disconnectConnected(this, profile);
|
||||||
connectInt(this, profile);
|
connectInt(this, profile);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void disconnectConnected(Profile profile) {
|
private void disconnectConnected(CachedBluetoothDevice device, Profile profile) {
|
||||||
LocalBluetoothProfileManager profileManager =
|
LocalBluetoothProfileManager profileManager =
|
||||||
LocalBluetoothProfileManager.getProfileManager(mLocalManager, profile);
|
LocalBluetoothProfileManager.getProfileManager(mLocalManager, profile);
|
||||||
CachedBluetoothDeviceManager cachedDeviceManager = mLocalManager.getCachedDeviceManager();
|
CachedBluetoothDeviceManager cachedDeviceManager = mLocalManager.getCachedDeviceManager();
|
||||||
Set<BluetoothDevice> devices = profileManager.getConnectedDevices();
|
Set<BluetoothDevice> devices = profileManager.getConnectedDevices();
|
||||||
if (devices == null) return;
|
if (devices == null) return;
|
||||||
for (BluetoothDevice device : devices) {
|
for (BluetoothDevice btDevice : devices) {
|
||||||
CachedBluetoothDevice cachedDevice = cachedDeviceManager.findDevice(device);
|
CachedBluetoothDevice cachedDevice = cachedDeviceManager.findDevice(btDevice);
|
||||||
if (cachedDevice != null) {
|
|
||||||
|
if (cachedDevice != null && !cachedDevice.equals(device)) {
|
||||||
disconnectInt(cachedDevice, profile);
|
disconnectInt(cachedDevice, profile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user