Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c5f6dc06 authored by Will Leshner's avatar Will Leshner
Browse files

Lock device on short power button press.

If a device is configured to dream on short power press, also make sure
it locks as well.

Also fixes an issue where the screen does not turn off when another
user (not user zero) presses the power button.

Bug: 260135090
Test: manually by configuring device to dream on short power press and
then making sure it is also locked after press.

Change-Id: I16ca4eab7a0e8a3f2ef42c090147bd7e62445c69
parent 1f9eb488
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -1049,6 +1049,19 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            return;
        }

        // Make sure the device locks. Unfortunately, this has the side-effect of briefly revealing
        // the lock screen before the dream appears. Note that this locking behavior needs to
        // happen regardless of whether we end up dreaming (below) or not.
        // TODO(b/261662912): Find a better way to lock the device that doesn't result in jank.
        lockNow(null);

        // Don't dream if the user isn't user zero.
        // TODO(b/261907079): Move this check to DreamManagerService#canStartDreamingInternal().
        if (ActivityManager.getCurrentUser() != UserHandle.USER_SYSTEM) {
            noDreamAction.run();
            return;
        }

        final DreamManagerInternal dreamManagerInternal = getDreamManagerInternal();
        if (dreamManagerInternal == null || !dreamManagerInternal.canStartDreaming(isScreenOn)) {
            noDreamAction.run();