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

Commit e1702b54 authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Correct keyguard occluding condition for wakeup

The commit [1] changes the usage of occludedByActivity to
mOccluded, but it missed once place for turning screen on.
Which could cause screen to not turn on while app uses
FLAG_SHOW_WHEN_LOCKED + FLAG_TURN_SCREEN_ON.

[1]: I0250025c5e0bc1c7af8c0dc978f441bfbce50326

Bug: 159821769
Bug: 348662989
Flag: EXEMPT bugfix
Test: ActivityVisibilityTests#testTurnScreenOnActivity_slowLaunch
Change-Id: Ic4e07911bc38cc010c41fd3f7d36c06cd64645c8
parent 56b9b7a3
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.server.wm;

import static android.app.WindowConfiguration.ACTIVITY_TYPE_DREAM;
import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER;
import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_APPEARING;
@@ -657,7 +656,6 @@ class KeyguardController {
            final boolean lastKeyguardGoingAway = mKeyguardGoingAway;

            final ActivityRecord lastDismissKeyguardActivity = mDismissingKeyguardActivity;
            final ActivityRecord lastTurnScreenOnActivity = mTopTurnScreenOnActivity;

            mRequestDismissKeyguard = false;
            mOccluded = false;
@@ -666,7 +664,6 @@ class KeyguardController {
            mDismissingKeyguardActivity = null;
            mTopTurnScreenOnActivity = null;

            boolean occludedByActivity = false;
            final Task task = getRootTaskForControllingOccluding(display);
            final ActivityRecord top = task != null ? task.getTopNonFinishingActivity() : null;
            if (top != null) {
@@ -712,7 +709,7 @@ class KeyguardController {

            if (mTopTurnScreenOnActivity != null
                    && !mService.mWindowManager.mPowerManager.isInteractive()
                    && (mRequestDismissKeyguard || occludedByActivity)) {
                    && (mRequestDismissKeyguard || mOccluded)) {
                controller.mTaskSupervisor.wakeUp("handleTurnScreenOn");
                mTopTurnScreenOnActivity.setCurrentLaunchCanTurnScreenOn(false);
            }