diff options
author | 2014-09-16 11:04:54 +0900 | |
---|---|---|
committer | 2014-09-17 10:28:40 +0900 | |
commit | 1a6be6ed3962735f12dbd5ce1bca758120c8fb8d (patch) | |
tree | 6bcf6cddee4e0d6b40a41399769fc96a84d006f0 | |
parent | 1a526f582b2c97a93324b68ae11492f2e25ab571 (diff) |
Adjust volume bar visibility in HDMI-CEC system audio mode
When HDMI-CEC system audio mode is activated.
1. Hide volume bar when volume button is pressed in TV
2. Show volume bar when TV receives volume notification from
Audio Receiver.
Otherwise, (system audio mode off) follows normal TV's behavior.
Bug: 17347499
Change-Id: I1f5bc14285d60d8626a8fbbef9e1959cae7d193b
-rw-r--r-- | media/java/android/media/AudioService.java | 10 | ||||
-rw-r--r-- | services/core/java/com/android/server/hdmi/HdmiControlService.java | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java index 40d45ea67a15..71a05ab2cd15 100644 --- a/media/java/android/media/AudioService.java +++ b/media/java/android/media/AudioService.java @@ -1351,6 +1351,16 @@ public class AudioService extends IAudioService.Stub { streamType = AudioSystem.STREAM_NOTIFICATION; } + // If Hdmi-CEC system audio mode is on, show volume bar + // only when TV receives volume notification from Audio Receiver. + if (mHdmiTvClient != null && streamType == AudioSystem.STREAM_MUSIC) { + synchronized (mHdmiTvClient) { + if (mHdmiSystemAudioSupported && + ((flags & AudioManager.FLAG_HDMI_SYSTEM_AUDIO_VOLUME) == 0)) { + flags &= ~AudioManager.FLAG_SHOW_UI; + } + } + } mVolumeController.postVolumeChanged(streamType, flags); if ((flags & AudioManager.FLAG_FIXED_VOLUME) == 0) { diff --git a/services/core/java/com/android/server/hdmi/HdmiControlService.java b/services/core/java/com/android/server/hdmi/HdmiControlService.java index 9a3404705855..4d9b4e9055d5 100644 --- a/services/core/java/com/android/server/hdmi/HdmiControlService.java +++ b/services/core/java/com/android/server/hdmi/HdmiControlService.java @@ -798,7 +798,7 @@ public final class HdmiControlService extends SystemService { // FLAG_HDMI_SYSTEM_AUDIO_VOLUME prevents audio manager from announcing // volume change notification back to hdmi control service. audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, - AudioManager.FLAG_HDMI_SYSTEM_AUDIO_VOLUME); + AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_HDMI_SYSTEM_AUDIO_VOLUME); } } |