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

Commit b42ba083 authored by Łukasz Rymanowski's avatar Łukasz Rymanowski Committed by Łukasz Rymanowski
Browse files

AudioDeviceInventory: Fix for switching leaudio active/inactive

When LeAudio device gets Inactive and Active again, it
will not be choosen by the Audio Policy as an output device
due to this code:

https://cs.android.com/android/platform/superproject/+/master:frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp;l=347;drc=master;bpv=1;bpt=1?q=engine.cpp&ss=android%2Fplatform%2Fsuperproject

This is because AUDIO_POLICY_FORCE_NO_BT_A2DP is set.
This patch fixes it.

Bug: 211079178
Test: play media on LE HS and switch between DUT and LE HS

Change-Id: I806a63ef2eaa98736130383bfc0387e5187b1803
parent 0892c27c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1088,6 +1088,12 @@ public class AudioDeviceInventory {
    private void makeLeAudioDeviceAvailable(String address, String name, int streamType, int device,
            String eventSource) {
        if (device != AudioSystem.DEVICE_NONE) {

            /* Audio Policy sees Le Audio similar to A2DP. Let's make sure
             * AUDIO_POLICY_FORCE_NO_BT_A2DP is not set
             */
            mDeviceBroker.setBluetoothA2dpOnInt(true, false /*fromA2dp*/, eventSource);

            AudioSystem.setDeviceConnectionState(device, AudioSystem.DEVICE_STATE_AVAILABLE,
                    address, name, AudioSystem.AUDIO_FORMAT_DEFAULT);
            mConnectedDevices.put(DeviceInfo.makeDeviceListKey(device, address),