diff options
author | Jeff Brown <jeffbrown@google.com> | 2014-03-07 13:58:47 -0800 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2014-03-07 14:02:55 -0800 |
commit | 6212a49a9475768316a999596ffc4dd0f4ce96e5 (patch) | |
tree | c603b01b0acd899910030cf9b7bf9f2097928ec6 /policy | |
parent | 16ed831eb391e1d08050c52579f316ed5505c1e8 (diff) | |
download | frameworks_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.java | 16 |
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: |