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

Commit c83efa63 authored by Sal Savage's avatar Sal Savage Committed by Automerger Merge Worker
Browse files

Merge "Drop codec configuration changes for disconnected devices" into main...

Merge "Drop codec configuration changes for disconnected devices" into main am: 690e8157 am: 9e48e881

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/2953888



Change-Id: Ie845ff5f7a0373838ad72040e4d166d6744f88b7
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 3396ab6a 9e48e881
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -636,6 +636,13 @@ public class A2dpSinkService extends ProfileService {
            return;
        }
        A2dpSinkStateMachine stateMachine = getStateMachineForDevice(device);
        if (stateMachine == null) {
            Log.w(
                    TAG,
                    "Received audio config changed event for an unconnected device, device="
                            + device);
            return;
        }
        stateMachine.onStackEvent(event);
    }

+20 −0
Original line number Diff line number Diff line
@@ -295,6 +295,26 @@ public class A2dpSinkServiceTest {
        assertThat(config).isEqualTo(expected);
    }

    /** Make sure we ignore audio configuration changes for disconnected/unknown devices */
    @Test
    public void testOnAudioConfigChanged_withNullDevice_eventDropped() {
        StackEvent audioConfigChanged =
                StackEvent.audioConfigChanged(null, TEST_SAMPLE_RATE, TEST_CHANNEL_COUNT);
        mService.messageFromNative(audioConfigChanged);
        assertThat(mService.getAudioConfig(null)).isNull();
    }

    /** Make sure we ignore audio configuration changes for disconnected/unknown devices */
    @Test
    public void testOnAudioConfigChanged_withUnknownDevice_eventDropped() {
        assertThat(mService.getConnectionState(mDevice1))
                .isEqualTo(BluetoothProfile.STATE_DISCONNECTED);
        StackEvent audioConfigChanged =
                StackEvent.audioConfigChanged(mDevice1, TEST_SAMPLE_RATE, TEST_CHANNEL_COUNT);
        mService.messageFromNative(audioConfigChanged);
        assertThat(mService.getAudioConfig(mDevice1)).isNull();
    }

    /**
     * Getting an audio config for a device that hasn't received one yet should return null
     */