diff options
author | Jinsuk Kim <jinsukkim@google.com> | 2015-03-24 16:55:01 +0900 |
---|---|---|
committer | The Android Automerger <android-build@google.com> | 2015-03-27 15:02:03 -0700 |
commit | 32dcf5684c2754ff392693daa81e55f3ca6a1ff9 (patch) | |
tree | 823361856d65c20ec947b5ae8327b5a76bc4c5be | |
parent | b298ba3fa8434c20de557a5ababbfac63625b897 (diff) | |
download | base-32dcf5684c2754ff392693daa81e55f3ca6a1ff9.tar.gz |
CEC: Explicitly turn on screen for remote control passthrough
Ensures that the playback device turns on display output signal
upon receiving CEC command <User Control Pressed>.
Bug: 19518981
Change-Id: I4f898380c9ffc071da2357a51e61309ae5d233f5
(cherry picked from commit 9b8507c52ae845c8eed9fd9952bf66538934b8fd)
-rw-r--r-- | services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java index a8f6954405c3..8034809064f4 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java @@ -179,6 +179,13 @@ final class HdmiCecLocalDevicePlayback extends HdmiCecLocalDevice { } } + @ServiceThreadOnly + protected boolean handleUserControlPressed(HdmiCecMessage message) { + assertRunOnServiceThread(); + wakeUpIfActiveSource(); + return super.handleUserControlPressed(message); + } + @Override @ServiceThreadOnly protected boolean handleSetStreamPath(HdmiCecMessage message) { @@ -216,7 +223,12 @@ final class HdmiCecLocalDevicePlayback extends HdmiCecLocalDevice { } private void wakeUpIfActiveSource() { - if (mIsActiveSource && mService.isPowerStandbyOrTransient()) { + if (!mIsActiveSource) { + return; + } + // Wake up the device if the power is in standby mode, or its screen is off - + // which can happen if the device is holding a partial lock. + if (mService.isPowerStandbyOrTransient() || !mService.getPowerManager().isScreenOn()) { mService.wakeUp(); } } |