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

Commit 36e5f812 authored by Tony Wickham's avatar Tony Wickham Committed by Android (Google) Code Review
Browse files

Merge "Don't clobber in progress page transition in applyLoadPlan()" into sc-v2-dev

parents 361d8286 db34fba4
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -1396,7 +1396,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T

        // Removing views sets the currentPage to 0, so we save this and restore it after
        // the new set of views are added
        int previousPage = mCurrentPage;
        int previousCurrentPage = mCurrentPage;
        removeAllViews();

        // Add views as children based on whether it's grouped or single task
@@ -1420,7 +1420,14 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
        if (!taskGroups.isEmpty()) {
            addView(mClearAllButton);
        }
        setCurrentPage(previousPage);

        boolean settlingOnNewTask = mNextPage != INVALID_PAGE;
        if (settlingOnNewTask) {
            // Restore mCurrentPage but don't call setCurrentPage() as that clobbers the scroll.
            mCurrentPage = previousCurrentPage;
        } else {
            setCurrentPage(previousCurrentPage);
        }

        // Keep same previous focused task
        TaskView newFocusedTaskView = getTaskViewByTaskId(focusedTaskId);
@@ -1446,7 +1453,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
        }

        int targetPage = -1;
        if (mNextPage == INVALID_PAGE) {
        if (!settlingOnNewTask) {
            // Set the current page to the running task, but not if settling on new task.
            if (runningTaskId != -1) {
                targetPage = indexOfChild(newRunningTaskView);
@@ -2254,7 +2261,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
        updateChildTaskOrientations();

        // Reload the task list
        mTaskListChangeId = mModel.getTasks(this::applyLoadPlan);
        reloadIfNeeded();
    }

    /**