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

Commit f20a330a authored by vadimt's avatar vadimt
Browse files

Instrumenting app-to-pip CUJ.

Bug: 169221267
Test: manual, presubmit
Change-Id: I7fed51af63665ba9b0596f7f01bf3182643fb0a3
parent d0269cd0
Loading
Loading
Loading
Loading
+23 −2
Original line number Diff line number Diff line
@@ -16,8 +16,9 @@

package com.android.quickstep.util;

import static com.android.systemui.shared.system.InteractionJankMonitorWrapper.CUJ_APP_CLOSE_TO_PIP;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.RectEvaluator;
import android.animation.ValueAnimator;
import android.content.ComponentName;
@@ -26,7 +27,9 @@ import android.view.SurfaceControl;

import androidx.annotation.NonNull;

import com.android.launcher3.anim.AnimationSuccessListener;
import com.android.systemui.shared.pip.PipSurfaceTransactionHelper;
import com.android.systemui.shared.system.InteractionJankMonitorWrapper;

/**
 * An {@link Animator} that animates an Activity to PiP (picture-in-picture) window when
@@ -76,9 +79,27 @@ public class SwipePipToHomeAnimator extends ValueAnimator implements
                startBounds.right - sourceRectHint.right,
                startBounds.bottom - sourceRectHint.bottom);

        addListener(new AnimatorListenerAdapter() {
        addListener(new AnimationSuccessListener() {
            @Override
            public void onAnimationStart(Animator animation) {
                InteractionJankMonitorWrapper.begin(CUJ_APP_CLOSE_TO_PIP);
                super.onAnimationStart(animation);
            }

            @Override
            public void onAnimationCancel(Animator animation) {
                super.onAnimationCancel(animation);
                InteractionJankMonitorWrapper.cancel(CUJ_APP_CLOSE_TO_PIP);
            }

            @Override
            public void onAnimationSuccess(Animator animator) {
                InteractionJankMonitorWrapper.end(CUJ_APP_CLOSE_TO_PIP);
            }

            @Override
            public void onAnimationEnd(Animator animation) {
                if (!mHasAnimationEnded) super.onAnimationEnd(animation);
                SwipePipToHomeAnimator.this.onAnimationEnd();
            }
        });