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

Commit d15bdd79 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "clearLockTask for root tasks as well at removal" into sc-dev am: ec801cc3

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

Change-Id: If97ed114fbf831099b37f1206e04f2539aa38966
parents e636239c ec801cc3
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -754,10 +754,7 @@ class Task extends TaskFragment {
    }

    void removeIfPossible(String reason) {
        final boolean isRootTask = isRootTask();
        if (!isRootTask) {
        mAtmService.getLockTaskController().clearLockedTask(this);
        }
        if (shouldDeferRemoval()) {
            if (DEBUG_ROOT_TASK) Slog.i(TAG,
                    "removeTask:" + reason + " deferring removing taskId=" + mTaskId);
+7 −4
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.same;
import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.never;

@@ -121,8 +122,8 @@ public class TaskTests extends WindowTestsBase {

    @Test
    public void testRemoveContainer() {
        final Task taskController1 = createTask(mDisplayContent);
        final Task task = createTaskInRootTask(taskController1, 0 /* userId */);
        final Task rootTask = createTask(mDisplayContent);
        final Task task = createTaskInRootTask(rootTask, 0 /* userId */);
        final ActivityRecord activity = createActivityRecord(mDisplayContent, task);

        task.removeIfPossible();
@@ -130,12 +131,14 @@ public class TaskTests extends WindowTestsBase {
        assertNull(task.getParent());
        assertEquals(0, task.getChildCount());
        assertNull(activity.getParent());
        verify(mAtm.getLockTaskController(), atLeast(1)).clearLockedTask(task);
        verify(mAtm.getLockTaskController(), atLeast(1)).clearLockedTask(rootTask);
    }

    @Test
    public void testRemoveContainer_deferRemoval() {
        final Task taskController1 = createTask(mDisplayContent);
        final Task task = createTaskInRootTask(taskController1, 0 /* userId */);
        final Task rootTask = createTask(mDisplayContent);
        final Task task = createTaskInRootTask(rootTask, 0 /* userId */);
        final ActivityRecord activity = createActivityRecord(mDisplayContent, task);

        doReturn(true).when(task).shouldDeferRemoval();