// Copyright (C) 2017 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.messages";
option java_outer_classname = "SystemMessageProto";

package com_android_notifications;

// Descriptors for system messages: notifications, dialogs, toasts, etc.
message SystemMessage {

  // System message IDs
  // These are non-consecutive in order to preserve some existing, ad hoc IDs.
  // It is OK to use skipped IDs.
  // Prefer to add new IDs consecutively from zero, search for ADD_NEW_IDS_ABOVE_THIS_LINE.
  // Most of these IDs only became meaningful with the O release.
  enum ID {
    // Unknown
    NOTE_UNKNOWN = 0;

    // Notify the user that a screenshot was captured.
    // Package: com.android.systemui
    NOTE_GLOBAL_SCREENSHOT = 1;

    // Warn the user about an invalid charger.
    // Package: com.android.systemui
    NOTE_BAD_CHARGER = 2;

    // Warn the user about low battery.
    // Package: com.android.systemui
    NOTE_POWER_LOW = 3;

    // Warn the user that the device has gotten warm.
    // Package: com.android.systemui
    NOTE_HIGH_TEMP = 4;

    // Warn the user that some notifications are hidden.
    // Package: com.android.systemui
    NOTE_HIDDEN_NOTIFICATIONS = 5;

    // Notify the user of a problem with a plugin (dev devices only).
    // Package: com.android.systemui
    NOTE_PLUGIN = 6;

    // Notify the user that instant app is running.
    // Package: com.android.systemui
    NOTE_INSTANT_APPS = 7;

    // Notify the user that they should select an input method
    // Package: android
    NOTE_SELECT_INPUT_METHOD = 8;

    // Notify the user about limited functionality before decryption
    // Package: android
    NOTE_FBE_ENCRYPTED_NOTIFICATION = 9;

    // Give the user a way out of car mode
    // Package: android
    NOTE_CAR_MODE_DISABLE = 10;

    // Notification to tell the user that a heavy-weight application is running.
    // Package: android
    NOTE_HEAVY_WEIGHT_NOTIFICATION = 11;

    // Notification to tell the user that a process has exceeded its memory limit.
    // Package: android
    NOTE_DUMP_HEAP_NOTIFICATION = 12;

    // Notification that is shown when finishing a system upgrade
    // Package: android
    NOTE_SYSTEM_UPGRADING = 13;

    // Notify the user that tethering is active.
    // Package: android
    NOTE_TETHER_GENERAL = 14;
    NOTE_TETHER_USB = 15;
    NOTE_TETHER_BLUETOOTH = 16;

    // Notify the user that always-on VPN has disconnected.
    // Package: android
    NOTE_VPN_DISCONNECTED = 17;

    // Notify the user about a sync error.
    // Package: android
    NOTE_SYNC_ERROR = 18;

    // Ask the user to select a keyboard language and layout
    // Package: android
    NOTE_SELECT_KEYBOARD_LAYOUT = 19;

    // Update the user about the status of the VPN
    // Package: android
    NOTE_VPN_STATUS = 20;

    // Package manager either installed or deleted a package
    // Package: android
    NOTE_PACKAGE_STATE = 21;

    // Tell the user that storage space is low
    // Package: android
    NOTE_LOW_STORAGE = 23;

    // Confirm that the user wants to reset out of retail demo mode
    // Package: android
    NOTE_RETAIL_RESET = 24;

    // Entice the use to tap to share files
    // Package: android
    NOTE_USB_MTP_TAP = 25;

    // Display the Android Debug Protocol status
    // Package: android
    NOTE_ADB_ACTIVE = 26;

    // Inform that USB is configured for Media Transfer Protocol
    // Package: android
    NOTE_USB_MTP = 27;

    // Inform that USB is configured for Picture Transfer Protocol
    // Package: android
    NOTE_USB_PTP = 28;

    // Inform that USB is configured as a Musical Instrument Digital Interface
    // Package: android
    NOTE_USB_MIDI = 29;

    // Inform that USB is configured in host mode
    // Package: android
    NOTE_USB_ACCESSORY = 30;

    // Inform the user that the device is supplying power to another device.
    // Package: android
    NOTE_USB_SUPPLYING = 31;

    // Inform the user that the device is consuming power from another device.
    // Package: android
    NOTE_USB_CHARGING = 32;

    // Inform the user that a certificate authority is managing SSL
    // Package: android
    NOTE_SSL_CERT_INFO = 33;

    // Warn the user they are approaching their data limit.
    // Package: android
    NOTE_NET_WARNING = 34;

    // Warn the user they have reached their data limit.
    // Package: android
    NOTE_NET_LIMIT = 35;

    // Warn the user they have exceeded their data limit.
    // Package: android
    NOTE_NET_LIMIT_SNOOZED = 36;

    // Inform the user they need to sign in to an account
    // Package: android, and others
    NOTE_ACCOUNT_REQUIRE_SIGNIN = 37;

    // Inform the user that there has been a permission request for an account
    // Package: android
    NOTE_ACCOUNT_CREDENTIAL_PERMISSION = 38;

    // Inform the user their phone recently shut down due to high temperature
    NOTE_THERMAL_SHUTDOWN = 39;

    // Tell the user about currently running foreground services
    // Package: android
    NOTE_FOREGROUND_SERVICES = 40;

    // Inform the user that the connected audio accessory is not supported
    NOTE_USB_AUDIO_ACCESSORY_NOT_SUPPORTED = 41;

    // Inform the user that a wrong password was detected while attempting to connect
    // to a Wi-Fi network
    NOTE_WIFI_WRONG_PASSWORD = 42;

    // Inform the user that Wifi Wake will re-enable wifi when possible
    NOTE_WIFI_WAKE_ONBOARD = 43;

    // Inform the user that Wifi Wake has automatically re-enabled Wifi
    NOTE_WIFI_WAKE_TURNED_BACK_ON = 44;

    // Inform the user that unexpectedly rapid network usage is happening
    NOTE_NET_RAPID = 45;

    // ADD_NEW_IDS_ABOVE_THIS_LINE
    // Legacy IDs with arbitrary values appear below
    // Legacy IDs existed as stable non-conflicting constants prior to the O release

    // Network status notes, previously decleared in metrics_constants with these values
    // Package: android
    //
    // A captive portal was detected during network validation
    NOTE_NETWORK_SIGN_IN = 740;
    // An unvalidated network without Internet was selected by the user
    NOTE_NETWORK_NO_INTERNET = 741;
    // A validated network failed revalidation and lost Internet access
    NOTE_NETWORK_LOST_INTERNET = 742;
    // The system default network switched to a different network
    NOTE_NETWORK_SWITCH = 743;

    // Notify the user that their work profile has been deleted
    // Package: android
    NOTE_PROFILE_WIPED = 1001;

    // Warn the user that their org can monitor the network
    // Package: android
    NOTE_NETWORK_LOGGING = 1002;

    // Confirm that the user wants to remove the guest account.
    // Package: com.android.systemui
    NOTE_REMOVE_GUEST = 1010;

    // Confirm that the user wants to log out of the device.
    // Package: com.android.systemui
    NOTE_LOGOUT_USER = 1011;

    // Notify the user that a TV PIP is running.
    // Package: com.android.systemui
    NOTE_TV_PIP = 1100;

    // Extreme battery saver notifiaction.
    NOTE_BATTERY_SAVER_WARNING = 1200;

    // Notify the user that open Wi-Fi networks are available.
    // Package: android
    NOTE_NETWORK_AVAILABLE = 17303299;

    // Communicate to the user about remote bugreports.
    // Package: android
    NOTE_REMOTE_BUGREPORT = 678432343;

    // Notify the user about public volume state changes..
    // Package: com.android.systemui
    NOTE_STORAGE_PUBLIC = 0x53505542;  // 1397773634

    // Notify the user about private volume state changes.
    // Package: com.android.systemui
    NOTE_STORAGE_PRIVATE = 0x53505256;

    // Notify the user about an unsupported storage device..
    // Package: com.android.systemui
    NOTE_STORAGE_DISK = 0x5344534b;

    // Notify the user that data or apps are being moved to external storage.
    // Package: com.android.systemui
    NOTE_STORAGE_MOVE = 0x534d4f56;
  }
}
