summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jungshik Jang <jayjang@google.com> 2014-09-16 11:04:54 +0900
committer Jungshik Jang <jayjang@google.com> 2014-09-17 10:28:40 +0900
commit1a6be6ed3962735f12dbd5ce1bca758120c8fb8d (patch)
tree6bcf6cddee4e0d6b40a41399769fc96a84d006f0
parent1a526f582b2c97a93324b68ae11492f2e25ab571 (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.java10
-rw-r--r--services/core/java/com/android/server/hdmi/HdmiControlService.java2
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);
}
}