Merge "Change sendVolumeKeyEvent condition"
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index 66682cc..a54b59c 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 @@
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 @@
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);