summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chris Li <lihongyu@google.com> 2023-07-26 04:25:10 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-07-26 04:25:10 +0000
commit052558b4415518e45a0b7aa06bd60ed739f0049c (patch)
treed9175e284823f0f90e5325dcd74dbf07f65dbb66
parent5fb46b5664049dfcd598353aedbe16ff8fb23f00 (diff)
parent889ad7c5e0a96709e214ce51851f83324f78f31b (diff)
Merge "Avoid recursion for leaf task fragment in freeform mode" into main am: 30f6d64786 am: c6caf1223e am: 4625943b0e am: c4d7ee11c9 am: 889ad7c5e0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2674876 Change-Id: I41295d4aff0a5fcb990a4a4caffa9ce6ef6b6428 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--services/core/java/com/android/server/wm/TaskFragment.java12
1 files changed, 2 insertions, 10 deletions
diff --git a/services/core/java/com/android/server/wm/TaskFragment.java b/services/core/java/com/android/server/wm/TaskFragment.java
index 57ce368aae87..83949ccae366 100644
--- a/services/core/java/com/android/server/wm/TaskFragment.java
+++ b/services/core/java/com/android/server/wm/TaskFragment.java
@@ -1103,21 +1103,13 @@ class TaskFragment extends WindowContainer<WindowContainer> {
}
final int otherWindowingMode = other.getWindowingMode();
- if (otherWindowingMode == WINDOWING_MODE_FULLSCREEN) {
- if (isTranslucent(other, starting)) {
- // 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 (otherWindowingMode == WINDOWING_MODE_FULLSCREEN
+ || (otherWindowingMode != WINDOWING_MODE_PINNED && other.matchParentBounds())) {
if (isTranslucent(other, starting)) {
// Can be visible behind a translucent TaskFragment.
gotTranslucentFullscreen = true;
continue;
}
- // Multi-window TaskFragment that matches parent bounds would occlude other children
return TASK_FRAGMENT_VISIBILITY_INVISIBLE;
}