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

Commit 72729f92 authored by Mark Urbanus's avatar Mark Urbanus
Browse files

VRManager: Set initial sleep state to 'AWAKE'

Problem:
Home screen isn't allowed to enter VR mode as part of boot.

Root-cause:
VRManager is not indicating VR Mode is allowed until the system sleep
state gets synchronized.
Because the initial sleep state during boot is AWAKE and remains AWAKE if no
lock-screen is set, VrManager fails to mark VrMode as available due to a
mismatch between its initial internal sleep state and the systems sleep state.
VrManager's initial sleep state is SLEEP, where the system's initial sleep
state is AWAKE.

Solution: Set VrManager's initial sleep state to AWAKE to match the system.

Bug: 35469244
Test: - Validated VrHome comes up properly
      - Tested VrMode is not allowed when the lock-screen is shown
      - Tested VrMode is not allowed when the display is off
      - Tested VrMode is allowed when no lock-screen is set AND the display
        is on.

Change-Id: I42e9da07db21b3ed034c4173fe329cbb7796ee7e
parent 34e8f75b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -130,7 +130,7 @@ public class VrManagerService extends SystemService implements EnabledComponentC
    private final ArrayDeque<VrState> mLoggingDeque = new ArrayDeque<>(EVENT_LOG_SIZE);
    private final NotificationAccessManager mNotifAccessManager = new NotificationAccessManager();
    /** Tracks the state of the screen and keyguard UI.*/
    private int mSystemSleepFlags = FLAG_NONE;
    private int mSystemSleepFlags = FLAG_AWAKE;

    private static final int MSG_VR_STATE_CHANGE = 0;
    private static final int MSG_PENDING_VR_STATE_CHANGE = 1;