From d73abe2bbf81279afbd43fc938bc88616a89e4fd Mon Sep 17 00:00:00 2001 From: Louis Chang Date: Thu, 9 Apr 2020 13:15:34 +0800 Subject: [PATCH] Determine if the activity is the topmost one ActivityStack#mTopActivityOccludesKeyguard may be incorrectly updated by a non-top activity. Bug: 149837574 Test: start emergency dialer from lockscreen Change-Id: I830e572f008cbebb95f0d76416c70d948063dd97 --- services/core/java/com/android/server/wm/ActivityRecord.java | 3 ++- 1 file changed, 2 insertions(+), 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 c47d2151a9581..de2e2489f19ca 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -7355,7 +7355,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } final ActivityStack stack = getRootTask(); return stack != null && - stack.checkKeyguardVisibility(this, true /* shouldBeVisible */, true /* isTop */); + stack.checkKeyguardVisibility(this, true /* shouldBeVisible */, + stack.topRunningActivity() == this /* isTop */); } void setTurnScreenOn(boolean turnScreenOn) {