From 6212a49a9475768316a999596ffc4dd0f4ce96e5 Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Fri, 7 Mar 2014 13:58:47 -0800 Subject: Declare KEYCODE_SLEEP and KEYCODE_WAKEUP. These new keys behave in similarly to KEYCODE_POWER but do not simply toggle between awake and asleep states. Sleep puts the device to sleep if it is awake. Wakeup wakes up the device if it is asleep. Bug: 12938999 Change-Id: I260fb918cc858882fe06fa880910df5763a76c5d --- .../android/internal/policy/impl/PhoneWindowManager.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'policy') diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 5e90c11..f53868b 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -3816,7 +3816,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { mKeyguardDelegate.isShowingAndNotHidden() : mKeyguardDelegate.isShowing())); - if (keyCode == KeyEvent.KEYCODE_POWER) { + if (keyCode == KeyEvent.KEYCODE_POWER + || keyCode == KeyEvent.KEYCODE_SLEEP + || keyCode == KeyEvent.KEYCODE_WAKEUP) { policyFlags |= WindowManagerPolicy.FLAG_WAKE; } @@ -4013,6 +4015,18 @@ public class PhoneWindowManager implements WindowManagerPolicy { break; } + case KeyEvent.KEYCODE_SLEEP: { + result &= ~ACTION_PASS_TO_USER; + mPowerManager.goToSleep(event.getEventTime()); + isWakeKey = false; + break; + } + + case KeyEvent.KEYCODE_WAKEUP: { + result &= ~ACTION_PASS_TO_USER; + break; + } + case KeyEvent.KEYCODE_MEDIA_PLAY: case KeyEvent.KEYCODE_MEDIA_PAUSE: case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE: -- cgit v1.1