b/2652059 Fixed the broken BT connects/disconnects after unpair
The unpair command was stuck in the queue. Change-Id: I803cb10adcfaedbe6fd202e0db463593880e4280
This commit is contained in:
@@ -749,7 +749,33 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
|
||||
public void onBondingStateChanged(int bondState) {
|
||||
if (bondState == BluetoothDevice.BOND_NONE) {
|
||||
mProfiles.clear();
|
||||
|
||||
BluetoothJob job = workQueue.peek();
|
||||
if (job == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove the first item and process the next one
|
||||
if (job.command == BluetoothCommand.REMOVE_BOND
|
||||
&& job.cachedDevice.mDevice.equals(mDevice)) {
|
||||
workQueue.poll(); // dequeue
|
||||
} else {
|
||||
// Unexpected job
|
||||
if (D) {
|
||||
Log.d(TAG, "job.command = " + job.command);
|
||||
Log.d(TAG, "mDevice:" + mDevice + " != head:" + job.toString());
|
||||
}
|
||||
|
||||
// Check to see if we need to remove the stale items from the queue
|
||||
if (!pruneQueue(null)) {
|
||||
// nothing in the queue was modify. Just ignore the notification and return.
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
processCommands();
|
||||
}
|
||||
|
||||
refresh();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user