Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0cb8ca71 authored by Mady Mellor's avatar Mady Mellor Committed by Automerger Merge Worker
Browse files

Merge changes from topic "presubmit-am-8978d550647a4079952ac351a4a9396f" into...

Merge changes from topic "presubmit-am-8978d550647a4079952ac351a4a9396f" into tm-mainline-prod am: 583fe95b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17529027



Change-Id: I4bb5fc61a952db7c2f057d503a26602515dfb0bd
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 2e981e9e 583fe95b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
        }
    }
+36 −0
Original line number Diff line number Diff line
@@ -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();