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

Commit 80d67949 authored by Jerry Chang's avatar Jerry Chang
Browse files

Only reparent controlling tasks when entering split

Only move split controlling tasks to split secondary root when entering
split. So that it could align with launch root rule while in split.

Fix: 187892355
Test: enter split screen while having assist type task in recent,
observed it won't reparent assist type task to split-secondary-root.

Change-Id: I648dc74e2e44d62a0e40d50b29b08dd23b85ed26
parent c91f0da4
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import android.window.WindowContainerToken;
import android.window.WindowContainerTransaction;

import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.ArrayUtils;
import com.android.wm.shell.common.SyncTransactionQueue;
import com.android.wm.shell.transition.Transitions;

@@ -214,8 +215,12 @@ class WindowManagerProxy {
            if (!rootTask.supportsMultiWindow && rootTask.topActivityType != ACTIVITY_TYPE_HOME) {
                continue;
            }
            // Only move fullscreen tasks to split secondary.
            if (rootTask.getWindowingMode() != WINDOWING_MODE_FULLSCREEN) {
            // Only move split controlling tasks to split secondary.
            final int windowingMode = rootTask.getWindowingMode();
            if (!ArrayUtils.contains(CONTROLLED_WINDOWING_MODES, windowingMode)
                    || !ArrayUtils.contains(CONTROLLED_ACTIVITY_TYPES, rootTask.getActivityType())
                    // Excludes split screen secondary due to it's the root we're reparenting to.
                    || windowingMode == WINDOWING_MODE_SPLIT_SCREEN_SECONDARY) {
                continue;
            }
            // Since this iterates from bottom to top, update topHomeTask for every fullscreen task