Loading services/core/java/com/android/server/wm/RecentTasks.java +0 −26 Original line number Diff line number Diff line Loading @@ -713,26 +713,6 @@ class RecentTasks { } } /** * Removes the oldest recent task that is compatible with the given one. This is possible if * the task windowing mode changed after being added to the Recents. */ void removeCompatibleRecentTask(Task task) { final int taskIndex = mTasks.indexOf(task); if (taskIndex < 0) { return; } final int candidateIndex = findRemoveIndexForTask(task, false /* includingSelf */); if (candidateIndex == -1) { // Nothing to trim return; } final Task taskToRemove = taskIndex > candidateIndex ? task : mTasks.get(candidateIndex); remove(taskToRemove); } void removeTasksByPackageName(String packageName, int userId) { for (int i = mTasks.size() - 1; i >= 0; --i) { final Task task = mTasks.get(i); Loading Loading @@ -1620,10 +1600,6 @@ class RecentTasks { * list (if any). */ private int findRemoveIndexForAddTask(Task task) { return findRemoveIndexForTask(task, true /* includingSelf */); } private int findRemoveIndexForTask(Task task, boolean includingSelf) { final int recentsCount = mTasks.size(); final Intent intent = task.intent; final boolean document = intent != null && intent.isDocument(); Loading Loading @@ -1679,8 +1655,6 @@ class RecentTasks { // existing task continue; } } else if (!includingSelf) { continue; } return i; } Loading services/core/java/com/android/server/wm/WindowOrganizerController.java +0 −7 Original line number Diff line number Diff line Loading @@ -1872,7 +1872,6 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub final int count = tasksToReparent.size(); for (int i = 0; i < count; ++i) { final Task task = tasksToReparent.get(i); final int prevWindowingMode = task.getWindowingMode(); if (syncId >= 0) { addToSyncSet(syncId, task); } Loading @@ -1886,12 +1885,6 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub hop.getToTop() ? POSITION_TOP : POSITION_BOTTOM, false /*moveParents*/, "processChildrenTaskReparentHierarchyOp"); } // Trim the compatible Recent task (if any) after the Task is reparented and now has // a different windowing mode, in order to prevent redundant Recent tasks after // reparenting. if (prevWindowingMode != task.getWindowingMode()) { mService.mTaskSupervisor.mRecentTasks.removeCompatibleRecentTask(task); } } if (transition != null) transition.collect(newParent); Loading services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java +0 −20 Original line number Diff line number Diff line Loading @@ -1373,26 +1373,6 @@ public class RecentTasksTest extends WindowTestsBase { assertTrue(info.supportsMultiWindow); } @Test public void testRemoveCompatibleRecentTask() { final Task task1 = createTaskBuilder(".Task").setWindowingMode( WINDOWING_MODE_FULLSCREEN).build(); mRecentTasks.add(task1); final Task task2 = createTaskBuilder(".Task").setWindowingMode( WINDOWING_MODE_MULTI_WINDOW).build(); mRecentTasks.add(task2); assertEquals(2, mRecentTasks.getRecentTasks(MAX_VALUE, 0 /* flags */, true /* getTasksAllowed */, TEST_USER_0_ID, 0).getList().size()); // Set windowing mode and ensure the same fullscreen task that created earlier is removed. task2.setWindowingMode(WINDOWING_MODE_FULLSCREEN); mRecentTasks.removeCompatibleRecentTask(task2); assertEquals(1, mRecentTasks.getRecentTasks(MAX_VALUE, 0 /* flags */, true /* getTasksAllowed */, TEST_USER_0_ID, 0).getList().size()); assertEquals(task2.mTaskId, mRecentTasks.getRecentTasks(MAX_VALUE, 0 /* flags */, true /* getTasksAllowed */, TEST_USER_0_ID, 0).getList().get(0).taskId); } private TaskSnapshot createSnapshot(Point taskSize, Point bufferSize) { HardwareBuffer buffer = null; if (bufferSize != null) { Loading Loading
services/core/java/com/android/server/wm/RecentTasks.java +0 −26 Original line number Diff line number Diff line Loading @@ -713,26 +713,6 @@ class RecentTasks { } } /** * Removes the oldest recent task that is compatible with the given one. This is possible if * the task windowing mode changed after being added to the Recents. */ void removeCompatibleRecentTask(Task task) { final int taskIndex = mTasks.indexOf(task); if (taskIndex < 0) { return; } final int candidateIndex = findRemoveIndexForTask(task, false /* includingSelf */); if (candidateIndex == -1) { // Nothing to trim return; } final Task taskToRemove = taskIndex > candidateIndex ? task : mTasks.get(candidateIndex); remove(taskToRemove); } void removeTasksByPackageName(String packageName, int userId) { for (int i = mTasks.size() - 1; i >= 0; --i) { final Task task = mTasks.get(i); Loading Loading @@ -1620,10 +1600,6 @@ class RecentTasks { * list (if any). */ private int findRemoveIndexForAddTask(Task task) { return findRemoveIndexForTask(task, true /* includingSelf */); } private int findRemoveIndexForTask(Task task, boolean includingSelf) { final int recentsCount = mTasks.size(); final Intent intent = task.intent; final boolean document = intent != null && intent.isDocument(); Loading Loading @@ -1679,8 +1655,6 @@ class RecentTasks { // existing task continue; } } else if (!includingSelf) { continue; } return i; } Loading
services/core/java/com/android/server/wm/WindowOrganizerController.java +0 −7 Original line number Diff line number Diff line Loading @@ -1872,7 +1872,6 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub final int count = tasksToReparent.size(); for (int i = 0; i < count; ++i) { final Task task = tasksToReparent.get(i); final int prevWindowingMode = task.getWindowingMode(); if (syncId >= 0) { addToSyncSet(syncId, task); } Loading @@ -1886,12 +1885,6 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub hop.getToTop() ? POSITION_TOP : POSITION_BOTTOM, false /*moveParents*/, "processChildrenTaskReparentHierarchyOp"); } // Trim the compatible Recent task (if any) after the Task is reparented and now has // a different windowing mode, in order to prevent redundant Recent tasks after // reparenting. if (prevWindowingMode != task.getWindowingMode()) { mService.mTaskSupervisor.mRecentTasks.removeCompatibleRecentTask(task); } } if (transition != null) transition.collect(newParent); Loading
services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java +0 −20 Original line number Diff line number Diff line Loading @@ -1373,26 +1373,6 @@ public class RecentTasksTest extends WindowTestsBase { assertTrue(info.supportsMultiWindow); } @Test public void testRemoveCompatibleRecentTask() { final Task task1 = createTaskBuilder(".Task").setWindowingMode( WINDOWING_MODE_FULLSCREEN).build(); mRecentTasks.add(task1); final Task task2 = createTaskBuilder(".Task").setWindowingMode( WINDOWING_MODE_MULTI_WINDOW).build(); mRecentTasks.add(task2); assertEquals(2, mRecentTasks.getRecentTasks(MAX_VALUE, 0 /* flags */, true /* getTasksAllowed */, TEST_USER_0_ID, 0).getList().size()); // Set windowing mode and ensure the same fullscreen task that created earlier is removed. task2.setWindowingMode(WINDOWING_MODE_FULLSCREEN); mRecentTasks.removeCompatibleRecentTask(task2); assertEquals(1, mRecentTasks.getRecentTasks(MAX_VALUE, 0 /* flags */, true /* getTasksAllowed */, TEST_USER_0_ID, 0).getList().size()); assertEquals(task2.mTaskId, mRecentTasks.getRecentTasks(MAX_VALUE, 0 /* flags */, true /* getTasksAllowed */, TEST_USER_0_ID, 0).getList().get(0).taskId); } private TaskSnapshot createSnapshot(Point taskSize, Point bufferSize) { HardwareBuffer buffer = null; if (bufferSize != null) { Loading