From 41cbf49af7d5fc18afa5a734ce69df679b0f13a9 Mon Sep 17 00:00:00 2001 From: Issei Suzuki Date: Wed, 8 Jun 2022 10:27:31 +0000 Subject: [PATCH] Clear ActivityRecord#mDismissKeyguard flag after app launches. This flag is used by the SysUI to dismiss an insecure keyguard when an app is launched from an insecure lock screen. The flag should only affect the app launch once, so needs to be cleared once the flag is processed. Bug: 234583880 Test: atest KeyguardTests#testDismissKeyguard_fromActivityOption_onlyOnce Change-Id: Ia4179b40de7d45b2199b175a6dcc24016dfba091 --- services/core/java/com/android/server/wm/ActivityRecord.java | 1 - services/core/java/com/android/server/wm/KeyguardController.java | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index e2b707234b11a..32242bb805fc8 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -7399,7 +7399,6 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A mTransit = TRANSIT_OLD_UNSET; mTransitFlags = 0; mNeedsAnimationBoundsLayer = false; - mDismissKeyguard = false; setAppLayoutChanges(FINISH_LAYOUT_REDO_ANIM | FINISH_LAYOUT_REDO_WALLPAPER, "ActivityRecord"); diff --git a/services/core/java/com/android/server/wm/KeyguardController.java b/services/core/java/com/android/server/wm/KeyguardController.java index 080719988fba3..ca4376e0f2637 100644 --- a/services/core/java/com/android/server/wm/KeyguardController.java +++ b/services/core/java/com/android/server/wm/KeyguardController.java @@ -627,6 +627,7 @@ class KeyguardController { } else if (top.canShowWhenLocked()) { mTopOccludesActivity = top; } + top.mDismissKeyguard = false; // Only the top activity may control occluded, as we can't occlude the Keyguard // if the top app doesn't want to occlude it.