Try to keep connection state more up to date

It seems that connection state isn't always correct, make sure we
update it every time a device changes state, so that we don't stay
connected while no device is connected.

Bug: 21896051
Change-Id: I5aa398f33a916609742e22ce5affd4211ed0a626
This commit is contained in:
Jason Monk
2015-06-19 10:04:49 -04:00
parent 1b48a6430a
commit 909705601e

View File

@@ -154,6 +154,12 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa
}
private void updateConnected() {
// Make sure our connection state is up to date.
int state = mLocalBluetoothManager.getBluetoothAdapter().getConnectionState();
if (state != mConnectionState) {
mConnectionState = state;
mHandler.sendEmptyMessage(H.MSG_STATE_CHANGED);
}
if (mLastDevice != null && mLastDevice.isConnected()) {
// Our current device is still valid.
return;
@@ -203,9 +209,9 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa
@Override
public void onConnectionStateChanged(CachedBluetoothDevice cachedDevice, int state) {
mConnectionState = state;
mLastDevice = cachedDevice;
updateConnected();
mConnectionState = state;
mHandler.sendEmptyMessage(H.MSG_STATE_CHANGED);
}