From 4b3385c4178ef8e53ed2e81ee4dd50c14dca5a2e Mon Sep 17 00:00:00 2001 From: Jerry Chang Date: Mon, 9 May 2022 07:30:52 +0000 Subject: [PATCH] Fix not showing system bars in split screen Update force showing system bars rule to compatable with single-top split root task hierarchy. Fix: 231700877 Test: put Photos in split screen, tap on any photo to hide took bar won't hide system bars. Test: atest DisplayPolicyTests Change-Id: I219057c32e0baa934189ed6736af951793b239ec --- services/core/java/com/android/server/wm/DisplayPolicy.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java index 62998cb6bc40e..28cbbf7c1a0ac 100644 --- a/services/core/java/com/android/server/wm/DisplayPolicy.java +++ b/services/core/java/com/android/server/wm/DisplayPolicy.java @@ -2404,7 +2404,9 @@ public class DisplayPolicy { private int updateSystemBarsLw(WindowState win, int disableFlags) { final TaskDisplayArea defaultTaskDisplayArea = mDisplayContent.getDefaultTaskDisplayArea(); final boolean multiWindowTaskVisible = - defaultTaskDisplayArea.isRootTaskVisible(WINDOWING_MODE_MULTI_WINDOW); + defaultTaskDisplayArea.getRootTask(task -> task.isVisible() + && task.getTopLeafTask().getWindowingMode() == WINDOWING_MODE_MULTI_WINDOW) + != null; final boolean freeformRootTaskVisible = defaultTaskDisplayArea.isRootTaskVisible(WINDOWING_MODE_FREEFORM);