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

Commit 42fd4441 authored by Vinit Nayak's avatar Vinit Nayak
Browse files

Run animation for liveTile before trying to launch it

* If current TaskView is running live tiles, animate directly
when toggling recents button instead of trying to
launch the task

Fixes: 240231324
Test: Launching a single GroupedTaskView from overview
launches as expected in 3 button.
Tested adjacent launches as well.

Change-Id: I6c060d918d3ae08bee9da1ad9507bb25cf445b96
parent cd854149
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -144,7 +144,7 @@ public class OverviewCommandHelper {
        RunnableList callbackList = null;
        if (taskView != null) {
            taskView.setEndQuickswitchCuj(true);
            callbackList = taskView.launchTaskAnimated();
            callbackList = taskView.launchTasks();
        }

        if (callbackList != null) {
+16 −4
Original line number Diff line number Diff line
@@ -689,12 +689,13 @@ public class TaskView extends FrameLayout implements Reusable {
    /**
     * Launch of the current task (both live and inactive tasks) with an animation.
     */
    public void launchTasks() {
    public RunnableList launchTasks() {
        RecentsView recentsView = getRecentsView();
        RemoteTargetHandle[] remoteTargetHandles = recentsView.mRemoteTargetHandles;
        RunnableList runnableList = new RunnableList();
        if (ENABLE_QUICKSTEP_LIVE_TILE.get() && isRunningTask() && remoteTargetHandles != null) {
            if (!mIsClickableAsLiveTile) {
                return;
                return runnableList;
            }

            mIsClickableAsLiveTile = false;
@@ -721,7 +722,7 @@ public class TaskView extends FrameLayout implements Reusable {
                // here, try to launch the task as a non live tile task.
                launchTaskAnimated();
                mIsClickableAsLiveTile = true;
                return;
                return runnableList;
            }

            AnimatorSet anim = new AnimatorSet();
@@ -746,13 +747,24 @@ public class TaskView extends FrameLayout implements Reusable {
                        launchTaskAnimated();
                    }
                    mIsClickableAsLiveTile = true;
                    runEndCallback();
                }

                @Override
                public void onAnimationCancel(Animator animation) {
                    runEndCallback();
                }

                private void runEndCallback() {
                    runnableList.executeAllAndDestroy();
                }
            });
            anim.start();
            recentsView.onTaskLaunchedInLiveTileMode();
        } else {
            launchTaskAnimated();
            return launchTaskAnimated();
        }
        return runnableList;
    }

    /**