Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 90970560 authored by Jason Monk's avatar Jason Monk
Browse files

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
parent 1b48a643
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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);
    }