diff options
| author | 2023-11-27 17:30:04 -0800 | |
|---|---|---|
| committer | 2023-11-27 17:30:04 -0800 | |
| commit | a8247087b1ada3e2385d8d04e3d3dddce5a8fe1a (patch) | |
| tree | 99973bc20b47e1467d54598f59711d67bbb2f25d | |
| parent | a8d03d7b917c7a7f9eeb7932ddfca7e6778c531a (diff) | |
AudioService: fix volume code path with a null audio device
The VolumeGroup synchronization with the VolumeStream calls
into setStreamVolume without a device.
Bug: 302751899
Test: atest android.media.audio.cts.AudioManagerTest
Test: atest com.android.audiopolicytest.AudioVolumeGroupTest
Change-Id: I27051bc8bfda8df3ff4b6998c19f40a936121680
| -rw-r--r-- | services/core/java/com/android/server/audio/AudioService.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index d4b72c1770f7..3f27ca024f15 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -4600,7 +4600,7 @@ public class AudioService extends IAudioService.Stub } private void setStreamVolume(int streamType, int index, int flags, - @NonNull AudioDeviceAttributes ada, + @Nullable AudioDeviceAttributes ada, String callingPackage, String caller, String attributionTag, int uid, boolean hasModifyAudioSettings, boolean canChangeMuteAndUpdateController) { @@ -4618,7 +4618,9 @@ public class AudioService extends IAudioService.Stub int streamTypeAlias = mStreamVolumeAlias[streamType]; VolumeStreamState streamState = mStreamStates[streamTypeAlias]; - final int device = ada.getInternalType(); + final int device = (ada == null) + ? getDeviceForStream(streamType) + : ada.getInternalType(); int oldIndex; // skip a2dp absolute volume control request when the device |