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
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);
}
}