// 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)
    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;
  }

  // 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_NUMBER
    // PACKAGE: The package name of the app requesting the permission
    ACTION_PERMISSION_REQUEST_READ_PHONE_NUMBER = 736;

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

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

    // ACTION: The permission READ_PHONE_NUMBER was revoked for an app
    // PACKAGE: The package name of the app the permission was revoked for
    ACTION_PERMISSION_REVOKE_READ_PHONE_NUMBER = 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
    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_SERACH_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 values 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.
    APP_TRANSITION_ACTIVITY_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 authentification 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;
    // ---- End O Constants, all O constants go above this line ----

    // Add new aosp constants above this line.
    // END OF AOSP CONSTANTS
  }
}
