summaryrefslogtreecommitdiffstats
path: root/policy
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2014-03-07 13:58:47 -0800
committerJeff Brown <jeffbrown@google.com>2014-03-07 14:02:55 -0800
commit6212a49a9475768316a999596ffc4dd0f4ce96e5 (patch)
treec603b01b0acd899910030cf9b7bf9f2097928ec6 /policy
parent16ed831eb391e1d08050c52579f316ed5505c1e8 (diff)
downloadframeworks_base-6212a49a9475768316a999596ffc4dd0f4ce96e5.zip
frameworks_base-6212a49a9475768316a999596ffc4dd0f4ce96e5.tar.gz
frameworks_base-6212a49a9475768316a999596ffc4dd0f4ce96e5.tar.bz2
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
Diffstat (limited to 'policy')
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindowManager.java16
1 files changed, 15 insertions, 1 deletions
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: