diff options
| -rw-r--r-- | services/core/java/com/android/server/audio/AudioService.java | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 66682cceb3f0..a54b59c4a2d3 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -3409,16 +3409,15 @@ public class AudioService extends IAudioService.Stub synchronized (mHdmiClientLock) { if (mHdmiManager != null) { // At most one of mHdmiPlaybackClient and mHdmiTvClient should be non-null - HdmiClient fullVolumeHdmiClient = mHdmiPlaybackClient; + HdmiClient hdmiClient = mHdmiPlaybackClient; if (mHdmiTvClient != null) { - fullVolumeHdmiClient = mHdmiTvClient; + hdmiClient = mHdmiTvClient; } - if (fullVolumeHdmiClient != null + if (((mHdmiPlaybackClient != null && isFullVolumeDevice(device)) + || (mHdmiTvClient != null && mHdmiSystemAudioSupported)) && mHdmiCecVolumeControlEnabled - && streamTypeAlias == AudioSystem.STREAM_MUSIC - // vol change on a full volume device - && isFullVolumeDevice(device)) { + && streamTypeAlias == AudioSystem.STREAM_MUSIC) { int keyCode = KeyEvent.KEYCODE_UNKNOWN; switch (direction) { case AudioManager.ADJUST_RAISE: @@ -3442,14 +3441,14 @@ public class AudioService extends IAudioService.Stub try { switch (keyEventMode) { case AudioDeviceVolumeManager.ADJUST_MODE_NORMAL: - fullVolumeHdmiClient.sendVolumeKeyEvent(keyCode, true); - fullVolumeHdmiClient.sendVolumeKeyEvent(keyCode, false); + hdmiClient.sendVolumeKeyEvent(keyCode, true); + hdmiClient.sendVolumeKeyEvent(keyCode, false); break; case AudioDeviceVolumeManager.ADJUST_MODE_START: - fullVolumeHdmiClient.sendVolumeKeyEvent(keyCode, true); + hdmiClient.sendVolumeKeyEvent(keyCode, true); break; case AudioDeviceVolumeManager.ADJUST_MODE_END: - fullVolumeHdmiClient.sendVolumeKeyEvent(keyCode, false); + hdmiClient.sendVolumeKeyEvent(keyCode, false); break; default: Log.e(TAG, "Invalid keyEventMode " + keyEventMode); |