summaryrefslogtreecommitdiff
authorJinping Wang <jinping.wang@amlogic.com>2017-11-17 08:59:22 (GMT)
committer Jinping Wang <jinping.wang@amlogic.com>2017-11-24 05:51:06 (GMT)
commit324328bc2954086d3f4173ae8640b9b121bcfdb8 (patch)
tree3b681243811366c1f3072b096d6345d4abaa5b9f
parent715ed80d78d47e6222afd5078a976d6a2eba03b4 (diff)
downloadframeworks-324328bc2954086d3f4173ae8640b9b121bcfdb8.zip
frameworks-324328bc2954086d3f4173ae8640b9b121bcfdb8.tar.gz
frameworks-324328bc2954086d3f4173ae8640b9b121bcfdb8.tar.bz2
cec: enable onTouchPlay to wakeup tv[1/1]
PD# 152389 playback wakeup tv by onTouchPlay when hdmi control state change Change-Id: Ifbf19eb7888265ba42c38cbef04fde5fa150c352
Diffstat
-rw-r--r--core/res/src/com/droidlogic/HdmiCecExtend.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/core/res/src/com/droidlogic/HdmiCecExtend.java b/core/res/src/com/droidlogic/HdmiCecExtend.java
index a5755a4..8320424 100644
--- a/core/res/src/com/droidlogic/HdmiCecExtend.java
+++ b/core/res/src/com/droidlogic/HdmiCecExtend.java
@@ -246,9 +246,19 @@ public class HdmiCecExtend implements VendorCommandListener, HotplugEventListene
@Override
public void onControlStateChanged(boolean enabled, int reason) {
Slog.d(TAG, "enabled = " + enabled + ", reason = " + reason);
- if (!enabled && reason == HdmiControlManager.CONTROL_STATE_CHANGED_REASON_STANDBY) {//go to standby
- getWakeLock().acquire();
- mHandler.sendMessageDelayed(Message.obtain(mHandler, MSG_WAKE_LOCK), TIMER_DEVICE_CLEANUP);
+ switch (reason) {
+ case HdmiControlManager.CONTROL_STATE_CHANGED_REASON_WAKEUP:
+ if (enabled)
+ mHandler.postDelayed(mDelayedRun, ONE_TOUCH_PLAY_DELAY);
+ break;
+ case HdmiControlManager.CONTROL_STATE_CHANGED_REASON_STANDBY:
+ if (!enabled) {//go to standby
+ getWakeLock().acquire();
+ mHandler.sendMessageDelayed(Message.obtain(mHandler, MSG_WAKE_LOCK), TIMER_DEVICE_CLEANUP);
+ }
+ break;
+ default:
+ break;
}
}
@@ -400,7 +410,7 @@ public class HdmiCecExtend implements VendorCommandListener, HotplugEventListene
private void onAddAddress(int addr) {
Slog.d(TAG, "onAddressAllocated:" + String.format("0x%02x", addr));
- mHandler.postDelayed(mDelayedRun, 200);
+ mHandler.postDelayed(mDelayedRun, ONE_TOUCH_PLAY_DELAY);
}
private final Runnable mDelayedRun = new Runnable() {
@@ -410,6 +420,8 @@ public class HdmiCecExtend implements VendorCommandListener, HotplugEventListene
@Override
public void run() {
if (isOneTouchPlayOn() && mPlayback != null) {
+ /* to wake up tv in case of last oneTouchPlayAction timeout and not finish when wake up playback and try to start a new action */
+ SendCecMessage(ADDR_TV, buildCecMsg(MESSAGE_TEXT_VIEW_ON, new byte[0]));
mPlayback.oneTouchPlay(mOneTouchPlayCallback);
} else {//need update menu language
updateMenuLanguage();