From 61fc25f7b417ffa3d53f9adfd07810d326dd2bcc Mon Sep 17 00:00:00 2001 From: Amy Date: Fri, 2 Nov 2018 17:53:21 -0700 Subject: [PATCH] Unmute when turning system audio mode on. ag/5428480 This is useful for devices that disables muting. When TV sends out muting to the device but the device later turns system audio mode back on, it should still unmute itself. Disabling muting should only disable self mute. But still support unmute. Test: manual Bug: 118890232 Change-Id: Ief4435c786262a1981a29627b837ef0a4831157a --- .../hdmi/HdmiCecLocalDeviceAudioSystem.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java index 4fc98f8227213..c9eef0f5fbb76 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java @@ -753,16 +753,18 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { // PROPERTY_SYSTEM_AUDIO_MODE_MUTING_ENABLE is false when device never needs to be muted. boolean currentMuteStatus = mService.getAudioManager().isStreamMute(AudioManager.STREAM_MUSIC); - if (SystemProperties.getBoolean( - Constants.PROPERTY_SYSTEM_AUDIO_MODE_MUTING_ENABLE, true) - && currentMuteStatus == newSystemAudioMode) { - mService.getAudioManager() - .adjustStreamVolume( - AudioManager.STREAM_MUSIC, - newSystemAudioMode - ? AudioManager.ADJUST_UNMUTE - : AudioManager.ADJUST_MUTE, - 0); + if (currentMuteStatus == newSystemAudioMode) { + if (SystemProperties.getBoolean( + Constants.PROPERTY_SYSTEM_AUDIO_MODE_MUTING_ENABLE, true) + || newSystemAudioMode) { + mService.getAudioManager() + .adjustStreamVolume( + AudioManager.STREAM_MUSIC, + newSystemAudioMode + ? AudioManager.ADJUST_UNMUTE + : AudioManager.ADJUST_MUTE, + 0); + } } updateAudioManagerForSystemAudio(newSystemAudioMode); synchronized (mLock) {