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

Commit 3cc5ce80 authored by Jakub Pawłowski's avatar Jakub Pawłowski Committed by Android (Google) Code Review
Browse files

Merge "AudioService: log LE Audio device made avaliable/unavaliable" into udc-dev

parents 75619879 4fc032a1
Loading
Loading
Loading
Loading
+26 −2
Original line number Original line Diff line number Diff line
@@ -1331,9 +1331,21 @@ public class AudioDeviceInventory {
             */
             */
            mDeviceBroker.setBluetoothA2dpOnInt(true, false /*fromA2dp*/, eventSource);
            mDeviceBroker.setBluetoothA2dpOnInt(true, false /*fromA2dp*/, eventSource);


            AudioSystem.setDeviceConnectionState(new AudioDeviceAttributes(device, address, name),
            final int res = AudioSystem.setDeviceConnectionState(new AudioDeviceAttributes(
                    device, address, name),
                    AudioSystem.DEVICE_STATE_AVAILABLE,
                    AudioSystem.DEVICE_STATE_AVAILABLE,
                    AudioSystem.AUDIO_FORMAT_DEFAULT);
                    AudioSystem.AUDIO_FORMAT_DEFAULT);
            if (res != AudioSystem.AUDIO_STATUS_OK) {
                AudioService.sDeviceLogger.enqueue(new EventLogger.StringEvent(
                        "APM failed to make available LE Audio device addr=" + address
                                + " error=" + res).printLog(TAG));
                // TODO: connection failed, stop here
                // TODO: return;
            } else {
                AudioService.sDeviceLogger.enqueue(new EventLogger.StringEvent(
                        "LE Audio device addr=" + address + " now available").printLog(TAG));
            }

            mConnectedDevices.put(DeviceInfo.makeDeviceListKey(device, address),
            mConnectedDevices.put(DeviceInfo.makeDeviceListKey(device, address),
                    new DeviceInfo(device, name, address, AudioSystem.AUDIO_FORMAT_DEFAULT));
                    new DeviceInfo(device, name, address, AudioSystem.AUDIO_FORMAT_DEFAULT));
            mDeviceBroker.postAccessoryPlugMediaUnmute(device);
            mDeviceBroker.postAccessoryPlugMediaUnmute(device);
@@ -1356,9 +1368,21 @@ public class AudioDeviceInventory {
    @GuardedBy("mDevicesLock")
    @GuardedBy("mDevicesLock")
    private void makeLeAudioDeviceUnavailable(String address, int device) {
    private void makeLeAudioDeviceUnavailable(String address, int device) {
        if (device != AudioSystem.DEVICE_NONE) {
        if (device != AudioSystem.DEVICE_NONE) {
            AudioSystem.setDeviceConnectionState(new AudioDeviceAttributes(device, address),
            final int res = AudioSystem.setDeviceConnectionState(new AudioDeviceAttributes(
                    device, address),
                    AudioSystem.DEVICE_STATE_UNAVAILABLE,
                    AudioSystem.DEVICE_STATE_UNAVAILABLE,
                    AudioSystem.AUDIO_FORMAT_DEFAULT);
                    AudioSystem.AUDIO_FORMAT_DEFAULT);

            if (res != AudioSystem.AUDIO_STATUS_OK) {
                AudioService.sDeviceLogger.enqueue(new EventLogger.StringEvent(
                        "APM failed to make unavailable LE Audio device addr=" + address
                                + " error=" + res).printLog(TAG));
                // TODO:  failed to disconnect, stop here
                // TODO: return;
            } else {
                AudioService.sDeviceLogger.enqueue(new EventLogger.StringEvent(
                        "LE Audio device addr=" + address + " made unavailable").printLog(TAG));
            }
            mConnectedDevices.remove(DeviceInfo.makeDeviceListKey(device, address));
            mConnectedDevices.remove(DeviceInfo.makeDeviceListKey(device, address));
        }
        }