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

Commit 4294ec5e authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Adds udfps touch overlay attached CUJ for latency instrumentation" into main

parents da5659d1 48f33e82
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");
        }