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:
Michael Chan
2010-05-03 23:05:06 -07:00
parent 6d40987098
commit 1308453b16

View File

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