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

Commit a68684d6 authored by Manu Cornet's avatar Manu Cornet Committed by Android (Google) Code Review
Browse files

Merge "Move the 'next launch target' logic into the task stack"

parents cb48c485 26eec781
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -849,6 +849,24 @@ public class TaskStack {
        return null;
    }

    /**
     * Returns the task in stack tasks which should be launched next if Recents are toggled
     * again, or null if there is no task to be launched.
     */
    public Task getNextLaunchTarget() {
        int taskCount = getTaskCount();
        if (taskCount == 0) {
            return null;
        }
        int launchTaskIndex = indexOfStackTask(getLaunchTarget());
        if (launchTaskIndex != -1) {
            launchTaskIndex = Math.max(0, launchTaskIndex - 1);
        } else {
            launchTaskIndex = getTaskCount() - 1;
        }
        return getStackTasks().get(launchTaskIndex);
    }

    /** Returns the index of this task in this current task stack */
    public int indexOfStackTask(Task t) {
        return mStackTaskList.indexOf(t);
+2 −8
Original line number Diff line number Diff line
@@ -1683,17 +1683,11 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal
            return;
        }

        int launchTaskIndex = mStack.indexOfStackTask(mStack.getLaunchTarget());
        if (launchTaskIndex != -1) {
            launchTaskIndex = Math.max(0, launchTaskIndex - 1);
        } else {
            launchTaskIndex = mStack.getTaskCount() - 1;
        }
        if (launchTaskIndex != -1) {
        final Task launchTask = mStack.getNextLaunchTarget();
        if (launchTask != null) {
            // Stop all animations
            cancelAllTaskViewAnimations();

            final Task launchTask = mStack.getStackTasks().get(launchTaskIndex);
            float curScroll = mStackScroller.getStackScroll();
            float targetScroll = mLayoutAlgorithm.getStackScrollForTaskAtInitialOffset(launchTask);
            float absScrollDiff = Math.abs(targetScroll - curScroll);