author | Jinping 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) |
commit | 324328bc2954086d3f4173ae8640b9b121bcfdb8 (patch) | |
tree | 3b681243811366c1f3072b096d6345d4abaa5b9f | |
parent | 715ed80d78d47e6222afd5078a976d6a2eba03b4 (diff) | |
download | frameworks-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
-rw-r--r-- | core/res/src/com/droidlogic/HdmiCecExtend.java | 20 |
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(); |