Loading services/core/java/com/android/server/am/ActivityDisplay.java +5 −1 Original line number Diff line number Diff line Loading @@ -138,6 +138,10 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> return new DisplayWindowController(mDisplay, this); } DisplayWindowController getWindowContainerController() { return mWindowContainerController; } void updateBounds() { mDisplay.getSize(mTmpDisplaySize); setBounds(0, 0, mTmpDisplaySize.x, mTmpDisplaySize.y); Loading Loading @@ -837,7 +841,7 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> if (mStacks.isEmpty() && mRemoved) { mWindowContainerController.removeContainer(); mWindowContainerController = null; mSupervisor.releaseActivityDisplayLocked(mDisplayId); mSupervisor.removeChild(this); } } Loading services/core/java/com/android/server/am/ActivityStack.java +10 −10 Original line number Diff line number Diff line Loading @@ -775,6 +775,11 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai true /* includingParents */); } void positionChildWindowContainerAtBottom(TaskRecord child) { mWindowContainerController.positionChildAtBottom(child.getWindowContainerController(), true /* includingParents */); } /** * Returns whether to defer the scheduling of the multi-window mode. */ Loading Loading @@ -2859,8 +2864,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai final int position = getAdjustedPositionForTask(task, mTaskHistory.size(), starting); mTaskHistory.add(position, task); updateTaskMovement(task, true); mWindowContainerController.positionChildAtTop(task.getWindowContainerController(), true /* includingParents */); positionChildWindowContainerAtTop(task); } private void insertTaskAtBottom(TaskRecord task) { Loading @@ -2869,8 +2873,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai final int position = getAdjustedPositionForTask(task, 0, null); mTaskHistory.add(position, task); updateTaskMovement(task, true); mWindowContainerController.positionChildAtBottom(task.getWindowContainerController(), true /* includingParents */); positionChildWindowContainerAtBottom(task); } void startActivityLocked(ActivityRecord r, ActivityRecord focusedTopActivity, Loading Loading @@ -3141,8 +3144,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai p.reparent(targetTask, 0 /* position - bottom */, "resetTargetTaskIfNeeded"); } mWindowContainerController.positionChildAtBottom( targetTask.getWindowContainerController(), false /* includingParents */); positionChildWindowContainerAtBottom(targetTask); replyChainEnd = -1; } else if (forceReset || finishOnTaskLaunch || clearWhenTaskReset) { // If the activity should just be removed -- either Loading Loading @@ -3277,8 +3279,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai if (DEBUG_TASKS) Slog.v(TAG_TASKS, "Pulling activity " + p + " from " + srcPos + " in to resetting task " + task); } mWindowContainerController.positionChildAtTop( task.getWindowContainerController(), true /* includingParents */); positionChildWindowContainerAtTop(task); // Now we've moved it in to place... but what if this is // a singleTop activity and we have put it on top of another Loading Loading @@ -5239,8 +5240,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai addTask(task, toTop ? MAX_VALUE : 0, true /* schedulePictureInPictureModeChange */, reason); if (toTop) { // TODO: figure-out a way to remove this call. mWindowContainerController.positionChildAtTop(task.getWindowContainerController(), true /* includingParents */); positionChildWindowContainerAtTop(task); } } Loading services/core/java/com/android/server/am/ActivityStackSupervisor.java +146 −137 File changed.Preview size limit exceeded, changes collapsed. Show changes services/core/java/com/android/server/am/RunningTasks.java +2 −6 Original line number Diff line number Diff line Loading @@ -16,13 +16,9 @@ package com.android.server.am; import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM; import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME; import android.app.ActivityManager.RunningTaskInfo; import android.app.WindowConfiguration.ActivityType; import android.app.WindowConfiguration.WindowingMode; import android.util.SparseArray; import java.util.ArrayList; import java.util.Comparator; Loading @@ -45,7 +41,7 @@ class RunningTasks { private final ArrayList<TaskRecord> mTmpStackTasks = new ArrayList<>(); void getTasks(int maxNum, List<RunningTaskInfo> list, @ActivityType int ignoreActivityType, @WindowingMode int ignoreWindowingMode, SparseArray<ActivityDisplay> activityDisplays, @WindowingMode int ignoreWindowingMode, ArrayList<ActivityDisplay> activityDisplays, int callingUid, boolean allowed) { // Return early if there are no tasks to fetch if (maxNum <= 0) { Loading @@ -56,7 +52,7 @@ class RunningTasks { mTmpSortedSet.clear(); final int numDisplays = activityDisplays.size(); for (int displayNdx = 0; displayNdx < numDisplays; ++displayNdx) { final ActivityDisplay display = activityDisplays.valueAt(displayNdx); final ActivityDisplay display = activityDisplays.get(displayNdx); for (int stackNdx = display.getChildCount() - 1; stackNdx >= 0; --stackNdx) { final ActivityStack stack = display.getChildAt(stackNdx); mTmpStackTasks.clear(); Loading services/core/java/com/android/server/wm/DisplayContent.java +5 −0 Original line number Diff line number Diff line Loading @@ -920,6 +920,11 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo appToken.onRemovedFromDisplay(); } @Override DisplayWindowController getController() { return (DisplayWindowController) super.getController(); } @Override public Display getDisplay() { return mDisplay; Loading Loading
services/core/java/com/android/server/am/ActivityDisplay.java +5 −1 Original line number Diff line number Diff line Loading @@ -138,6 +138,10 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> return new DisplayWindowController(mDisplay, this); } DisplayWindowController getWindowContainerController() { return mWindowContainerController; } void updateBounds() { mDisplay.getSize(mTmpDisplaySize); setBounds(0, 0, mTmpDisplaySize.x, mTmpDisplaySize.y); Loading Loading @@ -837,7 +841,7 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> if (mStacks.isEmpty() && mRemoved) { mWindowContainerController.removeContainer(); mWindowContainerController = null; mSupervisor.releaseActivityDisplayLocked(mDisplayId); mSupervisor.removeChild(this); } } Loading
services/core/java/com/android/server/am/ActivityStack.java +10 −10 Original line number Diff line number Diff line Loading @@ -775,6 +775,11 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai true /* includingParents */); } void positionChildWindowContainerAtBottom(TaskRecord child) { mWindowContainerController.positionChildAtBottom(child.getWindowContainerController(), true /* includingParents */); } /** * Returns whether to defer the scheduling of the multi-window mode. */ Loading Loading @@ -2859,8 +2864,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai final int position = getAdjustedPositionForTask(task, mTaskHistory.size(), starting); mTaskHistory.add(position, task); updateTaskMovement(task, true); mWindowContainerController.positionChildAtTop(task.getWindowContainerController(), true /* includingParents */); positionChildWindowContainerAtTop(task); } private void insertTaskAtBottom(TaskRecord task) { Loading @@ -2869,8 +2873,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai final int position = getAdjustedPositionForTask(task, 0, null); mTaskHistory.add(position, task); updateTaskMovement(task, true); mWindowContainerController.positionChildAtBottom(task.getWindowContainerController(), true /* includingParents */); positionChildWindowContainerAtBottom(task); } void startActivityLocked(ActivityRecord r, ActivityRecord focusedTopActivity, Loading Loading @@ -3141,8 +3144,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai p.reparent(targetTask, 0 /* position - bottom */, "resetTargetTaskIfNeeded"); } mWindowContainerController.positionChildAtBottom( targetTask.getWindowContainerController(), false /* includingParents */); positionChildWindowContainerAtBottom(targetTask); replyChainEnd = -1; } else if (forceReset || finishOnTaskLaunch || clearWhenTaskReset) { // If the activity should just be removed -- either Loading Loading @@ -3277,8 +3279,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai if (DEBUG_TASKS) Slog.v(TAG_TASKS, "Pulling activity " + p + " from " + srcPos + " in to resetting task " + task); } mWindowContainerController.positionChildAtTop( task.getWindowContainerController(), true /* includingParents */); positionChildWindowContainerAtTop(task); // Now we've moved it in to place... but what if this is // a singleTop activity and we have put it on top of another Loading Loading @@ -5239,8 +5240,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai addTask(task, toTop ? MAX_VALUE : 0, true /* schedulePictureInPictureModeChange */, reason); if (toTop) { // TODO: figure-out a way to remove this call. mWindowContainerController.positionChildAtTop(task.getWindowContainerController(), true /* includingParents */); positionChildWindowContainerAtTop(task); } } Loading
services/core/java/com/android/server/am/ActivityStackSupervisor.java +146 −137 File changed.Preview size limit exceeded, changes collapsed. Show changes
services/core/java/com/android/server/am/RunningTasks.java +2 −6 Original line number Diff line number Diff line Loading @@ -16,13 +16,9 @@ package com.android.server.am; import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM; import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME; import android.app.ActivityManager.RunningTaskInfo; import android.app.WindowConfiguration.ActivityType; import android.app.WindowConfiguration.WindowingMode; import android.util.SparseArray; import java.util.ArrayList; import java.util.Comparator; Loading @@ -45,7 +41,7 @@ class RunningTasks { private final ArrayList<TaskRecord> mTmpStackTasks = new ArrayList<>(); void getTasks(int maxNum, List<RunningTaskInfo> list, @ActivityType int ignoreActivityType, @WindowingMode int ignoreWindowingMode, SparseArray<ActivityDisplay> activityDisplays, @WindowingMode int ignoreWindowingMode, ArrayList<ActivityDisplay> activityDisplays, int callingUid, boolean allowed) { // Return early if there are no tasks to fetch if (maxNum <= 0) { Loading @@ -56,7 +52,7 @@ class RunningTasks { mTmpSortedSet.clear(); final int numDisplays = activityDisplays.size(); for (int displayNdx = 0; displayNdx < numDisplays; ++displayNdx) { final ActivityDisplay display = activityDisplays.valueAt(displayNdx); final ActivityDisplay display = activityDisplays.get(displayNdx); for (int stackNdx = display.getChildCount() - 1; stackNdx >= 0; --stackNdx) { final ActivityStack stack = display.getChildAt(stackNdx); mTmpStackTasks.clear(); Loading
services/core/java/com/android/server/wm/DisplayContent.java +5 −0 Original line number Diff line number Diff line Loading @@ -920,6 +920,11 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo appToken.onRemovedFromDisplay(); } @Override DisplayWindowController getController() { return (DisplayWindowController) super.getController(); } @Override public Display getDisplay() { return mDisplay; Loading