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

Commit 48f33e82 authored by Wu Ahan's avatar Wu Ahan
Browse files

Adds udfps touch overlay attached CUJ for latency instrumentation

Flag: EXEMPT metric collecting
Bug: 433878387
Test: atest LatencyTrackerTest
Change-Id: Id3d53e0c2fad7d7ad9df3c3192905052c418a7c1
parent 8a2338cc
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPOR
import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_SWITCH_DISPLAY_FOLD;
import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_TOGGLE_RECENTS;
import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_TURN_ON_SCREEN;
import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_UDFPS_OVERLAY_ATTACHED_AFTER_GOING_TO_SLEEP;
import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_UDFPS_ILLUMINATE;
import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_USER_SWITCH;
import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__UNKNOWN_ACTION;
@@ -322,6 +323,20 @@ public class LatencyTracker {
     */
    public static final int ACTION_SWITCH_DISPLAY_FOLD = 34;

    /**
     * Time it takes for the udfps overlay to be attached after the device is going to sleep.
     * <p>
     * The overlay is a translucent (not visible to the user) view that receives touches to
     * send to FingerprintManager for fingerprint authentication. It is attached after the device is
     * going to sleep.
     * </p>
     *
     * @see com.android.systemui.biometrics.ui.view.UdfpsTouchOverlay
     * @see com.android.systemui.biometrics.UdfpsControllerOverlay
     * @see com.android.systemui.biometrics.UdfpsController
     */
    public static final int ACTION_UDFPS_OVERLAY_ATTACHED_AFTER_GOING_TO_SLEEP = 35;

    private static final int[] ACTIONS_ALL = {
        ACTION_EXPAND_PANEL,
        ACTION_TOGGLE_RECENTS,
@@ -358,6 +373,7 @@ public class LatencyTracker {
        ACTION_DESKTOP_MODE_EXIT_MODE,
        ACTION_DESKTOP_MODE_EXIT_MODE_ON_LAST_WINDOW_CLOSE,
        ACTION_SWITCH_DISPLAY_FOLD,
        ACTION_UDFPS_OVERLAY_ATTACHED_AFTER_GOING_TO_SLEEP,
    };

    /** @hide */
@@ -397,6 +413,7 @@ public class LatencyTracker {
        ACTION_DESKTOP_MODE_EXIT_MODE,
        ACTION_DESKTOP_MODE_EXIT_MODE_ON_LAST_WINDOW_CLOSE,
        ACTION_SWITCH_DISPLAY_FOLD,
        ACTION_UDFPS_OVERLAY_ATTACHED_AFTER_GOING_TO_SLEEP,
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface Action {}
@@ -438,6 +455,7 @@ public class LatencyTracker {
            UIACTION_LATENCY_REPORTED__ACTION__ACTION_DESKTOP_MODE_EXIT_MODE,
            UIACTION_LATENCY_REPORTED__ACTION__ACTION_DESKTOP_MODE_EXIT_MODE_ON_LAST_WINDOW_CLOSE,
            UIACTION_LATENCY_REPORTED__ACTION__ACTION_SWITCH_DISPLAY_FOLD,
            UIACTION_LATENCY_REPORTED__ACTION__ACTION_UDFPS_OVERLAY_ATTACHED_AFTER_GOING_TO_SLEEP,
    };

    private final Object mLock = new Object();
@@ -664,6 +682,8 @@ public class LatencyTracker {
                return "ACTION_DESKTOP_MODE_EXIT_MODE_ON_LAST_WINDOW_CLOSE";
            case UIACTION_LATENCY_REPORTED__ACTION__ACTION_SWITCH_DISPLAY_FOLD:
                return "ACTION_SWITCH_DISPLAY_FOLD";
            case UIACTION_LATENCY_REPORTED__ACTION__ACTION_UDFPS_OVERLAY_ATTACHED_AFTER_GOING_TO_SLEEP:
                return "ACTION_UDFPS_OVERLAY_ATTACHED_AFTER_GOING_TO_SLEEP";
            default:
                throw new IllegalArgumentException("Invalid action");
        }