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

Commit c68c2288 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add statsd atoms for tracking motion events of notification shade"

parents 0936ab49 1bfb259a
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -5269,12 +5269,23 @@ message BlobOpened{
 * Event to track Jank for various system interactions.
 *
 * Logged from:
 *  frameworks/base/core/java/android/os/aot/FrameTracker.java
 *  frameworks/base/core/java/com/android/internal/jank/FrameTracker.java
 */
message UIInteractionFrameInfoReported {
    enum InteractionType {
        UNKNOWN = 0;
        NOTIFICATION_SHADE_SWIPE = 1;
        SHADE_EXPAND_COLLAPSE_LOCK = 2;
        SHADE_SCROLL_FLING = 3;
        SHADE_ROW_EXPAND = 4;
        SHADE_ROW_SWIPE = 5;
        SHADE_QS_EXPAND_COLLAPSE = 6;
        SHADE_QS_SCROLL_SWIPE = 7;
        LAUNCHER_APP_LAUNCH_FROM_RECENTS = 8;
        LAUNCHER_APP_LAUNCH_FROM_ICON = 9;
        LAUNCHER_APP_CLOSE_TO_HOME = 10;
        LAUNCHER_APP_CLOSE_TO_PIP = 11;
        LAUNCHER_QUICK_SWITCH = 12;
    }

    optional InteractionType interaction_type = 1;
+23 −11
Original line number Diff line number Diff line
@@ -16,7 +16,18 @@

package com.android.internal.jank;

import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__LAUNCHER_APP_CLOSE_TO_HOME;
import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__LAUNCHER_APP_CLOSE_TO_PIP;
import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__LAUNCHER_APP_LAUNCH_FROM_ICON;
import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__LAUNCHER_APP_LAUNCH_FROM_RECENTS;
import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__LAUNCHER_QUICK_SWITCH;
import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__NOTIFICATION_SHADE_SWIPE;
import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_EXPAND_COLLAPSE_LOCK;
import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_QS_EXPAND_COLLAPSE;
import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_QS_SCROLL_SWIPE;
import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_ROW_EXPAND;
import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_ROW_SWIPE;
import static com.android.internal.util.FrameworkStatsLog.UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_SCROLL_FLING;

import android.annotation.IntDef;
import android.annotation.NonNull;
@@ -63,18 +74,19 @@ public class InteractionJankMonitor {
    // Use NO_STATSD_LOGGING in case the measurement for a given CUJ should not be logged to statsd.
    @VisibleForTesting
    public static final int[] CUJ_TO_STATSD_INTERACTION_TYPE = {
            // This should be mapping to CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE.
            UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__NOTIFICATION_SHADE_SWIPE,
            NO_STATSD_LOGGING,
            NO_STATSD_LOGGING,
            NO_STATSD_LOGGING,
            NO_STATSD_LOGGING,
            NO_STATSD_LOGGING,
            NO_STATSD_LOGGING,
            NO_STATSD_LOGGING,
            NO_STATSD_LOGGING,
            NO_STATSD_LOGGING,
            NO_STATSD_LOGGING,
            NO_STATSD_LOGGING,
            UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_EXPAND_COLLAPSE_LOCK,
            UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_SCROLL_FLING,
            UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_ROW_EXPAND,
            UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_ROW_SWIPE,
            UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_QS_EXPAND_COLLAPSE,
            UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__SHADE_QS_SCROLL_SWIPE,
            UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__LAUNCHER_APP_LAUNCH_FROM_RECENTS,
            UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__LAUNCHER_APP_LAUNCH_FROM_ICON,
            UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__LAUNCHER_APP_CLOSE_TO_HOME,
            UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__LAUNCHER_APP_CLOSE_TO_PIP,
            UIINTERACTION_FRAME_INFO_REPORTED__INTERACTION_TYPE__LAUNCHER_QUICK_SWITCH,
    };

    private static volatile InteractionJankMonitor sInstance;