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

Commit 695a2648 authored by Kyunglyul Hyun's avatar Kyunglyul Hyun
Browse files

Fix AudioDeviceInventory#disconnectLeAudio

This CL fixes disconnectLeAudio to disconnect devices properly
and make it send becoming noisy intent when
an LE audio device is disconnected.
(It was removed in ag/17730892 but I don't understand the reason.)

It also calls disconnectLeAudio for broadcast profiles.

Bug: 230298077
Test: manually turning off BT to check if
media is paused.

Change-Id: Ifd74c244e19f5e7f92fdbd8f7d20cd99a054425a
parent f69119a1
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -862,8 +862,8 @@ public class AudioDeviceInventory {
    }

     /*package*/ void disconnectLeAudio(int device) {
        if (device != AudioSystem.DEVICE_OUT_BLE_HEADSET ||
                    device != AudioSystem.DEVICE_OUT_BLE_BROADCAST) {
        if (device != AudioSystem.DEVICE_OUT_BLE_HEADSET
                && device != AudioSystem.DEVICE_OUT_BLE_BROADCAST) {
            Log.e(TAG, "disconnectLeAudio: Can't disconnect not LE Audio device " + device);
            return;
        }
@@ -879,6 +879,8 @@ public class AudioDeviceInventory {
            new MediaMetrics.Item(mMetricsId + "disconnectLeAudio")
                    .record();
            if (toRemove.size() > 0) {
                final int delay = checkSendBecomingNoisyIntentInt(device, 0,
                        AudioSystem.DEVICE_NONE);
                toRemove.stream().forEach(deviceAddress ->
                        makeLeAudioDeviceUnavailable(deviceAddress, device)
                );
+2 −0
Original line number Diff line number Diff line
@@ -462,6 +462,7 @@ public class BtHelper {
        mDeviceBroker.postBtProfileDisconnected(BluetoothProfile.HEADSET);
        mDeviceBroker.postBtProfileDisconnected(BluetoothProfile.HEARING_AID);
        mDeviceBroker.postBtProfileDisconnected(BluetoothProfile.LE_AUDIO);
        mDeviceBroker.postBtProfileDisconnected(BluetoothProfile.LE_AUDIO_BROADCAST);
    }

    // @GuardedBy("AudioDeviceBroker.mSetModeLock")
@@ -687,6 +688,7 @@ public class BtHelper {
                        case BluetoothProfile.HEADSET:
                        case BluetoothProfile.HEARING_AID:
                        case BluetoothProfile.LE_AUDIO:
                        case BluetoothProfile.LE_AUDIO_BROADCAST:
                            mDeviceBroker.postBtProfileDisconnected(profile);
                            break;