Loading api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -5215,10 +5215,10 @@ package android.window { method public void onDisplayAreaAppeared(@NonNull android.window.WindowContainerToken); method public void onDisplayAreaVanished(@NonNull android.window.WindowContainerToken); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void registerOrganizer(int); field public static final int FEATURE_DEFAULT_TASK_CONTAINER = 1; // 0x1 field public static final int FEATURE_ROOT = 0; // 0x0 field public static final int FEATURE_SYSTEM_FIRST = 0; // 0x0 field public static final int FEATURE_SYSTEM_LAST = 10000; // 0x2710 field public static final int FEATURE_TASK_CONTAINER = 1; // 0x1 field public static final int FEATURE_UNDEFINED = -1; // 0xffffffff field public static final int FEATURE_VENDOR_FIRST = 10001; // 0x2711 field public static final int FEATURE_WINDOW_TOKENS = 2; // 0x2 Loading core/java/android/window/DisplayAreaOrganizer.java +2 −2 Original line number Diff line number Diff line Loading @@ -33,8 +33,8 @@ public class DisplayAreaOrganizer extends WindowOrganizer { public static final int FEATURE_SYSTEM_FIRST = 0; // The Root display area on a display public static final int FEATURE_ROOT = FEATURE_SYSTEM_FIRST; // Display area hosting the task container. public static final int FEATURE_TASK_CONTAINER = FEATURE_SYSTEM_FIRST + 1; // Display area hosting the default task container. public static final int FEATURE_DEFAULT_TASK_CONTAINER = FEATURE_SYSTEM_FIRST + 1; // Display area hosting non-activity window tokens. public static final int FEATURE_WINDOW_TOKENS = FEATURE_SYSTEM_FIRST + 2; Loading services/core/java/com/android/server/wm/ActivityStackSupervisor.java +1 −1 Original line number Diff line number Diff line Loading @@ -1469,7 +1469,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { if (toDisplay.getDisplayId() != stack.getDisplayId()) { stack.reparent(toDisplay.getDefaultTaskDisplayArea(), false /* onTop */); } else { toDisplay.mTaskContainers.positionStackAtBottom(stack); toDisplay.getDefaultTaskDisplayArea().positionStackAtBottom(stack); } mRootWindowContainer.ensureActivitiesVisible(null, 0, PRESERVE_WINDOWS); Loading services/core/java/com/android/server/wm/DisplayArea.java +0 −2 Original line number Diff line number Diff line Loading @@ -54,7 +54,6 @@ import java.util.function.Predicate; * - BELOW_TASKS: Can only contain BELOW_TASK DisplayAreas and WindowTokens that go below tasks. * - ABOVE_TASKS: Can only contain ABOVE_TASK DisplayAreas and WindowTokens that go above tasks. * - ANY: Can contain any kind of DisplayArea, and any kind of WindowToken or the Task container. * Cannot have a sibling that is of type ANY. * * @param <T> type of the children of the DisplayArea. */ Loading Loading @@ -274,7 +273,6 @@ public class DisplayArea<T extends WindowContainer> extends WindowContainer<T> { ANY; static void checkSiblings(Type bottom, Type top) { checkState(!(bottom == ANY && top == ANY), "ANY cannot be a sibling of ANY"); checkState(!(bottom != BELOW_TASKS && top == BELOW_TASKS), bottom + " must be above BELOW_TASKS"); checkState(!(bottom == ABOVE_TASKS && top != ABOVE_TASKS), Loading services/core/java/com/android/server/wm/DisplayAreaPolicy.java +31 −10 Original line number Diff line number Diff line Loading @@ -16,9 +16,14 @@ package com.android.server.wm; import static android.window.DisplayAreaOrganizer.FEATURE_DEFAULT_TASK_CONTAINER; import android.content.res.Resources; import android.text.TextUtils; import java.util.ArrayList; import java.util.List; /** * Policy that manages DisplayAreas. */ Loading @@ -37,9 +42,9 @@ public abstract class DisplayAreaPolicy { protected final DisplayArea<? extends WindowContainer> mImeContainer; /** * The Tasks container. Tasks etc. are automatically added to this container. * The task display areas. Tasks etc. are automatically added to these containers. */ protected final DisplayArea<? extends ActivityStack> mTaskContainers; protected final List<TaskDisplayArea> mTaskDisplayAreas; /** * Construct a new {@link DisplayAreaPolicy} Loading @@ -48,19 +53,19 @@ public abstract class DisplayAreaPolicy { * @param content the display content for which the policy applies * @param root the root display area under which the policy operates * @param imeContainer the ime container that the policy must attach * @param taskDisplayArea the task container that the policy must attach * @param taskDisplayAreas the task display areas that the policy must attach * * @see #attachDisplayAreas() */ protected DisplayAreaPolicy(WindowManagerService wmService, DisplayContent content, DisplayArea.Root root, DisplayArea<? extends WindowContainer> imeContainer, DisplayArea<? extends ActivityStack> taskDisplayArea) { List<TaskDisplayArea> taskDisplayAreas) { mWmService = wmService; mContent = content; mRoot = root; mImeContainer = imeContainer; mTaskContainers = taskDisplayArea; mTaskDisplayAreas = taskDisplayAreas; } /** Loading @@ -80,15 +85,32 @@ public abstract class DisplayAreaPolicy { */ public abstract void addWindow(WindowToken token); /** * @return the number of task display areas on the display. */ public int getTaskDisplayAreaCount() { return mTaskDisplayAreas.size(); } /** * @return the task display area at index. */ public TaskDisplayArea getTaskDisplayAreaAt(int index) { return mTaskDisplayAreas.get(index); } /** Provider for platform-default display area policy. */ static final class DefaultProvider implements DisplayAreaPolicy.Provider { @Override public DisplayAreaPolicy instantiate(WindowManagerService wmService, DisplayContent content, DisplayArea.Root root, DisplayArea<? extends WindowContainer> imeContainer, TaskDisplayArea taskDisplayArea) { DisplayArea<? extends WindowContainer> imeContainer) { final TaskDisplayArea defaultTaskDisplayArea = new TaskDisplayArea(content, wmService, "DefaultTaskDisplayArea", FEATURE_DEFAULT_TASK_CONTAINER); final List<TaskDisplayArea> tdaList = new ArrayList<>(); tdaList.add(defaultTaskDisplayArea); return new DisplayAreaPolicyBuilder() .build(wmService, content, root, imeContainer, taskDisplayArea); .build(wmService, content, root, imeContainer, tdaList); } } Loading @@ -107,8 +129,7 @@ public abstract class DisplayAreaPolicy { */ DisplayAreaPolicy instantiate(WindowManagerService wmService, DisplayContent content, DisplayArea.Root root, DisplayArea<? extends WindowContainer> imeContainer, TaskDisplayArea taskDisplayArea); DisplayArea<? extends WindowContainer> imeContainer); /** * Instantiate the device-specific {@link Provider}. Loading Loading
api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -5215,10 +5215,10 @@ package android.window { method public void onDisplayAreaAppeared(@NonNull android.window.WindowContainerToken); method public void onDisplayAreaVanished(@NonNull android.window.WindowContainerToken); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void registerOrganizer(int); field public static final int FEATURE_DEFAULT_TASK_CONTAINER = 1; // 0x1 field public static final int FEATURE_ROOT = 0; // 0x0 field public static final int FEATURE_SYSTEM_FIRST = 0; // 0x0 field public static final int FEATURE_SYSTEM_LAST = 10000; // 0x2710 field public static final int FEATURE_TASK_CONTAINER = 1; // 0x1 field public static final int FEATURE_UNDEFINED = -1; // 0xffffffff field public static final int FEATURE_VENDOR_FIRST = 10001; // 0x2711 field public static final int FEATURE_WINDOW_TOKENS = 2; // 0x2 Loading
core/java/android/window/DisplayAreaOrganizer.java +2 −2 Original line number Diff line number Diff line Loading @@ -33,8 +33,8 @@ public class DisplayAreaOrganizer extends WindowOrganizer { public static final int FEATURE_SYSTEM_FIRST = 0; // The Root display area on a display public static final int FEATURE_ROOT = FEATURE_SYSTEM_FIRST; // Display area hosting the task container. public static final int FEATURE_TASK_CONTAINER = FEATURE_SYSTEM_FIRST + 1; // Display area hosting the default task container. public static final int FEATURE_DEFAULT_TASK_CONTAINER = FEATURE_SYSTEM_FIRST + 1; // Display area hosting non-activity window tokens. public static final int FEATURE_WINDOW_TOKENS = FEATURE_SYSTEM_FIRST + 2; Loading
services/core/java/com/android/server/wm/ActivityStackSupervisor.java +1 −1 Original line number Diff line number Diff line Loading @@ -1469,7 +1469,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { if (toDisplay.getDisplayId() != stack.getDisplayId()) { stack.reparent(toDisplay.getDefaultTaskDisplayArea(), false /* onTop */); } else { toDisplay.mTaskContainers.positionStackAtBottom(stack); toDisplay.getDefaultTaskDisplayArea().positionStackAtBottom(stack); } mRootWindowContainer.ensureActivitiesVisible(null, 0, PRESERVE_WINDOWS); Loading
services/core/java/com/android/server/wm/DisplayArea.java +0 −2 Original line number Diff line number Diff line Loading @@ -54,7 +54,6 @@ import java.util.function.Predicate; * - BELOW_TASKS: Can only contain BELOW_TASK DisplayAreas and WindowTokens that go below tasks. * - ABOVE_TASKS: Can only contain ABOVE_TASK DisplayAreas and WindowTokens that go above tasks. * - ANY: Can contain any kind of DisplayArea, and any kind of WindowToken or the Task container. * Cannot have a sibling that is of type ANY. * * @param <T> type of the children of the DisplayArea. */ Loading Loading @@ -274,7 +273,6 @@ public class DisplayArea<T extends WindowContainer> extends WindowContainer<T> { ANY; static void checkSiblings(Type bottom, Type top) { checkState(!(bottom == ANY && top == ANY), "ANY cannot be a sibling of ANY"); checkState(!(bottom != BELOW_TASKS && top == BELOW_TASKS), bottom + " must be above BELOW_TASKS"); checkState(!(bottom == ABOVE_TASKS && top != ABOVE_TASKS), Loading
services/core/java/com/android/server/wm/DisplayAreaPolicy.java +31 −10 Original line number Diff line number Diff line Loading @@ -16,9 +16,14 @@ package com.android.server.wm; import static android.window.DisplayAreaOrganizer.FEATURE_DEFAULT_TASK_CONTAINER; import android.content.res.Resources; import android.text.TextUtils; import java.util.ArrayList; import java.util.List; /** * Policy that manages DisplayAreas. */ Loading @@ -37,9 +42,9 @@ public abstract class DisplayAreaPolicy { protected final DisplayArea<? extends WindowContainer> mImeContainer; /** * The Tasks container. Tasks etc. are automatically added to this container. * The task display areas. Tasks etc. are automatically added to these containers. */ protected final DisplayArea<? extends ActivityStack> mTaskContainers; protected final List<TaskDisplayArea> mTaskDisplayAreas; /** * Construct a new {@link DisplayAreaPolicy} Loading @@ -48,19 +53,19 @@ public abstract class DisplayAreaPolicy { * @param content the display content for which the policy applies * @param root the root display area under which the policy operates * @param imeContainer the ime container that the policy must attach * @param taskDisplayArea the task container that the policy must attach * @param taskDisplayAreas the task display areas that the policy must attach * * @see #attachDisplayAreas() */ protected DisplayAreaPolicy(WindowManagerService wmService, DisplayContent content, DisplayArea.Root root, DisplayArea<? extends WindowContainer> imeContainer, DisplayArea<? extends ActivityStack> taskDisplayArea) { List<TaskDisplayArea> taskDisplayAreas) { mWmService = wmService; mContent = content; mRoot = root; mImeContainer = imeContainer; mTaskContainers = taskDisplayArea; mTaskDisplayAreas = taskDisplayAreas; } /** Loading @@ -80,15 +85,32 @@ public abstract class DisplayAreaPolicy { */ public abstract void addWindow(WindowToken token); /** * @return the number of task display areas on the display. */ public int getTaskDisplayAreaCount() { return mTaskDisplayAreas.size(); } /** * @return the task display area at index. */ public TaskDisplayArea getTaskDisplayAreaAt(int index) { return mTaskDisplayAreas.get(index); } /** Provider for platform-default display area policy. */ static final class DefaultProvider implements DisplayAreaPolicy.Provider { @Override public DisplayAreaPolicy instantiate(WindowManagerService wmService, DisplayContent content, DisplayArea.Root root, DisplayArea<? extends WindowContainer> imeContainer, TaskDisplayArea taskDisplayArea) { DisplayArea<? extends WindowContainer> imeContainer) { final TaskDisplayArea defaultTaskDisplayArea = new TaskDisplayArea(content, wmService, "DefaultTaskDisplayArea", FEATURE_DEFAULT_TASK_CONTAINER); final List<TaskDisplayArea> tdaList = new ArrayList<>(); tdaList.add(defaultTaskDisplayArea); return new DisplayAreaPolicyBuilder() .build(wmService, content, root, imeContainer, taskDisplayArea); .build(wmService, content, root, imeContainer, tdaList); } } Loading @@ -107,8 +129,7 @@ public abstract class DisplayAreaPolicy { */ DisplayAreaPolicy instantiate(WindowManagerService wmService, DisplayContent content, DisplayArea.Root root, DisplayArea<? extends WindowContainer> imeContainer, TaskDisplayArea taskDisplayArea); DisplayArea<? extends WindowContainer> imeContainer); /** * Instantiate the device-specific {@link Provider}. Loading