// Copyright (C) 2016 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto2";

option java_package = "com.android.internal.logging";
option java_outer_classname = "MetricsProto";

package com_android_internal_logging;

// Wrapper for System UI log events
message MetricsEvent {

  // Types of events
  enum Type {
    // Unknown
    TYPE_UNKNOWN = 0;

    // The view became visible to the user.
    TYPE_OPEN = 1;

    // The view became hidden.
    TYPE_CLOSE = 2;

    // The view switched to detail mode (most relevant for quick settings tiles and notifications)
    TYPE_DETAIL = 3;

    // The view or control was activated.
    TYPE_ACTION = 4;

    // The view or control was dismissed.
    TYPE_DISMISS = 5;

    // The view or control was updated.
    TYPE_UPDATE = 6;

    // Type for APP_TRANSITION event: The transition started a new
    // activity for which it's process wasn't running.
    TYPE_TRANSITION_COLD_LAUNCH = 7;

    // Type for APP_TRANSITION event: The transition started a new
    // activity for which it's process was already running.
    TYPE_TRANSITION_WARM_LAUNCH = 8;

    // Type for APP_TRANSITION event: The transition brought an
    // already existing activity to the front.
    TYPE_TRANSITION_HOT_LAUNCH = 9;

    // The action was successful
    TYPE_SUCCESS = 10;

    // The action failed
    TYPE_FAILURE = 11;

    // Type for APP_TRANSITION_REPORTED_DRAWN event: The activity was started without restoring from
    // a bundle.
    TYPE_TRANSITION_REPORTED_DRAWN_NO_BUNDLE = 12;

    // Type for APP_TRANSITION_REPORTED_DRAWN event: The activity was started with restoring from
    // a bundle.
    TYPE_TRANSITION_REPORTED_DRAWN_WITH_BUNDLE = 13;

    // The view switched to summary mode (most relevant for notifications)
    TYPE_COLLAPSE = 14;
  }

  // Types of alerts, as bit field values
  enum Alert {
    // Vibrate the device.
    ALERT_BUZZ = 1;

    // Make sound through the speaker.
    ALERT_BEEP = 2;

    // Flash a notificaiton light.
    ALERT_BLINK = 4;
  }

  // Reasons that a notification might be dismissed.
  enum DismissReason {
    // from android.service.notification.NotificationListenerService

    // Notification was canceled by the status bar reporting a notification click
    REASON_CLICK = 1;

    // Notification was canceled by the status bar reporting a user dismissal.
    REASON_CANCEL = 2;

    // Notification was canceled by the status bar reporting a user dismiss all.
    REASON_CANCEL_ALL = 3;

    // Notification was canceled by the status bar reporting an inflation error.
    REASON_ERROR = 4;

    // Notification was canceled by the package manager modifying the package.
    REASON_PACKAGE_CHANGED = 5;

    // Notification was canceled by the owning user context being stopped.
    REASON_USER_STOPPED = 6;

    // Notification was canceled by the user banning the package.
    REASON_PACKAGE_BANNED = 7;

    // Notification was canceled by the app canceling this specific notification.
    REASON_APP_CANCEL = 8;

    //Notification was canceled by the app cancelling all its notifications.
    REASON_APP_CANCEL_ALL = 9;

    // Notification was canceled by a listener reporting a user dismissal.
    REASON_LISTENER_CANCEL = 10;

    //Notification was canceled by a listener reporting a user dismiss all.
    REASON_LISTENER_CANCEL_ALL = 11;

    // Notification was canceled because it was a member of a canceled group.
    REASON_GROUP_SUMMARY_CANCELED = 12;

    // Notification was canceled because it was an invisible member of a group.
    REASON_GROUP_OPTIMIZATION = 13;

    // Notification was canceled by the device administrator suspending the package.
    REASON_PACKAGE_SUSPENDED = 14;

    // Notification was canceled by the owning managed profile being turned off.
    REASON_PROFILE_TURNED_OFF = 15;

    // Autobundled summary notification was canceled because its group was unbundled.
    REASON_UNAUTOBUNDLED = 16;

    // Notification was canceled by the user banning the channel.
    REASON_CHANNEL_BANNED = 17;

    // Notification was snoozed.
    REASON_SNOOZED = 18;

    // Notification was canceled due to timeout.
    REASON_TIMEOUT = 19;
  }

  // Subtypes of camera events for ACTION_CAMERA_EVENT
  enum CameraEvent {
    // A back-facing camera was used
    CAMERA_BACK_USED = 0;

    // A front-facing camera was used
    CAMERA_FRONT_USED = 1;

    // An external camera was used
    CAMERA_EXTERNAL_USED = 2;
  }

  // TextClassifier entity types.
  enum TextClassifierEntityType {
    TEXT_CLASSIFIER_TYPE_UNKNOWN = 1;
    TEXT_CLASSIFIER_TYPE_OTHER = 2;
    TEXT_CLASSIFIER_TYPE_EMAIL = 3;
    TEXT_CLASSIFIER_TYPE_PHONE = 4;
    TEXT_CLASSIFIER_TYPE_ADDRESS = 5;
    TEXT_CLASSIFIER_TYPE_URL = 6;
  }

  // Known visual elements: views or controls.
  enum View {
    // Unknown view
    VIEW_UNKNOWN = 0;

    // OBSOLETE
    MAIN_SETTINGS = 1;

    // OPEN: Settings > Accessibility
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACCESSIBILITY = 2;

    // OPEN: Settings > Accessibility > Captions
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACCESSIBILITY_CAPTION_PROPERTIES = 3;

    // OPEN: Settings > Accessibility > [Service]
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACCESSIBILITY_SERVICE = 4;

    // OPEN: Settings > Accessibility > Color correction
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACCESSIBILITY_TOGGLE_DALTONIZER = 5;

    // OPEN: Settings > Accessibility > Accessibility shortcut
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACCESSIBILITY_TOGGLE_GLOBAL_GESTURE = 6;

    // OPEN: Settings > Accessibility > Magnification gestures (Renamed in O)
    // OPEN: Settings > Accessibility > Magnification > Magnify with triple-tap
    // OPEN: Settings > Accessibility > Magnification > Magnify with button
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION = 7;

    // OPEN: Settings > Accounts
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACCOUNT = 8;

    // OPEN: Settings > Accounts > [Single Account Sync Settings]
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACCOUNTS_ACCOUNT_SYNC = 9;

    // OPEN: Settings > Accounts > Add an account
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACCOUNTS_CHOOSE_ACCOUNT_ACTIVITY = 10;

    // OPEN: Settings > Accounts > [List of accounts when more than one]
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACCOUNTS_MANAGE_ACCOUNTS = 11;

    // OPEN: Settings > Cellular network settings > APNs
    // CATEGORY: SETTINGS
    // OS: 6.0
    APN = 12;

    // OPEN: Settings > More > Cellular network settings > APNs > [Edit APN]
    // CATEGORY: SETTINGS
    // OS: 6.0
    APN_EDITOR = 13;

    // OBSOLETE
    APP_OPS_DETAILS = 14;

    // OBSOLETE
    APP_OPS_SUMMARY = 15;

    // OBSOLETE
    APPLICATION = 16;

    // OPEN: Settings > Apps > Configure apps > App links > [App]
    // CATEGORY: SETTINGS
    // OS: 6.0
    APPLICATIONS_APP_LAUNCH = 17;

    // OBSOLETE
    APPLICATIONS_APP_PERMISSION = 18;

    // OPEN: Settings > Internal storage > Apps storage > [App]
    // CATEGORY: SETTINGS
    // OS: 6.0
    APPLICATIONS_APP_STORAGE = 19;

    // OPEN: Settings > Apps > [App info]
    // CATEGORY: SETTINGS
    // OS: 6.0
    APPLICATIONS_INSTALLED_APP_DETAILS = 20;

    // OPEN: Settings > Memory > App usage > [App Memory usage]
    // CATEGORY: SETTINGS
    // OS: 6.0
    APPLICATIONS_PROCESS_STATS_DETAIL = 21;

    // OBSOLETE
    APPLICATIONS_PROCESS_STATS_MEM_DETAIL = 22;

    // OPEN: Settings > Memory > App usage
    // CATEGORY: SETTINGS
    // OS: 6.0
    APPLICATIONS_PROCESS_STATS_UI = 23;

    // OPEN: Settings > Bluetooth
    // CATEGORY: SETTINGS
    // OS: 6.0
    BLUETOOTH = 24;

    // OPEN: Choose Bluetooth device (ex: when sharing)
    // CATEGORY: SETTINGS
    // OS: 6.0
    BLUETOOTH_DEVICE_PICKER = 25;

    // OBSOLETE
    BLUETOOTH_DEVICE_PROFILES = 26;

    // OPEN: Settings > Security > Choose screen lock
    // CATEGORY: SETTINGS
    // OS: 6.0
    CHOOSE_LOCK_GENERIC = 27;

    // OPEN: Settings > Security > Choose screen lock > Choose your password
    // CATEGORY: SETTINGS
    // OS: 6.0
    CHOOSE_LOCK_PASSWORD = 28;

    // OPEN: Settings > Security > Choose screen lock > Choose your pattern
    // CATEGORY: SETTINGS
    // OS: 6.0
    CHOOSE_LOCK_PATTERN = 29;

    // OPEN: Settings > Security > Choose screen lock > Confirm your password
    // CATEGORY: SETTINGS
    // OS: 6.0
    CONFIRM_LOCK_PASSWORD = 30;

    // OPEN: Settings > Security > Choose screen lock > Confirm your pattern
    // CATEGORY: SETTINGS
    // OS: 6.0
    CONFIRM_LOCK_PATTERN = 31;

    // OPEN: Settings > Security > Encrypt phone
    // CATEGORY: SETTINGS
    // OS: 6.0
    CRYPT_KEEPER = 32;

    // OPEN: Settings > Security > Encrypt phone > Confirm
    // CATEGORY: SETTINGS
    // OS: 6.0
    CRYPT_KEEPER_CONFIRM = 33;

    // OPEN: Settings > Search results
    // CATEGORY: SETTINGS
    // OS: 6.0
    DASHBOARD_SEARCH_RESULTS = 34;

    // OPEN: Settings (Root page)
    // CATEGORY: SETTINGS
    // OS: 6.0
    DASHBOARD_SUMMARY = 35;

    // OBSOLETE
    DATA_USAGE = 36;

    // OPEN: Settings > Data usage
    // CATEGORY: SETTINGS
    // OS: 6.0
    DATA_USAGE_SUMMARY = 37;

    // OPEN: Settings > Date & time
    // CATEGORY: SETTINGS
    // OS: 6.0
    DATE_TIME = 38;

    // OPEN: Settings > Developer options
    // CATEGORY: SETTINGS
    // OS: 6.0
    DEVELOPMENT = 39;

    // OPEN: Settings > About phone
    // CATEGORY: SETTINGS
    // OS: 6.0
    DEVICEINFO = 40;

    // OPEN: Settings > About phone > Status > IMEI information
    // CATEGORY: SETTINGS
    // OS: 6.0
    DEVICEINFO_IMEI_INFORMATION = 41;

    // OPEN: Settings > Internal storage
    // CATEGORY: SETTINGS
    // OS: 6.0
    DEVICEINFO_STORAGE = 42;

    // OPEN: Settings > About phone > Status > SIM status
    // CATEGORY: SETTINGS
    // OS: 6.0
    DEVICEINFO_SIM_STATUS = 43;

    // OPEN: Settings > About phone > Status
    // CATEGORY: SETTINGS
    // OS: 6.0
    DEVICEINFO_STATUS = 44;

    // OBSOLETE
    DEVICEINFO_USB = 45;

    // OPEN: Settings > Display
    // CATEGORY: SETTINGS
    // OS: 6.0
    DISPLAY = 46;

    // OPEN: Settings > Display > Daydream
    // CATEGORY: SETTINGS
    // OS: 6.0
    DREAM = 47;

    // OPEN: Settings > Security > Screen lock > Secure start-up
    // CATEGORY: SETTINGS
    // OS: 6.0
    ENCRYPTION = 48;

    // OPEN: Settings > Security > Nexus Imprint
    // CATEGORY: SETTINGS
    // OS: 6.0
    FINGERPRINT = 49;

    // OBSOLETE
    FINGERPRINT_ENROLL = 50;

    // OPEN: Settings > Battery > History details
    // CATEGORY: SETTINGS
    // OS: 6.0
    FUELGAUGE_BATTERY_HISTORY_DETAIL = 51;

    // OPEN: Settings > Battery > Battery saver
    // CATEGORY: SETTINGS
    // OS: 6.0
    FUELGAUGE_BATTERY_SAVER = 52;

    // OPEN: Settings > Battery > [App Use details]
    // CATEGORY: SETTINGS
    // OS: 6.0
    FUELGAUGE_POWER_USAGE_DETAIL = 53;

    // OPEN: Settings > Battery
    // CATEGORY: SETTINGS
    // OS: 6.0
    FUELGAUGE_POWER_USAGE_SUMMARY = 54;

    // OPEN: Settings > Home
    // CATEGORY: SETTINGS
    // OS: 6.0
    HOME = 55;

    // OPEN: Settings > Security > SIM card lock settings
    // CATEGORY: SETTINGS
    // OS: 6.0
    ICC_LOCK = 56;

    // OPEN: Settings > Language & input
    // CATEGORY: SETTINGS
    // OS: 6.0
    INPUTMETHOD_LANGUAGE = 57;

    // OPEN: Settings > Language & input > Physical keyboard
    // CATEGORY: SETTINGS
    // OS: 6.0
    INPUTMETHOD_KEYBOARD = 58;

    // OPEN: Settings > Language & input > Spell checker
    // CATEGORY: SETTINGS
    // OS: 6.0
    INPUTMETHOD_SPELL_CHECKERS = 59;

    // OBSOLETE
    INPUTMETHOD_SUBTYPE_ENABLER = 60;

    // OPEN: Settings > Language & input > Personal dictionary
    // CATEGORY: SETTINGS
    // OS: 6.0
    INPUTMETHOD_USER_DICTIONARY = 61;

    // OPEN: Settings > Language & input > Add word
    // CATEGORY: SETTINGS
    // OS: 6.0
    INPUTMETHOD_USER_DICTIONARY_ADD_WORD = 62;

    // OPEN: Settings > Location
    // CATEGORY: SETTINGS
    // OS: 6.0
    LOCATION = 63;

    // OPEN: Settings > Location > Location mode
    // CATEGORY: SETTINGS
    // OS: 6.0
    LOCATION_MODE = 64;

    // OPEN: Settings > Apps
    // CATEGORY: SETTINGS
    // OS: 6.0
    MANAGE_APPLICATIONS = 65;

    // OPEN: Settings > Backup & reset > Factory data reset
    // CATEGORY: SETTINGS
    // OS: 6.0
    MASTER_CLEAR = 66;

    // OPEN: Settings > Backup & reset > Factory data reset > Confirm
    // CATEGORY: SETTINGS
    // OS: 6.0
    MASTER_CLEAR_CONFIRM = 67;

    // OPEN: Settings > Data usage > Network restrictions
    // CATEGORY: SETTINGS
    // OS: 6.0
    NET_DATA_USAGE_METERED = 68;

    // OPEN: Settings > More > Android Beam
    // CATEGORY: SETTINGS
    // OS: 6.0
    NFC_BEAM = 69;

    // OPEN: Settings > Tap & pay
    // CATEGORY: SETTINGS
    // OS: 6.0
    NFC_PAYMENT = 70;

    // OPEN: Settings > Sound & notification
    // CATEGORY: SETTINGS
    // OS: 6.0
    NOTIFICATION = 71;

    // OPEN: Settings > Sound & notification > App notifications > [App]
    // CATEGORY: SETTINGS
    // OS: 6.0
    NOTIFICATION_APP_NOTIFICATION = 72;

    // OPEN: Settings > Sound & notification > Other sounds
    // CATEGORY: SETTINGS
    // OS: 6.0
    NOTIFICATION_OTHER_SOUND = 73;

    // OBSOLETE
    NOTIFICATION_REDACTION = 74;

    // OPEN: Settings Widget > Notification log
    // CATEGORY: SETTINGS
    // OS: 6.0
    NOTIFICATION_STATION = 75;

    // OPEN: Settings > Sound & notification > Do not disturb
    // CATEGORY: SETTINGS
    // OS: 6.0
    NOTIFICATION_ZEN_MODE = 76;

    // OPEN: OBSOLETE
    OWNER_INFO = 77;

    // OPEN: Print job notification > Print job settings
    // CATEGORY: SETTINGS
    // OS: 6.0
    PRINT_JOB_SETTINGS = 78;

    // OPEN: Settings > Printing > [Print Service]
    // CATEGORY: SETTINGS
    // OS: 6.0
    PRINT_SERVICE_SETTINGS = 79;

    // OPEN: Settings > Printing
    // CATEGORY: SETTINGS
    // OS: 6.0
    PRINT_SETTINGS = 80;

    // OPEN: Settings > Backup & reset
    // CATEGORY: SETTINGS
    // OS: 6.0
    PRIVACY = 81;

    //OBSOLETE
    PROXY_SELECTOR = 82;

    // OPEN: Settings > Backup & reset > Network settings reset
    // CATEGORY: SETTINGS
    // OS: 6.0
    RESET_NETWORK = 83;

    // OPEN: Settings > Backup & reset > Network settings reset > Confirm
    // CATEGORY: SETTINGS
    // OS: 6.0
    RESET_NETWORK_CONFIRM = 84;

    // OPEN: Settings > Developer Options > Running Services
    // CATEGORY: SETTINGS
    // OS: 6.0
    RUNNING_SERVICE_DETAILS = 85;

    // OPEN: Settings > Security > Screen pinning
    // CATEGORY: SETTINGS
    // OS: 6.0
    SCREEN_PINNING = 86;

    // OPEN: Settings > Security
    // CATEGORY: SETTINGS
    // OS: 6.0
    SECURITY = 87;

    // OPEN: Settings > SIM cards
    // CATEGORY: SETTINGS
    // OS: 6.0
    SIM = 88;

    // OBSOLETE
    TESTING = 89;

    // OPEN: Settings > More > Tethering & portable hotspot
    // CATEGORY: SETTINGS
    // OS: 6.0
    TETHER = 90;

    // OPEN: Settings > Security > Trust agents
    // CATEGORY: SETTINGS
    // OS: 6.0
    TRUST_AGENT = 91;

    // OPEN: Settings > Security > Trusted credentials
    // CATEGORY: SETTINGS
    // OS: 6.0
    TRUSTED_CREDENTIALS = 92;

    // OPEN: Settings > Language & input > TTS output > [Engine] > Settings
    // CATEGORY: SETTINGS
    // OS: 6.0
    TTS_ENGINE_SETTINGS = 93;

    // OPEN: Settings > Language & input > Text-to-speech output
    // CATEGORY: SETTINGS
    // OS: 6.0
    TTS_TEXT_TO_SPEECH = 94;

    // OPEN: Settings > Security > Apps with usage access
    // CATEGORY: SETTINGS
    // OS: 6.0
    USAGE_ACCESS = 95;

    // OPEN: Settings > Users
    // CATEGORY: SETTINGS
    // OS: 6.0
    USER = 96;

    // OPEN: Settings > Users > [Restricted profile app & content access]
    // CATEGORY: SETTINGS
    // OS: 6.0
    USERS_APP_RESTRICTIONS = 97;

    // OPEN: Settings > Users > [User settings]
    // CATEGORY: SETTINGS
    // OS: 6.0
    USER_DETAILS = 98;

    // OBSOLETE
    VOICE_INPUT = 99;

    // OPEN: Settings > More > VPN
    // CATEGORY: SETTINGS
    // OS: 6.0
    VPN = 100;

    // OPEN: Settings > Display > Choose wallpaper from
    // CATEGORY: SETTINGS
    // OS: 6.0
    WALLPAPER_TYPE = 101;

    // OPEN: Settings > Display > Cast
    // CATEGORY: SETTINGS
    // OS: 6.0
    WFD_WIFI_DISPLAY = 102;

    // OPEN: Settings > Wi-Fi
    // CATEGORY: SETTINGS
    // OS: 6.0
    WIFI = 103;

    // OPEN: Settings > Wi-Fi > Advanced Wi-Fi
    // CATEGORY: SETTINGS
    // OS: 6.0
    WIFI_ADVANCED = 104;

    // OPEN: Settings > More > Wi-Fi Calling
    // CATEGORY: SETTINGS
    // OS: 6.0
    WIFI_CALLING = 105;

    // OPEN: Settings > Wi-Fi > Saved networks
    // CATEGORY: SETTINGS
    // OS: 6.0
    WIFI_SAVED_ACCESS_POINTS = 106;

    // OBSOLETE
    WIFI_APITEST = 107;

    // OBSOLETE
    WIFI_INFO = 108;

    // OPEN: Settings > Wi-Fi > Advanced Wi-Fi > Wi-Fi Direct
    // CATEGORY: SETTINGS
    // OS: 6.0
    WIFI_P2P = 109;

    // OPEN: Settings > More
    // CATEGORY: SETTINGS
    // OS: 6.0
    WIRELESS = 110;

    // OPEN: Quick Settings Panel
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_PANEL = 111;

    // OPEN: QS Airplane mode tile shown
    // ACTION: QS Airplane mode tile tapped
    //  SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_AIRPLANEMODE = 112;

    // OPEN: QS Bluetooth tile shown
    // ACTION: QS Bluetooth tile tapped
    //  SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_BLUETOOTH = 113;

    // OPEN: QS Cast tile shown
    // ACTION: QS Cast tile tapped
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_CAST = 114;

    // OPEN: QS Cellular tile shown
    // ACTION: QS Cellular tile tapped
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_CELLULAR = 115;

    // OPEN: QS Color inversion tile shown
    // ACTION: QS Color inversion tile tapped
    //  SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_COLORINVERSION = 116;

    // OPEN: QS Cellular tile > Cellular detail panel
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_DATAUSAGEDETAIL = 117;

    // OPEN: QS Do not disturb tile shown
    // ACTION: QS Do not disturb tile tapped
    //  SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_DND = 118;

    // OPEN: QS Flashlight tile shown
    // ACTION: QS Flashlight tile tapped
    //  SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_FLASHLIGHT = 119;

    // OPEN: QS Hotspot tile shown
    // ACTION: QS Hotspot tile tapped
    //  SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_HOTSPOT = 120;

    // OPEN: QS 3P tile shown
    // ACTION: QS 3P tile tapped
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_INTENT = 121;

    // OPEN: QS Location tile shown
    // ACTION: QS Location tile tapped
    //  SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_LOCATION = 122;

    // OPEN: QS Rotation tile shown
    // ACTION: QS Rotation tile tapped
    //  SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_ROTATIONLOCK = 123;

    // OBSOLETE
    QS_USERDETAILITE = 124;

    // OPEN: QS User list panel
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_USERDETAIL = 125;

    // OPEN: QS WiFi tile shown
    // ACTION: QS WiFi tile tapped
    //  SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_WIFI = 126;

    // OPEN: Notification Panel (including lockscreen)
    // CATEGORY: NOTIFICATION
    // OS: 5.1.1
    NOTIFICATION_PANEL = 127;

    // OPEN: Notification in panel became visible.
    //   PACKAGE: App that posted the notification.
    // ACTION: Notification is tapped.
    //   PACKAGE: App that posted the notification
    // DETAIL: Notification is expanded by user.
    //   PACKAGE: App that posted the notification
    // DISMISS: Notification is dismissed.
    //   PACKAGE: App that posted the notification
    //   SUBTYPE: Dismiss reason from NotificationManagerService.java
    // CATEGORY: NOTIFICATION
    // OS: 5.1.1
    NOTIFICATION_ITEM = 128;

    // ACTION: User tapped notification action
    //   PACKAGE: App that posted the notification
    //   SUBTYPE: Index of action on notification
    // CATEGORY: NOTIFICATION
    // OS: 5.0
    NOTIFICATION_ITEM_ACTION = 129;

    // OPEN: Settings > Apps > Configure apps > App permissions
    // CATEGORY: SETTINGS
    // OS: 6.0
    APPLICATIONS_ADVANCED = 130;

    // OPEN: Settings > Location > Scanning
    // CATEGORY: SETTINGS
    // OS: 6.0
    LOCATION_SCANNING = 131;

    // OBSOLETE
    MANAGE_APPLICATIONS_ALL = 132;

    // OPEN: Settings > Sound & notification > App notifications
    // CATEGORY: SETTINGS
    // OS: 6.0
    MANAGE_APPLICATIONS_NOTIFICATIONS = 133;

    // ACTION: Settings > Wi-Fi > Overflow > Add Network
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_WIFI_ADD_NETWORK = 134;

    // ACTION: Settings > Wi-Fi > [Long press network] > Connect to network
    //   SUBTYPE: true if connecting to a saved network, false if not
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_WIFI_CONNECT = 135;

    // ACTION: Settings > Wi-Fi > Overflow > Refresh
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_WIFI_FORCE_SCAN = 136;

    // ACTION: Settings > Wi-Fi > [Long press network] > Forget network
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_WIFI_FORGET = 137;

    // ACTION: Settings > Wi-Fi > Toggle off
    //   SUBTYPE: true if connected to network before toggle, false if not
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_WIFI_OFF = 138;

    // ACTION: Settings > Wi-Fi > Toggle on
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_WIFI_ON = 139;

    // OBSOLETE
    MANAGE_PERMISSIONS = 140;

    // OPEN: Settings > Sound & notification > DND > Priority only allows
    // CATEGORY: SETTINGS
    // OS: 6.0
    NOTIFICATION_ZEN_MODE_PRIORITY = 141;

    // OPEN: Settings > Sound & notification > DND > Automatic rules
    // CATEGORY: SETTINGS
    // OS: 6.0
    NOTIFICATION_ZEN_MODE_AUTOMATION = 142;

    // OPEN: Settings > Apps > Configure apps > App links
    // CATEGORY: SETTINGS
    // OS: 6.0
    MANAGE_DOMAIN_URLS = 143;

    // OPEN: Settings > Sound & notification > DND > [Time based rule]
    // CATEGORY: SETTINGS
    // OS: 6.0
    NOTIFICATION_ZEN_MODE_SCHEDULE_RULE = 144;

    // OPEN: Settings > Sound & notification > DND > [External rule]
    // CATEGORY: SETTINGS
    // OS: 6.0
    NOTIFICATION_ZEN_MODE_EXTERNAL_RULE = 145;

    // OPEN: Settings > Sound & notification > DND > [Event rule]
    // CATEGORY: SETTINGS
    // OS: 6.0
    NOTIFICATION_ZEN_MODE_EVENT_RULE = 146;

    // ACTION: App notification settings > Block Notifications
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_BAN_APP_NOTES = 147;

    // ACTION: Notification shade > Dismiss all button
    // CATEGORY: NOTIFICATION
    // OS: 6.0
    ACTION_DISMISS_ALL_NOTES = 148;

    // OPEN: QS Do Not Disturb detail panel
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_DND_DETAILS = 149;

    // OPEN: QS Bluetooth detail panel
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_BLUETOOTH_DETAILS = 150;

    // OPEN: QS Cast detail panel
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_CAST_DETAILS = 151;

    // OPEN: QS Wi-Fi detail panel
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_WIFI_DETAILS = 152;

    // ACTION: QS Wi-Fi detail panel > Wi-Fi toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_WIFI_TOGGLE = 153;

    // ACTION: QS Bluetooth detail panel > Bluetooth toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_BLUETOOTH_TOGGLE = 154;

    // ACTION: QS Cellular detail panel > Cellular toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_CELLULAR_TOGGLE = 155;

    // ACTION: QS User list panel > Select different user
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_SWITCH_USER = 156;

    // ACTION: QS Cast detail panel > Select cast device
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_CAST_SELECT = 157;

    // ACTION: QS Cast detail panel > Disconnect cast device
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_CAST_DISCONNECT = 158;

    // ACTION: Settings > Bluetooth > Toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_BLUETOOTH_TOGGLE = 159;

    // ACTION: Settings > Bluetooth > Overflow > Refresh
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_BLUETOOTH_SCAN = 160;

    // ACTION: Settings > Bluetooth > Overflow > Rename this device
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_BLUETOOTH_RENAME = 161;

    // ACTION: Settings > Bluetooth > Overflow > Show received files
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_BLUETOOTH_FILES = 162;

    // ACTION: QS DND details panel > Increase / Decrease exit time
    //   SUBTYPE: true is increase, false is decrease
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_DND_TIME = 163;

    // ACTION: QS DND details panel > [Exit condition]
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_DND_CONDITION_SELECT = 164;

    // ACTION: QS DND details panel > [DND mode]
    //  SUBTYPE: 1 is priority, 2 is silence, 3 is alarms only
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_DND_ZEN_SELECT = 165;

    // ACTION: QS DND detail panel > DND toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    QS_DND_TOGGLE = 166;

    // ACTION: DND Settings > Priority only allows > Reminder toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_ZEN_ALLOW_REMINDERS = 167;

    // ACTION: DND Settings > Priority only allows > Event toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_ZEN_ALLOW_EVENTS = 168;

    // ACTION: DND Settings > Priority only allows > Messages
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_ZEN_ALLOW_MESSAGES = 169;

    // ACTION: DND Settings > Priority only allows > Calls
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_ZEN_ALLOW_CALLS = 170;

    // ACTION: DND Settings > Priority only allows > Repeat callers toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_ZEN_ALLOW_REPEAT_CALLS = 171;

    // ACTION: DND Settings > Automatic rules > Add rule
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_ZEN_ADD_RULE = 172;

    // ACTION: DND Settings > Automatic rules > Add rule > OK
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_ZEN_ADD_RULE_OK = 173;

    // ACTION: DND Settings > Automatic rules > [Rule] > Delete rule
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_ZEN_DELETE_RULE = 174;

    // ACTION: DND Settings > Automatic rules > [Rule] > Delete rule > Delete
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_ZEN_DELETE_RULE_OK = 175;

    // ACTION: DND Settings > Automatic rules > [Rule] > Toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_ZEN_ENABLE_RULE = 176;

    // ACTION: Settings > More > Airplane mode toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_AIRPLANE_TOGGLE = 177;

    // ACTION: Settings > Data usage > Cellular data toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_CELL_DATA_TOGGLE = 178;

    // OPEN: Settings > Sound & notification > Notification access
    // CATEGORY: SETTINGS
    // OS: 6.0
    NOTIFICATION_ACCESS = 179;

    // OPEN: Settings > Sound & notification > Do Not Disturb access
    // CATEGORY: SETTINGS
    // OS: 6.0
    NOTIFICATION_ZEN_MODE_ACCESS = 180;

    // OPEN: Settings > Apps > Configure apps > Default Apps
    // CATEGORY: SETTINGS
    // OS: 6.0
    APPLICATIONS_DEFAULT_APPS = 181;

    // OPEN: Settings > Internal storage > Apps storage
    // CATEGORY: SETTINGS
    // OS: 6.0
    APPLICATIONS_STORAGE_APPS = 182;

    // OPEN: Settings > Security > Usage access
    // CATEGORY: SETTINGS
    // OS: 6.0
    APPLICATIONS_USAGE_ACCESS_DETAIL = 183;

    // OPEN: Settings > Battery > Battery optimization
    // CATEGORY: SETTINGS
    // OS: 6.0
    APPLICATIONS_HIGH_POWER_APPS = 184;

    // OBSOLETE
    FUELGAUGE_HIGH_POWER_DETAILS = 185;

    // ACTION: Lockscreen > Unlock gesture
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 5.1.1
    ACTION_LS_UNLOCK = 186;

    // ACTION: Lockscreen > Pull shade open
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 5.1.1
    ACTION_LS_SHADE = 187;

    // ACTION: Lockscreen > Tap on lock, shows hint
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 5.1.1
    ACTION_LS_HINT = 188;

    // ACTION: Lockscreen > Camera
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 5.1.1
    ACTION_LS_CAMERA = 189;

    // ACTION: Lockscreen > Dialer
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 5.1.1
    ACTION_LS_DIALER = 190;

    // ACTION: Lockscreen > Tap on lock, locks phone
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 5.1.1
    ACTION_LS_LOCK = 191;

    // ACTION: Lockscreen > Tap on notification, false touch rejection
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 5.1.1
    ACTION_LS_NOTE = 192;

    // ACTION: Lockscreen > Swipe down to open quick settings
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_LS_QS = 193;

    // ACTION: Swipe down to open quick settings when unlocked
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_SHADE_QS_PULL = 194;

    // ACTION: Notification shade > Tap to open quick settings
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_SHADE_QS_TAP = 195;

    // OPEN: Lockscreen
    //   SUBTYPE: 0 is unsecure, 1 is secured by password / pattern / PIN
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 5.1.1
    LOCKSCREEN = 196;

    // OPEN: Lockscreen > Screen to enter password / pattern / PIN
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 5.1.1
    BOUNCER = 197;

    // OPEN: Screen turned on
    //   SUBTYPE: 2 is user action
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 5.1.1
    SCREEN = 198;

    // OPEN: Notification caused sound, vibration, and/or LED blink
    //   SUBTYPE: 1 is buzz, 2 is beep, blink is 4, or'd together
    // CATEGORY: NOTIFICATION
    // OS: 5.1.1
    NOTIFICATION_ALERT = 199;

    // ACTION: Lockscreen > Emergency Call button
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 5.1.1
    ACTION_EMERGENCY_CALL = 200;

    // OPEN: Settings > Apps > Configure > Default apps > Assist & voice input
    // CATEGORY: SETTINGS
    // OS: 6.0
    APPLICATIONS_MANAGE_ASSIST = 201;

    // OPEN: Settings > Memory
    // CATEGORY: SETTINGS
    // OS: 6.0
    PROCESS_STATS_SUMMARY = 202;

    // ACTION: Settings > Display > When device is rotated
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_ROTATION_LOCK = 203;

    // ACTION: Long press on notification to view controls
    // CATEGORY: NOTIFICATION
    // OS: 6.0
    ACTION_NOTE_CONTROLS = 204;

    // ACTION: Notificatoin controls > Info button
    // CATEGORY: NOTIFICATION
    // OS: 6.0
    ACTION_NOTE_INFO = 205;

    // ACTION: Notification controls > Settings button
    // CATEGORY: NOTIFICATION
    // OS: 6.0
    ACTION_APP_NOTE_SETTINGS = 206;

    // OPEN: Volume Dialog (with hardware buttons)
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    VOLUME_DIALOG = 207;

    // OPEN: Volume dialog > Expanded volume dialog (multiple sliders)
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    VOLUME_DIALOG_DETAILS = 208;

    // ACTION: Volume dialog > Adjust volume slider
    //   SUBTYPE: volume level (0-7)
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_VOLUME_SLIDER = 209;

    // ACTION: Volume dialog > Select non-active stream
    //   SUBTYPE: stream (defined in AudioSystem.java)
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_VOLUME_STREAM = 210;

    // ACTION: Adjust volume with hardware key
    //   SUBTYPE: volume level (0-7)
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_VOLUME_KEY = 211;

    // ACTION: Volume dialog > Mute a stream by tapping icon
    //   SUBTYPE: mute is 1, audible is 2
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_VOLUME_ICON = 212;

    // ACTION: Volume dialog > Change ringer mode by tapping icon
    //   SUBTYPE: 2 is audible, 3 is vibrate
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_RINGER_MODE = 213;

    // ACTION: Chooser shown (share target, file open, etc.)
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_ACTIVITY_CHOOSER_SHOWN = 214;

    // ACTION: Chooser > User taps an app target
    //   SUBTYPE: Index of target
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_ACTIVITY_CHOOSER_PICKED_APP_TARGET = 215;

    // ACTION: Chooser > User taps a service target
    //   SUBTYPE: Index of target
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_ACTIVITY_CHOOSER_PICKED_SERVICE_TARGET = 216;

    // ACTION: Chooser > User taps a standard target
    //   SUBTYPE: Index of target
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_ACTIVITY_CHOOSER_PICKED_STANDARD_TARGET = 217;

    // ACTION: QS Brightness Slider (with auto brightness disabled)
    //   SUBTYPE: slider value
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    ACTION_BRIGHTNESS = 218;

    // ACTION: QS Brightness Slider (with auto brightness enabled)
    //   SUBTYPE: slider value
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    ACTION_BRIGHTNESS_AUTO = 219;

    // OPEN: Settings > Display > Brightness Slider
    // CATEGORY: SETTINGS
    // OS: 6.0
    BRIGHTNESS_DIALOG = 220;

    // OPEN: Settings > Apps > Configure Apps > Display over other apps
    // CATEGORY: SETTINGS
    // OS: 6.0
    SYSTEM_ALERT_WINDOW_APPS = 221;

    // OPEN: Display has entered dream mode
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    DREAMING = 222;

    // OPEN: Display has entered ambient notification mode
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    DOZING = 223;

    // OPEN: Overview
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    OVERVIEW_ACTIVITY = 224;

    // OPEN: Settings > About phone > Legal information
    // CATEGORY: SETTINGS
    // OS: 6.0
    ABOUT_LEGAL_SETTINGS = 225;

    // OPEN: Settings > Search > Perform search
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_SEARCH_RESULTS = 226;

    // OPEN: Settings > System UI Tuner
    // CATEGORY: SETTINGS
    // OS: 6.0
    TUNER = 227;

    // OPEN: Settings > System UI Tuner > Quick Settings
    // CATEGORY: SETTINGS
    // OS: 6.0
    TUNER_QS = 228;

    // OPEN: Settings > System UI Tuner > Demo mode
    // CATEGORY: SETTINGS
    // OS: 6.0
    TUNER_DEMO_MODE = 229;

    // ACTION: Settings > System UI Tuner > Quick Settings > Move tile
    //   PACKAGE: Tile
    // CATEGORY: SETTINGS
    // OS: 6.0
    TUNER_QS_REORDER = 230;

    // ACTION: Settings > System UI Tuner > Quick Settings > Add tile
    //   PACKAGE: Tile
    // CATEGORY: SETTINGS
    // OS: 6.0
    TUNER_QS_ADD = 231;

    // ACTION: Settings > System UI Tuner > Quick Settings > Remove tile
    //   PACKAGE: Tile
    // CATEGORY: SETTINGS
    // OS: 6.0
    TUNER_QS_REMOVE = 232;

    // ACTION: Settings > System UI Tuner > Status bar > Enable icon
    //   PACKAGE: Icon
    // CATEGORY: SETTINGS
    // OS: 6.0
    TUNER_STATUS_BAR_ENABLE = 233;

    // ACTION: Settings > System UI Tuner > Status bar > Disable icon
    //   PACKAGE: Icon
    // CATEGORY: SETTINGS
    // OS: 6.0
    TUNER_STATUS_BAR_DISABLE = 234;

    // ACTION: Settings > System UI Tuner > Demo mode > Enable demo mode
    //   SUBTYPE: false is disabled, true is enabled
    // CATEGORY: SETTINGS
    // OS: 6.0
    TUNER_DEMO_MODE_ENABLED = 235;

    // ACTION: Settings > System UI Tuner > Demo mode > Show demo mode
    //   SUBTYPE: false is disabled, true is enabled
    // CATEGORY: SETTINGS
    // OS: 6.0
    TUNER_DEMO_MODE_ON = 236;

    // ACTION: Settings > System UI Tuner > Show embedded battery percentage
    //   SUBTYPE: 0 is disabled, 1 is enabled
    // CATEGORY: SETTINGS
    // OS: 6.0
    TUNER_BATTERY_PERCENTAGE = 237;

    // OPEN: Settings > Developer options > Inactive apps
    // CATEGORY: SETTINGS
    // OS: 6.0
    FUELGAUGE_INACTIVE_APPS = 238;

    // ACTION: Long press home to bring up assistant
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_ASSIST_LONG_PRESS = 239;

    // OPEN: Settings > Security > Nexus Imprint > Add Fingerprint
    // CATEGORY: SETTINGS
    // OS: 6.0
    FINGERPRINT_ENROLLING = 240;

    // OPEN: Fingerprint Enroll > Find Sensor
    // CATEGORY: SETTINGS
    // OS: 6.0
    FINGERPRINT_FIND_SENSOR = 241;

    // OPEN: Fingerprint Enroll > Fingerprint Enrolled!
    // CATEGORY: SETTINGS
    // OS: 6.0
    FINGERPRINT_ENROLL_FINISH = 242;

    // OPEN: Fingerprint Enroll introduction
    // CATEGORY: SETTINGS
    // OS: 6.0
    FINGERPRINT_ENROLL_INTRO = 243;

    // OPEN: Fingerprint Enroll onboarding
    // CATEGORY: SETTINGS
    // OS: 6.0
    FINGERPRINT_ENROLL_ONBOARD = 244;

    // OPEN: Fingerprint Enroll > Let's Start!
    // CATEGORY: SETTINGS
    // OS: 6.0
    FINGERPRINT_ENROLL_SIDECAR = 245;

    // OPEN: Fingerprint Enroll SUW > Let's Start!
    // CATEGORY: SETTINGS
    // OS: 6.0
    FINGERPRINT_ENROLLING_SETUP = 246;

    // OPEN: Fingerprint Enroll SUW > Find Sensor
    // CATEGORY: SETTINGS
    // OS: 6.0
    FINGERPRINT_FIND_SENSOR_SETUP = 247;

    // OPEN: Fingerprint Enroll SUW > Fingerprint Enrolled!
    // CATEGORY: SETTINGS
    // OS: 6.0
    FINGERPRINT_ENROLL_FINISH_SETUP = 248;

    // OPEN: Fingerprint Enroll SUW introduction
    // CATEGORY: SETTINGS
    // OS: 6.0
    FINGERPRINT_ENROLL_INTRO_SETUP = 249;

    // OPEN: Fingerprint Enroll SUW onboarding
    // CATEGORY: SETTINGS
    // OS: 6.0
    FINGERPRINT_ENROLL_ONBOARD_SETUP = 250;

    // ACTION: Add fingerprint > Enroll fingerprint
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_FINGERPRINT_ENROLL = 251;

    // ACTION: Authenticate using fingerprint
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_FINGERPRINT_AUTH = 252;

    // ACTION: Settings > Security > Nexus Imprint > [Fingerprint] > Delete
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_FINGERPRINT_DELETE = 253;

    // ACTION: Settings > Security > Nexus Imprint > [Fingerprint] > Rename
    // CATEGORY: SETTINGS
    // OS: 6.0
    ACTION_FINGERPRINT_RENAME = 254;

    // ACTION: Double tap camera shortcut
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_DOUBLE_TAP_POWER_CAMERA_GESTURE = 255;

    // ACTION: Double twist camera shortcut
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: 6.0
    ACTION_WIGGLE_CAMERA_GESTURE = 256;

    // OPEN: QS Work Mode tile shown
    // ACTION: QS Work Mode tile tapped
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: N
    QS_WORKMODE = 257;

    // OPEN: Settings > Developer Options > Background Check
    // CATEGORY: SETTINGS
    // OS: N
    BACKGROUND_CHECK_SUMMARY = 258;

    // OPEN: QS Lock tile shown
    // ACTION: QS Lock tile tapped
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: N
    QS_LOCK_TILE = 259;

    // OPEN: QS User Tile shown
    // CATEGORY: QUICK_SETTINGS
    // OS: N
    QS_USER_TILE = 260;

    // OPEN: QS Battery tile shown
    // CATEGORY: QUICK_SETTINGS
    // OS: N
    QS_BATTERY_TILE = 261;

    // OPEN: Settings > Sound > Do not disturb > Visual interruptions
    // CATEGORY: SETTINGS
    // OS: N
    NOTIFICATION_ZEN_MODE_VISUAL_INTERRUPTIONS = 262;

    // ACTION: Visual interruptions > No screen interuptions toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_ZEN_ALLOW_WHEN_SCREEN_OFF = 263;

    // ACTION: Visual interruptions > No notification light toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_ZEN_ALLOW_LIGHTS = 264;

    // OPEN: Settings > Notifications > [App] > Topic Notifications
    // CATEGORY: SETTINGS
    // OS: N
    NOTIFICATION_TOPIC_NOTIFICATION = 265;

    // ACTION: Settings > Apps > Default Apps > Select different SMS app
    //   PACKAGE: Selected SMS app
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_DEFAULT_SMS_APP_CHANGED = 266;

    // OPEN: QS Color modification tile shown
    // ACTION: QS Color modification tile tapped
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    // OS: N
    QS_COLOR_MATRIX = 267;

    // OPEN: QS Custom tile shown
    // ACTION: QS Work Mode tile tapped
    // CATEGORY: QUICK_SETTINGS
    // OS: N
    QS_CUSTOM = 268;

    // ACTION: Visual interruptions > Never turn off the screen toggle
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_ZEN_ALLOW_WHEN_SCREEN_ON = 269;

    // ACTION: Overview > Long-press task, drag to enter split-screen
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_WINDOW_DOCK_DRAG_DROP = 270;

    // ACTION: In App > Long-press Overview button to enter split-screen
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_WINDOW_DOCK_LONGPRESS = 271;

    // ACTION: In App > Swipe Overview button to enter split-screen
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_WINDOW_DOCK_SWIPE = 272;

    // ACTION: Launch profile-specific app > Confirm credentials
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    PROFILE_CHALLENGE = 273;

    // OPEN: QS Battery detail panel
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    QS_BATTERY_DETAIL = 274;

    // OPEN: Overview > History
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    OVERVIEW_HISTORY = 275;

    // ACTION: Overview > Page by tapping Overview button
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_OVERVIEW_PAGE = 276;

    // ACTION: Overview > Select app
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_OVERVIEW_SELECT = 277;

    // ACTION: View emergency info
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_VIEW_EMERGENCY_INFO = 278;

    // ACTION: Edit emergency info activity
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_EDIT_EMERGENCY_INFO = 279;

    // ACTION: Edit emergency info field
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_EDIT_EMERGENCY_INFO_FIELD = 280;

    // ACTION: Add emergency contact
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_ADD_EMERGENCY_CONTACT = 281;

    // ACTION: Delete emergency contact
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_DELETE_EMERGENCY_CONTACT = 282;

    // ACTION: Call emergency contact
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_CALL_EMERGENCY_CONTACT = 283;

    // OPEN: QS Data Saver tile shown
    // ACTION: QS Data Saver tile tapped
    // CATEGORY: QUICK_SETTINGS
    QS_DATA_SAVER = 284;

    // OPEN: Settings > Security > User credentials
    // CATEGORY: Settings
    // OS: N
    USER_CREDENTIALS = 285;

    // ACTION: In App (splitscreen) > Long-press Overview to exit split-screen
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_WINDOW_UNDOCK_LONGPRESS = 286;

    // Logged when the user scrolls through overview manually
    OVERVIEW_SCROLL = 287;

    // Logged when the overview times out automatically selecting an app
    OVERVIEW_SELECT_TIMEOUT = 288;

    // Logged when a user dismisses a task in overview
    OVERVIEW_DISMISS = 289;

    // Logged when the user modifying the notification importance slider.
    ACTION_MODIFY_IMPORTANCE_SLIDER = 290;

    // Logged when the user saves a modification to notification importance. Negative numbers
    // indicate the user lowered the importance; positive means they increased it.
    ACTION_SAVE_IMPORTANCE = 291;

    // ACTION: Long-press power button, then tap "Take bug report" option.
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_BUGREPORT_FROM_POWER_MENU_INTERACTIVE = 292;

    // ACTION: Long-press power button, then long-press "Take bug report" option.
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_BUGREPORT_FROM_POWER_MENU_FULL = 293;

    // ACTION: Settings -> Developer Options -> Take bug report -> Interactive report
    // CATEGORY: SETTINGS
    // OS: N
    // Interactive bug report initiated from Settings.
    ACTION_BUGREPORT_FROM_SETTINGS_INTERACTIVE = 294;

    // ACTION: Settings -> Developer Options -> Take bug report -> Full report
    // CATEGORY: SETTINGS
    // OS: N
    // Interactive bug report initiated from Settings.
    ACTION_BUGREPORT_FROM_SETTINGS_FULL = 295;

    // ACTION: User tapped notification action to cancel a bug report
    // CATEGORY: NOTIFICATION
    // OS: N
    ACTION_BUGREPORT_NOTIFICATION_ACTION_CANCEL = 296;

    // ACTION: User tapped notification action to launch bug report details screen
    // CATEGORY: NOTIFICATION
    // OS: N
    ACTION_BUGREPORT_NOTIFICATION_ACTION_DETAILS = 297;

    // ACTION: User tapped notification action to take adition screenshot on bug report
    // CATEGORY: NOTIFICATION
    // OS: N
    ACTION_BUGREPORT_NOTIFICATION_ACTION_SCREENSHOT = 298;

    // ACTION: User tapped notification to share bug report
    // CATEGORY: NOTIFICATION
    // OS: N
    ACTION_BUGREPORT_NOTIFICATION_ACTION_SHARE = 299;

    // ACTION: User changed bug report name using the details screen
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_BUGREPORT_DETAILS_NAME_CHANGED = 300;

    // ACTION: User changed bug report title using the details screen
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_BUGREPORT_DETAILS_TITLE_CHANGED = 301;

    // ACTION: User changed bug report description using the details screen
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_BUGREPORT_DETAILS_DESCRIPTION_CHANGED = 302;

    // ACTION: User tapped Save in the bug report details screen.
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_BUGREPORT_DETAILS_SAVED = 303;

    // ACTION: User tapped Cancel in the bug report details screen.
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_BUGREPORT_DETAILS_CANCELED = 304;

    // Tuner: Open/close calibrate dialog.
    TUNER_CALIBRATE_DISPLAY = 305;

    // Tuner: Open/close color and appearance.
    TUNER_COLOR_AND_APPEARANCE = 306;

    // Tuner: Apply calibrate dialog.
    ACTION_TUNER_CALIBRATE_DISPLAY_CHANGED = 307;

    // Tuner: Open/close night mode.
    TUNER_NIGHT_MODE = 308;

    // Tuner: Change night mode.
    ACTION_TUNER_NIGHT_MODE = 309;

    // Tuner: Change night mode auto.
    ACTION_TUNER_NIGHT_MODE_AUTO = 310;

    // Tuner: Change night mode adjust dark theme.
    ACTION_TUNER_NIGHT_MODE_ADJUST_DARK_THEME = 311;

    // Tuner: Change night mode adjust tint.
    ACTION_TUNER_NIGHT_MODE_ADJUST_TINT = 312;

    // Tuner: Change night mode adjust brightness.
    ACTION_TUNER_NIGHT_MODE_ADJUST_BRIGHTNESS = 313;

    // Tuner: Change do not disturb in volume panel.
    ACTION_TUNER_DO_NOT_DISTURB_VOLUME_PANEL = 314;

    // Tuner: Change do not disturb volume buttons shortcut.
    ACTION_TUNER_DO_NOT_DISTURB_VOLUME_SHORTCUT = 315;

    // Logs the action the user takes when an app crashed.
    ACTION_APP_CRASH = 316;

    // Logs the action the user takes when an app ANR'd.
    ACTION_APP_ANR = 317;

    // Logged when a user double taps the overview button to launch the previous task
    OVERVIEW_LAUNCH_PREVIOUS_TASK = 318;

    // Logged when we execute an app transition. This indicates the total delay from startActivity
    // until the app transition is starting to animate, in milliseconds.
    APP_TRANSITION_DELAY_MS = 319;

    // Logged when we execute an app transition. This indicates the reason why the transition
    // started. Must be one of ActivityManagerInternal.APP_TRANSITION_* reasons.
    APP_TRANSITION_REASON = 320;

    // Logged when we execute an app transition and we drew a starting window. This indicates the
    // delay from startActivity until the starting window was drawn.
    APP_TRANSITION_STARTING_WINDOW_DELAY_MS = 321;

    // Logged when we execute an app transition and all windows of the app got drawn. This indicates
    // the delay from startActivity until all windows have been drawn.
    APP_TRANSITION_WINDOWS_DRAWN_DELAY_MS = 322;

    // Logged when we execute an app transition. This indicates the component name of the current
    // transition.
    APP_TRANSITION_COMPONENT_NAME = 323;

    // Logged when we execute an app transition. This indicates whether the process was already
    // running.
    APP_TRANSITION_PROCESS_RUNNING = 324;

    // Logged when we execute an app transition. This indicates the device uptime in seconds when
    // the transition was executed.
    APP_TRANSITION_DEVICE_UPTIME_SECONDS = 325;

    // ACTION: app requested access to a scoped directory, user granted it.
    //   SUBTYPE: directory's index on Environment.STANDARD_DIRECTORIES
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_SCOPED_DIRECTORY_ACCESS_GRANTED_BY_FOLDER = 326;

    // ACTION: app requested access to a scoped directory, user denied it.
    //   SUBTYPE: directory's index on Environment.STANDARD_DIRECTORIES
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_SCOPED_DIRECTORY_ACCESS_DENIED_BY_FOLDER = 327;

    // ACTION: app requested access to a scoped directory, user granted it.
    //   PACKAGE: app that requested access
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_SCOPED_DIRECTORY_ACCESS_GRANTED_BY_PACKAGE = 328;

    // ACTION: app requested access to a scoped directory, user denied it.
    //   PACKAGE: app that requested access.
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_SCOPED_DIRECTORY_ACCESS_DENIED_BY_PACKAGE = 329;

    // ACTION: app requested access to a directory user has already been granted
    // access before.
    //   SUBTYPE: directory's index on Environment.STANDARD_DIRECTORIES.
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_SCOPED_DIRECTORY_ACCESS_ALREADY_GRANTED_BY_FOLDER = 330;

    // ACTION: app requested access to a directory user has already been granted
    // access before.
    //   PACKAGE: app that requested access.
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N
    ACTION_SCOPED_DIRECTORY_ACCESS_ALREADY_GRANTED_BY_PACKAGE = 331;

    // ACTION: Logged when the user slides a notification and reveals the gear
    // beneath it.
    // CATEGORY: NOTIFICATION
    // OS: N
    ACTION_REVEAL_GEAR = 332;

    // ACTION: Logged when the user taps on the gear beneath a notification.
    // CATEGORY: NOTIFICATION
    // OS: N
    ACTION_TOUCH_GEAR = 333;

    // Logs that the user has edited the enabled VR listeners.
    // CATEGORY: SETTINGS
    // OS: N
    VR_MANAGE_LISTENERS = 334;

    // Settings -> Accessibility -> Click after pointer stops moving
    // CATEGORY: SETTINGS
    // OS: N
    ACCESSIBILITY_TOGGLE_AUTOCLICK = 335;

    // Settings -> Sound
    // CATEGORY: SETTINGS
    // OS: N
    SOUND = 336;

    // Settings -> Notifications -> Gear
    // CATEGORY: SETTINGS
    // OS: N
    CONFIGURE_NOTIFICATION = 337;

    // Settings -> Wi-Fi -> Gear
    // CATEGORY: SETTINGS
    // OS: N
    CONFIGURE_WIFI = 338;

    // Settings -> Display -> Display size
    // OS: N
    DISPLAY_SCREEN_ZOOM = 339;

    // Settings -> Display -> Font size
    // CATEGORY: SETTINGS
    // OS: N
    ACCESSIBILITY_FONT_SIZE = 340;

    // Settings -> Data usage -> Cellular/Wi-Fi data usage
    // CATEGORY: SETTINGS
    // OS: N
    DATA_USAGE_LIST = 341;

    // Settings -> Data usage -> Billing cycle or DATA_USAGE_LIST -> Gear
    // CATEGORY: SETTINGS
    // OS: N
    BILLING_CYCLE = 342;

    // DATA_USAGE_LIST -> Any item or App info -> Data usage
    // CATEGORY: SETTINGS
    // OS: N
    APP_DATA_USAGE = 343;

    // Settings -> Language & input -> Language
    // CATEGORY: SETTINGS
    // OS: N
    USER_LOCALE_LIST = 344;

    // Settings -> Language & input -> Virtual keyboard
    // CATEGORY: SETTINGS
    // OS: N
    VIRTUAL_KEYBOARDS = 345;

    // Settings -> Language & input -> Physical keyboard
    // CATEGORY: SETTINGS
    // OS: N
    PHYSICAL_KEYBOARDS = 346;

    // Settings -> Language & input -> Virtual keyboard -> Add a virtual keyboard
    // CATEGORY: SETTINGS
    // OS: N
    ENABLE_VIRTUAL_KEYBOARDS = 347;

    // Settings -> Data usage -> Data Saver
    // CATEGORY: SETTINGS
    // OS: N
    DATA_SAVER_SUMMARY = 348;

    // Settings -> Data usage -> Data Saver -> Unrestricted data access
    // CATEGORY: SETTINGS
    // OS: N
    DATA_USAGE_UNRESTRICTED_ACCESS = 349;

    // Used for generic logging of Settings Preference Persistence, should not be used
    // outside SharedPreferencesLogger.
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_GENERIC_PACKAGE = 350;

    // Settings -> Apps -> Gear -> Special access
    SPECIAL_ACCESS = 351;

    // Logs that the user docks window via shortcut key.
    WINDOW_DOCK_SHORTCUTS = 352;

    // User already denied access to the request folder; action takes an integer
    // representing the folder's index on Environment.STANDARD_DIRECTORIES
    // (or -2 for root access, or -1 or unknown directory).
    ACTION_SCOPED_DIRECTORY_ACCESS_ALREADY_DENIED_BY_FOLDER = 353;

    // User already denied access to the request folder; action pass package name
    // of calling package.
    ACTION_SCOPED_DIRECTORY_ACCESS_ALREADY_DENIED_BY_PACKAGE = 354;

    // User denied access to the request folder and checked 'Do not ask again';
    // action takes an integer representing the folder's index on Environment.STANDARD_DIRECTORIES
    // (or -2 for root access, or -1 or unknown directory).
    ACTION_SCOPED_DIRECTORY_ACCESS_DENIED_AND_PERSIST_BY_FOLDER = 355;

    // User denied access to the request folder and checked 'Do not ask again';
    // action pass package name of calling package.
    ACTION_SCOPED_DIRECTORY_ACCESS_DENIED_AND_PERSIST_BY_PACKAGE = 356;

    // Logged when a user dismisses all task in overview
    OVERVIEW_DISMISS_ALL = 357;

    // Quick Settings -> Edit
    QS_EDIT = 358;

    // Quick Settings -> Edit -> Overflow -> Reset
    ACTION_QS_EDIT_RESET = 359;

    // QS -> Edit - Drag a tile out of the active tiles.
    // The _SPEC contains either the spec of the tile or
    // the package of the 3rd party app in the PKG field.
    ACTION_QS_EDIT_REMOVE_SPEC = 360;
    ACTION_QS_EDIT_REMOVE = 361;

    // QS -> Edit - Drag a tile into the active tiles.
    // The _SPEC contains either the spec of the tile or
    // the package of the 3rd party app in the PKG field.
    ACTION_QS_EDIT_ADD_SPEC = 362;
    ACTION_QS_EDIT_ADD = 363;

    // QS -> Edit - Drag a tile within the active tiles.
    // The _SPEC contains either the spec of the tile or
    // the package of the 3rd party app in the PKG field.
    ACTION_QS_EDIT_MOVE_SPEC = 364;
    ACTION_QS_EDIT_MOVE = 365;

    // Long-press on a QS tile. Tile spec in package field.
    ACTION_QS_LONG_PRESS = 366;

    // OPEN: SUW Welcome Screen -> Vision Settings
    // CATEGORY: SETTINGS
    // OS: N
    SUW_ACCESSIBILITY = 367;

    // OPEN: SUW Welcome Screen -> Vision Settings -> Magnification gestures (Renamed in O)
    // OPEN: SUW Welcome Screen -> Vision Settings -> Magnification -> Magnify with triple-tap
    // OPEN: SUW Welcome Screen -> Vision Settings -> Magnification -> Magnify with button
    // ACTION: New magnification gesture configuration is chosen
    //  SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: N
    SUW_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION = 368;

    // OPEN: SUW Welcome Screen -> Vision Settings -> Font size
    // ACTION: New font size is chosen
    //  SUBTYPE: 0 is small, 1 is default, 2 is large, 3 is largest
    // CATEGORY: SETTINGS
    // OS: N
    SUW_ACCESSIBILITY_FONT_SIZE = 369;

    // OPEN: SUW Welcome Screen -> Vision Settings -> Display size
    // ACTION: New display size is chosen
    //  SUBTYPE: 0 is small, 1 is default, 2 is large, 3 is larger, 4 is largest
    // CATEGORY: SETTINGS
    // OS: N
    SUW_ACCESSIBILITY_DISPLAY_SIZE = 370;

    // OPEN: SUW Welcome Screen -> Vision Settings -> TalkBack
    // ACTION: New screen reader configuration is chosen
    //  SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: N
    SUW_ACCESSIBILITY_TOGGLE_SCREEN_READER = 371;

    // ------- Begin N Settings conditionals -----
    // Conditionals are the green bars at the top of the settings dashboard
    // All conditionals will have visible/hide events onResume/onPause
    // but they will also be used as extra ints in the
    // dismiss/expand/collapse/click/button events

    // swipe away conditional
    ACTION_SETTINGS_CONDITION_DISMISS = 372;

    // click on collapsed conditional or clicks expand button
    ACTION_SETTINGS_CONDITION_EXPAND = 373;

    // click collapse button on expanded conditional
    ACTION_SETTINGS_CONDITION_COLLAPSE = 374;

    // click main area of expanded conditional
    ACTION_SETTINGS_CONDITION_CLICK = 375;

    // click a direct button on expanded conditional
    ACTION_SETTINGS_CONDITION_BUTTON = 376;

    // Airplane mode on
    SETTINGS_CONDITION_AIRPLANE_MODE = 377;
    // AKA Data saver on
    SETTINGS_CONDITION_BACKGROUND_DATA = 378;
    // Battery saver on
    SETTINGS_CONDITION_BATTERY_SAVER = 379;
    // Cellular data off
    SETTINGS_CONDITION_CELLULAR_DATA = 380;
    // Do not disturb on
    SETTINGS_CONDITION_DND = 381;
    // Hotspot on
    SETTINGS_CONDITION_HOTSPOT = 382;
    // Work profile off
    SETTINGS_CONDITION_WORK_MODE = 383;

    // ------- Begin N Settings suggestions -----
    // Since suggestions come from system apps, suggestions will
    // have generic constants and the package providing the suggestion
    // will be put in the package field.  For suggestions in the Settings
    // package, the class name will be filled in instead (since settings
    // provides several suggetions).

    // Settings shown/hidden on main settings dashboard.
    // These are actually visibility events, but visible/hidden doesn't
    // take a package, so these are being logged as actions.
    ACTION_SHOW_SETTINGS_SUGGESTION = 384;
    ACTION_HIDE_SETTINGS_SUGGESTION = 385;

    // Click on a suggestion.
    ACTION_SETTINGS_SUGGESTION = 386;

    // Suggestion -> Overflow -> Remove.
    ACTION_SETTINGS_DISMISS_SUGGESTION = 387;

    // Settings > Apps > Gear > Special Access > Premium SMS access
    PREMIUM_SMS_ACCESS = 388;

    // Logged when the user resizes the docked stack. Arguments:
    // 0: Split 50:50
    // 1: Docked smaller
    // 2: Docked larger
    ACTION_WINDOW_DOCK_RESIZE = 389;

    // User exits split-screen by dragging the divider to the side of the screen. Arguments
    // 0: Docked gets maximized
    // 1: Fullscreen gets maximized
    ACTION_WINDOW_UNDOCK_MAX = 390;

    // User tried to dock an unresizable app.
    ACTION_WINDOW_DOCK_UNRESIZABLE = 391;

    // System UI Tuner > Other > Power notification controls
    TUNER_POWER_NOTIFICATION_CONTROLS = 392;

    // System UI Tuner > Other > Power notification controls > Toggle on/off
    ACTION_TUNER_POWER_NOTIFICATION_CONTROLS = 393;

    // Action: user enable / disabled data saver using Settings
    // OPEN: Settings -> Data Usage -> Data saver -> On/off toggle
    // VALUE: 1 for enabled, 0 for disabled
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_DATA_SAVER_MODE = 394;

    // User whitelisted an app for Data Saver mode; action pass package name of app
    // Action: user enable / disabled data saver using Settings
    // OPEN: Settings -> Data Usage -> Data saver -> Unrestricted data access > APP toggle turned on
    //       or
    //       Settings -> Apps -> APP -> Data usage -> Unrestricted data usage toggle turned on
    // VALUE: package name of APP
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_DATA_SAVER_WHITELIST = 395;

    // User blacklisted an app for Data Saver mode; action pass package name of app
    // OPEN: Settings -> Apps -> APP -> Data usage -> Background data toggle turned off
    // VALUE: package name of APP
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_DATA_SAVER_BLACKLIST = 396;

    // User opened a remote input view associated with a notification. Passes package name of app
    // that posted the notification. Note that this can also happen transiently during notification
    // reinflation.
    ACTION_REMOTE_INPUT_OPEN = 397;

    // User attempt to send data through a remote input view associated with a notification.
    // Passes package name of app that posted the notification. May succeed or fail.
    ACTION_REMOTE_INPUT_SEND = 398;

    // Failed attempt to send data through a remote input view associated with a
    // notification. Passes package name of app that posted the notification.
    ACTION_REMOTE_INPUT_FAIL = 399;

    // User closed a remote input view associated with a notification. Passes package name of app
    // that posted the notification. Note that this can also happen transiently during notification
    // reinflation.
    ACTION_REMOTE_INPUT_CLOSE = 400;

    // OPEN: Settings > Accounts > Work profile settings
    // CATEGORY: SETTINGS
    ACCOUNTS_WORK_PROFILE_SETTINGS = 401;

    // Settings -> Dev options -> Convert to file encryption
    CONVERT_FBE = 402;

    // Settings -> Dev options -> Convert to file encryption -> WIPE AND CONVERT...
    CONVERT_FBE_CONFIRM = 403;

    // Settings -> Dev options -> Running services
    RUNNING_SERVICES = 404;

    // The dialog shown by 3P intent to change current webview implementation.
    WEBVIEW_IMPLEMENTATION = 405;

    // Settings launched from expanded quick settings.
    ACTION_QS_EXPANDED_SETTINGS_LAUNCH = 406;

    // Notification expansion state toggled by the expand affordance.
    ACTION_NOTIFICATION_EXPANDER = 407;

    // Notification group expansion state toggled by the expand affordance.
    ACTION_NOTIFICATION_GROUP_EXPANDER = 408;


    // Notification expansion state toggled by the expand gesture.
    ACTION_NOTIFICATION_GESTURE_EXPANDER = 409;

    // Notification group expansion state toggled by the expand gesture.
    ACTION_NOTIFICATION_GROUP_GESTURE_EXPANDER = 410;

    // User performs gesture that activates the ambient display
    // 1: Gesture performed is Nudge
    // 2: Gesture performed is Pickup
    // 4: Gesture performed is Double Tap
    ACTION_AMBIENT_GESTURE = 411;

    // ---- End N Constants, all N constants go above this line ----

    // ------- Begin N App Disambig Shade -----
    // Application disambig shade opened or closed with a featured app.
    // These are actually visibility events, but visible/hidden doesn't
    // take a package, so these are being logged as actions.
    // Package: Calling app on open, called app on close
    ACTION_SHOW_APP_DISAMBIG_APP_FEATURED = 451;
    ACTION_HIDE_APP_DISAMBIG_APP_FEATURED = 452;

    // Application disambig shade opened or closed without a featured app.
    // These are actually visibility events, but visible/hidden doesn't
    // take a package, so these are being logged as actions.
    // Package: Calling app on open, called app on close
    ACTION_SHOW_APP_DISAMBIG_NONE_FEATURED = 453;
    ACTION_HIDE_APP_DISAMBIG_NONE_FEATURED = 454;

    // User opens in an app by pressing “Always” in the application disambig shade.
    // Subtype: Index of selection
    ACTION_APP_DISAMBIG_ALWAYS = 455;

    // User opens in an app by pressing “Just Once” in the application disambig shade.
    // Subtype: Index of selection
    ACTION_APP_DISAMBIG_JUST_ONCE = 456;

    // User opens in an app by tapping on its name in the application disambig shade.
    // Subtype: Index of selection
    ACTION_APP_DISAMBIG_TAP = 457;

    // OPEN: Settings > Internal storage > Storage manager
    // CATEGORY: SETTINGS
    STORAGE_MANAGER_SETTINGS = 458;

    // OPEN: Settings -> Gestures
    // CATEGORY: SETTINGS
    SETTINGS_GESTURES = 459;

    // ------ Begin Deletion Helper ------
    // ACTION: Settings > Storage > Free Up Space > Photos & Videos > Toggle
    //   SUBTYPE: false is off, true is on
    // CATEGORY: SETTINGS
    ACTION_DELETION_SELECTION_PHOTOS = 460;

    // ACTION: Settings > Storage > Free Up Space > Apps > Toggle
    //   SUBTYPE: false is off, true is on
    // CATEGORY: SETTINGS
    ACTION_DELETION_SELECTION_ALL_APPS = 461;

    // ACTION: Settings > Storage > Free Up Space > Apps > Click an unchecked app
    // CATEGORY: SETTINGS
    //   PACKAGE: Unchecked app
    ACTION_DELETION_SELECTION_APP_ON = 462;

    // ACTION: Settings > Storage > Free Up Space > Apps > Click a checked app
    // CATEGORY: SETTINGS
    //   PACKAGE: Checked app
    ACTION_DELETION_SELECTION_APP_OFF = 463;

    // ACTION: Settings > Storage > Free Up Space > Apps > Click category
    //   SUBTYPE: false is expanded, true is collapsed
    // CATEGORY: SETTINGS
    ACTION_DELETION_APPS_COLLAPSED = 464;

    // ACTION: Settings > Storage > Free Up Space > Downloads > Check On
    //   SUBTYPE: false is off, true is on
    // CATEGORY: SETTINGS
    ACTION_DELETION_SELECTION_DOWNLOADS = 465;

    // ACTION: Settings > Storage > Free Up Space > Downloads > Click category
    //   SUBTYPE: false is expanded, true is collapsed
    // CATEGORY: SETTINGS
    ACTION_DELETION_DOWNLOADS_COLLAPSED = 466;

    // ACTION: Settings > Storage > Free Up Space > Free up ... GB
    // CATEGORY: SETTINGS
    ACTION_DELETION_HELPER_CLEAR = 467;

    // ACTION: Settings > Storage > Free Up Space > Cancel
    // CATEGORY: SETTINGS
    ACTION_DELETION_HELPER_CANCEL = 468;

    // ACTION: Settings > Storage > Free Up Space > Free up ... GB > Remove
    // CATEGORY: SETTINGS
    ACTION_DELETION_HELPER_REMOVE_CONFIRM = 469;

    // ACTION: Settings > Storage > Free Up Space > Free up ... GB > Cancel
    // CATEGORY: SETTINGS
    ACTION_DELETION_HELPER_REMOVE_CANCEL = 470;

    // Deletion helper encountered an error during package deletion.
    ACTION_DELETION_HELPER_APPS_DELETION_FAIL = 471;

    // Deletion helper encountered an error during downloads folder deletion.
    ACTION_DELETION_HELPER_DOWNLOADS_DELETION_FAIL = 472;

    // Deletion helper encountered an error during photo and video deletion.
    ACTION_DELETION_HELPER_PHOTOS_VIDEOS_DELETION_FAIL = 473;

    // OPEN: Settings (root page if there are multiple tabs)
    // CATEGORY: SETTINGS
    DASHBOARD_CONTAINER = 474;

    // OPEN: Settings -> SUPPORT TAB
    // CATEGORY: SETTINGS
    SUPPORT_FRAGMENT = 475;

    // ACTION: Settings -> Select summary tab.
    // CATEGORY: SETTINGS
    ACTION_SELECT_SUMMARY = 476;

    // ACTION: Settings -> Select support tab.
    // CATEGORY: SETTINGS
    ACTION_SELECT_SUPPORT_FRAGMENT = 477;

    // ACTION: Settings -> Support -> Tips & tricks
    // CATEGORY: SETTINGS
    ACTION_SUPPORT_TIPS_AND_TRICKS = 478;

    // ACTION: Settings -> Support -> Help & feedback
    // CATEGORY: SETTINGS
    ACTION_SUPPORT_HELP_AND_FEEDBACK = 479;

    // ACTION: Settings -> Support -> Sign in
    // CATEGORY: SETTINGS
    ACTION_SUPPORT_SIGN_IN = 480;

    // ACTION: Settings -> Support -> Phone
    // CATEGORY: SETTINGS
    ACTION_SUPPORT_PHONE = 481;

    // ACTION: Settings -> Support -> Chat
    // CATEGORY: SETTINGS
    ACTION_SUPPORT_CHAT = 482;

    // ACTION: Settings -> Support -> Phone/Chat -> Disclaimer Cancel
    // CATEGORY: SETTINGS
    ACTION_SUPPORT_DISCLAIMER_CANCEL = 483;

    // ACTION: Settings -> Support -> Phone/Chat -> Disclaimer OK
    // CATEGORY: SETTINGS
    ACTION_SUPPORT_DISCLAIMER_OK = 484;

    // ACTION: Settings -> Support -> Toll-Free Phone
    // CATEGORY: SETTINGS
    ACTION_SUPPORT_DAIL_TOLLFREE = 485;

    // ACTION: Settings -> Support -> "Travel Abroad" Button
    // CATEGORY: SETTINGS
    ACTION_SUPPORT_VIEW_TRAVEL_ABROAD_DIALOG = 486;

    // ACTION: Settings -> Support -> "Travel Abroad" Button -> Tolled Phone
    // CATEGORY: SETTINGS
    ACTION_SUPPORT_DIAL_TOLLED = 487;

    // OPEN: Settings > Display > Night Light
    // CATEGORY: SETTINGS
    NIGHT_DISPLAY_SETTINGS = 488;

    // ACTION: Settings -> Storage -> Manage storage -> Click Storage Manager
    //   SUBTYPE: false is off, true is on
    ACTION_TOGGLE_STORAGE_MANAGER = 489;

    // Settings launched from collapsed quick settings.
    ACTION_QS_COLLAPSED_SETTINGS_LAUNCH = 490;

    // OPEN: QS Night Light tile shown
    // ACTION: QS Night Light tile tapped
    //   SUBTYPE: 0 is off, 1 is on
    // CATEGORY: QUICK_SETTINGS
    QS_NIGHT_DISPLAY = 491;

    // Night Light on
    SETTINGS_CONDITION_NIGHT_DISPLAY = 492;

    // System navigation key up.
    ACTION_SYSTEM_NAVIGATION_KEY_UP = 493;

    // System navigation key down.
    ACTION_SYSTEM_NAVIGATION_KEY_DOWN = 494;

    // OPEN: Settings > Display -> Ambient Display
    // CATEGORY: SETTINGS
    ACTION_AMBIENT_DISPLAY = 495;

    // ---- End N-MR1 Constants, all N-MR1 constants go above this line ----

    // ACTION: The lockscreen gets shown because the SIM card was removed
    // SUBTYPE: false: device was previously unlocked, true: device was previously locked
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: N-MR2
    ACTION_LOCK_BECAUSE_SIM_REMOVED = 496;

    // ---- End N-MR2 Constants, all N-MR2 constants go above this line ----

    // ------- Begin N Keyboard Shortcuts Helper -----
    // Keyboard Shortcuts Helper is opened/closed.
    KEYBOARD_SHORTCUTS_HELPER = 500;

    // OPEN: Print Preview screen
    // Package: Package of app where print job is from
    PRINT_PREVIEW = 501;

    // OPEN: User expands full print job options shade in print preview.
    PRINT_JOB_OPTIONS = 502;

    // OPEN: “All Printers” screen for selecting printer
    // Subtype: # of printers listed
    PRINT_ALL_PRINTERS = 503;

    // OPEN: “Add Printers” screen for adding printers
    // Subtype: # of enabled print service listed
    PRINT_ADD_PRINTERS = 504;

    // ACTION: Queue a print job (Usually: User presses Print FAB from Print Preview)
    // Package: Package of print service.
    ACTION_PRINT = 505;

    // ACTION: User selects a printer from the dropdown in the print preview screen. This also
    //         Count all ACTION_PRINTER_SELECT_ALL actions.
    // Package: Package of print service tied to printer
    ACTION_PRINTER_SELECT_DROPDOWN = 506;

    // ACTION: User selects a printer from the “All printers” screen.
    // Package: Package of print service tied to printer
    ACTION_PRINTER_SELECT_ALL = 507;

    // ACTION: User changes an option for the print job from print preview.
    // Subtype:   1: Copies
    //            2: Color mode
    //            3: Duplex mode
    //            4: Media (==Paper) size
    //            5: Orientation
    //            6: Page range
    // Package: Package of print service tied to printer
    ACTION_PRINT_JOB_OPTIONS = 508;

    // ACTION: User searches for printer from All Printers
    ACTION_PRINTER_SEARCH = 509;

    // ACTION: User selects “Add print service” button from All Printers
    ACTION_PRINT_SERVICE_ADD = 510;

    // ACTION: User Enables/Disables Print Service via any means.
    // Subtype:   0: Enabled
    //            1: Disabled
    ACTION_PRINT_SERVICE_TOGGLE = 511;

    // ACTION: User installs print recommended print service
    // Package: Package of print service
    ACTION_PRINT_RECOMMENDED_SERVICE_INSTALL = 512;

    // ACTION: Settings -> [sub settings activity] -> Options menu -> Help & Support
    //   SUBTYPE: sub settings classname
    ACTION_SETTING_HELP_AND_FEEDBACK = 513;

    // OPEN: Settings > Language & input > Personal dictionary (single locale)
    USER_DICTIONARY_SETTINGS = 514;

    // OPEN: Settings > Date & time > Select time zone
    ZONE_PICKER = 515;

    // OPEN: Settings > Security > Device administrators
    DEVICE_ADMIN_SETTINGS = 516;

    // ACTION: Managed provisioning was launched to set this package as DPC app.
    // PACKAGE: DPC's package name.
    PROVISIONING_DPC_PACKAGE_NAME = 517;

    // ACTION: Managed provisioning triggered DPC installation.
    // PACKAGE: Package name of package which installed DPC.
    PROVISIONING_DPC_INSTALLED_BY_PACKAGE = 518;

    // ACTION: Logged when provisioning activity finishes.
    // TIME: Indicates time taken by provisioning activity to finish in MS.
    PROVISIONING_PROVISIONING_ACTIVITY_TIME_MS = 519;

    // ACTION: Logged when preprovisioning activity finishes.
    // TIME: Indicates time taken by preprovisioning activity to finish in MS.
    PROVISIONING_PREPROVISIONING_ACTIVITY_TIME_MS = 520;

    // ACTION: Logged when encrypt device activity finishes.
    // TIME: Indicates time taken by encrypt device activity to finish in MS.
    PROVISIONING_ENCRYPT_DEVICE_ACTIVITY_TIME_MS = 521;

    // ACTION: Logged when web activity finishes.
    // TIME: Indicates total time taken by web activity to finish in MS.
    PROVISIONING_WEB_ACTIVITY_TIME_MS = 522;

    // ACTION: Logged when trampoline activity finishes.
    // TIME: Indicates total time taken by trampoline activity to finish in MS.
    PROVISIONING_TRAMPOLINE_ACTIVITY_TIME_MS = 523;

    // ACTION: Logged when encryption activity finishes.
    // TIME: Indicates total time taken by post encryption activity to finish in MS.
    PROVISIONING_POST_ENCRYPTION_ACTIVITY_TIME_MS = 524;

    // ACTION: Logged when finalization activity finishes.
    // TIME: Indicates time taken by finalization activity to finish in MS.
    PROVISIONING_FINALIZATION_ACTIVITY_TIME_MS = 525;

    // OPEN: Settings Support > Phone/Chat -> Disclaimer
    DIALOG_SUPPORT_DISCLAIMER = 526;

    // OPEN: Settings Support > Travel abroad
    DIALOG_SUPPORT_PHONE = 527;

    // OPEN: Settings > Security > Factory Reset Protection dialog
    DIALOG_FRP = 528;

    // OPEN: Settings > Custom list preference with confirmation message
    DIALOG_CUSTOM_LIST_CONFIRMATION = 529;

    // OPEN: Settings > APN Editor > Error dialog
    DIALOG_APN_EDITOR_ERROR = 530;

    // OPEN: Settings > Users > Edit owner info dialog
    DIALOG_OWNER_INFO_SETTINGS = 531;

    // OPEN: Settings > Security > Use one lock dialog
    DIALOG_UNIFICATION_CONFIRMATION = 532;

    // OPEN: Settings > Security > User Credential
    DIALOG_USER_CREDENTIAL = 533;

    // OPEN: Settings > Accounts > Remove account
    DIALOG_REMOVE_USER = 534;

    // OPEN: Settings > Accounts > Confirm auto sync dialog
    DIALOG_CONFIRM_AUTO_SYNC_CHANGE = 535;

    // OPEN: Settings > Apps > Dialog for running service details
    DIALOG_RUNNIGN_SERVICE = 536;

    // OPEN: Settings > Dialog for hiding home settings
    DIALOG_NO_HOME = 537;

    // OPEN: Settings > Bluetooth > Rename this device
    DIALOG_BLUETOOTH_RENAME = 538;

    // OPEN: Settings > Bluetooth > Paired device profile
    DIALOG_BLUETOOTH_PAIRED_DEVICE_PROFILE = 539;

    // OPEN: Settings > Battery optimization > details for app
    DIALOG_HIGH_POWER_DETAILS = 540;

    // OPEN: Settings > Keyboard > Show keyboard layout dialog
    DIALOG_KEYBOARD_LAYOUT = 541;

    // OPEN: Settings > Wifi > WPS Setup dialog
    DIALOG_WPS_SETUP = 542;

    // OPEN: Settings > WIFI Scan permission dialog
    DIALOG_WIFI_SCAN_MODE = 543;

    // OPEN: Settings > WIFI Setup > Skip Wifi dialog
    DIALOG_WIFI_SKIP = 544;

    // OPEN: Settings > Wireless > VPN > Config dialog
    DIALOG_LEGACY_VPN_CONFIG = 545;

    // OPEN: Settings > Wireless > VPN > Config dialog for app
    DIALOG_VPN_APP_CONFIG = 546;

    // OPEN: Settings > Wireless > VPN > Cannot connect dialog
    DIALOG_VPN_CANNOT_CONNECT = 547;

    // OPEN: Settings > Wireless > VPN > Replace existing VPN dialog
    DIALOG_VPN_REPLACE_EXISTING = 548;

    // OPEN: Settings > Billing cycle > Edit billing cycle dates dialog
    DIALOG_BILLING_CYCLE = 549;

    // OPEN: Settings > Billing cycle > Edit data limit/warning dialog
    DIALOG_BILLING_BYTE_LIMIT = 550;

    // OPEN: Settings > Billing cycle > turn on data limit dialog
    DIALOG_BILLING_CONFIRM_LIMIT = 551;

    // OPEN: Settings > Service > Turn off notification access dialog
    DIALOG_DISABLE_NOTIFICATION_ACCESS = 552;

    // OPEN: Settings > Sound > Use personal sound for work profile dialog
    DIALOG_UNIFY_SOUND_SETTINGS = 553;

    // OPEN: Settings > Zen mode > Dialog warning about the zen access privileges being granted.
    DIALOG_ZEN_ACCESS_GRANT = 554;

    // OPEN: Settings > Zen mode > Dialog warning about the zen access privileges being revoked.
    DIALOG_ZEN_ACCESS_REVOKE = 555;

    // OPEN: Settings > Zen mode > Dialog that picks time for zen mode.
    DIALOG_ZEN_TIMEPICKER = 556;

    // OPEN: Settings > Apps > Dialog that informs user to allow service access for app.
    DIALOG_SERVICE_ACCESS_WARNING = 557;

    // OPEN: Settings > Apps > Dialog for app actions (such as force stop/clear data)
    DIALOG_APP_INFO_ACTION = 558;

    // OPEN: Settings > Storage > Dialog for forgetting a storage device
    DIALOG_VOLUME_FORGET = 559;

    // OPEN: Settings > Storage > Dialog warning that a volume is slow
    DIALOG_VOLUME_SLOW_WARNING = 560;

    // OPEN: Settings > Storage > Dialog for initializing a volume
    DIALOG_VOLUME_INIT = 561;

    // OPEN: Settings > Storage > Dialog for unmounting a volume
    DIALOG_VOLUME_UNMOUNT = 562;

    // OPEN: Settings > Storage > Dialog for renaming a volume
    DIALOG_VOLUME_RENAME = 563;

    // OPEN: Settings > Storage > Dialog for clear cache
    DIALOG_STORAGE_CLEAR_CACHE = 564;

    // OPEN: Settings > Storage > Dialog for system info
    DIALOG_STORAGE_SYSTEM_INFO = 565;

    // OPEN: Settings > Storage > Dialog for other info
    DIALOG_STORAGE_OTHER_INFO = 566;

    // OPEN: Settings > Storage > Dialog for user info
    DIALOG_STORAGE_USER_INFO = 567;

    // OPEN: Settings > Add fingerprint > Dialog when user touches fingerprint icon.
    DIALOG_FINGERPRINT_ICON_TOUCH = 568;

    // OPEN: Settings > Add fingerprint > Error dialog
    DIALOG_FINGERPINT_ERROR = 569;

    // OPEN: Settings > Fingerprint > Rename or delete dialog
    DIALOG_FINGERPINT_EDIT = 570;

    // OPEN: Settings > Fingerprint > Dialog for deleting last fingerprint
    DIALOG_FINGERPINT_DELETE_LAST = 571;

    // OPEN: SUW > Fingerprint > Dialog to confirm cancel fingerprint setup.
    DIALOG_FINGERPRINT_CANCEL_SETUP = 572;

    // OPEN: SUW > Fingerprint > Dialog to confirm skip fingerprint setup entirely.
    DIALOG_FINGERPRINT_SKIP_SETUP = 573;

    // OPEN: Settings > Proxy Selector error dialog
    DIALOG_PROXY_SELECTOR_ERROR = 574;

    // OPEN: Settings > Wifi > P2P Settings > Disconnect dialog
    DIALOG_WIFI_P2P_DISCONNECT = 575;

    // OPEN: Settings > Wifi > P2P Settings > Cancel connection dialog
    DIALOG_WIFI_P2P_CANCEL_CONNECT = 576;

    // OPEN: Settings > Wifi > P2P Settings > Rename dialog
    DIALOG_WIFI_P2P_RENAME = 577;

    // OPEN: Settings > Wifi > P2P Settings > Forget group dialog
    DIALOG_WIFI_P2P_DELETE_GROUP = 578;

    // OPEN: Settings > APN > Restore default dialog
    DIALOG_APN_RESTORE_DEFAULT = 579;

    // OPEN: Settings > Dream > When to dream dialog
    DIALOG_DREAM_START_DELAY = 580;

    // OPEN: Settings > Encryption interstitial accessibility warning dialog
    DIALOG_ENCRYPTION_INTERSTITIAL_ACCESSIBILITY = 581;

    // OPEN: Settings > Tether > AP setting dialog
    DIALOG_AP_SETTINGS = 582;

    // OPEN: Settings > Acessibility > Enable accessiblity service dialog
    DIALOG_ACCESSIBILITY_SERVICE_ENABLE = 583;

    // OPEN: Settings > Acessibility > Disable accessiblity service dialog
    DIALOG_ACCESSIBILITY_SERVICE_DISABLE = 584;

    // OPEN: Settings > Account > Remove account dialog
    DIALOG_ACCOUNT_SYNC_REMOVE = 585;

    // OPEN: Settings > Account > Remove account failed dialog
    DIALOG_ACCOUNT_SYNC_FAILED_REMOVAL = 586;

    // OPEN: Settings > Account > Cannot do onetime sync dialog
    DIALOG_ACCOUNT_SYNC_CANNOT_ONETIME_SYNC = 587;

    // OPEN: Settings > Display > Night light > Set start time dialog
    DIALOG_NIGHT_DISPLAY_SET_START_TIME = 588;

    // OPEN: Settings > Display > Night light > Set end time dialog
    DIALOG_NIGHT_DISPLAY_SET_END_TIME = 589;

    // OPEN: Settings > User > Edit info dialog
    DIALOG_USER_EDIT = 590;

    // OPEN: Settings > User > Confirm remove dialog
    DIALOG_USER_REMOVE = 591;

    // OPEN: Settings > User > Enable calling dialog
    DIALOG_USER_ENABLE_CALLING = 592;

    // OPEN: Settings > User > Enable calling and sms dialog
    DIALOG_USER_ENABLE_CALLING_AND_SMS = 593;

    // OPEN: Settings > User > Cannot manage device message dialog
    DIALOG_USER_CANNOT_MANAGE = 594;

    // OPEN: Settings > User > Add user dialog
    DIALOG_USER_ADD = 595;

    // OPEN: Settings > User > Setup user dialog
    DIALOG_USER_SETUP = 596;

    // OPEN: Settings > User > Setup profile dialog
    DIALOG_USER_SETUP_PROFILE = 597;

    // OPEN: Settings > User > Choose user type dialog
    DIALOG_USER_CHOOSE_TYPE = 598;

    // OPEN: Settings > User > Need lockscreen dialog
    DIALOG_USER_NEED_LOCKSCREEN = 599;

    // OPEN: Settings > User > Confirm exit guest mode dialog
    DIALOG_USER_CONFIRM_EXIT_GUEST = 600;

    // OPEN: Settings > User > Edit user profile dialog
    DIALOG_USER_EDIT_PROFILE = 601;

    // OPEN: Settings > Wifi > Saved AP > Edit dialog
    DIALOG_WIFI_SAVED_AP_EDIT = 602;

    // OPEN: Settings > Wifi > Edit AP dialog
    DIALOG_WIFI_AP_EDIT = 603;

    // OPEN: Settings > Wifi > PBC Config dialog
    DIALOG_WIFI_PBC = 604;

    // OPEN: Settings > Wifi > Display pin dialog
    DIALOG_WIFI_PIN = 605;

    // OPEN: Settings > Wifi > Write config to NFC dialog
    DIALOG_WIFI_WRITE_NFC = 606;
    // OPEN: Settings > Date > Date picker dialog
    DIALOG_DATE_PICKER = 607;

    // OPEN: Settings > Date > Time picker dialog
    DIALOG_TIME_PICKER = 608;

    // OPEN: Settings > Wireless > Manage wireless plan dialog
    DIALOG_MANAGE_MOBILE_PLAN = 609;

    // ACTION: Logs network type of the device while provisioning
    PROVISIONING_NETWORK_TYPE = 610;

    // ACTION: Logs action which triggered provisioning.
    PROVISIONING_ACTION = 611;

    // ACTION: Logs extra passed by the dpc while provisioning.
    PROVISIONING_EXTRA = 612;

    // OPEN Settings > Bluetooth > Attempt to connect to device that shows dialog
    BLUETOOTH_DIALOG_FRAGMENT = 613;

    // ACTION: Logs provisioning started by zero touch.
    PROVISIONING_ENTRY_POINT_ZERO_TOUCH = 614;

    // ACTION: Logs provisioning started by NFC bump.
    PROVISIONING_ENTRY_POINT_NFC = 615;

    // ACTION: Logs provisioning started using QR code.
    PROVISIONING_ENTRY_POINT_QR_CODE = 616;

    // ACTION: Logs provisioning started using adb.
    PROVISIONING_ENTRY_POINT_ADB = 617;

    // ACTION: Logs provisioning started by trusted source.
    PROVISIONING_ENTRY_POINT_TRUSTED_SOURCE = 618;

    // ACTION: Logged when copy account task finishes.
    // TIME: Indicates time taken by copy account task to finish in MS.
    PROVISIONING_COPY_ACCOUNT_TASK_MS = 619;

    // ACTION: Logged when create profile task finishes.
    // TIME: Indicates time taken by create profile task to finish in MS.
    PROVISIONING_CREATE_PROFILE_TASK_MS = 620;

    // ACTION: Logged when start profile task finishes.
    // TIME: Indicates time taken by start profile task to finish in MS.
    PROVISIONING_START_PROFILE_TASK_MS = 621;

    // ACTION: Logged when download package task finishes.
    // TIME: Indicates time taken by download package task to finish in MS.
    PROVISIONING_DOWNLOAD_PACKAGE_TASK_MS = 622;

    // ACTION: Logged when install package task finishes.
    // TIME: Indicates time taken by install package task to finish in MS.
    PROVISIONING_INSTALL_PACKAGE_TASK_MS = 623;

    // ACTION: User cancelled provisioning.
    PROVISIONING_CANCELLED = 624;

    // ACTION: Logged when provisioning throws an error.
    PROVISIONING_ERROR = 625;

    // ACTION: Logs the status of copying user account during provisioning.
    PROVISIONING_COPY_ACCOUNT_STATUS = 626;

    // ACTION: Logs the end to end time taken by all provisioning tasks.
    PROVISIONING_TOTAL_TASK_TIME_MS = 627;

    // OPEN: Settings > Privacy
    // CATEGORY: SETTINGS
    // OS: O
    ENTERPRISE_PRIVACY_SETTINGS = 628;

    // ACTION: Longpress on a TextView.
    //  SUBTYPE: 1 is for START_SELECTION, 2 is for START_DRAG_AND_DROP, 0 is for OTHER.
    // CATEGORY: TEXT_CONTROLS
    // OS: O
    TEXT_LONGPRESS = 629;

    // ACTION: An app requested an unknown permission
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_UNKNOWN = 630;

    // ACTION: An app was granted an unknown permission
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_UNKNOWN = 631;

    // ACTION: An app requested an unknown permission and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_UNKNOWN = 632;

    // ACTION: An unknown permission was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_UNKNOWN = 633;

    // ACTION: An app requested the permission READ_CALENDAR
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_READ_CALENDAR = 634;

    // ACTION: An app was granted the permission READ_CALENDAR
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_READ_CALENDAR = 635;

    // ACTION: An app requested the permission READ_CALENDAR and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_READ_CALENDAR = 636;

    // ACTION: The permission READ_CALENDAR was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_READ_CALENDAR = 637;

    // ACTION: An app requested the permission WRITE_CALENDAR
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_WRITE_CALENDAR = 638;

    // ACTION: An app was granted the permission WRITE_CALENDAR
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_WRITE_CALENDAR = 639;

    // ACTION: An app requested the permission WRITE_CALENDAR and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_WRITE_CALENDAR = 640;

    // ACTION: The permission WRITE_CALENDAR was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_WRITE_CALENDAR = 641;

    // ACTION: An app requested the permission CAMERA
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_CAMERA = 642;

    // ACTION: An app was granted the permission CAMERA
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_CAMERA = 643;

    // ACTION: An app requested the permission CAMERA and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_CAMERA = 644;

    // ACTION: The permission CAMERA was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_CAMERA = 645;

    // ACTION: An app requested the permission READ_CONTACTS
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_READ_CONTACTS = 646;

    // ACTION: An app was granted the permission READ_CONTACTS
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_READ_CONTACTS = 647;

    // ACTION: An app requested the permission READ_CONTACTS and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_READ_CONTACTS = 648;

    // ACTION: The permission READ_CONTACTS was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_READ_CONTACTS = 649;

    // ACTION: An app requested the permission WRITE_CONTACTS
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_WRITE_CONTACTS = 650;

    // ACTION: An app was granted the permission WRITE_CONTACTS
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_WRITE_CONTACTS = 651;

    // ACTION: An app requested the permission WRITE_CONTACTS and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_WRITE_CONTACTS = 652;

    // ACTION: The permission WRITE_CONTACTS was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_WRITE_CONTACTS = 653;

    // ACTION: An app requested the permission GET_ACCOUNTS
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_GET_ACCOUNTS = 654;

    // ACTION: An app was granted the permission GET_ACCOUNTS
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_GET_ACCOUNTS = 655;

    // ACTION: An app requested the permission GET_ACCOUNTS and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_GET_ACCOUNTS = 656;

    // ACTION: The permission GET_ACCOUNTS was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_GET_ACCOUNTS = 657;

    // ACTION: An app requested the permission ACCESS_FINE_LOCATION
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_ACCESS_FINE_LOCATION = 658;

    // ACTION: An app was granted the permission ACCESS_FINE_LOCATION
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_ACCESS_FINE_LOCATION = 659;

    // ACTION: An app requested the permission ACCESS_FINE_LOCATION and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_ACCESS_FINE_LOCATION = 660;

    // ACTION: The permission ACCESS_FINE_LOCATION was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_ACCESS_FINE_LOCATION = 661;

    // ACTION: An app requested the permission ACCESS_COARSE_LOCATION
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_ACCESS_COARSE_LOCATION = 662;

    // ACTION: An app was granted the permission ACCESS_COARSE_LOCATION
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_ACCESS_COARSE_LOCATION = 663;

    // ACTION: An app requested the permission ACCESS_COARSE_LOCATION and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_ACCESS_COARSE_LOCATION = 664;

    // ACTION: The permission ACCESS_COARSE_LOCATION was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_ACCESS_COARSE_LOCATION = 665;

    // ACTION: An app requested the permission RECORD_AUDIO
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_RECORD_AUDIO = 666;

    // ACTION: An app was granted the permission RECORD_AUDIO
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_RECORD_AUDIO = 667;

    // ACTION: An app requested the permission RECORD_AUDIO and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_RECORD_AUDIO = 668;

    // ACTION: The permission RECORD_AUDIO was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_RECORD_AUDIO = 669;

    // ACTION: An app requested the permission READ_PHONE_STATE
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_READ_PHONE_STATE = 670;

    // ACTION: An app was granted the permission READ_PHONE_STATE
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_READ_PHONE_STATE = 671;

    // ACTION: An app requested the permission READ_PHONE_STATE and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_READ_PHONE_STATE = 672;

    // ACTION: The permission READ_PHONE_STATE was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_READ_PHONE_STATE = 673;

    // ACTION: An app requested the permission CALL_PHONE
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_CALL_PHONE = 674;

    // ACTION: An app was granted the permission CALL_PHONE
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_CALL_PHONE = 675;

    // ACTION: An app requested the permission CALL_PHONE and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_CALL_PHONE = 676;

    // ACTION: The permission CALL_PHONE was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_CALL_PHONE = 677;

    // ACTION: An app requested the permission READ_CALL_LOG
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_READ_CALL_LOG = 678;

    // ACTION: An app was granted the permission READ_CALL_LOG
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_READ_CALL_LOG = 679;

    // ACTION: An app requested the permission READ_CALL_LOG and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_READ_CALL_LOG = 680;

    // ACTION: The permission READ_CALL_LOG was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_READ_CALL_LOG = 681;

    // ACTION: An app requested the permission WRITE_CALL_LOG
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_WRITE_CALL_LOG = 682;

    // ACTION: An app was granted the permission WRITE_CALL_LOG
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_WRITE_CALL_LOG = 683;

    // ACTION: An app requested the permission WRITE_CALL_LOG and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_WRITE_CALL_LOG = 684;

    // ACTION: The permission WRITE_CALL_LOG was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_WRITE_CALL_LOG = 685;

    // ACTION: An app requested the permission ADD_VOICEMAIL
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_ADD_VOICEMAIL = 686;

    // ACTION: An app was granted the permission ADD_VOICEMAIL
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_ADD_VOICEMAIL = 687;

    // ACTION: An app requested the permission ADD_VOICEMAIL and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_ADD_VOICEMAIL = 688;

    // ACTION: The permission ADD_VOICEMAIL was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_ADD_VOICEMAIL = 689;

    // ACTION: An app requested the permission USE_SIP
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_USE_SIP = 690;

    // ACTION: An app was granted the permission USE_SIP
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_USE_SIP = 691;

    // ACTION: An app requested the permission USE_SIP and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_USE_SIP = 692;

    // ACTION: The permission USE_SIP was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_USE_SIP = 693;

    // ACTION: An app requested the permission PROCESS_OUTGOING_CALLS
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_PROCESS_OUTGOING_CALLS = 694;

    // ACTION: An app was granted the permission PROCESS_OUTGOING_CALLS
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_PROCESS_OUTGOING_CALLS = 695;

    // ACTION: An app requested the permission PROCESS_OUTGOING_CALLS and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_PROCESS_OUTGOING_CALLS = 696;

    // ACTION: The permission PROCESS_OUTGOING_CALLS was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_PROCESS_OUTGOING_CALLS = 697;

    // ACTION: An app requested the permission READ_CELL_BROADCASTS
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_READ_CELL_BROADCASTS = 698;

    // ACTION: An app was granted the permission READ_CELL_BROADCASTS
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_READ_CELL_BROADCASTS = 699;

    // ACTION: An app requested the permission READ_CELL_BROADCASTS and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_READ_CELL_BROADCASTS = 700;

    // ACTION: The permission READ_CELL_BROADCASTS was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_READ_CELL_BROADCASTS = 701;

    // ACTION: An app requested the permission BODY_SENSORS
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_BODY_SENSORS = 702;

    // ACTION: An app was granted the permission BODY_SENSORS
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_BODY_SENSORS = 703;

    // ACTION: An app requested the permission BODY_SENSORS and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_BODY_SENSORS = 704;

    // ACTION: The permission BODY_SENSORS was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_BODY_SENSORS = 705;

    // ACTION: An app requested the permission SEND_SMS
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_SEND_SMS = 706;

    // ACTION: An app was granted the permission SEND_SMS
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_SEND_SMS = 707;

    // ACTION: An app requested the permission SEND_SMS and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_SEND_SMS = 708;

    // ACTION: The permission SEND_SMS was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_SEND_SMS = 709;

    // ACTION: An app requested the permission RECEIVE_SMS
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_RECEIVE_SMS = 710;

    // ACTION: An app was granted the permission RECEIVE_SMS
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_RECEIVE_SMS = 711;

    // ACTION: An app requested the permission RECEIVE_SMS and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_RECEIVE_SMS = 712;

    // ACTION: The permission RECEIVE_SMS was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_RECEIVE_SMS = 713;

    // ACTION: An app requested the permission READ_SMS
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_READ_SMS = 714;

    // ACTION: An app was granted the permission READ_SMS
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_READ_SMS = 715;

    // ACTION: An app requested the permission READ_SMS and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_READ_SMS = 716;

    // ACTION: The permission READ_SMS was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_READ_SMS = 717;

    // ACTION: An app requested the permission RECEIVE_WAP_PUSH
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_RECEIVE_WAP_PUSH = 718;

    // ACTION: An app was granted the permission RECEIVE_WAP_PUSH
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_RECEIVE_WAP_PUSH = 719;

    // ACTION: An app requested the permission RECEIVE_WAP_PUSH and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_RECEIVE_WAP_PUSH = 720;

    // ACTION: The permission RECEIVE_WAP_PUSH was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_RECEIVE_WAP_PUSH = 721;

    // ACTION: An app requested the permission RECEIVE_MMS
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_RECEIVE_MMS = 722;

    // ACTION: An app was granted the permission RECEIVE_MMS
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_RECEIVE_MMS = 723;

    // ACTION: An app requested the permission RECEIVE_MMS and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_RECEIVE_MMS = 724;

    // ACTION: The permission RECEIVE_MMS was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_RECEIVE_MMS = 725;

    // ACTION: An app requested the permission READ_EXTERNAL_STORAGE
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_READ_EXTERNAL_STORAGE = 726;

    // ACTION: An app was granted the permission READ_EXTERNAL_STORAGE
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_READ_EXTERNAL_STORAGE = 727;

    // ACTION: An app requested the permission READ_EXTERNAL_STORAGE and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_READ_EXTERNAL_STORAGE = 728;

    // ACTION: The permission READ_EXTERNAL_STORAGE was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_READ_EXTERNAL_STORAGE = 729;

    // ACTION: An app requested the permission WRITE_EXTERNAL_STORAGE
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE = 730;

    // ACTION: An app was granted the permission WRITE_EXTERNAL_STORAGE
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_WRITE_EXTERNAL_STORAGE = 731;

    // ACTION: An app requested the permission WRITE_EXTERNAL_STORAGE and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_WRITE_EXTERNAL_STORAGE = 732;

    // ACTION: The permission WRITE_EXTERNAL_STORAGE was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_WRITE_EXTERNAL_STORAGE = 733;

    // ACTION: Logged when a provisioning session has started
    PROVISIONING_SESSION_STARTED = 734;

    // ACTION: Logged when a provisioning session has completed
    PROVISIONING_SESSION_COMPLETED = 735;

    // ACTION: An app requested the permission READ_PHONE_NUMBERS
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_READ_PHONE_NUMBERS = 736;

    // ACTION: An app was granted the permission READ_PHONE_NUMBERS
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_PERMISSION_GRANT_READ_PHONE_NUMBERS = 737;

    // ACTION: An app requested the permission READ_PHONE_NUMBERS and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_DENIED_READ_PHONE_NUMBERS = 738;

    // ACTION: The permission READ_PHONE_NUMBERS was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_READ_PHONE_NUMBERS = 739;

    // ACTION: QS Brightness Slider (with auto brightness disabled, and VR enabled)
    //   SUBTYPE: slider value
    // CATEGORY: QUICK_SETTINGS
    // OS: 6.0
    ACTION_BRIGHTNESS_FOR_VR = 498;

    // ACTION: A captive portal was detected during network validation
    // CATEGORY: NOTIFICATION
    // OS: N-MR2
    NOTIFICATION_NETWORK_SIGN_IN = 740;

    // ACTION: An unvalidated network without Internet was selected by the user
    // CATEGORY: NOTIFICATION
    // OS: N-MR2
    NOTIFICATION_NETWORK_NO_INTERNET = 741;

    // ACTION: A validated network failed revalidation and lost Internet access
    // CATEGORY: NOTIFICATION
    // OS: N-MR2
    NOTIFICATION_NETWORK_LOST_INTERNET = 742;

    // ACTION: The system default network switched to a different network
    // CATEGORY: NOTIFICATION
    // OS: N-MR2
    NOTIFICATION_NETWORK_SWITCH = 743;

    // OPEN: Settings > System
    SETTINGS_SYSTEM_CATEGORY = 744;

    // OPEN: Settings > Storage
    SETTINGS_STORAGE_CATEGORY = 745;

    // OPEN: Settings > Network & Internet
    SETTINGS_NETWORK_CATEGORY = 746;

    // OPEN: Settings > Connected Device
    SETTINGS_CONNECTED_DEVICE_CATEGORY = 747;

    // OPEN: Settings > App & Notification
    SETTINGS_APP_NOTIF_CATEGORY = 748;

    // OPEN: Settings > System > Input & Gesture
    SETTINGS_INPUT_CATEGORY = 749;

    // OPEN: Settings > System > Language & Region
    SETTINGS_LANGUAGE_CATEGORY = 750;

    // OPEN: Settings > System > Input & Gesture > Swipe to notification gesture
    SETTINGS_GESTURE_SWIPE_TO_NOTIFICATION = 751;

    // OPEN: Settings > System > Input & Gesture > Double tap power button gesture
    SETTINGS_GESTURE_DOUBLE_TAP_POWER = 752;

    // OPEN: Settings > System > Input & Gesture > Pick up gesture
    SETTINGS_GESTURE_PICKUP = 753;

    // OPEN: Settings > System > Input & Gesture > Double tap screen gesture
    SETTINGS_GESTURE_DOUBLE_TAP_SCREEN = 754;

    // OPEN: Settings > System > Input & Gesture > Double twist gesture
    SETTINGS_GESTURE_DOUBLE_TWIST = 755;

    // OPEN: Settings > Support > SupportDisclaimerDialog > SupportSystemInformationDialog
    // CATEGORY: Settings
    DIALOG_SUPPORT_SYSTEM_INFORMATION = 756;

    // These values should never appear in log outputs - they are reserved for
    // internal platform metrics use.
    RESERVED_FOR_LOGBUILDER_CATEGORY = 757;
    RESERVED_FOR_LOGBUILDER_TYPE = 758;
    RESERVED_FOR_LOGBUILDER_SUBTYPE = 759;

    // ACTION: "Do not show again" was enabled in the support disclaimer and the
    // user accepted
    ACTION_SKIP_DISCLAIMER_SELECTED = 760;

    // Enclosing category for group of APP_TRANSITION_FOO events,
    // logged when we execute an app transition.
    APP_TRANSITION = 761;

    // ACTION: User leaves Settings search UI without entering any query.
    ACTION_LEAVE_SEARCH_RESULT_WITHOUT_QUERY = 762;

    // ACTION: Clicking on any search result in Settings.
    ACTION_CLICK_SETTINGS_SEARCH_RESULT = 763;

    // ACTION: Allow Battery optimization for an app
    APP_SPECIAL_PERMISSION_BATTERY_ALLOW = 764;

    // ACTION: Deny Battery optimization for an app
    APP_SPECIAL_PERMISSION_BATTERY_DENY = 765;

    // ACTION: Enable Device Admin app
    APP_SPECIAL_PERMISSION_ADMIN_ALLOW = 766;

    // ACTION: Disable Device Admin app
    APP_SPECIAL_PERMISSION_ADMIN_DENY = 767;

    // ACTION: Allow "Do Not Disturb access" for an app
    APP_SPECIAL_PERMISSION_DND_ALLOW = 768;

    // ACTION: Deny "Do Not Disturb access" for an app
    APP_SPECIAL_PERMISSION_DND_DENY = 769;

    // ACTION: Allow "Draw over other apps" for an app
    APP_SPECIAL_PERMISSION_APPDRAW_ALLOW = 770;

    // ACTION: Deny "Display over other apps" for an app
    APP_SPECIAL_PERMISSION_APPDRAW_DENY = 771;

    // ACTION: Allow "VR helper services" for an app
    APP_SPECIAL_PERMISSION_VRHELPER_ALLOW = 772;

    // ACTION: Deny "VR helper services" for an app
    APP_SPECIAL_PERMISSION_VRHELPER_DENY = 773;

    // ACTION: Allow "Modify system settings" for an app
    APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_ALLOW = 774;

    // ACTION: Deny "Modify system settings" for an app
    APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_DENY = 775;

    // ACTION: Allow "Notification access" for an app
    APP_SPECIAL_PERMISSION_NOTIVIEW_ALLOW = 776;

    // ACTION: Deny "Notification access" for an app
    APP_SPECIAL_PERMISSION_NOTIVIEW_DENY = 777;

    // ACTION: "Premium SMS access" for an app - "ask user" option
    APP_SPECIAL_PERMISSION_PREMIUM_SMS_ASK = 778;

    // ACTION: "Premium SMS access" for an app - "never allow" option
    APP_SPECIAL_PERMISSION_PREMIUM_SMS_DENY = 779;

    // ACTION: "Premium SMS access" for an app - "always allow" option
    APP_SPECIAL_PERMISSION_PREMIUM_SMS_ALWAYS_ALLOW = 780;

    // ACTION: Allow "Unrestricted data access" for an app
    APP_SPECIAL_PERMISSION_UNL_DATA_ALLOW = 781;

    // ACTION: Deny "Unrestricted data access" for an app
    APP_SPECIAL_PERMISSION_UNL_DATA_DENY = 782;

    // ACTION: Allow "Usage access" for an app
    APP_SPECIAL_PERMISSION_USAGE_VIEW_ALLOW = 783;

    // ACTION: Deny "Usage access" for an app
    APP_SPECIAL_PERMISSION_USAGE_VIEW_DENY = 784;

    // OPEN: Settings > Apps > Default Apps > Default browser
    DEFAULT_BROWSER_PICKER = 785;

    // OPEN: Settings > Apps > Default Apps > Default emergency app
    DEFAULT_EMERGENCY_APP_PICKER = 786;

    // OPEN: Settings > Apps > Default Apps > Default home
    DEFAULT_HOME_PICKER = 787;

    // OPEN: Settings > Apps > Default Apps > Default phone
    DEFAULT_PHONE_PICKER = 788;

    // OPEN: Settings > Apps > Default Apps > Default sms
    DEFAULT_SMS_PICKER = 789;

    // OPEN: Settings > Apps > Default Apps > Default notification assistant
    DEFAULT_NOTIFICATION_ASSISTANT = 790;

    // OPEN: Settings > Apps > Default Apps > Warning dialog to confirm selection
    DEFAULT_APP_PICKER_CONFIRMATION_DIALOG = 791;

    // OPEN: Settings > Apps > Default Apps > Default autofill app
    DEFAULT_AUTOFILL_PICKER = 792;

    // These values should never appear in log outputs - they are reserved for
    // internal platform metrics use.
    NOTIFICATION_SINCE_CREATE_MILLIS = 793;
    NOTIFICATION_SINCE_VISIBLE_MILLIS = 794;
    NOTIFICATION_SINCE_UPDATE_MILLIS = 795;
    NOTIFICATION_ID = 796;
    NOTIFICATION_TAG = 797;
    NOTIFICATION_SHADE_INDEX = 798;
    RESERVED_FOR_LOGBUILDER_NAME = 799;

    // OPEN: QS NFC tile shown
    // ACTION: QS NFC tile tapped
    // CATEGORY: QUICK_SETTINGS
    QS_NFC = 800;

    // These values should never appear in log outputs - they are reserved for
    // internal platform metrics use.
    RESERVED_FOR_LOGBUILDER_BUCKET = 801;
    RESERVED_FOR_LOGBUILDER_VALUE = 802;
    RESERVED_FOR_LOGBUILDER_COUNTER = 803;
    RESERVED_FOR_LOGBUILDER_HISTOGRAM = 804;
    RESERVED_FOR_LOGBUILDER_TIMESTAMP = 805;
    RESERVED_FOR_LOGBUILDER_PACKAGENAME = 806;

    // ACTION: "Force stop" action on an app
    ACTION_APP_FORCE_STOP = 807;

    // OPEN: Settings > Apps > Gear > Special Access > Install other apps
    // CATEGORY: SETTINGS
    // OS: 8.0
    MANAGE_EXTERNAL_SOURCES = 808;

    // ACTION: Logged when terms activity finishes.
    // TIME: Indicates time taken by terms activity to finish in MS.
    PROVISIONING_TERMS_ACTIVITY_TIME_MS = 809;

    // Indicates number of terms displayed on the terms screen.
    PROVISIONING_TERMS_COUNT = 810;

    // Indicates number of terms read on the terms screen.
    PROVISIONING_TERMS_READ = 811;

    // Logs that the user has edited the picture-in-picture settings.
    // CATEGORY: SETTINGS
    SETTINGS_MANAGE_PICTURE_IN_PICTURE = 812;

    // ACTION: Allow "Enable picture-in-picture" for an app
    APP_PICTURE_IN_PICTURE_ALLOW = 813;

    // ACTION: Deny "Enable picture-in-picture" for an app
    APP_PICTURE_IN_PICTURE_DENY = 814;

    // OPEN: Settings > Language & input > Text-to-speech output -> Speech rate & pitch
    // CATEGORY: SETTINGS
    // OS: 8.0
    TTS_SLIDERS = 815;

    // ACTION: Settings -> Display -> Theme
    ACTION_THEME = 816;

    // OPEN: SUW Welcome Screen -> Vision Settings -> Select to Speak
    // ACTION: Select to Speak configuration is chosen
    //  SUBTYPE: 0 is off, 1 is on
    // CATEGORY: SETTINGS
    // OS: N
    SUW_ACCESSIBILITY_TOGGLE_SELECT_TO_SPEAK = 817;

    // OPEN: Settings > System > Backup
    // CATEGORY: SETTINGS
    // OS: O
    BACKUP_SETTINGS = 818;

    // ACTION: Picture-in-picture was explicitly entered for an activity
    // VALUE: true if it was entered while hiding as a result of moving to
    // another task, false otherwise
    ACTION_PICTURE_IN_PICTURE_ENTERED = 819;

    // ACTION: The activity currently in picture-in-picture was expanded back to fullscreen
    // PACKAGE: The package name of the activity that was expanded back to fullscreen
    ACTION_PICTURE_IN_PICTURE_EXPANDED_TO_FULLSCREEN = 820;

    // ACTION: The activity currently in picture-in-picture was minimized
    // VALUE: True if the PiP was minimized, false otherwise
    ACTION_PICTURE_IN_PICTURE_MINIMIZED = 821;

    // ACTION: Picture-in-picture was dismissed via the dismiss button
    // VALUE: 0 if dismissed by tap, 1 if dismissed by drag
    ACTION_PICTURE_IN_PICTURE_DISMISSED = 822;

    // ACTION: The visibility of the picture-in-picture meny
    // VALUE: Whether or not the menu is visible
    ACTION_PICTURE_IN_PICTURE_MENU = 823;

    // Enclosing category for group of PICTURE_IN_PICTURE_ASPECT_RATIO_FOO events,
    // logged when the aspect ratio changes
    ACTION_PICTURE_IN_PICTURE_ASPECT_RATIO_CHANGED = 824;

    // The current aspect ratio of the PiP, logged when it changes.
    PICTURE_IN_PICTURE_ASPECT_RATIO = 825;

    // FIELD - length in dp of ACTION_LS_* gestures, or zero if not applicable
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O
    FIELD_GESTURE_LENGTH = 826;

    // FIELD - velocity in dp (per second?) of ACTION_LS_* gestures, or zero if not applicable
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O
    FIELD_GESTURE_VELOCITY = 827;

    // OPEN: Carrier demo mode password dialog
    CARRIER_DEMO_MODE_PASSWORD = 828;

    // ACTION: Create a Settings shortcut item.
    ACTION_SETTINGS_CREATE_SHORTCUT = 829;

    // ACTION: A tile in Settings information architecture is clicked
    ACTION_SETTINGS_TILE_CLICK = 830;

    // OPEN: Notification unsnoozed. CLOSE: Notification snoozed. UPDATE: snoozed notification
    // updated
    // CATEGORY: NOTIFICATION
    // OS: O
    NOTIFICATION_SNOOZED = 831;

    // Tagged data for NOTIFICATION_SNOOZED. TRUE: snoozed until context, FALSE: snoozed for time.
    // OS: O
    NOTIFICATION_SNOOZED_CRITERIA = 832;

    // FIELD - The context (source) from which an action is performed
    // For QS, this is a boolean of whether the panel is expanded
    FIELD_CONTEXT = 833;

    // ACTION: Settings advanced button is expanded
    ACTION_SETTINGS_ADVANCED_BUTTON_EXPAND = 834;

    // ACTION: Logs the number of times the saved network evaluator was used to
    // recommend a wifi network
    WIFI_NETWORK_RECOMMENDATION_SAVED_NETWORK_EVALUATOR = 835;

    // ACTION: Logs the number of times the recommended network evaluator was
    // used to recommend a wifi network
    WIFI_NETWORK_RECOMMENDATION_RECOMMENDED_NETWORK_EVALUATOR = 836;

    // ACTION: Logs the number of times a recommended network was resulted in a
    // successful connection
    // VALUE: true if the connection was successful, false if the connection failed
    WIFI_NETWORK_RECOMMENDATION_CONNECTION_SUCCESS = 837;

    // OPEN: Settings > Storage > Games
    // CATEGORY: SETTINGS
    // OS: O
    APPLICATIONS_STORAGE_GAMES = 838;

    // OPEN: Settings > Storage > Audio and Music
    // CATEGORY: SETTINGS
    // OS: O
    APPLICATIONS_STORAGE_MUSIC = 839;

    // ACTION: Settings > Storage > Free Up Space to launch Deletion Helper
    // CATEGORY: SETTINGS
    // OS: O
    STORAGE_FREE_UP_SPACE_NOW = 840;

    // ACTION: Settings > Storage > Files to open the File Manager
    // CATEGORY: SETTINGS
    // OS: O
    STORAGE_FILES = 841;

    // FIELD - Rank of the clicked Settings search result
    FIELD_SETTINGS_SEARCH_RESULT_RANK = 842;

    // OPEN: Settings > Apps > Default Apps > Assist >  Default assist
    DEFAULT_ASSIST_PICKER = 843;

    // OPEN: Settings > Apps > Default Apps > Assist >  Default voice input
    DEFAULT_VOICE_INPUT_PICKER = 844;

    // OPEN: Settings > Storage > [Profile]
    SETTINGS_STORAGE_PROFILE = 845;

    // OPEN: Settings > Security & screen lock -> Encryption & crendentials
    // CATEGORY: SETTINGS
    // OS: O
    ENCRYPTION_AND_CREDENTIAL = 846;

    // ACTION: Settings > About device > Build number
    ACTION_SETTINGS_BUILD_NUMBER_PREF = 847;

    // FIELD: Whether developer mode has already been enabled when clicking build number preference
    FIELD_SETTINGS_BUILD_NUMBER_DEVELOPER_MODE_ENABLED = 848;

    // OPEN: Settings > Wi-Fi > Network Details (click on Access Point)
    // CATEGORY: SETTINGS
    // OS: O
    WIFI_NETWORK_DETAILS = 849;

    // ACTION: Settings > Battery > Menu > Usage Alerts
    ACTION_SETTINGS_MENU_BATTERY_USAGE_ALERTS = 850;

    // ACTION: Settings > Battery > Menu > Optimization
    ACTION_SETTINGS_MENU_BATTERY_OPTIMIZATION = 851;

    // ACTION: Settings > Battery > Menu > Apps Toggle
    ACTION_SETTINGS_MENU_BATTERY_APPS_TOGGLE = 852;

    // ACTION: Settings > Any preference is changed
    ACTION_SETTINGS_PREFERENCE_CHANGE = 853;

    // FIELD: The name of preference when it is changed in Settings
    FIELD_SETTINGS_PREFERENCE_CHANGE_NAME = 854;

    // FIELD: The new value of preference when it is changed in Settings
    FIELD_SETTINGS_PREFERENCE_CHANGE_VALUE = 855;

    // OPEN: Notification channel created. CLOSE: Notification channel deleted. UPDATE: notification
    // channel updated
    // PACKAGE: the package the channel belongs too
    // CATEGORY: NOTIFICATION
    // OS: O
    ACTION_NOTIFICATION_CHANNEL = 856;

    // Tagged data for notification channel. String.
    FIELD_NOTIFICATION_CHANNEL_ID = 857;

    // Tagged data for notification channel. int.
    FIELD_NOTIFICATION_CHANNEL_IMPORTANCE = 858;

    // OPEN: Notification channel group created.
    // PACKAGE: the package the group belongs to
    // CATEGORY: NOTIFICATION
    // OS: O
    ACTION_NOTIFICATION_CHANNEL_GROUP = 859;

    // Tagged data for notification channel group. String.
    FIELD_NOTIFICATION_CHANNEL_GROUP_ID = 860;

    // OPEN: Settings > Wi-Fi > Wifi Preferences -> Advanced -> Network Scorer
    // CATEGORY: SETTINGS
    // OS: O
    SETTINGS_NETWORK_SCORER = 861;

    // OPEN: Settings > About device > Model > Hardware info dialog
    DIALOG_SETTINGS_HARDWARE_INFO = 862;

    // ACTION: Checks whether a contact's phone still exists
    // Value 0: It doesn't exist anymore
    // Value 1: It still exists
    // Value 2: A SecurityException was thrown
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_PHONE_EXISTS = 863;

    // ACTION: Retrieves a contact from CP2
    // Value 0: Contact retrieved without issues
    // Value 1: An IllegalArgumentException was thrown
    // CATEGORY: SETTINGS
    // OS: N
    ACTION_GET_CONTACT = 864;

    // This value should never appear in log outputs - it is reserved for
    // internal platform metrics use.
    RESERVED_FOR_LOGBUILDER_PID = 865;

    // ACTION: Settings > Connected devices > Bluetooth -> Available devices
    ACTION_SETTINGS_BLUETOOTH_PAIR = 866;

    // ACTION: Settings > Connected devices > Bluetooth -> Paired devices
    ACTION_SETTINGS_BLUETOOTH_CONNECT = 867;

    // ACTION: Settings > Connected devices > Bluetooth -> Connected device
    ACTION_SETTINGS_BLUETOOTH_DISCONNECT = 868;

    // ACTION: Settings > Connected devices > Bluetooth -> Error dialog
    ACTION_SETTINGS_BLUETOOTH_CONNECT_ERROR = 869;

    // ACTION: Settings > Connected devices > Bluetooth master switch Toggle
    ACTION_SETTINGS_MASTER_SWITCH_BLUETOOTH_TOGGLE = 870;

    // The name of the activity being launched in an app transition event.
    FIELD_CLASS_NAME = 871;

    // ACTION: Settings > App detail > Uninstall
    ACTION_SETTINGS_UNINSTALL_APP = 872;

    // ACTION: Settings > App detail > Uninstall Device admin app
    ACTION_SETTINGS_UNINSTALL_DEVICE_ADMIN = 873;

    // ACTION: Settings > App detail > Disable app
    ACTION_SETTINGS_DISABLE_APP = 874;

    // ACTION: Settings > App detail > Enable app
    ACTION_SETTINGS_ENABLE_APP = 875;

    // ACTION: Settings > App detail > Clear data
    ACTION_SETTINGS_CLEAR_APP_DATA = 876;

    // ACTION: Settings > App detail > Clear cache
    ACTION_SETTINGS_CLEAR_APP_CACHE = 877;

    // ACTION: Clicking on any search result in Settings.
    ACTION_CLICK_SETTINGS_SEARCH_INLINE_RESULT = 878;

    // FIELD: Settings inline search result name
    FIELD_SETTINGS_SEARCH_INLINE_RESULT_NAME = 879;

    // FIELD: Settings inline search result value
    FIELD_SETTINGS_SEARCH_INLINE_RESULT_VALUE = 880;

    // ACTION: Settings > Search > Click saved queries
    ACTION_CLICK_SETTINGS_SEARCH_SAVED_QUERY = 881;

    // OPEN: Settings > Security & screen lock -> Lock screen preferences
    // CATEGORY: SETTINGS
    SETTINGS_LOCK_SCREEN_PREFERENCES = 882;

    // ACTION: An app requested the app-op permission ACCESS_NOTIFICATIONS
    // PACKAGE: The package name of the app requesting the permission
    ACTION_APPOP_REQUEST_ACCESS_NOTIFICATIONS = 883;

    // ACTION: An app was granted the app-op permission ACCESS_NOTIFICATIONS
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_APPOP_GRANT_ACCESS_NOTIFICATIONS = 884;

    // ACTION: An app requested the app-op permission ACCESS_NOTIFICATIONS and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_APPOP_DENIED_ACCESS_NOTIFICATIONS = 885;

    // ACTION: The app-op permission ACCESS_NOTIFICATIONS was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_APPOP_REVOKE_ACCESS_NOTIFICATIONS = 886;

    // ACTION: An app requested the app-op permission SYSTEM_ALERT_WINDOW
    // PACKAGE: The package name of the app requesting the permission
    ACTION_APPOP_REQUEST_SYSTEM_ALERT_WINDOW = 887;

    // ACTION: An app was granted the app-op permission SYSTEM_ALERT_WINDOW
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_APPOP_GRANT_SYSTEM_ALERT_WINDOW = 888;

    // ACTION: An app requested the app-op permission SYSTEM_ALERT_WINDOW and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_APPOP_DENIED_SYSTEM_ALERT_WINDOW = 889;

    // ACTION: The app-op permission SYSTEM_ALERT_WINDOW was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_APPOP_REVOKE_SYSTEM_ALERT_WINDOW = 890;

    // ACTION: An app requested the app-op permission REQUEST_WRITE_SETTINGS
    // PACKAGE: The package name of the app requesting the permission
    ACTION_APPOP_REQUEST_WRITE_SETTINGS = 891;

    // ACTION: An app was granted the app-op permission REQUEST_WRITE_SETTINGS
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_APPOP_GRANT_WRITE_SETTINGS = 892;

    // ACTION: An app requested the app-op permission REQUEST_WRITE_SETTINGS and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_APPOP_DENIED_WRITE_SETTINGS = 893;

    // ACTION: The app-op permission REQUEST_WRITE_SETTINGS was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_APPOP_REVOKE_WRITE_SETTINGS = 894;

    // ACTION: An app requested the app-op permission REQUEST_INSTALL_PACKAGES
    // PACKAGE: The package name of the app requesting the permission
    ACTION_APPOP_REQUEST_REQUEST_INSTALL_PACKAGES = 895;

    // ACTION: An app was granted the app-op permission REQUEST_INSTALL_PACKAGES
    // PACKAGE: The package name of the app that was granted the permission
    ACTION_APPOP_GRANT_REQUEST_INSTALL_PACKAGES = 896;

    // ACTION: An app requested the app-op permission REQUEST_INSTALL_PACKAGES and the request was denied
    // PACKAGE: The package name of the app requesting the permission
    ACTION_APPOP_DENIED_REQUEST_INSTALL_PACKAGES = 897;

    // ACTION: The app-op permission REQUEST_INSTALL_PACKAGES was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_APPOP_REVOKE_REQUEST_INSTALL_PACKAGES = 898;

    // ACTION: Phase 1 of instant application resolution occurred
    // OS: O
    ACTION_INSTANT_APP_RESOLUTION_PHASE_ONE = 899;

    // ACTION: Phase 2 of instant application resolution occurred
    // OS: O
    ACTION_INSTANT_APP_RESOLUTION_PHASE_TWO = 900;

    // FIELD: The amount of time for an ephemeral resolution phase; in milliseconds
    // OS: O
    FIELD_INSTANT_APP_RESOLUTION_DELAY_MS = 901;

    // FIELD: The status of an ephemeral resolution phase
    // Value 0: success
    // Value 1: no full hash match
    // OS: O
    FIELD_INSTANT_APP_RESOLUTION_STATUS = 902;

    // FIELD - A token to identify all events that are part of the same instant application launch
    // OS: O
    FIELD_INSTANT_APP_LAUNCH_TOKEN = 903;

    // FIELD - The name of the package responsible for launching the activity
    // OS: O
    APP_TRANSITION_CALLING_PACKAGE_NAME = 904;

    // FIELD - Whether or not the launched activity is part of an instant application
    // OS: O
    APP_TRANSITION_IS_EPHEMERAL = 905;

    // An autofill session was started
    // Package: Package of app that is autofilled
    AUTOFILL_SESSION_STARTED = 906;

    // An autofill request was processed by a service
    // Type TYPE_SUCCESS: The request succeeded
    // Type TYPE_FAILURE: The request failed
    // Package: Package of app that is autofilled
    // Tag FIELD_AUTOFILL_SERVICE: Package of service that processed the request
    // Tag FIELD_AUTOFILL_NUM_DATASET: The number of datasets returned (only in success case)
    AUTOFILL_REQUEST = 907;

    // Tag of a field for a package of an autofill service
    FIELD_AUTOFILL_SERVICE = 908;

    // Tag of a field for the number of datasets
    FIELD_AUTOFILL_NUM_DATASETS = 909;

    // An autofill dataset selection UI was shown
    // Type TYPE_DISMISS: UI was explicityly canceled by the user
    // Type TYPE_CLOSE: UI was destroyed without influence of the user
    // Type TYPE_ACTION: dataset was selected
    // Type TYPE_DETAIL: authentication was selected
    // Package: Package of app that was autofilled
    // Tag FIELD_AUTOFILL_FILTERTEXT_LEN: The length of the filter text
    // Tag FIELD_AUTOFILL_NUM_DATASETS: The number of datasets shown
    AUTOFILL_FILL_UI = 910;

    // Tag of a field for the length of the filter text
    FIELD_AUTOFILL_FILTERTEXT_LEN = 911;

    // An autofill authentication succeeded
    // Package: Package of app that was autofilled
    AUTOFILL_AUTHENTICATED = 912;

    // An activity was autofilled and all values could be applied
    // Package: Package of app that is autofilled
    // Tag FIELD_AUTOFILL_NUM_VALUES: Number of values that were suggested to be autofilled
    // Tag FIELD_AUTOFILL_NUM_VIEWS_FILLED: Number of views that could be filled
    AUTOFILL_DATASET_APPLIED = 913;

    // Tag of a field for the number values to be filled in
    FIELD_AUTOFILL_NUM_VALUES = 914;

    // Tag of a field for the number of views that were filled
    FIELD_AUTOFILL_NUM_VIEWS_FILLED = 915;

    // An autofill save UI was shown
    // Type TYPE_DISMISS: UI was explicityly canceled by the user
    // Type TYPE_CLOSE: UI was destroyed without influence of the user
    // Type TYPE_ACTION: data was saved
    // Package: Package of app that was autofilled
    // Tag FIELD_AUTOFILL_NUM_ID: The number of ids that are saved
    AUTOFILL_SAVE_UI = 916;

    // Tag of a field for the number of saveable ids
    FIELD_AUTOFILL_NUM_IDS = 917;

    // ACTION: An autofill service was reqiested to save data
    // Type TYPE_SUCCESS: The request succeeded
    // Type TYPE_FAILURE: The request failed
    // Package: Package of app that was autofilled
    // Tag FIELD_AUTOFILL_SERVICE: Package of service that processed the request
    AUTOFILL_DATA_SAVE_REQUEST = 918;

    // An auto-fill session was finished
    // Package: Package of app that was autofilled
    AUTOFILL_SESSION_FINISHED = 919;

    // meta-event: a reader has checkpointed the log here.
    METRICS_CHECKPOINT = 920;

    // OPEN: Settings -> Display -> When in VR Mode
    VR_DISPLAY_PREFERENCE = 921;

    // OPEN: Settings > Accessibility > Magnification
    // CATEGORY: SETTINGS
    // OS: O
    ACCESSIBILITY_SCREEN_MAGNIFICATION_SETTINGS = 922;

    // ACTION: Logs pressing the "Clear app" button in the app info settings page for an instant
    // app.
    // VALUE: The package name of the app
    ACTION_SETTINGS_CLEAR_INSTANT_APP = 923;

    // OPEN: Settings -> System -> Reset options
    RESET_DASHBOARD = 924;

    // ACTION: QS -> Tile clicked
    ACTION_QS_CLICK = 925;

    // ACTION: QS -> Secondary click
    ACTION_QS_SECONDARY_CLICK = 926;

    // FIELD: Position info in QS clicks
    FIELD_QS_POSITION = 927;

    // FIELD: The value of a QS tile when clicked (if applicable)
    FIELD_QS_VALUE = 928;

    // ACTION: QS -> Detail panel -> more settings
    ACTION_QS_MORE_SETTINGS = 929;

    // ACTION: QS -> Click date
    ACTION_QS_DATE = 930;

    // ACTION: Event on nav button
    ACTION_NAV_BUTTON_EVENT = 931;

    // FIELD: Flags for a nav button event
    FIELD_FLAGS = 932;

    // FIELD: Action for a nav button event
    FIELD_NAV_ACTION = 933;

    // OPEN: Settings > Security > Nexus Imprint > [Fingerprint] > Delete
    // CATEGORY: SETTINGS
    // OS: O
    FINGERPRINT_REMOVE_SIDECAR = 934;

    // OPEN: Settings > Storage > Movies & TV
    // CATEGORY: SETTINGS
    // OS: O
    APPLICATIONS_STORAGE_MOVIES = 935;

    // OPEN: Text selection "assist" menu item shown.
    //  SUBTYPE: 1 is for EMAIL, 2 is for PHONE, 3 is for ADDRESS, 4 is for URL, 0 is for OTHER.
    // CATEGORY: TEXT_CONTROLS
    // OS: O
    TEXT_SELECTION_MENU_ITEM_ASSIST = 936;

    // ACTION: Text selection "assist" menu item clicked.
    //  SUBTYPE: 1 is for EMAIL, 2 is for PHONE, 3 is for ADDRESS, 4 is for URL, 0 is for OTHER.
    // CATEGORY: TEXT_CONTROLS
    // OS: O
    ACTION_TEXT_SELECTION_MENU_ITEM_ASSIST = 937;

    // OPEN: Settings > Security > Managed Device Info > Apps installed
    // CATEGORY: SETTINGS
    // OS: O
    ENTERPRISE_PRIVACY_INSTALLED_APPS = 938;

    // OPEN: Settings > Security > Managed Device Info > nnn permissions
    // CATEGORY: SETTINGS
    // OS: O
    ENTERPRISE_PRIVACY_PERMISSIONS = 939;

    // OPEN: Settings > Security > Managed Device Info > Default apps
    // CATEGORY: SETTINGS
    // OS: O
    ENTERPRISE_PRIVACY_DEFAULT_APPS = 940;

    // OPEN: Settings > Notifications > An app > A channel > Importance
    // CATEGORY: SETTINGS
    // OS: O
    NOTIFICATION_CHANNEL_IMPORTANCE = 941;

    // OPEN: Settings > Notifications > An app > A channel > On the lock screen
    // CATEGORY: SETTINGS
    // OS: O
    NOTIFICATION_CHANNEL_LOCK_SCREEN_VIS = 942;

    // This value should never appear in log outputs - it is reserved for
    // internal platform metrics use.
    RESERVED_FOR_LOGBUILDER_UID = 943;

    // OPEN: Running background apps notification > List of background apps
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O
    RUNNING_BACKGROUND_APPS_DIALOG = 944;

    // FIELD - The delay from the start of the transition until we just call bindApplication on the
    // client.
    // OS: O
    APP_TRANSITION_BIND_APPLICATION_DELAY_MS = 945;

    // FIELD - The group ID of a notification.
    // Type: string
    // OS: O
    FIELD_NOTIFICATION_GROUP_ID = 946;

    // FIELD - If the notification is a group summary: 1.
    // Type: int encoded boolean
    // OS: O
    FIELD_NOTIFICATION_GROUP_SUMMARY = 947;

    // ---- End O Constants, all O constants go above this line ----

    // OPEN: Settings > System > Languages & input > Advanced > Lift to open camera
    SETTINGS_GESTURE_CAMERA_LIFT_TRIGGER = 986;

    // OPEN: Settings > Battery > High Usage > Abnormal app page
    // CATEGORY: SETTINGS
    FUELGAUGE_ANOMALY_DETAIL = 987;

    // OPEN: Settings > Battery > High Usage
    DIALOG_HANDLE_ANOMALY = 988;

    // ACTION: Camera lift gesture
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O
    ACTION_CAMERA_LIFT_TRIGGER = 989;

    // OPEN: Choose screen lock dialog in Settings
    // CATEGORY: SETTINGS
    // OS: O DR
    SETTINGS_CHOOSE_LOCK_DIALOG = 990;

    // OPEN: Assist Gesture training intro in Settings
    // CATEGORY: SETTINGS
    // OS: O DR
    SETTINGS_ASSIST_GESTURE_TRAINING_INTRO = 991;

    // OPEN: Assist Gesture training enrolling in Settings
    // CATEGORY: SETTINGS
    // OS: O DR
    SETTINGS_ASSIST_GESTURE_TRAINING_ENROLLING = 992;

    // OPEN: Assist Gesture training finished in Settings
    // CATEGORY: SETTINGS
    // OS: O DR
    SETTINGS_ASSIST_GESTURE_TRAINING_FINISHED = 993;

    // FIELD: The numeric preference value (of type long) when it is changed in Settings
    FIELD_SETTINGS_PREFERENCE_CHANGE_LONG_VALUE = 994;

    // FIELD: The numeric preference value (of type float) when it is changed in Settings
    FIELD_SETTINGS_PREFERENCE_CHANGE_FLOAT_VALUE = 995;

    // OPEN: Settings > System > Languages & input > Assist gesture
    // CATEGORY: SETTINGS
    // OS: O DR
    SETTINGS_ASSIST_GESTURE = 996;

    // ACTION: Assist gesture released without triggering
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O DR
    ASSIST_GESTURE_RELEASED = 997;

    // ACTION: Assist gesture primed
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O DR
    ASSIST_GESTURE_PRIMED = 998;

    // ACTION: Assist gesture triggered
    //  SUBTYPE: 1 is for SCREEN_ON, 2 is for SCREEN_OFF
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O DR
    ASSIST_GESTURE_TRIGGERED = 999;

    // ACTION: Update default app from Settings
    ACTION_SETTINGS_UPDATE_DEFAULT_APP = 1000;

    // FIELD - Query length when Settings search result is clicked
    FIELD_SETTINGS_SEARCH_QUERY_LENGTH = 1001;

    // FIELD - Number of results when Settings search result is clicked
    FIELD_SETTINGS_SEARCH_RESULT_COUNT = 1002;

    // OPEN: Settings > Display > Ambient Display
    // CATEGORY: SETTINGS
    // OS: O DR
    AMBIENT_DISPLAY_SETTINGS = 1003;

    // ACTION: CaptivePortalLoginActivity starts
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O DR
    ACTION_CAPTIVE_PORTAL_LOGIN_ACTIVITY = 1004;

    // ACTION: CaptivePortalLoginActivity auto-closes
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O DR
    ACTION_CAPTIVE_PORTAL_LOGIN_RESULT_DISMISSED = 1005;

    // ACTION: CaptivePortalLoginActivity > Menu > Do not use this network
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O DR
    ACTION_CAPTIVE_PORTAL_LOGIN_RESULT_UNWANTED = 1006;

    // ACTION: CaptivePortalLoginActivity > Menu > Use this network
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O DR
    ACTION_CAPTIVE_PORTAL_LOGIN_RESULT_WANTED_AS_IS = 1007;

    // ACTION: Settings > Wi-Fi > [Long press network] > Sign in to network
    // CATEGORY: SETTINGS
    // OS: O DR
    ACTION_WIFI_SIGNIN = 1008;

    // OPEN: Settings->Connected Devices->Bluetooth->(click on details link for a paired device)
    // CATEGORY: SETTINGS
    // OS: O DR
    BLUETOOTH_DEVICE_DETAILS = 1009;

    // OPEN: Settings > credential pages - prompt for key guard configuration confirmation
    CONFIGURE_KEYGUARD_DIALOG = 1010;

    // Open: Settings > Search > No Result View
    SETTINGS_SEARCH_NO_RESULT = 1011;

    // OPEN: Assist Gesture before training
    // CATEGORY: SETTINGS
    // OS: O DR
    SETTINGS_ASSIST_GESTURE_FIRST_TIME = 1012;

    // CaptivePortalLoginActivity displays SSL error page
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O DR
    CAPTIVE_PORTAL_LOGIN_ACTIVITY_SSL_ERROR = 1013;

    // OPEN: Settings > Network > Tether > Wi-Fi hotspot
    WIFI_TETHER_SETTINGS = 1014;

    // OPEN: Settings->Connected Devices->Bluetooth->(click on details link for a paired device)
    // -> Edit name button.
    // CATEGORY: SETTINGS
    // OS: O DR
    DIALOG_BLUETOOTH_PAIRED_DEVICE_RENAME = 1015;

    // ACTION: Settings > Notification Settings > Open application notification
    // CATEGORY: SETTINGS
    // OS: O DR
    ACTION_OPEN_APP_NOTIFICATION_SETTING = 1016;

    // ACTION: Settings > App Info > Open app settings
    // CATEGORY: SETTINGS
    // OS: O DR
    ACTION_OPEN_APP_SETTING = 1017;

    // OPEN: Settings > Connected devices > Bluetooth > Pair new device
    // CATEGORY: SETTINGS
    // OS: O DR
    BLUETOOTH_PAIRING = 1018;

    // ACTION: Collect PSD Signals
    // CATEGORY: SETTINGS
    // OS: O DR
    ACTION_PSD_LOADER = 1019;

    // ACTION: Background check action on an app
    // CATEGORY: SETTINGS
    // OS: O DR
    ACTION_APP_BACKGROUND_CHECK = 1020;

    // ACTION: Location check action on an app
    // CATEGORY: SETTINGS
    // OS: O DR
    ACTION_APP_LOCATION_CHECK = 1021;

    // Device headset status
    // CATEGORY: OTHER
    //  SUBTYPE: 1 is DON, 2 is DOFF
    // OS: O DR
    ACTION_HEADSET_STATUS = 1022;

    // Device Headset Plug status
    // CATEGORY: OTHER
    //  SUBTYPE: 1 is AC power, 2 is USB power, 3 is Unplug
    // OS: O DR
    ACTION_HEADSET_PLUG = 1023;

    // Device Headset battery level on Plug
    // CATEGORY: OTHER
    // FIELD - The battery percentage when the user decided to plug in
    // Type: integer
    // OS: O DR
    FIELD_PLUG_BATTERY_PERCENTAGE = 1024;

    // Device Headset battery level on Plug
    // CATEGORY: OTHER
    // FIELD - The battery percentage when the user decided to plug in
    // Type: integer
    // OS: O DR
    FIELD_UNPLUG_BATTERY_PERCENTAGE = 1025;

    // Device Headset Pose status
    // CATEGORY: OTHER
    //  SUBTYPE: 1 is 6DOF, 2 is 3DOF
    // OS: O DR
    ACTION_HEADSET_POSE_STATUS = 1026;

    // Device Headset Usage session time
    // CATEGORY: OTHER
    // FIELD - The time the headset was used in a session
    // OS: O DR
    FIELD_SESSION_TIME_MS = 1027;

    // Device Headset Idle time
    // CATEGORY: OTHER
    // FIELD - The time in between each session
    // OS: O DR
    FIELD_TIME_ELAPSED_BETWEEN_SESSION_MS = 1028;

    // Device Headset charge session time
    // CATEGORY: OTHER
    // FIELD - The time taken for each charge
    // OS: O DR
    FIELD_TIME_OF_CHARGE_MS = 1029;

    // Device Headset time between charge
    // CATEGORY: OTHER
    // FIELD - The time in between each charge
    // OS: O DR
    FIELD_TIME_ELAPSED_BETWEEN_CHARGE_MS = 1030;

    // OPEN: Settings->Connected Devices->Bluetooth->(click on details link for a paired device)
    // -> Forget button.
    // CATEGORY: SETTINGS
    // OS: O DR
    DIALOG_BLUETOOTH_PAIRED_DEVICE_FORGET = 1031;

    // An event from the camera service
    // CATEGORY: OTHER
    //  SUBTYPE: CameraEvent
    // OS: O DR
    ACTION_CAMERA_EVENT = 1032;

    // OPEN: Settings > Trampoline Intent > Settings page
    // CATEGORY: SETTINGS
    // OS: O DR
    TRAMPOLINE_SETTINGS_EVENT = 1033;

    // ---- End O-DR1 Constants, all O-DR1 constants go above this line ----

    // ACTION: Settings > Network & Internet > Mobile network > Mobile data
    // CATEGORY: SETTINGS
    // OS: O MR
    ACTION_MOBILE_NETWORK_MOBILE_DATA_TOGGLE = 1081;

    // ACTION: Settings > Network & Internet > Mobile network > Data usage
    // CATEGORY: SETTINGS
    // OS: O MR
    ACTION_MOBILE_NETWORK_DATA_USAGE = 1082;

    // FIELD - State of asynchronous ranking when Settings search result is clicked
    // CATEGORY: SETTINGS
    // OS: O MR
    FIELD_SETTINGS_SEARCH_RESULT_ASYNC_RANKING_STATE = 1083;

    // ACTION: Settings > Connected devices > SMS Mirroring
    // CATEGORY: SETTINGS
    // OS: O MR
    ACTION_SETTINGS_SMS_MIRRORING = 1084;

    // ACTION: Chooser picked a ranked target.
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O MR
    ACTION_TARGET_SELECTED = 1085;

    // FIELD - is category used in Chooser: 1.
    // Type: int encoded boolean
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O MR
    FIELD_IS_CATEGORY_USED = 1086;

    // FIELD - ranked position of selected target for Chooser.
    // CATEGORY: GLOBAL_SYSTEM_UI
    // OS: O MR
    FIELD_RANKED_POSITION = 1087;

    // OPEN: Settings > Data plan usage
    // CATEGORY: SETTINGS
    // OS: O MR
    DATA_PLAN_USAGE_SUMMARY = 1088;

    // FIELD: The numeric preference value (of type int) when it is changed in Settings
    FIELD_SETTINGS_PREFERENCE_CHANGE_INT_VALUE = 1089;

    // ACTION: Logged when the app has notified that it has fully drawn. See
    // Activity.reportFullyDrawn().
    APP_TRANSITION_REPORTED_DRAWN = 1090;

    // FIELD: The delay of the activity reporting to be fully drawn measured from the beginning of
    // the app transition.
    APP_TRANSITION_REPORTED_DRAWN_MS = 1091;

    // OPEN: Settings > Storage > Photos & Videos
    // CATEGORY: SETTINGS
    // OS: O MR
    APPLICATIONS_STORAGE_PHOTOS = 1092;

    // ACTION: Logged when the status bar icons change.
    // OS: O MR
    STATUS_BAR_ICONS_CHANGED = 1093;

    // FIELD: Bitfield indicating which icons are shown.
    // OS: O MR
    FIELD_STATUS_ICONS = 1094;

    // FIELD: Number of status icons currently shown.
    // OS: O MR
    FIELD_NUM_STATUS_ICONS = 1095;

    // ACTION: Logged when user tries to pair a Bluetooth device without name from Settings app
    // CATEGORY: SETTINGS
    // OS: O MR
    ACTION_SETTINGS_BLUETOOTH_PAIR_DEVICES_WITHOUT_NAMES = 1096;

    // FIELD - Whether smart suggestion ranking was enabled or not
    // Type: int encoded boolean
    // CATEGORY: SETTINGS
    // OS: O MR
    FIELD_SETTINGS_SMART_SUGGESTIONS_ENABLED = 1097;

    // ACTION: The device boots
    ACTION_BOOT = 1098;

    // FIELD: A string value representing some state of the platform, e.g., boot reason
    FIELD_PLATFORM_REASON = 1099;

    // CATEGORY: The category for all actions relating to selection session logging.
    // OS: O MR
    TEXT_SELECTION_SESSION = 1100;

    // ACTION: A selection session started (i.e. the selection handles appeared)
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_START = 1101;

    // ACTION: The user modified the selection (e.g. by dragging the handles)
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_MODIFY = 1102;

    // ACTION: The user modified the selection by pressing the "select all" button.
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_SELECT_ALL = 1103;

    // ACTION: The user modified the selection by pressing on a word in a multi word selection
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_RESET = 1104;

    // ACTION: Smart selection made a single word prediction
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_SMART_SINGLE = 1105;

    // ACTION: Smart selection made a multi word prediction
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_SMART_MULTI = 1106;

    // ACTION: The app made an automatic selection on the user's behalf (not smart selection)
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_AUTO = 1107;

    // ACTION: A selection session ended with the user typing over the text
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_OVERTYPE = 1108;

    // ACTION: A selection session ended with the user copying the text
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_COPY = 1109;

    // ACTION: A selection session ended with the user pasting over the text
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_PASTE = 1110;

    // ACTION: A selection session ended with the user cutting the text
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_CUT = 1111;

    // ACTION: A selection session ended with the user pressing the share button
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_SHARE = 1112;

    // ACTION: A selection session ended with the user pressing the smart share button
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_SMART_SHARE = 1113;

    // ACTION: A selection session ended with the user dragging the text
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_DRAG = 1114;

    // ACTION: A selection session ended with the user abandoning the selection
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_ABANDON = 1115;

    // ACTION: A selection session ended with the user picking an unhandled action bar item
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    ACTION_TEXT_SELECTION_OTHER = 1116;

    // FIELD: Time in milliseconds from the start of the session to this event
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    FIELD_SELECTION_SINCE_START = 1117;

    // FIELD: time in milliseconds between the last event in the session and this one
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    FIELD_SELECTION_SINCE_PREVIOUS = 1118;

    // FIELD: a random uid for a selection session (lasting from select start to end)
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    FIELD_SELECTION_SESSION_ID = 1119;

    // FIELD: the sequence number of the event in the session
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    FIELD_SELECTION_SESSION_INDEX = 1120;

    // FIELD: a concatenation of the widget type and ML model version.
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    FIELD_SELECTION_VERSION_TAG = 1121;

    // FIELD: text select start offset in words (as defined by the ICU BreakIterator), stored as two
    //        packed 16bit integers. (start in MSBs, end in LSBs)
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    FIELD_SELECTION_RANGE = 1122;

    // FIELD: smart text selection start offset in words (as defined by the ICU BreakIterator),
    //        stored as two packed 16bit integers. (start in MSBs, end in LSBs)
    // CATEGORY: TEXT_SELECTION_SESSION
    // OS: O MR
    FIELD_SELECTION_SMART_RANGE = 1123;

    // The value of an autofillable and savable view was reset
    // Package: Package of app that was autofilled
    // OS: O MR
    // Tag FIELD_AUTOFILL_SERVICE: Package of service that processed the request
    // Tag FIELD_AUTOFILL_PREVIOUS_LENGTH: the previous length of the value
    AUTOFILL_VALUE_RESET = 1124;

    // Tag of AUTOFILL_VALUE_RESET
    // OS: O MR
    FIELD_AUTOFILL_PREVIOUS_LENGTH = 1125;

    // An autofill dataset authentication succeeded
    // Package: Package of app that was autofilled
    // OS: O MR
    // Tag FIELD_AUTOFILL_SERVICE: Package of service that processed the request
    AUTOFILL_DATASET_AUTHENTICATED = 1126;

    // An autofill service provided an invalid dataset authentication
    // Package: Package of app that was autofilled
    // OS: O MR
    // Tag FIELD_AUTOFILL_SERVICE: Package of service that processed the request
    AUTOFILL_INVALID_DATASET_AUTHENTICATION = 1127;

    // An autofill service provided an invalid authentication extra
    // Package: Package of app that was autofilled
    // OS: O MR
    // Tag FIELD_AUTOFILL_SERVICE: Package of service that processed the request
    AUTOFILL_INVALID_AUTHENTICATION = 1128;

    // An autofill service used a custom description (using RemoteViews) in the Save affordance
    // Package: Package of app that is autofilled
    // OS: O MR
    // Tag FIELD_AUTOFILL_SERVICE: Package of service that processed the request
    // Tag FIELD_AUTOFILL_SAVE_TYPE: Type of save object passed by the service
    AUTOFILL_SAVE_CUSTOM_DESCRIPTION = 1129;

    // FIELD - Type of save object passed by the service when the Save UI is shown
    // OS: O MR
    FIELD_AUTOFILL_SAVE_TYPE = 1130;

    // An autofill service used a custom subtitle (String) in the Save affordance
    // Package: Package of app that is autofilled
    // OS: O MR
    // Tag FIELD_AUTOFILL_SERVICE: Package of service that processed the request
    // Tag FIELD_AUTOFILL_SAVE_TYPE: Type of save object passed by the service
    AUTOFILL_SAVE_CUSTOM_SUBTITLE = 1131;

    // User tapped a link in the custom description of the Save affordance provided by an autofill service
    // Package: Package of app that is autofilled
    // OS: O MR
    // Type TYPE_UNKNOWN: The link was not properly set by the service
    // Type TYPE_OPEN: The link launched an activity
    // Type TYPE_FAILURE: The link could not launc an activity
    // Tag FIELD_AUTOFILL_SERVICE: Package of service that processed the request
    // Tag FIELD_AUTOFILL_SAVE_TYPE: Type of save object passed by the service
    AUTOFILL_SAVE_LINK_TAPPED = 1132;

    // Result of the validation on save when an autofill service provided a validator
    // Package: Package of app that is autofilled
    // OS: O MR
    // Type TYPE_FAILURE: The validation could not be performed due to an error
    // Type TYPE_SUCCESS: The validation passed
    // Type TYPE_DISMISS: The validation failed
    // Tag FIELD_AUTOFILL_SERVICE: Package of service that processed the request
    // Tag FIELD_AUTOFILL_SAVE_TYPE: Type of save object passed by the service
    AUTOFILL_SAVE_VALIDATION = 1133;

    // Result of an operation in the autofill save affordance after the user tapped a link in the custom description
    // provided by the autofill service
    // Package: Package of app that is autofilled
    // OS: O MR
    // Type TYPE_OPEN: The save affordance was restored
    // Type TYPE_DISMISS: The save affordcance was destroyed
    // Type TYPE_FAILURE: An invalid opperation was reported by the app's AutofillManager
    AUTOFILL_PENDING_SAVE_UI_OPERATION = 1134;

    // Autofill service called API that disables itself
    // Package: Package of the autofill service
    // OS: O MR
    AUTOFILL_SERVICE_DISABLED_SELF = 1135;

    // Counter showing how long it took (in ms) to show the autofill UI after a field was focused
    // Tag FIELD_AUTOFILL_SERVICE: Package of service that processed the request
    // Package: Package of the autofill service
    // OS: O MR
    AUTOFILL_UI_LATENCY = 1136;

    // Action: the snooze leave-behind was shown after the user clicked the snooze icon
    // OS: O MR
    NOTIFICATION_SNOOZE_CLICKED = 1137;

    // Action: user selected a notification snooze duration from the drop down
    // OS: O MR
    NOTIFICATION_SELECT_SNOOZE = 1138;

    // attached to NOTIFICATION_SNOOZED and NOTIFICATION_SELECT_SNOOZE events
    // OS: O MR
    FIELD_NOTIFICATION_SNOOZE_DURATION_MS = 1139;

    // attached to NOTIFICATION_SELECT_SNOOZE events to indicate the option selected
    // OS: O MR
    FIELD_NOTIFICATION_SNOOZE_INDEX = 1140;

    // Action: user tapped undo on the notification snooze leave-behind
    // OS: O MR
    NOTIFICATION_UNDO_SNOOZE = 1141;

    // Action: user togged the visibility of the notification snooze options drop down
    // OS: O MR
    NOTIFICATION_SNOOZE_OPTIONS = 1142;

    // ---- End O-MR1 Constants, all O-MR1 constants go above this line ----

    // OPEN: Settings > Network & Internet > Mobile network
    // CATEGORY: SETTINGS
    SETTINGS_MOBILE_NETWORK_CATEGORY = 1200;

    // ACTION: Settings > Network & Internet > Mobile network > Roaming
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_DATA_ROAMING_TOGGLE = 1201;

    // ACTION: Settings > Network & Internet > Mobile network > Advanced
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_EXPAND_ADVANCED_FIELDS = 1202;

    // ACTION: Settings > Network & Internet > Mobile network > Enhanced 4G LTE Mode
    // CATEGORY: SETTINGS
    ACTION_MOBILE_ENHANCED_4G_LTE_MODE_TOGGLE = 1203;

    // ACTION: Settings > Network & Internet > Mobile network > Preferred network type
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_SELECT_PREFERRED_NETWORK = 1204;

    // ACTION: Settings > Network & Internet > Mobile network > Preferred network type (enabled networks)
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_SELECT_ENABLED_NETWORK = 1205;

    // OPEN: Settings > Network & Internet > Mobile network > Carrier
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_EUICC_SETTING = 1206;

    // OPEN: Settings > Network & Internet > Mobile network > Wi-Fi calling
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_WIFI_CALLING = 1207;

    // ACTION: Settings > Network & Internet > Mobile network > Carrier video calling
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_VIDEO_CALLING_TOGGLE = 1208;

    // ACTION: Settings > Network & Internet > Mobile network > Automatically select network
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_AUTO_SELECT_NETWORK_TOGGLE = 1209;

    // ACTION: Settings > Network & Internet > Mobile network > Network
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_MANUAL_SELECT_NETWORK = 1210;

    // FIELD - Manually selected mobile network
    FIELD_MOBILE_NETWORK = 1211;

    // OPEN: Settings > Network & Internet > Mobile network > Access Point Names
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_APN_SETTINGS = 1212;

    // OPEN: Settings > Network & Internet > Mobile network > Carrier settings
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_CARRIER_SETTINGS = 1213;

    // OPEN: Settings > Network & Internet > Mobile network > System select
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_CDMA_SYSTEM_SELECT = 1214;

    // OPEN: Settings > Network & Internet > Mobile network > CDMA subscription
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_CDMA_SUBSCRIPTION_SELECT = 1215;

    // ACTION: Settings > Network & Internet > Mobile network > Set up data service
    // CATEGORY: SETTINGS
    ACTION_MOBILE_NETWORK_SET_UP_DATA_SERVICE = 1216;

    // Add new aosp constants above this line.
    // END OF AOSP CONSTANTS
  }
}
