Merge "Remove task activities from LRU list when task is reparented."

This commit is contained in:
TreeHugger Robot
2017-03-27 17:51:15 +00:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 2 deletions

View File

@@ -759,6 +759,12 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai
}
}
final void removeActivitiesFromLRUListLocked(TaskRecord task) {
for (ActivityRecord r : task.mActivities) {
mLRUActivities.remove(r);
}
}
final boolean updateLRUListLocked(ActivityRecord r) {
final boolean hadit = mLRUActivities.remove(r);
mLRUActivities.add(r);
@@ -4947,6 +4953,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai
}
}
mTaskHistory.remove(task);
removeActivitiesFromLRUListLocked(task);
updateTaskMovement(task, true);
if (mode == REMOVE_TASK_MODE_DESTROYING && task.mActivities.isEmpty()) {
@@ -5114,6 +5121,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai
// Apps may depend on onResume()/onPause() being called in pairs.
if (setResume) {
mResumedActivity = r;
updateLRUListLocked(r);
}
// If the activity was previously pausing, then ensure we transfer that as well
if (setPause) {

View File

@@ -3555,8 +3555,16 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
stackHeader.append(" mFullscreen=" + stack.mFullscreen);
stackHeader.append("\n");
stackHeader.append(" mBounds=" + stack.mBounds);
printed |= stack.dumpActivitiesLocked(fd, pw, dumpAll, dumpClient, dumpPackage,
needSep, stackHeader.toString());
final boolean printedStackHeader = stack.dumpActivitiesLocked(fd, pw, dumpAll,
dumpClient, dumpPackage, needSep, stackHeader.toString());
printed |= printedStackHeader;
if (!printedStackHeader) {
// Ensure we always dump the stack header even if there are no activities
pw.println();
pw.println(stackHeader);
}
printed |= dumpHistoryList(fd, pw, stack.mLRUActivities, " ", "Run", false,
!dumpAll, false, dumpPackage, true,
" Running activities (most recent first):", null);