From fd434cbcd88f829d5ca69c44e66ed4d2999418e6 Mon Sep 17 00:00:00 2001 From: Nathalie Le Clair Date: Wed, 20 May 2020 13:46:30 +0200 Subject: [PATCH] Only send to TV on sleep when active source Test: make, flash, let device go to sleep due to keycode_power and energy saver mode, verify that is only sent when mIsActiveSource is true. Bug: 155228844 Change-Id: Ie62d60e8c4fa573aac6c08a4c1093d5f1a52d7f3 --- .../com/android/server/hdmi/HdmiCecLocalDevicePlayback.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java index 1810963e6789a..67861c28b37e5 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java @@ -163,12 +163,13 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource { } if (mIsActiveSource) { mService.sendCecCommand(HdmiCecMessageBuilder.buildInactiveSource( - mAddress, mService.getPhysicalAddress())); + mAddress, mService.getPhysicalAddress())); } + boolean wasActiveSource = mIsActiveSource; // Invalidate the internal active source record when goes to standby // This set will also update mIsActiveSource mService.setActiveSource(Constants.ADDR_INVALID, Constants.INVALID_PHYSICAL_ADDRESS); - if (initiatedByCec || !mAutoTvOff) { + if (initiatedByCec || !mAutoTvOff || !wasActiveSource) { return; } switch (standbyAction) {