Loading services/core/java/com/android/server/wm/DisplayAreaOrganizerController.java +6 −5 Original line number Diff line number Diff line Loading @@ -319,8 +319,9 @@ public class DisplayAreaOrganizerController extends IDisplayAreaOrganizerControl */ private TaskDisplayArea createTaskDisplayArea(RootDisplayArea root, String name, int taskDisplayAreaFeatureId) { final TaskDisplayArea taskDisplayArea = new TaskDisplayArea(root.mDisplayContent, root.mWmService, name, taskDisplayAreaFeatureId, true /* createdByOrganizer */); final TaskDisplayArea taskDisplayArea = new TaskDisplayArea(root.mWmService, name, taskDisplayAreaFeatureId, true /* createdByOrganizer */, true /* canHostHomeTask */); // Find the top most DA that can contain Task (either a TDA or a DisplayAreaGroup). final DisplayArea topTaskContainer = root.getItemFromDisplayAreas(da -> { Loading Loading @@ -352,9 +353,9 @@ public class DisplayAreaOrganizerController extends IDisplayAreaOrganizerControl */ private TaskDisplayArea createTaskDisplayArea(TaskDisplayArea parentTda, String name, int taskDisplayAreaFeatureId) { final TaskDisplayArea taskDisplayArea = new TaskDisplayArea(parentTda.mDisplayContent, parentTda.mWmService, name, taskDisplayAreaFeatureId, true /* createdByOrganizer */); final TaskDisplayArea taskDisplayArea = new TaskDisplayArea(parentTda.mWmService, name, taskDisplayAreaFeatureId, true /* createdByOrganizer */, true /* canHostHomeTask */); // Insert the TaskDisplayArea on the top. parentTda.addChild(taskDisplayArea, WindowContainer.POSITION_TOP); Loading services/core/java/com/android/server/wm/DisplayAreaPolicy.java +5 −3 Original line number Diff line number Diff line Loading @@ -117,8 +117,9 @@ public abstract class DisplayAreaPolicy { public DisplayAreaPolicy instantiate(WindowManagerService wmService, DisplayContent content, RootDisplayArea root, DisplayArea.Tokens imeContainer) { final TaskDisplayArea defaultTaskDisplayArea = new TaskDisplayArea(content, wmService, "DefaultTaskDisplayArea", FEATURE_DEFAULT_TASK_CONTAINER); final TaskDisplayArea defaultTaskDisplayArea = new TaskDisplayArea(wmService, "DefaultTaskDisplayArea", FEATURE_DEFAULT_TASK_CONTAINER, false /* createdByOrganizer */, true /* canHostHomeTask */); final List<TaskDisplayArea> tdaList = new ArrayList<>(); tdaList.add(defaultTaskDisplayArea); Loading @@ -134,7 +135,8 @@ public abstract class DisplayAreaPolicy { // Instantiate the policy with the hierarchy defined above. This will create and attach // all the necessary DisplayAreas to the root. return new DisplayAreaPolicyBuilder().setRootHierarchy(rootHierarchy).build(wmService); return new DisplayAreaPolicyBuilder(content.getDisplayId(), rootHierarchy) .build(wmService); } private void configureTrustedHierarchyBuilder(HierarchyBuilder rootHierarchy, Loading services/core/java/com/android/server/wm/DisplayAreaPolicyBuilder.java +139 −96 File changed.Preview size limit exceeded, changes collapsed. Show changes services/core/java/com/android/server/wm/RootWindowContainer.java +1 −2 Original line number Diff line number Diff line Loading @@ -1207,8 +1207,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent> final TaskDisplayArea defaultTaskDisplayArea = getDefaultTaskDisplayArea(); defaultTaskDisplayArea.getOrCreateRootHomeTask(ON_TOP); positionChildAt(POSITION_TOP, defaultTaskDisplayArea.mDisplayContent, false /* includingParents */); positionChildAt(POSITION_TOP, mDefaultDisplay, false /* includingParents */); } /** Loading services/core/java/com/android/server/wm/TaskDisplayArea.java +8 −18 Original line number Diff line number Diff line Loading @@ -74,8 +74,6 @@ import java.util.function.Predicate; */ final class TaskDisplayArea extends DisplayArea<WindowContainer> { DisplayContent mDisplayContent; // Cached reference to some special tasks we tend to get a lot so we don't need to loop // through the list to find them. private Task mRootHomeTask; Loading Loading @@ -158,23 +156,15 @@ final class TaskDisplayArea extends DisplayArea<WindowContainer> { private final Configuration mTempConfiguration = new Configuration(); TaskDisplayArea(DisplayContent displayContent, WindowManagerService service, String name, int displayAreaFeature) { this(displayContent, service, name, displayAreaFeature, false /* createdByOrganizer */, true /* canHostHomeTask */); } TaskDisplayArea(DisplayContent displayContent, WindowManagerService service, String name, int displayAreaFeature, boolean createdByOrganizer) { this(displayContent, service, name, displayAreaFeature, createdByOrganizer, true /* canHostHomeTask */); } TaskDisplayArea(DisplayContent displayContent, WindowManagerService service, String name, int displayAreaFeature, boolean createdByOrganizer, boolean canHostHomeTask) { /** * @param createdByOrganizer whether this TaskDisplayArea is created by a * {@link android.window.WindowOrganizer}. * @param canHostHomeTask whether this TaskDisplayArea can have a home task child * {@link WindowConfiguration#ACTIVITY_TYPE_HOME} */ TaskDisplayArea(@NonNull WindowManagerService service, @NonNull String name, int displayAreaFeature, boolean createdByOrganizer, boolean canHostHomeTask) { super(service, Type.ANY, name, displayAreaFeature); mDisplayContent = displayContent; mRootWindowContainer = service.mRoot; mAtmService = service.mAtmService; mCreatedByOrganizer = createdByOrganizer; Loading Loading
services/core/java/com/android/server/wm/DisplayAreaOrganizerController.java +6 −5 Original line number Diff line number Diff line Loading @@ -319,8 +319,9 @@ public class DisplayAreaOrganizerController extends IDisplayAreaOrganizerControl */ private TaskDisplayArea createTaskDisplayArea(RootDisplayArea root, String name, int taskDisplayAreaFeatureId) { final TaskDisplayArea taskDisplayArea = new TaskDisplayArea(root.mDisplayContent, root.mWmService, name, taskDisplayAreaFeatureId, true /* createdByOrganizer */); final TaskDisplayArea taskDisplayArea = new TaskDisplayArea(root.mWmService, name, taskDisplayAreaFeatureId, true /* createdByOrganizer */, true /* canHostHomeTask */); // Find the top most DA that can contain Task (either a TDA or a DisplayAreaGroup). final DisplayArea topTaskContainer = root.getItemFromDisplayAreas(da -> { Loading Loading @@ -352,9 +353,9 @@ public class DisplayAreaOrganizerController extends IDisplayAreaOrganizerControl */ private TaskDisplayArea createTaskDisplayArea(TaskDisplayArea parentTda, String name, int taskDisplayAreaFeatureId) { final TaskDisplayArea taskDisplayArea = new TaskDisplayArea(parentTda.mDisplayContent, parentTda.mWmService, name, taskDisplayAreaFeatureId, true /* createdByOrganizer */); final TaskDisplayArea taskDisplayArea = new TaskDisplayArea(parentTda.mWmService, name, taskDisplayAreaFeatureId, true /* createdByOrganizer */, true /* canHostHomeTask */); // Insert the TaskDisplayArea on the top. parentTda.addChild(taskDisplayArea, WindowContainer.POSITION_TOP); Loading
services/core/java/com/android/server/wm/DisplayAreaPolicy.java +5 −3 Original line number Diff line number Diff line Loading @@ -117,8 +117,9 @@ public abstract class DisplayAreaPolicy { public DisplayAreaPolicy instantiate(WindowManagerService wmService, DisplayContent content, RootDisplayArea root, DisplayArea.Tokens imeContainer) { final TaskDisplayArea defaultTaskDisplayArea = new TaskDisplayArea(content, wmService, "DefaultTaskDisplayArea", FEATURE_DEFAULT_TASK_CONTAINER); final TaskDisplayArea defaultTaskDisplayArea = new TaskDisplayArea(wmService, "DefaultTaskDisplayArea", FEATURE_DEFAULT_TASK_CONTAINER, false /* createdByOrganizer */, true /* canHostHomeTask */); final List<TaskDisplayArea> tdaList = new ArrayList<>(); tdaList.add(defaultTaskDisplayArea); Loading @@ -134,7 +135,8 @@ public abstract class DisplayAreaPolicy { // Instantiate the policy with the hierarchy defined above. This will create and attach // all the necessary DisplayAreas to the root. return new DisplayAreaPolicyBuilder().setRootHierarchy(rootHierarchy).build(wmService); return new DisplayAreaPolicyBuilder(content.getDisplayId(), rootHierarchy) .build(wmService); } private void configureTrustedHierarchyBuilder(HierarchyBuilder rootHierarchy, Loading
services/core/java/com/android/server/wm/DisplayAreaPolicyBuilder.java +139 −96 File changed.Preview size limit exceeded, changes collapsed. Show changes
services/core/java/com/android/server/wm/RootWindowContainer.java +1 −2 Original line number Diff line number Diff line Loading @@ -1207,8 +1207,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent> final TaskDisplayArea defaultTaskDisplayArea = getDefaultTaskDisplayArea(); defaultTaskDisplayArea.getOrCreateRootHomeTask(ON_TOP); positionChildAt(POSITION_TOP, defaultTaskDisplayArea.mDisplayContent, false /* includingParents */); positionChildAt(POSITION_TOP, mDefaultDisplay, false /* includingParents */); } /** Loading
services/core/java/com/android/server/wm/TaskDisplayArea.java +8 −18 Original line number Diff line number Diff line Loading @@ -74,8 +74,6 @@ import java.util.function.Predicate; */ final class TaskDisplayArea extends DisplayArea<WindowContainer> { DisplayContent mDisplayContent; // Cached reference to some special tasks we tend to get a lot so we don't need to loop // through the list to find them. private Task mRootHomeTask; Loading Loading @@ -158,23 +156,15 @@ final class TaskDisplayArea extends DisplayArea<WindowContainer> { private final Configuration mTempConfiguration = new Configuration(); TaskDisplayArea(DisplayContent displayContent, WindowManagerService service, String name, int displayAreaFeature) { this(displayContent, service, name, displayAreaFeature, false /* createdByOrganizer */, true /* canHostHomeTask */); } TaskDisplayArea(DisplayContent displayContent, WindowManagerService service, String name, int displayAreaFeature, boolean createdByOrganizer) { this(displayContent, service, name, displayAreaFeature, createdByOrganizer, true /* canHostHomeTask */); } TaskDisplayArea(DisplayContent displayContent, WindowManagerService service, String name, int displayAreaFeature, boolean createdByOrganizer, boolean canHostHomeTask) { /** * @param createdByOrganizer whether this TaskDisplayArea is created by a * {@link android.window.WindowOrganizer}. * @param canHostHomeTask whether this TaskDisplayArea can have a home task child * {@link WindowConfiguration#ACTIVITY_TYPE_HOME} */ TaskDisplayArea(@NonNull WindowManagerService service, @NonNull String name, int displayAreaFeature, boolean createdByOrganizer, boolean canHostHomeTask) { super(service, Type.ANY, name, displayAreaFeature); mDisplayContent = displayContent; mRootWindowContainer = service.mRoot; mAtmService = service.mAtmService; mCreatedByOrganizer = createdByOrganizer; Loading