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

Commit f298e908 authored by Filip Gruszczynski's avatar Filip Gruszczynski
Browse files

Enable enter animation when docking by dragging from recents.

This requires further work on the sysui side (the view disappears
before the animation starts), but it shows that existing
infrastructure on the WMS side is sufficient.

Bug: 24913915
Change-Id: I7ce20fdd21ee76db4720a3d0fefdfa221b0e96bf
parent e5480cc5
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ import android.util.MutableBoolean;
import android.util.Pair;
import android.view.Display;
import android.view.IDockedStackListener;
import android.view.View;
import android.view.WindowManager;
import android.view.WindowManager.KeyboardShortcutsReceiver;
import android.view.WindowManagerGlobal;
@@ -307,12 +308,13 @@ public class SystemServicesProxy {
    }

    /** Docks a task to the side of the screen and starts it. */
    public void startTaskInDockedMode(Context context, int taskId, int createMode) {
    public void startTaskInDockedMode(Context context, View view, int taskId, int createMode) {
        if (mIam == null) return;

        try {
            // TODO: Determine what animation we want for the incoming task
            final ActivityOptions options = ActivityOptions.makeCustomAnimation(context, 0, 0);
            final ActivityOptions options = ActivityOptions.makeThumbnailAspectScaleUpAnimation(
                    view, null, 0, 0, view.getWidth(), view.getHeight(), null, null);
            options.setDockCreateMode(createMode);
            options.setLaunchStackId(DOCKED_STACK_ID);
            mIam.startActivityFromRecents(taskId, options.toBundle());
+2 −3
Original line number Diff line number Diff line
@@ -526,9 +526,8 @@ public class RecentsView extends FrameLayout {
                                public void onAnimationEnd(Animator animation) {
                                    // Dock the task and launch it
                                    SystemServicesProxy ssp = Recents.getSystemServices();
                                    ssp.startTaskInDockedMode(getContext(), event.task.key.id,
                                            dockState.createMode);
                                    launchTask(event.task, null, INVALID_STACK_ID);
                                    ssp.startTaskInDockedMode(getContext(), event.taskView,
                                            event.task.key.id, dockState.createMode);

                                    mTaskStackView.getStack().removeTask(event.task);
                                }