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

Commit 8d14dbe0 authored by Tracy Zhou's avatar Tracy Zhou Committed by Android (Google) Code Review
Browse files

Merge "Fix logic around launchTask in the live tile case" into ub-launcher3-master

parents 2ec0ade6 c8cbd822
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -2161,7 +2161,12 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
                        tv.notifyTaskLaunchFailed(TAG);
                    }
                };
                if (ENABLE_QUICKSTEP_LIVE_TILE.get()) {
                    finishRecentsAnimation(false /* toRecents */, null);
                    onLaunchResult.accept(true /* success */);
                } else {
                    tv.launchTask(false, onLaunchResult, getHandler());
                }
                Task task = tv.getTask();
                if (task != null) {
                    mActivity.getStatsLogManager().logger().withItemInfo(tv.getItemInfo())
+2 −18
Original line number Diff line number Diff line
@@ -217,6 +217,7 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
            }
            if (ENABLE_QUICKSTEP_LIVE_TILE.get()) {
                if (isRunningTask()) {
                    // TODO: Replace this animation with createRecentsWindowAnimator
                    createLaunchAnimationForRunningTask().start();
                } else {
                    launchTask(true /* animate */);
@@ -364,10 +365,7 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
        final PendingAnimation pendingAnimation = getRecentsView().createTaskLaunchAnimation(
                this, RECENTS_LAUNCH_DURATION, TOUCH_RESPONSE_INTERPOLATOR);
        AnimatorPlaybackController currentAnimation = pendingAnimation.createPlaybackController();
        currentAnimation.setEndAction(() -> {
            pendingAnimation.finish(true);
            launchTask(false);
        });
        currentAnimation.setEndAction(() -> pendingAnimation.finish(true));
        return currentAnimation;
    }

@@ -390,20 +388,6 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {

    public void launchTask(boolean animate, boolean freezeTaskList, Consumer<Boolean> resultCallback,
            Handler resultCallbackHandler) {
        if (ENABLE_QUICKSTEP_LIVE_TILE.get()) {
            if (isRunningTask()) {
                getRecentsView().finishRecentsAnimation(false /* toRecents */,
                        () -> resultCallbackHandler.post(() -> resultCallback.accept(true)));
            } else {
                launchTaskInternal(animate, freezeTaskList, resultCallback, resultCallbackHandler);
            }
        } else {
            launchTaskInternal(animate, freezeTaskList, resultCallback, resultCallbackHandler);
        }
    }

    private void launchTaskInternal(boolean animate, boolean freezeTaskList,
            Consumer<Boolean> resultCallback, Handler resultCallbackHandler) {
        if (mTask != null) {
            final ActivityOptions opts;
            TestLogging.recordEvent(