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

Commit bc299eb4 authored by Wu Ahan's avatar Wu Ahan Committed by Android (Google) Code Review
Browse files

Merge "Refine the latency and jank instrumentation of opening panel" into sc-dev

parents eee1089c 30fc7e95
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -213,7 +213,9 @@ public class OverviewProxyService extends CurrentUserTracker implements
                // TODO move this logic to message queue
                mStatusBarOptionalLazy.ifPresent(statusBarLazy -> {
                    StatusBar statusBar = statusBarLazy.get();
                    if (event.getActionMasked() == ACTION_DOWN) {
                        statusBar.getPanelController().startExpandLatencyTracking();
                    }
                    mHandler.post(()-> {
                        int action = event.getActionMasked();
                        if (action == ACTION_DOWN) {
+0 −2
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ import static androidx.constraintlayout.widget.ConstraintSet.END;
import static androidx.constraintlayout.widget.ConstraintSet.PARENT_ID;
import static androidx.constraintlayout.widget.ConstraintSet.START;

import static com.android.internal.jank.InteractionJankMonitor.CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE;
import static com.android.internal.jank.InteractionJankMonitor.CUJ_NOTIFICATION_SHADE_QS_EXPAND_COLLAPSE;
import static com.android.systemui.classifier.Classifier.QS_COLLAPSE;
import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS;
@@ -1730,7 +1729,6 @@ public class NotificationPanelViewController extends PanelViewController {
            return;
        }
        mExpectingSynthesizedDown = true;
        InteractionJankMonitor.getInstance().begin(mView, CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE);
        onTrackingStarted();
        updatePanelExpanded();
    }
+14 −5
Original line number Diff line number Diff line
@@ -637,6 +637,12 @@ public abstract class PanelViewController {
        animator.addListener(new AnimatorListenerAdapter() {
            private boolean mCancelled;

            @Override
            public void onAnimationStart(Animator animation) {
                InteractionJankMonitor.getInstance()
                        .begin(mView, CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE);
            }

            @Override
            public void onAnimationCancel(Animator animation) {
                mCancelled = true;
@@ -1412,12 +1418,15 @@ public abstract class PanelViewController {
                case MotionEvent.ACTION_CANCEL:
                    addMovement(event);
                    endMotionEvent(event, x, y, false /* forceCancel */);
                    // mHeightAnimator is null, there is no remaining frame, ends instrumenting.
                    if (mHeightAnimator == null) {
                        InteractionJankMonitor monitor = InteractionJankMonitor.getInstance();
                        if (event.getActionMasked() == MotionEvent.ACTION_UP) {
                            monitor.end(CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE);
                        } else {
                            monitor.cancel(CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE);
                        }
                    }
                    break;
            }
            return !mGestureWaitForTouchSlop || mTracking;