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

Commit 8d84d1db authored by Joseph Pirozzo's avatar Joseph Pirozzo Committed by android-build-merger
Browse files

Merge "Bluetooth A2DP Sink only connect from Disconnected state"

am: cdba65fa

Change-Id: Iea4bb0afc3d530c24642f16709f53c1c572ef7cb
parents 408d7a0f cdba65fa
Loading
Loading
Loading
Loading
+3 −23
Original line number Diff line number Diff line
@@ -304,7 +304,7 @@ public class A2dpSinkStateMachine extends StateMachine {
            boolean retValue = HANDLED;
            switch (message.what) {
                case CONNECT:
                    deferMessage(message);
                    logd("Disconnect before connecting to another target");
                    break;
                case CONNECT_TIMEOUT:
                    onConnectionStateChanged(getByteAddress(mTargetDevice),
@@ -320,8 +320,6 @@ public class A2dpSinkStateMachine extends StateMachine {
                        synchronized (A2dpSinkStateMachine.this) {
                            mTargetDevice = null;
                        }
                    } else {
                        deferMessage(message);
                    }
                    break;
                case STACK_EVENT:
@@ -516,26 +514,8 @@ public class A2dpSinkStateMachine extends StateMachine {
            }

            switch (message.what) {
                case CONNECT: {
                    BluetoothDevice device = (BluetoothDevice) message.obj;
                    if (mCurrentDevice.equals(device)) {
                        break;
                    }

                    broadcastConnectionState(device, BluetoothProfile.STATE_CONNECTING,
                            BluetoothProfile.STATE_DISCONNECTED);
                    if (!disconnectA2dpNative(getByteAddress(mCurrentDevice))) {
                        broadcastConnectionState(device, BluetoothProfile.STATE_DISCONNECTED,
                                BluetoothProfile.STATE_CONNECTING);
                        break;
                    }

                    synchronized (A2dpSinkStateMachine.this) {
                        mTargetDevice = device;
                        mStreaming.obtainMessage(A2dpSinkStreamHandler.DISCONNECT).sendToTarget();
                        transitionTo(mPending);
                    }
                }
                case CONNECT:
                    logd("Disconnect before connecting to another target");
                break;

                case DISCONNECT: {