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

Commit 71647735 authored by Kyunglyul Hyun's avatar Kyunglyul Hyun Committed by Gerrit Code Review
Browse files

Merge "BAS: Handle disconnect right after connect"

parents e1cd82f6 dff59dd2
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -361,10 +361,9 @@ public class BatteryStateMachine extends StateMachine {
                    log(TAG, "Connection canceled to " + mDevice);
                    if (mBluetoothGatt != null) {
                        mBluetoothGatt.disconnect();
                        transitionTo(mDisconnecting);
                    } else {
                        transitionTo(mDisconnected);
                    }
                    // As we're not yet connected we don't need to wait for callbacks.
                    transitionTo(mDisconnected);
                    break;
                case CONNECTION_STATE_CHANGED:
                    processConnectionEvent(message.arg1);
+20 −0
Original line number Diff line number Diff line
@@ -192,6 +192,26 @@ public class BatteryStateMachineTest {
                IsInstanceOf.instanceOf(BatteryStateMachine.Connected.class));
    }

    @Test
    public void testDisconnectBeforeConnected() {
        allowConnection(true);
        allowConnectGatt(true);

        mBatteryStateMachine.sendMessage(BatteryStateMachine.CONNECT);

        verify(mBatteryService, timeout(TIMEOUT_MS))
                .handleConnectionStateChanged(any(BatteryStateMachine.class),
                        eq(BluetoothProfile.STATE_DISCONNECTED),
                        eq(BluetoothProfile.STATE_CONNECTING));

        mBatteryStateMachine.sendMessage(BatteryStateMachine.DISCONNECT);

        verify(mBatteryService, timeout(TIMEOUT_MS))
                .handleConnectionStateChanged(any(BatteryStateMachine.class),
                        eq(BluetoothProfile.STATE_CONNECTING),
                        eq(BluetoothProfile.STATE_DISCONNECTED));
    }

    @Test
    public void testConnectedStateChanges() {
        allowConnection(true);