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

Commit 181f9865 authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge "Reduce extraneous loading of task snapshots/icons" into ub-launcher3-master

parents 7fad0d54 4292c303
Loading
Loading
Loading
Loading
+12 −7
Original line number Diff line number Diff line
@@ -229,7 +229,9 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
        }
    };

    private int mLoadPlanId = -1;
    // Used to keep track of the last requested load plan id, so that we do not request to load the
    // tasks again if we have already requested it and the task list has not changed
    private int mRequestedLoadPlanId = -1;

    // Only valid until the launcher state changes to NORMAL
    private int mRunningTaskId = -1;
@@ -447,6 +449,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
            mPendingAnimation.addEndListener((onEndListener) -> applyLoadPlan(loadPlan));
            return;
        }

        TaskStack stack = loadPlan != null ? loadPlan.getTaskStack() : null;
        if (stack == null) {
            removeAllViews();
@@ -615,8 +618,9 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
     * and unloads the associated task data for tasks that are no longer visible.
     */
    public void loadVisibleTaskData() {
        if (!mOverviewStateEnabled) {
            // Skip loading visible task data if we've already left the overview state
        if (!mOverviewStateEnabled || mRequestedLoadPlanId == -1) {
            // Skip loading visible task data if we've already left the overview state, or if the
            // task list hasn't been loaded yet (the task views will not reflect the task list)
            return;
        }

@@ -675,6 +679,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
        mRunningTaskId = -1;
        mRunningTaskTileHidden = false;
        mIgnoreResetTaskId = -1;
        mRequestedLoadPlanId = -1;

        unloadVisibleTaskData();
        setCurrentPage(0);
@@ -686,8 +691,8 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
     * Reloads the view if anything in recents changed.
     */
    public void reloadIfNeeded() {
        if (!mModel.isLoadPlanValid(mLoadPlanId)) {
            mLoadPlanId = mModel.loadTasks(mRunningTaskId, this::applyLoadPlan);
        if (!mModel.isLoadPlanValid(mRequestedLoadPlanId)) {
            mRequestedLoadPlanId = mModel.loadTasks(mRunningTaskId, this::applyLoadPlan);
        }
    }

@@ -748,8 +753,8 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl

        setCurrentPage(0);

        // Load the tasks (if the loading is already
        mLoadPlanId = mModel.loadTasks(runningTaskId, this::applyLoadPlan);
        // Load the tasks
        reloadIfNeeded();
    }

    public void showNextTask() {