Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7181301a authored by tanxiaoyan's avatar tanxiaoyan
Browse files

Avoid recursion for leaf task fragment in freeform mode



We should not traverse all leaf taskfragments when app create task fragment but is in freeform mode.

Bug:292868273

Change-Id: I99aa05bf814009948e5ff8c58d1ebb26116c3b60
Signed-off-by: default avatartanxiaoyan <tanxiaoyan@xiaomi.com>
parent e7627bd7
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -1089,21 +1089,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;
            }