Merge "When calling removeTask pass mRemoveWithTaskOrganizer" into tm-dev
This commit is contained in:
@@ -602,7 +602,7 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {
|
||||
|
||||
void onTaskVanished(ITaskOrganizer organizer, Task task) {
|
||||
final TaskOrganizerState state = mTaskOrganizerStates.get(organizer.asBinder());
|
||||
if (state != null && state.removeTask(task, false /* removeFromSystem */)) {
|
||||
if (state != null && state.removeTask(task, task.mRemoveWithTaskOrganizer)) {
|
||||
onTaskVanishedInternal(organizer, task);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -246,6 +246,42 @@ public class WindowOrganizerTests extends WindowTestsBase {
|
||||
assertFalse(rootTask.isOrganized());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveWithOrganizerRemovesTask() throws RemoteException {
|
||||
final ITaskOrganizer organizer = registerMockOrganizer();
|
||||
final Task rootTask = createRootTask();
|
||||
final Task task = createTask(rootTask);
|
||||
rootTask.mRemoveWithTaskOrganizer = true;
|
||||
|
||||
mWm.mAtmService.mTaskOrganizerController.dispatchPendingEvents();
|
||||
verify(organizer).onTaskAppeared(any(RunningTaskInfo.class), any(SurfaceControl.class));
|
||||
assertTrue(rootTask.isOrganized());
|
||||
|
||||
spyOn(mWm.mAtmService);
|
||||
rootTask.setTaskOrganizer(null);
|
||||
mWm.mAtmService.mTaskOrganizerController.dispatchPendingEvents();
|
||||
|
||||
verify(mWm.mAtmService).removeTask(eq(rootTask.mTaskId));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNoRemoveWithOrganizerNoRemoveTask() throws RemoteException {
|
||||
final ITaskOrganizer organizer = registerMockOrganizer();
|
||||
final Task rootTask = createRootTask();
|
||||
final Task task = createTask(rootTask);
|
||||
rootTask.mRemoveWithTaskOrganizer = false;
|
||||
|
||||
mWm.mAtmService.mTaskOrganizerController.dispatchPendingEvents();
|
||||
verify(organizer).onTaskAppeared(any(RunningTaskInfo.class), any(SurfaceControl.class));
|
||||
assertTrue(rootTask.isOrganized());
|
||||
|
||||
spyOn(mWm.mAtmService);
|
||||
rootTask.setTaskOrganizer(null);
|
||||
mWm.mAtmService.mTaskOrganizerController.dispatchPendingEvents();
|
||||
|
||||
verify(mWm.mAtmService, never()).removeTask(eq(rootTask.mTaskId));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnregisterOrganizer() throws RemoteException {
|
||||
final ITaskOrganizer organizer = registerMockOrganizer();
|
||||
|
||||
Reference in New Issue
Block a user