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

Commit 441b4a27 authored by Jack He's avatar Jack He
Browse files

AdapterProperties: Crash on invalid state transition

Bug: 65591907
Test: Regression test on each profile
Change-Id: Ife62b58183ce0cd885c59ec726cf36d9c7a1be49
parent 2f5bac81
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -547,24 +547,33 @@ class AdapterProperties {
    private boolean updateCountersAndCheckForConnectionStateChange(int state, int prevState) {
        switch (prevState) {
            case BluetoothProfile.STATE_CONNECTING:
                if (mProfilesConnecting > 0)
                if (mProfilesConnecting > 0) {
                    mProfilesConnecting--;
                else
                } else {
                    Log.e(TAG, "mProfilesConnecting " + mProfilesConnecting);
                    throw new IllegalStateException(
                            "Invalid state transition, " + prevState + " -> " + state);
                }
                break;

            case BluetoothProfile.STATE_CONNECTED:
                if (mProfilesConnected > 0)
                if (mProfilesConnected > 0) {
                    mProfilesConnected--;
                else
                } else {
                    Log.e(TAG, "mProfilesConnected " + mProfilesConnected);
                    throw new IllegalStateException(
                            "Invalid state transition, " + prevState + " -> " + state);
                }
                break;

            case BluetoothProfile.STATE_DISCONNECTING:
                if (mProfilesDisconnecting > 0)
                if (mProfilesDisconnecting > 0) {
                    mProfilesDisconnecting--;
                else
                } else {
                    Log.e(TAG, "mProfilesDisconnecting " + mProfilesDisconnecting);
                    throw new IllegalStateException(
                            "Invalid state transition, " + prevState + " -> " + state);
                }
                break;
        }