summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java36
1 files changed, 8 insertions, 28 deletions
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java
index c77cd8e19ec1..b796abd8ea7b 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java
@@ -66,11 +66,7 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDevice {
Constants.PROPERTY_LAST_SYSTEM_AUDIO_CONTROL,
mSystemAudioActivated ? "true" : "false");
}
- if (setSystemAudioMode(false)) {
- mService.sendCecCommand(
- HdmiCecMessageBuilder.buildSetSystemAudioMode(
- mAddress, Constants.ADDR_BROADCAST, false));
- }
+ terminateSystemAudioMode();
}
@Override
@@ -335,31 +331,15 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDevice {
protected void terminateSystemAudioMode() {
// remove pending initiation actions
removeAction(SystemAudioInitiationActionFromAvr.class);
-
- synchronized (mLock) {
- if (!mSystemAudioActivated) {
- return;
- }
- }
-
- // send <Set System Audio Mode> [“Off”]
- mService.sendCecCommand(
- HdmiCecMessageBuilder.buildSetSystemAudioMode(
- mAddress, Constants.ADDR_BROADCAST, false));
-
- // mute speaker
- if (!mService.getAudioManager().isStreamMute(AudioManager.STREAM_MUSIC)) {
- mService.getAudioManager()
- .adjustStreamVolume(
- AudioManager.STREAM_MUSIC,
- AudioManager.ADJUST_MUTE,
- 0);
+ if (!isSystemAudioActivated()) {
+ return;
}
- mSystemAudioSource = null;
- synchronized (mLock) {
- mSystemAudioActivated = false;
- mService.announceSystemAudioModeChange(false);
+ if (setSystemAudioMode(false)) {
+ // send <Set System Audio Mode> [“Off”]
+ mService.sendCecCommand(
+ HdmiCecMessageBuilder.buildSetSystemAudioMode(
+ mAddress, Constants.ADDR_BROADCAST, false));
}
}