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

Commit ba19137c authored by Tony Wickham's avatar Tony Wickham Committed by Automerger Merge Worker
Browse files

Merge "Don't clobber in progress page transition in applyLoadPlan()" into...

Merge "Don't clobber in progress page transition in applyLoadPlan()" into sc-v2-dev am: 36e5f812 am: 19ce4e25

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16459220

Change-Id: I0a9facc24dd47b4463a0b3872b3bdef7eb94def0
parents 06119c9c 19ce4e25
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();
    }

    /**