From 8cc7529a2f182e87acc1ff5f1993fb3259d5de14 Mon Sep 17 00:00:00 2001 From: Bryce Lee Date: Sun, 18 Jul 2021 10:06:57 -0700 Subject: [PATCH] Add lock or sleep power button behavior. This changelist defines a new short-press button behavior, which will lock the device or put the device to sleep if already locked. This enables use-cases where the power button should first return to the lock screen. Bug: 194002900 Test: manual Change-Id: I3098e6244563cb62facb7b0b35300e656b744c7c --- .../com/android/server/policy/PhoneWindowManager.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index fb4d96e305fca..e7636fcd2e6a5 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -261,6 +261,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { static final int SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP_AND_GO_HOME = 3; static final int SHORT_PRESS_POWER_GO_HOME = 4; static final int SHORT_PRESS_POWER_CLOSE_IME_OR_GO_HOME = 5; + static final int SHORT_PRESS_POWER_LOCK_OR_SLEEP = 6; // must match: config_LongPressOnPowerBehavior in config.xml static final int LONG_PRESS_POWER_NOTHING = 0; @@ -976,6 +977,14 @@ public class PhoneWindowManager implements WindowManagerPolicy { } break; } + case SHORT_PRESS_POWER_LOCK_OR_SLEEP: { + if (keyguardOn()) { + sleepDefaultDisplayFromPowerButton(eventTime, 0); + } else { + lockNow(null /*options*/); + } + break; + } } } }