From bf8d33ed1b7d6ee97a8889059b867a56b45ef7d3 Mon Sep 17 00:00:00 2001
From: Robin Lee <rgl@google.com>
Date: Fri, 7 Jun 2024 13:19:03 +0000
Subject: [PATCH] DreamActivity is SHOW_WHEN_LOCKED

Previously DreamService was just setting the layout param
on the window, which mostly works because of special casing
for dream occluding the lockscreen.

However, that special case has some races that are already
dealt with well by the Activity attr logic (because keyguard
occlusion state is otherwise based on activity flags, not
window flags) so setting the Activity-level flag puts keyguard
in the right state earlier on.

Bug: 337917376
Change-Id: I6e7e2ff8c89035775f7f02e22f43b15d7d2a5c08
Flag: EXEMPT bugfix
Test: atest DreamManagerServiceTests
---
 .../java/com/android/server/wm/ActivityTaskManagerService.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 0f5b6c516909..cfd5300417b4 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -1510,7 +1510,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
         a.persistableMode = ActivityInfo.PERSIST_NEVER;
         a.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
         a.colorMode = ActivityInfo.COLOR_MODE_DEFAULT;
-        a.flags |= ActivityInfo.FLAG_EXCLUDE_FROM_RECENTS;
+        a.flags |= ActivityInfo.FLAG_EXCLUDE_FROM_RECENTS | ActivityInfo.FLAG_SHOW_WHEN_LOCKED;
         a.configChanges = 0xffffffff;
 
         if (homePanelDream()) {
-- 
GitLab