diff options
| author | 2024-07-02 16:08:02 +0800 | |
|---|---|---|
| committer | 2024-07-02 16:08:41 +0800 | |
| commit | e1702b54e52fc509acb08bc120603568e0dc368d (patch) | |
| tree | 15ac52c97bda2ce5185db55595859180d9fbbc3a | |
| parent | 56b9b7a3709a3d851d54e0661cbcb4cdfb6a5e87 (diff) | |
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
| -rw-r--r-- | services/core/java/com/android/server/wm/KeyguardController.java | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/KeyguardController.java b/services/core/java/com/android/server/wm/KeyguardController.java index f70d2a58e781..872b4e102565 100644 --- a/services/core/java/com/android/server/wm/KeyguardController.java +++ b/services/core/java/com/android/server/wm/KeyguardController.java @@ -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); } |