Only add one starting window for a task when unlock.

While unlock device, there will call showStartingWindow for every
visible activites, which is not necessary because there will only
need one starting window for each task.

Bug: 185318171
Test: atest ActivityRecordTests
Change-Id: I417e0b516de388373d49dc68f1ce6cf52dd1fd3e
This commit is contained in:
wilsonshih
2021-04-26 16:15:19 +08:00
parent 5496487dc5
commit c443afb5b6

View File

@@ -2657,9 +2657,12 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
}
void addStartingWindowsForVisibleActivities() {
final ArrayList<Task> addedTasks = new ArrayList<>();
forAllActivities((r) -> {
if (r.mVisibleRequested) {
final Task task = r.getTask();
if (r.mVisibleRequested && r.mStartingData == null && !addedTasks.contains(task)) {
r.showStartingWindow(true /*taskSwitch*/);
addedTasks.add(task);
}
});
}