huangcm
2025-04-11 48566d1cda2d109a94496c806286f47b8984166d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
// 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 wifi 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;
 
    // Notify the user that carrier wifi networks are available.
    // Package: android
    NOTE_CARRIER_NETWORK_AVAILABLE = 46;
 
    // Inform that USB is configured for Tethering
    // Package: android
    NOTE_USB_TETHER = 47;
 
    // Inform that DND settings have changed on OS upgrade
    // Package: android
    NOTE_ZEN_UPGRADE = 48;
 
    // Notification to suggest automatic battery saver.
    // Package: android
    NOTE_AUTO_SAVER_SUGGESTION = 49;
 
    // Notify the user that their softap config preference has changed.
    // Package: android
    NOTE_SOFTAP_CONFIG_CHANGED = 50;
 
    // Notify the user that an app suggested network is available for connection.
    // Package: android
    NOTE_NETWORK_SUGGESTION_AVAILABLE = 51;
 
    // Inform the user that the contaminant is detected on the USB port
    NOTE_USB_CONTAMINANT_DETECTED = 52;
 
    // Inform that user that the USB port is free of contaminants.
    NOTE_USB_CONTAMINANT_NOT_DETECTED = 53;
 
    // Inform the user that Test Harness Mode is active.
    // Package: android
    NOTE_TEST_HARNESS_MODE_ENABLED = 54;
 
    // 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;
    // Device logged-in captive portal network successfully
    NOTE_NETWORK_LOGGED_IN = 744;
    // A partial connectivity network was detected during network validation
    NOTE_NETWORK_PARTIAL_CONNECTIVITY = 745;
 
    // 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 notification.
    NOTE_BATTERY_SAVER_WARNING = 1200;
 
    // Notify the user that open wifi 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;
  }
}