diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java index 6603a71f389cf..3bd0bcfc02aed 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java @@ -121,7 +121,7 @@ final class HdmiCecLocalDevicePlayback extends HdmiCecLocalDevice { void onHotplug(int portId, boolean connected) { assertRunOnServiceThread(); mCecMessageCache.flushAll(); - mIsActiveSource = false; + // We'll not clear mIsActiveSource on the hotplug event to pass CETC 11.2.2-2 ~ 3. if (connected && mService.isPowerStandbyOrTransient()) { mService.wakeUp(); } diff --git a/services/core/java/com/android/server/hdmi/HdmiControlService.java b/services/core/java/com/android/server/hdmi/HdmiControlService.java index 96823e17809b2..9a34047058556 100644 --- a/services/core/java/com/android/server/hdmi/HdmiControlService.java +++ b/services/core/java/com/android/server/hdmi/HdmiControlService.java @@ -428,6 +428,7 @@ public final class HdmiControlService extends SystemService { private void allocateLogicalAddress(final ArrayList allocatingDevices, final int initiatedBy) { assertRunOnServiceThread(); + mCecController.clearLogicalAddress(); final ArrayList allocatedDevices = new ArrayList<>(); final int[] finished = new int[1]; for (final HdmiCecLocalDevice localDevice : allocatingDevices) {