Loading services/core/java/com/android/server/wm/DisplayContent.java +1 −1 Original line number Diff line number Diff line Loading @@ -6045,7 +6045,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp static boolean alwaysCreateRootTask(int windowingMode, int activityType) { // Always create a root task for fullscreen, freeform, and multi windowing // modes so that we can manage visual ordering and return types correctly. return activityType == ACTIVITY_TYPE_STANDARD return (activityType == ACTIVITY_TYPE_STANDARD || activityType == ACTIVITY_TYPE_RECENTS) && (windowingMode == WINDOWING_MODE_FULLSCREEN || windowingMode == WINDOWING_MODE_FREEFORM || windowingMode == WINDOWING_MODE_PINNED Loading services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java +16 −13 Original line number Diff line number Diff line Loading @@ -63,6 +63,8 @@ import com.android.server.wm.LaunchParamsController.LaunchParams; import org.junit.Test; import org.junit.runner.RunWith; import java.util.List; /** * Tests for the {@link TaskDisplayArea} container. * Loading Loading @@ -349,7 +351,9 @@ public class TaskDisplayAreaTests extends WindowTestsBase { @Test public void testReuseTaskAsRootTask() { final Task candidateTask = createTask(mDisplayContent); final int type = ACTIVITY_TYPE_STANDARD; List<Integer> activityTypesWithReusableRootTask = List.of(ACTIVITY_TYPE_STANDARD, ACTIVITY_TYPE_RECENTS); for (Integer type : activityTypesWithReusableRootTask) { assertGetOrCreateRootTask(WINDOWING_MODE_FULLSCREEN, type, candidateTask, true /* reuseCandidate */); assertGetOrCreateRootTask(WINDOWING_MODE_UNDEFINED, type, candidateTask, Loading @@ -360,12 +364,11 @@ public class TaskDisplayAreaTests extends WindowTestsBase { true /* reuseCandidate */); assertGetOrCreateRootTask(WINDOWING_MODE_PINNED, type, candidateTask, true /* reuseCandidate */); } final int windowingMode = WINDOWING_MODE_FULLSCREEN; assertGetOrCreateRootTask(windowingMode, ACTIVITY_TYPE_HOME, candidateTask, false /* reuseCandidate */); assertGetOrCreateRootTask(windowingMode, ACTIVITY_TYPE_RECENTS, candidateTask, false /* reuseCandidate */); assertGetOrCreateRootTask(windowingMode, ACTIVITY_TYPE_ASSISTANT, candidateTask, false /* reuseCandidate */); assertGetOrCreateRootTask(windowingMode, ACTIVITY_TYPE_DREAM, candidateTask, Loading Loading
services/core/java/com/android/server/wm/DisplayContent.java +1 −1 Original line number Diff line number Diff line Loading @@ -6045,7 +6045,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp static boolean alwaysCreateRootTask(int windowingMode, int activityType) { // Always create a root task for fullscreen, freeform, and multi windowing // modes so that we can manage visual ordering and return types correctly. return activityType == ACTIVITY_TYPE_STANDARD return (activityType == ACTIVITY_TYPE_STANDARD || activityType == ACTIVITY_TYPE_RECENTS) && (windowingMode == WINDOWING_MODE_FULLSCREEN || windowingMode == WINDOWING_MODE_FREEFORM || windowingMode == WINDOWING_MODE_PINNED Loading
services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java +16 −13 Original line number Diff line number Diff line Loading @@ -63,6 +63,8 @@ import com.android.server.wm.LaunchParamsController.LaunchParams; import org.junit.Test; import org.junit.runner.RunWith; import java.util.List; /** * Tests for the {@link TaskDisplayArea} container. * Loading Loading @@ -349,7 +351,9 @@ public class TaskDisplayAreaTests extends WindowTestsBase { @Test public void testReuseTaskAsRootTask() { final Task candidateTask = createTask(mDisplayContent); final int type = ACTIVITY_TYPE_STANDARD; List<Integer> activityTypesWithReusableRootTask = List.of(ACTIVITY_TYPE_STANDARD, ACTIVITY_TYPE_RECENTS); for (Integer type : activityTypesWithReusableRootTask) { assertGetOrCreateRootTask(WINDOWING_MODE_FULLSCREEN, type, candidateTask, true /* reuseCandidate */); assertGetOrCreateRootTask(WINDOWING_MODE_UNDEFINED, type, candidateTask, Loading @@ -360,12 +364,11 @@ public class TaskDisplayAreaTests extends WindowTestsBase { true /* reuseCandidate */); assertGetOrCreateRootTask(WINDOWING_MODE_PINNED, type, candidateTask, true /* reuseCandidate */); } final int windowingMode = WINDOWING_MODE_FULLSCREEN; assertGetOrCreateRootTask(windowingMode, ACTIVITY_TYPE_HOME, candidateTask, false /* reuseCandidate */); assertGetOrCreateRootTask(windowingMode, ACTIVITY_TYPE_RECENTS, candidateTask, false /* reuseCandidate */); assertGetOrCreateRootTask(windowingMode, ACTIVITY_TYPE_ASSISTANT, candidateTask, false /* reuseCandidate */); assertGetOrCreateRootTask(windowingMode, ACTIVITY_TYPE_DREAM, candidateTask, Loading