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

Commit 78c3989b authored by Chilun Huang's avatar Chilun Huang Committed by Automerger Merge Worker
Browse files

Merge "Add restored tasks with persisted activity to hierarchy" into sc-dev am: e9a7e0ac

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

Change-Id: Ia16087f5aef6505bf1b03545d41f7f2f8b5908c1
parents 14745ba8 e9a7e0ac
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -4911,10 +4911,16 @@ class Task extends WindowContainer<WindowContainer> {
        task.mLastNonFullscreenBounds = lastNonFullscreenBounds;
        task.setBounds(lastNonFullscreenBounds);
        task.mWindowLayoutAffinity = windowLayoutAffinity;
        if (activities.size() > 0) {
            // We need to add the task into hierarchy before adding child to it.
            final DisplayContent dc =
                    taskSupervisor.mRootWindowContainer.getDisplayContent(DEFAULT_DISPLAY);
            dc.getDefaultTaskDisplayArea().addChild(task, POSITION_BOTTOM);

            for (int activityNdx = activities.size() - 1; activityNdx >= 0; --activityNdx) {
                task.addChild(activities.get(activityNdx));
            }
        }

        if (DEBUG_RECENTS) Slog.d(TAG_RECENTS, "Restored task=" + task);
        return task;
+11 −2
Original line number Diff line number Diff line
@@ -328,10 +328,19 @@ public class TaskPersister implements PersisterQueue.Listener {
                                // mWriteQueue.add(new TaskWriteQueueItem(task));

                                final int taskId = task.mTaskId;
                                if (mService.mRootWindowContainer.anyTaskForId(taskId,
                                final boolean persistedTask = task.hasActivity();
                                if (persistedTask && mRecentTasks.getTask(taskId) != null) {
                                    // The persisted task is added into hierarchy and will also be
                                    // added to recent tasks later. So this task should not exist
                                    // in recent tasks before it is added.
                                    Slog.wtf(TAG, "Existing persisted task with taskId " + taskId
                                            + " found");
                                } else if (!persistedTask
                                        && mService.mRootWindowContainer.anyTaskForId(taskId,
                                        MATCH_ATTACHED_TASK_OR_RECENT_TASKS) != null) {
                                    // Should not happen.
                                    Slog.wtf(TAG, "Existing task with taskId " + taskId + "found");
                                    Slog.wtf(TAG, "Existing task with taskId " + taskId
                                            + " found");
                                } else if (userId != task.mUserId) {
                                    // Should not happen.
                                    Slog.wtf(TAG, "Task with userId " + task.mUserId + " found in "