1// Copyright (C) 2017 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto2";
16
17option java_package = "com.android.internal.messages";
18option java_outer_classname = "SystemMessageProto";
19
20package com_android_notifications;
21
22// Descriptors for system messages: notifications, dialogs, toasts, etc.
23message SystemMessage {
24
25  // System message IDs
26  // These are non-consecutive in order to preserve some existing, ad hoc IDs.
27  // It is OK to use skipped IDs.
28  // Prefer to add new IDs consecutively from zero, search for ADD_NEW_IDS_ABOVE_THIS_LINE.
29  // Most of these IDs only became meaningful with the O release.
30  enum ID {
31    // Unknown
32    NOTE_UNKNOWN = 0;
33
34    // Notify the user that a screenshot was captured.
35    // Package: com.android.systemui
36    NOTE_GLOBAL_SCREENSHOT = 1;
37
38    // Warn the user about an invalid charger.
39    // Package: com.android.systemui
40    NOTE_BAD_CHARGER = 2;
41
42    // Warn the user about low battery.
43    // Package: com.android.systemui
44    NOTE_POWER_LOW = 3;
45
46    // Warn the user that the device has gotten warm.
47    // Package: com.android.systemui
48    NOTE_HIGH_TEMP = 4;
49
50    // Warn the user that some notifications are hidden.
51    // Package: com.android.systemui
52    NOTE_HIDDEN_NOTIFICATIONS = 5;
53
54    // Notify the user of a problem with a plugin (dev devices only).
55    // Package: com.android.systemui
56    NOTE_PLUGIN = 6;
57
58    // Notify the user that instant app is running.
59    // Package: com.android.systemui
60    NOTE_INSTANT_APPS = 7;
61
62    // Notify the user that they should select an input method
63    // Package: android
64    NOTE_SELECT_INPUT_METHOD = 8;
65
66    // Notify the user about limited functionality before decryption
67    // Package: android
68    NOTE_FBE_ENCRYPTED_NOTIFICATION = 9;
69
70    // Give the user a way out of car mode
71    // Package: android
72    NOTE_CAR_MODE_DISABLE = 10;
73
74    // Notification to tell the user that a heavy-weight application is running.
75    // Package: android
76    NOTE_HEAVY_WEIGHT_NOTIFICATION = 11;
77
78    // Notification to tell the user that a process has exceeded its memory limit.
79    // Package: android
80    NOTE_DUMP_HEAP_NOTIFICATION = 12;
81
82    // Notification that is shown when finishing a system upgrade
83    // Package: android
84    NOTE_SYSTEM_UPGRADING = 13;
85
86    // Notify the user that tethering is active.
87    // Package: android
88    NOTE_TETHER_GENERAL = 14;
89    NOTE_TETHER_USB = 15;
90    NOTE_TETHER_BLUETOOTH = 16;
91
92    // Notify the user that always-on VPN has disconnected.
93    // Package: android
94    NOTE_VPN_DISCONNECTED = 17;
95
96    // Notify the user about a sync error.
97    // Package: android
98    NOTE_SYNC_ERROR = 18;
99
100    // Ask the user to select a keyboard language and layout
101    // Package: android
102    NOTE_SELECT_KEYBOARD_LAYOUT = 19;
103
104    // Update the user about the status of the VPN
105    // Package: android
106    NOTE_VPN_STATUS = 20;
107
108    // Package manager either installed or deleted a package
109    // Package: android
110    NOTE_PACKAGE_STATE = 21;
111
112    // Tell the user that storage space is low
113    // Package: android
114    NOTE_LOW_STORAGE = 23;
115
116    // Confirm that the user wants to reset out of retail demo mode
117    // Package: android
118    NOTE_RETAIL_RESET = 24;
119
120    // Entice the use to tap to share files
121    // Package: android
122    NOTE_USB_MTP_TAP = 25;
123
124    // Display the Android Debug Protocol status
125    // Package: android
126    NOTE_ADB_ACTIVE = 26;
127
128    // Inform that USB is configured for Media Transfer Protocol
129    // Package: android
130    NOTE_USB_MTP = 27;
131
132    // Inform that USB is configured for Picture Transfer Protocol
133    // Package: android
134    NOTE_USB_PTP = 28;
135
136    // Inform that USB is configured as a Musical Instrument Digital Interface
137    // Package: android
138    NOTE_USB_MIDI = 29;
139
140    // Inform that USB is configured in host mode
141    // Package: android
142    NOTE_USB_ACCESSORY = 30;
143
144    // Inform the user that the device is supplying power to another device.
145    // Package: android
146    NOTE_USB_SUPPLYING = 31;
147
148    // Inform the user that the device is consuming power from another device.
149    // Package: android
150    NOTE_USB_CHARGING = 32;
151
152    // Inform the user that a certificate authority is managing SSL
153    // Package: android
154    NOTE_SSL_CERT_INFO = 33;
155
156    // Warn the user they are approaching their data limit.
157    // Package: android
158    NOTE_NET_WARNING = 34;
159
160    // Warn the user they have reached their data limit.
161    // Package: android
162    NOTE_NET_LIMIT = 35;
163
164    // Warn the user they have exceeded their data limit.
165    // Package: android
166    NOTE_NET_LIMIT_SNOOZED = 36;
167
168    // Inform the user they need to sign in to an account
169    // Package: android, and others
170    NOTE_ACCOUNT_REQUIRE_SIGNIN = 37;
171
172    // Inform the user that there has been a permission request for an account
173    // Package: android
174    NOTE_ACCOUNT_CREDENTIAL_PERMISSION = 38;
175
176    // Inform the user their phone recently shut down due to high temperature
177    NOTE_THERMAL_SHUTDOWN = 39;
178
179    // Tell the user about currently running foreground services
180    // Package: android
181    NOTE_FOREGROUND_SERVICES = 40;
182
183    // Inform the user that the connected audio accessory is not supported
184    NOTE_USB_AUDIO_ACCESSORY_NOT_SUPPORTED = 41;
185
186    // Inform the user that a wrong password was detected while attempting to connect
187    // to a wifi network
188    NOTE_WIFI_WRONG_PASSWORD = 42;
189
190    // Inform the user that Wifi Wake will re-enable wifi when possible
191    NOTE_WIFI_WAKE_ONBOARD = 43;
192
193    // Inform the user that Wifi Wake has automatically re-enabled wifi
194    NOTE_WIFI_WAKE_TURNED_BACK_ON = 44;
195
196    // Inform the user that unexpectedly rapid network usage is happening
197    NOTE_NET_RAPID = 45;
198
199    // Notify the user that carrier wifi networks are available.
200    // Package: android
201    NOTE_CARRIER_NETWORK_AVAILABLE = 46;
202
203    // Inform that USB is configured for Tethering
204    // Package: android
205    NOTE_USB_TETHER = 47;
206
207    // Inform that DND settings have changed on OS upgrade
208    // Package: android
209    NOTE_ZEN_UPGRADE = 48;
210
211    // Notification to suggest automatic battery saver.
212    // Package: android
213    NOTE_AUTO_SAVER_SUGGESTION = 49;
214
215    // Notify the user that their softap config preference has changed.
216    // Package: android
217    NOTE_SOFTAP_CONFIG_CHANGED = 50;
218
219    // Notify the user that an app suggested network is available for connection.
220    // Package: android
221    NOTE_NETWORK_SUGGESTION_AVAILABLE = 51;
222
223    // Inform the user that the contaminant is detected on the USB port
224    NOTE_USB_CONTAMINANT_DETECTED = 52;
225
226    // Inform that user that the USB port is free of contaminants.
227    NOTE_USB_CONTAMINANT_NOT_DETECTED = 53;
228
229    // Inform the user that Test Harness Mode is active.
230    // Package: android
231    NOTE_TEST_HARNESS_MODE_ENABLED = 54;
232
233    // Inform the user that Serial Console is active.
234    // Package: android
235    NOTE_SERIAL_CONSOLE_ENABLED = 55;
236
237    // Inform the user that the current network may not support using a randomized MAC address.
238    NOTE_NETWORK_NO_MAC_RANDOMIZATION_SUPPORT = 56;
239
240    // Inform the user that EAP failure occurs
241    NOTE_WIFI_EAP_FAILURE = 57;
242
243    // Notify the user that their softap disabled because auto shutdown timeout expired.
244    // Package: android
245    NOTE_SOFTAP_AUTO_DISABLED = 58;
246
247    // Notify the user that their admin has changed location settings.
248    // Package: android
249    NOTE_LOCATION_CHANGED = 59;
250
251    // Notify user that a SIM is required to connect to Wifi network
252    // Package: android
253    NOTE_ID_WIFI_SIM_REQUIRED = 60;
254
255    // Display the Android Debug Protocol status
256    // Package: android
257    NOTE_ADB_WIFI_ACTIVE = 62;
258
259    // Notify user there was a non-framework gnss location access during an emergency
260    // Package: android
261    NOTE_GNSS_NFW_LOCATION_ACCESS = 63;
262
263    // ADD_NEW_IDS_ABOVE_THIS_LINE
264    // Legacy IDs with arbitrary values appear below
265    // Legacy IDs existed as stable non-conflicting constants prior to the O release
266
267    // Network status notes, previously decleared in metrics_constants with these values
268    // Package: android
269    //
270    // A captive portal was detected during network validation
271    NOTE_NETWORK_SIGN_IN = 740;
272    // An unvalidated network without Internet was selected by the user
273    NOTE_NETWORK_NO_INTERNET = 741;
274    // A validated network failed revalidation and lost Internet access
275    NOTE_NETWORK_LOST_INTERNET = 742;
276    // The system default network switched to a different network
277    NOTE_NETWORK_SWITCH = 743;
278    // Device logged-in captive portal network successfully
279    NOTE_NETWORK_LOGGED_IN = 744;
280    // A partial connectivity network was detected during network validation
281    NOTE_NETWORK_PARTIAL_CONNECTIVITY = 745;
282    // Private DNS is broken in strict mode
283    NOTE_NETWORK_PRIVATE_DNS_BROKEN = 746;
284
285    // Notify the user that their work profile has been deleted
286    // Package: android
287    NOTE_PROFILE_WIPED = 1001;
288
289    // Warn the user that their org can monitor the network
290    // Package: android
291    NOTE_NETWORK_LOGGING = 1002;
292
293    // Confirm that the user wants to remove the guest account.
294    // Package: com.android.systemui
295    NOTE_REMOVE_GUEST = 1010;
296
297    // Confirm that the user wants to log out of the device.
298    // Package: com.android.systemui
299    NOTE_LOGOUT_USER = 1011;
300
301    // Notify the user that a TV PIP is running.
302    // Package: com.android.systemui
303    NOTE_TV_PIP = 1100;
304
305    // Extreme battery saver notification.
306    NOTE_BATTERY_SAVER_WARNING = 1200;
307
308    // Notify the user that open wifi networks are available.
309    // Package: android
310    NOTE_NETWORK_AVAILABLE = 17303299;
311
312    // Communicate to the user about remote bugreports.
313    // Package: android
314    NOTE_REMOTE_BUGREPORT = 678432343;
315
316    // Notify the user about public volume state changes..
317    // Package: com.android.systemui
318    NOTE_STORAGE_PUBLIC = 0x53505542;  // 1397773634
319
320    // Notify the user about private volume state changes.
321    // Package: com.android.systemui
322    NOTE_STORAGE_PRIVATE = 0x53505256;
323
324    // Notify the user about an unsupported storage device..
325    // Package: com.android.systemui
326    NOTE_STORAGE_DISK = 0x5344534b;
327
328    // Notify the user that data or apps are being moved to external storage.
329    // Package: com.android.systemui
330    NOTE_STORAGE_MOVE = 0x534d4f56;
331
332    // Notify the user that the admin suspended personal apps on the device.
333    // Package: android
334    NOTE_PERSONAL_APPS_SUSPENDED = 1003;
335  }
336}
337