Merge "Avoid recursion for leaf task fragment in freeform mode" into main am: 30f6d64786 am: c6caf1223e

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2674876

Change-Id: I1a75c78cd6ed41d4b7e279252bb8448530fbd23d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Chris Li
2023-07-26 02:54:25 +00:00
committed by Automerger Merge Worker

View File

@@ -1081,21 +1081,13 @@ class TaskFragment extends WindowContainer<WindowContainer> {
} }
final int otherWindowingMode = other.getWindowingMode(); final int otherWindowingMode = other.getWindowingMode();
if (otherWindowingMode == WINDOWING_MODE_FULLSCREEN) { if (otherWindowingMode == WINDOWING_MODE_FULLSCREEN
if (isTranslucent(other, starting)) { || (otherWindowingMode != WINDOWING_MODE_PINNED && other.matchParentBounds())) {
// Can be visible behind a translucent fullscreen TaskFragment.
gotTranslucentFullscreen = true;
continue;
}
return TASK_FRAGMENT_VISIBILITY_INVISIBLE;
} else if (otherWindowingMode == WINDOWING_MODE_MULTI_WINDOW
&& other.matchParentBounds()) {
if (isTranslucent(other, starting)) { if (isTranslucent(other, starting)) {
// Can be visible behind a translucent TaskFragment. // Can be visible behind a translucent TaskFragment.
gotTranslucentFullscreen = true; gotTranslucentFullscreen = true;
continue; continue;
} }
// Multi-window TaskFragment that matches parent bounds would occlude other children
return TASK_FRAGMENT_VISIBILITY_INVISIBLE; return TASK_FRAGMENT_VISIBILITY_INVISIBLE;
} }