From 677adf1e66ba83b8fb2c849c181303b35bd489bc Mon Sep 17 00:00:00 2001 From: Nick Armstrong-Crews Date: Thu, 27 Aug 2015 13:53:25 -0700 Subject: Handle KEYCODE_SOFT_SLEEP from Ungaze. Needed for Ungaze to trigger "soft sleep" (respecting wake locks); operates by sending new KEYCODE_SOFT_SLEEP to PhoneWindowManager, which calls PowerManagerService's new method setUserInactiveOverride (thereby causing immediate sleep, modulo wakelocks, upon next iteration of PowerManagerService's main loop). BUG: b/23589870 Change-Id: I24a96bd6db8ff28674c907f2898e49c4f6140209 --- core/java/android/os/PowerManagerInternal.java | 6 ++++++ core/java/android/view/KeyEvent.java | 4 +++- core/res/res/values/attrs.xml | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) (limited to 'core') diff --git a/core/java/android/os/PowerManagerInternal.java b/core/java/android/os/PowerManagerInternal.java index e742f98..70cff00 100644 --- a/core/java/android/os/PowerManagerInternal.java +++ b/core/java/android/os/PowerManagerInternal.java @@ -108,6 +108,12 @@ public abstract class PowerManagerInternal { public abstract void setUserActivityTimeoutOverrideFromWindowManager(long timeoutMillis); /** + * Used by the window manager to tell the power manager that the user is no longer actively + * using the device. + */ + public abstract void setUserInactiveOverrideFromWindowManager(); + + /** * Used by device administration to set the maximum screen off timeout. * * This method must only be called by the device administration policy manager. diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java index 52852e7..2bd319c 100644 --- a/core/java/android/view/KeyEvent.java +++ b/core/java/android/view/KeyEvent.java @@ -784,8 +784,10 @@ public class KeyEvent extends InputEvent implements Parcelable { /** Key code constant: Step backward media key. * Steps media backward, one frame at a time. */ public static final int KEYCODE_MEDIA_STEP_BACKWARD = 275; + /** Key code constant: put device to sleep unless a wakelock is held. */ + public static final int KEYCODE_SOFT_SLEEP = 276; - private static final int LAST_KEYCODE = KEYCODE_MEDIA_STEP_BACKWARD; + private static final int LAST_KEYCODE = KEYCODE_SOFT_SLEEP; // NOTE: If you add a new keycode here you must also add it to: // isSystem() diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index a024656..cf83422 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -1814,6 +1814,7 @@ i + -- cgit v1.1