From 82e0f752964aef3bc0504fb58aa8c1edf17d42f1 Mon Sep 17 00:00:00 2001 From: "an.xi" Date: Thu, 9 Mar 2023 03:08:46 +0000 Subject: cec: Reset system audio mode status carefully [2/2] PD#OTT-40245 BUG=266766058 Problem: When there is a transmission error with caused by cec busyness, playback could reset the audio mode status and does not send volume keyevents to the audio system then. Solution: Reset system audio mode status only with error NACK, which means the target device is not connected. Verify: Walmart Test: presubmits Change-Id: Ife26b2251f40ee11cdbc86fe0797d29a74fb9be5 Signed-off-by: an.xi --- .../core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java index 576a5ff4305e..72895e338de6 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java @@ -110,7 +110,8 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource { new SendMessageCallback() { @Override public void onSendCompleted(int error) { - if (error != SendMessageResult.SUCCESS) { + // In consideration of occasional transmission failures. + if (error == SendMessageResult.NACK) { HdmiLogger.debug( "AVR did not respond to "); mService.setSystemAudioActivated(false); -- cgit v1.2.3-59-g8ed1b