From 721b70214e06015c4b431117b8bbeecfa0a36410 Mon Sep 17 00:00:00 2001 From: "daren.liao" Date: Wed, 20 May 2020 14:08:22 +0800 Subject: [PATCH] Disable ARC when physical address is incorrect [Description] When wrong PA is received, disable ARC in onNewAvrAdded This is a special case for HEACT 5-15 Step 13~15 1) Turn 5V on, and connect ARC 2) Perform 11.1.17-5, the physical address of AVR becomes invalid 3) Make sure that ARC is disconnected Bug: 157451815 [Test] HEACT 5-15 Test PASS Change-Id: I865438224142fa5dc36010da356ba3771f5a537c --- .../java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java index 58a702527e5f5..8bb5204ee0834 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java @@ -800,7 +800,9 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { assertRunOnServiceThread(); if (!mService.isPowerStandbyOrTransient()) { addAndStartAction(new SystemAudioAutoInitiationAction(this, avr.getLogicalAddress())); - if (isConnected(avr.getPortId()) && isArcFeatureEnabled(avr.getPortId()) + if (!isDirectConnectAddress(avr.getPhysicalAddress())) { + startArcAction(false); + } else if (isConnected(avr.getPortId()) && isArcFeatureEnabled(avr.getPortId()) && !hasAction(SetArcTransmissionStateAction.class)) { startArcAction(true); }