Merge "clearLockTask for root tasks as well at removal" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
ec801cc398
@@ -974,10 +974,7 @@ class Task extends WindowContainer<WindowContainer> {
|
||||
}
|
||||
|
||||
void removeIfPossible(String reason) {
|
||||
final boolean isRootTask = isRootTask();
|
||||
if (!isRootTask) {
|
||||
mAtmService.getLockTaskController().clearLockedTask(this);
|
||||
}
|
||||
mAtmService.getLockTaskController().clearLockedTask(this);
|
||||
if (shouldDeferRemoval()) {
|
||||
if (DEBUG_ROOT_TASK) Slog.i(TAG,
|
||||
"removeTask:" + reason + " deferring removing taskId=" + mTaskId);
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user