summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Riddle Hsu <riddlehsu@google.com> 2024-07-02 16:08:02 +0800
committer Riddle Hsu <riddlehsu@google.com> 2024-07-02 16:08:41 +0800
commite1702b54e52fc509acb08bc120603568e0dc368d (patch)
tree15ac52c97bda2ce5185db55595859180d9fbbc3a
parent56b9b7a3709a3d851d54e0661cbcb4cdfb6a5e87 (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.java5
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);
}