Don't disconnect an A2DP device when connecting to same device

When processing a connect request for an A2DP device, Settings
would trigger a disconnect request for all A2DP devices that
have state of CONNECTED, CONNECTING or DISCONNECTING, including
eventually the device we are connecting to.
This could create timing-related issues, and is not necessary.
Now we explicitly check to avoid disconnecting the device we are
connecting to.

Test: Manual A2DP testing with a phone and wireless headsets
Bug: 32688022
Change-Id: I572dd87c071829b734513c4b928a4d65fe539520
This commit is contained in:
Pavlin Radoslavov
2016-11-16 20:51:06 -08:00
committed by Andre Eisenbach
parent a908e65b66
commit eb067ba741

View File

@@ -116,6 +116,10 @@ public final class A2dpProfile implements LocalBluetoothProfile {
List<BluetoothDevice> sinks = getConnectedDevices();
if (sinks != null) {
for (BluetoothDevice sink : sinks) {
if (sink.equals(device)) {
Log.w(TAG, "Connecting to device " + device + " : disconnect skipped");
continue;
}
mService.disconnect(sink);
}
}