diff --git a/media/java/android/media/AudioDeviceVolumeManager.java b/media/java/android/media/AudioDeviceVolumeManager.java index 44b4662cdca5d..fe58cca9395f5 100644 --- a/media/java/android/media/AudioDeviceVolumeManager.java +++ b/media/java/android/media/AudioDeviceVolumeManager.java @@ -298,6 +298,28 @@ public class AudioDeviceVolumeManager { "removeOnDeviceVolumeBehaviorChangedListener"); } + /** + * Return human-readable name for volume behavior + * @param behavior one of the volume behaviors defined in AudioManager + * @return a string for the given behavior + */ + public static String volumeBehaviorName(@AudioManager.DeviceVolumeBehavior int behavior) { + switch (behavior) { + case AudioManager.DEVICE_VOLUME_BEHAVIOR_VARIABLE: + return "DEVICE_VOLUME_BEHAVIOR_VARIABLE"; + case AudioManager.DEVICE_VOLUME_BEHAVIOR_FULL: + return "DEVICE_VOLUME_BEHAVIOR_FULL"; + case AudioManager.DEVICE_VOLUME_BEHAVIOR_FIXED: + return "DEVICE_VOLUME_BEHAVIOR_FIXED"; + case AudioManager.DEVICE_VOLUME_BEHAVIOR_ABSOLUTE: + return "DEVICE_VOLUME_BEHAVIOR_ABSOLUTE"; + case AudioManager.DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE: + return "DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE"; + default: + return "invalid volume behavior " + behavior; + } + } + private final class DeviceVolumeBehaviorDispatcherStub extends IDeviceVolumeBehaviorDispatcher.Stub implements CallbackUtil.DispatcherStub { public void register(boolean register) { diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 8c0e2ddd8f3c2..0123c646c7640 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -6637,6 +6637,11 @@ public class AudioService extends IAudioService.Stub // verify arguments Objects.requireNonNull(device); AudioManager.enforceValidVolumeBehavior(deviceVolumeBehavior); + sVolumeLogger.log(new AudioEventLogger.StringEvent("setDeviceVolumeBehavior: dev:" + + AudioSystem.getOutputDeviceName(device.getInternalType()) + " addr:" + + device.getAddress() + " behavior:" + + AudioDeviceVolumeManager.volumeBehaviorName(deviceVolumeBehavior) + + " pack:" + pkgName).printLog(TAG)); if (pkgName == null) { pkgName = ""; } @@ -8352,7 +8357,7 @@ public class AudioService extends IAudioService.Stub private void avrcpSupportsAbsoluteVolume(String address, boolean support) { // address is not used for now, but may be used when multiple a2dp devices are supported sVolumeLogger.log(new AudioEventLogger.StringEvent("avrcpSupportsAbsoluteVolume addr=" - + address + " support=" + support)); + + address + " support=" + support).printLog(TAG)); mDeviceBroker.setAvrcpAbsoluteVolumeSupported(support); setAvrcpAbsoluteVolumeSupported(support); }