1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/* //device/apps/common/AndroidManifest.xml
4**
5** Copyright 2006, The Android Open Source Project
6**
7** Licensed under the Apache License, Version 2.0 (the "License");
8** you may not use this file except in compliance with the License.
9** You may obtain a copy of the License at
10**
11**     http://www.apache.org/licenses/LICENSE-2.0
12**
13** Unless required by applicable law or agreed to in writing, software
14** distributed under the License is distributed on an "AS IS" BASIS,
15** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16** See the License for the specific language governing permissions and
17** limitations under the License.
18*/
19-->
20<manifest xmlns:android="http://schemas.android.com/apk/res/android"
21    package="android" coreApp="true" android:sharedUserId="android.uid.system"
22    android:sharedUserLabel="@string/android_system_label">
23
24    <!-- ================================================ -->
25    <!-- Special broadcasts that only the system can send -->
26    <!-- ================================================ -->
27    <eat-comment />
28
29    <protected-broadcast android:name="android.intent.action.SCREEN_OFF" />
30    <protected-broadcast android:name="android.intent.action.SCREEN_ON" />
31    <protected-broadcast android:name="android.intent.action.USER_PRESENT" />
32    <protected-broadcast android:name="android.intent.action.TIME_SET" />
33    <protected-broadcast android:name="android.intent.action.TIME_TICK" />
34    <protected-broadcast android:name="android.intent.action.TIMEZONE_CHANGED" />
35    <protected-broadcast android:name="android.intent.action.DATE_CHANGED" />
36    <protected-broadcast android:name="android.intent.action.PRE_BOOT_COMPLETED" />
37    <protected-broadcast android:name="android.intent.action.BOOT_COMPLETED" />
38    <protected-broadcast android:name="android.intent.action.PACKAGE_INSTALL" />
39    <protected-broadcast android:name="android.intent.action.PACKAGE_ADDED" />
40    <protected-broadcast android:name="android.intent.action.PACKAGE_REPLACED" />
41    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_REPLACED" />
42    <protected-broadcast android:name="android.intent.action.PACKAGE_REMOVED" />
43    <protected-broadcast android:name="android.intent.action.PACKAGE_REMOVED_INTERNAL" />
44    <protected-broadcast android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
45    <protected-broadcast android:name="android.intent.action.PACKAGE_CHANGED" />
46    <protected-broadcast android:name="android.intent.action.PACKAGE_FULLY_LOADED" />
47    <protected-broadcast android:name="android.intent.action.PACKAGE_ENABLE_ROLLBACK" />
48    <protected-broadcast android:name="android.intent.action.CANCEL_ENABLE_ROLLBACK" />
49    <protected-broadcast android:name="android.intent.action.ROLLBACK_COMMITTED" />
50    <protected-broadcast android:name="android.intent.action.PACKAGE_RESTARTED" />
51    <protected-broadcast android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
52    <protected-broadcast android:name="android.intent.action.PACKAGE_FIRST_LAUNCH" />
53    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION" />
54    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION" />
55    <protected-broadcast android:name="android.intent.action.PACKAGE_VERIFIED" />
56    <protected-broadcast android:name="android.intent.action.PACKAGES_SUSPENDED" />
57    <protected-broadcast android:name="android.intent.action.PACKAGES_UNSUSPENDED" />
58    <protected-broadcast android:name="android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY" />
59    <protected-broadcast android:name="android.intent.action.DISTRACTING_PACKAGES_CHANGED" />
60    <protected-broadcast android:name="android.intent.action.ACTION_PREFERRED_ACTIVITY_CHANGED" />
61    <protected-broadcast android:name="android.intent.action.UID_REMOVED" />
62    <protected-broadcast android:name="android.intent.action.QUERY_PACKAGE_RESTART" />
63    <protected-broadcast android:name="android.intent.action.CONFIGURATION_CHANGED" />
64    <protected-broadcast android:name="android.intent.action.SPLIT_CONFIGURATION_CHANGED" />
65    <protected-broadcast android:name="android.intent.action.LOCALE_CHANGED" />
66    <protected-broadcast android:name="android.intent.action.BATTERY_CHANGED" />
67    <protected-broadcast android:name="android.intent.action.BATTERY_LEVEL_CHANGED" />
68    <protected-broadcast android:name="android.intent.action.BATTERY_LOW" />
69    <protected-broadcast android:name="android.intent.action.BATTERY_OKAY" />
70    <protected-broadcast android:name="android.intent.action.ACTION_POWER_CONNECTED" />
71    <protected-broadcast android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
72    <protected-broadcast android:name="android.intent.action.ACTION_SHUTDOWN" />
73    <protected-broadcast android:name="android.intent.action.CHARGING" />
74    <protected-broadcast android:name="android.intent.action.DISCHARGING" />
75    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_LOW" />
76    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_OK" />
77    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_FULL" />
78    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_NOT_FULL" />
79    <protected-broadcast android:name="android.intent.action.NEW_OUTGOING_CALL" />
80    <protected-broadcast android:name="android.intent.action.REBOOT" />
81    <protected-broadcast android:name="android.intent.action.DOCK_EVENT" />
82    <protected-broadcast android:name="android.intent.action.THERMAL_EVENT" />
83    <protected-broadcast android:name="android.intent.action.MASTER_CLEAR_NOTIFICATION" />
84    <protected-broadcast android:name="android.intent.action.USER_ADDED" />
85    <protected-broadcast android:name="android.intent.action.USER_REMOVED" />
86    <protected-broadcast android:name="android.intent.action.USER_STARTING" />
87    <protected-broadcast android:name="android.intent.action.USER_STARTED" />
88    <protected-broadcast android:name="android.intent.action.USER_STOPPING" />
89    <protected-broadcast android:name="android.intent.action.USER_STOPPED" />
90    <protected-broadcast android:name="android.intent.action.USER_BACKGROUND" />
91    <protected-broadcast android:name="android.intent.action.USER_FOREGROUND" />
92    <protected-broadcast android:name="android.intent.action.USER_SWITCHED" />
93    <protected-broadcast android:name="android.intent.action.USER_INITIALIZE" />
94    <protected-broadcast android:name="android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION" />
95    <protected-broadcast android:name="android.intent.action.DOMAINS_NEED_VERIFICATION" />
96    <protected-broadcast android:name="android.intent.action.OVERLAY_ADDED" />
97    <protected-broadcast android:name="android.intent.action.OVERLAY_CHANGED" />
98    <protected-broadcast android:name="android.intent.action.OVERLAY_REMOVED" />
99    <protected-broadcast android:name="android.intent.action.OVERLAY_PRIORITY_CHANGED" />
100    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_SUSPENDED" />
101    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_UNSUSPENDED" />
102
103    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED" />
104    <protected-broadcast android:name="android.os.action.DEVICE_IDLE_MODE_CHANGED" />
105    <protected-broadcast android:name="android.os.action.POWER_SAVE_WHITELIST_CHANGED" />
106    <protected-broadcast android:name="android.os.action.POWER_SAVE_TEMP_WHITELIST_CHANGED" />
107    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED_INTERNAL" />
108    <protected-broadcast android:name="android.os.action.ENHANCED_DISCHARGE_PREDICTION_CHANGED" />
109
110    <!-- @deprecated This is rarely used and will be phased out soon. -->
111    <protected-broadcast android:name="android.os.action.SCREEN_BRIGHTNESS_BOOST_CHANGED" />
112
113    <protected-broadcast android:name="android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL" />
114
115    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE" />
116    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE" />
117    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE_PRIORITIZED" />
118    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE_PRIORITIZED" />
119    <protected-broadcast android:name="android.app.action.ENTER_DESK_MODE" />
120    <protected-broadcast android:name="android.app.action.EXIT_DESK_MODE" />
121    <protected-broadcast android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
122
123    <protected-broadcast android:name="android.app.action.USER_ADDED" />
124    <protected-broadcast android:name="android.app.action.USER_REMOVED" />
125    <protected-broadcast android:name="android.app.action.USER_STARTED" />
126    <protected-broadcast android:name="android.app.action.USER_STOPPED" />
127    <protected-broadcast android:name="android.app.action.USER_SWITCHED" />
128
129    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARING_DECLINED" />
130    <protected-broadcast android:name="android.app.action.BUGREPORT_FAILED" />
131    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARE" />
132    <protected-broadcast android:name="android.app.action.SHOW_DEVICE_MONITORING_DIALOG" />
133    <protected-broadcast android:name="android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED" />
134    <protected-broadcast android:name="android.intent.action.INCIDENT_REPORT_READY" />
135
136    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_UPDATE_OPTIONS" />
137    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DELETED" />
138    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DISABLED" />
139    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLED" />
140    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED" />
141    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_RESTORED" />
142
143    <protected-broadcast android:name="android.os.action.SETTING_RESTORED" />
144
145    <protected-broadcast android:name="android.app.backup.intent.CLEAR" />
146    <protected-broadcast android:name="android.app.backup.intent.INIT" />
147
148    <protected-broadcast android:name="android.bluetooth.intent.DISCOVERABLE_TIMEOUT" />
149    <protected-broadcast android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
150    <protected-broadcast android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
151    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
152    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
153    <protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
154    <protected-broadcast android:name="android.bluetooth.adapter.action.BLUETOOTH_ADDRESS_CHANGED" />
155    <protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
156    <protected-broadcast android:name="android.bluetooth.device.action.UUID" />
157    <protected-broadcast android:name="android.bluetooth.device.action.MAS_INSTANCE" />
158    <protected-broadcast android:name="android.bluetooth.device.action.ALIAS_CHANGED" />
159    <protected-broadcast android:name="android.bluetooth.device.action.FOUND" />
160    <protected-broadcast android:name="android.bluetooth.device.action.CLASS_CHANGED" />
161    <protected-broadcast android:name="android.bluetooth.device.action.ACL_CONNECTED" />
162    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
163    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
164    <protected-broadcast android:name="android.bluetooth.device.action.NAME_CHANGED" />
165    <protected-broadcast android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
166    <protected-broadcast android:name="android.bluetooth.device.action.NAME_FAILED" />
167    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
168    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
169    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
170    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL" />
171    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST" />
172    <protected-broadcast android:name="android.bluetooth.device.action.SDP_RECORD" />
173    <protected-broadcast android:name="android.bluetooth.device.action.BATTERY_LEVEL_CHANGED" />
174    <protected-broadcast android:name="android.bluetooth.devicepicker.action.LAUNCH" />
175    <protected-broadcast android:name="android.bluetooth.devicepicker.action.DEVICE_SELECTED" />
176    <protected-broadcast
177        android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
178    <protected-broadcast
179        android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />
180    <protected-broadcast
181        android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
182    <protected-broadcast
183        android:name="android.bluetooth.headset.action.HF_INDICATORS_VALUE_CHANGED" />
184    <protected-broadcast
185        android:name="android.bluetooth.headset.profile.action.ACTIVE_DEVICE_CHANGED" />
186    <protected-broadcast
187        android:name="android.bluetooth.headsetclient.profile.action.CONNECTION_STATE_CHANGED" />
188    <protected-broadcast
189        android:name="android.bluetooth.headsetclient.profile.action.AUDIO_STATE_CHANGED" />
190    <protected-broadcast
191        android:name="android.bluetooth.headsetclient.profile.action.AG_EVENT" />
192    <protected-broadcast
193        android:name="android.bluetooth.headsetclient.profile.action.AG_CALL_CHANGED" />
194    <protected-broadcast
195        android:name="android.bluetooth.headsetclient.profile.action.RESULT" />
196    <protected-broadcast
197        android:name="android.bluetooth.headsetclient.profile.action.LAST_VTAG" />
198    <protected-broadcast
199        android:name="android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED" />
200    <protected-broadcast
201        android:name="android.bluetooth.hearingaid.profile.action.PLAYING_STATE_CHANGED" />
202    <protected-broadcast
203        android:name="android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED" />
204    <protected-broadcast
205        android:name="android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED" />
206    <protected-broadcast
207        android:name="android.bluetooth.a2dp.profile.action.ACTIVE_DEVICE_CHANGED" />
208    <protected-broadcast
209        android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
210    <protected-broadcast
211        android:name="android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED" />
212    <protected-broadcast
213        android:name="android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED" />
214    <protected-broadcast
215        android:name="android.bluetooth.a2dp-sink.profile.action.PLAYING_STATE_CHANGED" />
216    <protected-broadcast
217        android:name="android.bluetooth.a2dp-sink.profile.action.AUDIO_CONFIG_CHANGED" />
218    <protected-broadcast
219        android:name="android.bluetooth.avrcp-controller.profile.action.BROWSE_CONNECTION_STATE_CHANGED" />
220    <protected-broadcast
221        android:name="android.bluetooth.avrcp-controller.profile.action.CONNECTION_STATE_CHANGED" />
222    <protected-broadcast
223        android:name="android.bluetooth.avrcp-controller.profile.action.FOLDER_LIST" />
224    <protected-broadcast
225        android:name="android.bluetooth.avrcp-controller.profile.action.TRACK_EVENT" />
226    <protected-broadcast
227        android:name="android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED" />
228    <protected-broadcast
229        android:name="android.bluetooth.input.profile.action.IDLE_TIME_CHANGED" />
230    <protected-broadcast
231        android:name="android.bluetooth.input.profile.action.PROTOCOL_MODE_CHANGED" />
232    <protected-broadcast
233        android:name="android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS" />
234    <protected-broadcast
235        android:name="android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED" />
236    <protected-broadcast
237        android:name="android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED" />
238    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.CONNECTION_STATE_CHANGED" />
239    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_RECEIVED" />
240    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_SENT_SUCCESSFULLY" />
241    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELIVERED_SUCCESSFULLY" />
242    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_READ_STATUS_CHANGED" />
243    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELETED_STATUS_CHANGED" />
244    <protected-broadcast
245        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
246    <protected-broadcast
247        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
248    <protected-broadcast
249        android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" />
250    <protected-broadcast
251        android:name="android.bluetooth.action.TETHERING_STATE_CHANGED" />
252    <protected-broadcast android:name="android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED" />
253    <protected-broadcast android:name="android.bluetooth.pbapclient.profile.action.CONNECTION_STATE_CHANGED" />
254    <protected-broadcast android:name="android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED" />
255    <protected-broadcast android:name="android.btopp.intent.action.INCOMING_FILE_NOTIFICATION" />
256    <protected-broadcast android:name="android.btopp.intent.action.USER_CONFIRMATION_TIMEOUT" />
257    <protected-broadcast android:name="android.btopp.intent.action.LIST" />
258    <protected-broadcast android:name="android.btopp.intent.action.OPEN_OUTBOUND" />
259    <protected-broadcast android:name="android.btopp.intent.action.HIDE_COMPLETE" />
260    <protected-broadcast android:name="android.btopp.intent.action.CONFIRM" />
261    <protected-broadcast android:name="android.btopp.intent.action.HIDE" />
262    <protected-broadcast android:name="android.btopp.intent.action.RETRY" />
263    <protected-broadcast android:name="android.btopp.intent.action.OPEN" />
264    <protected-broadcast android:name="android.btopp.intent.action.OPEN_INBOUND" />
265    <protected-broadcast android:name="android.btopp.intent.action.TRANSFER_COMPLETE" />
266    <protected-broadcast android:name="android.btopp.intent.action.ACCEPT" />
267    <protected-broadcast android:name="android.btopp.intent.action.DECLINE" />
268    <protected-broadcast android:name="com.android.bluetooth.gatt.REFRESH_BATCHED_SCAN" />
269    <protected-broadcast android:name="com.android.bluetooth.pbap.authchall" />
270    <protected-broadcast android:name="com.android.bluetooth.pbap.userconfirmtimeout" />
271    <protected-broadcast android:name="com.android.bluetooth.pbap.authresponse" />
272    <protected-broadcast android:name="com.android.bluetooth.pbap.authcancelled" />
273    <protected-broadcast android:name="com.android.bluetooth.sap.USER_CONFIRM_TIMEOUT" />
274    <protected-broadcast android:name="com.android.bluetooth.sap.action.DISCONNECT_ACTION" />
275
276    <protected-broadcast android:name="android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED" />
277
278    <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" />
279    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_CHANGED" />
280    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
281    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_DETACHED" />
282    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE" />
283    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
284    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
285
286    <protected-broadcast android:name="android.intent.action.HEADSET_PLUG" />
287    <protected-broadcast android:name="android.media.action.HDMI_AUDIO_PLUG" />
288    <protected-broadcast android:name="android.media.action.MICROPHONE_MUTE_CHANGED" />
289    <protected-broadcast android:name="android.media.action.SPEAKERPHONE_STATE_CHANGED" />
290
291    <protected-broadcast android:name="android.media.AUDIO_BECOMING_NOISY" />
292    <protected-broadcast android:name="android.media.RINGER_MODE_CHANGED" />
293    <protected-broadcast android:name="android.media.VIBRATE_SETTING_CHANGED" />
294    <protected-broadcast android:name="android.media.VOLUME_CHANGED_ACTION" />
295    <protected-broadcast android:name="android.media.MASTER_VOLUME_CHANGED_ACTION" />
296    <protected-broadcast android:name="android.media.MASTER_MUTE_CHANGED_ACTION" />
297    <protected-broadcast android:name="android.media.MASTER_MONO_CHANGED_ACTION" />
298    <protected-broadcast android:name="android.media.MASTER_BALANCE_CHANGED_ACTION" />
299    <protected-broadcast android:name="android.media.SCO_AUDIO_STATE_CHANGED" />
300    <protected-broadcast android:name="android.media.ACTION_SCO_AUDIO_STATE_UPDATED" />
301
302    <protected-broadcast android:name="android.intent.action.MEDIA_REMOVED" />
303    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTED" />
304    <protected-broadcast android:name="android.intent.action.MEDIA_CHECKING" />
305    <protected-broadcast android:name="android.intent.action.MEDIA_NOFS" />
306    <protected-broadcast android:name="android.intent.action.MEDIA_MOUNTED" />
307    <protected-broadcast android:name="android.intent.action.MEDIA_SHARED" />
308    <protected-broadcast android:name="android.intent.action.MEDIA_UNSHARED" />
309    <protected-broadcast android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
310    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTABLE" />
311    <protected-broadcast android:name="android.intent.action.MEDIA_EJECT" />
312
313    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL" />
314    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE" />
315    <!-- @deprecated.  Only {@link android.net.ConnectivityManager.CONNECTIVITY_ACTION} is sent. -->
316    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE" />
317    <protected-broadcast android:name="android.net.conn.DATA_ACTIVITY_CHANGE" />
318    <protected-broadcast android:name="android.net.conn.RESTRICT_BACKGROUND_CHANGED" />
319    <protected-broadcast android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
320    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL_TEST_COMPLETED" />
321
322    <protected-broadcast android:name="android.net.nsd.STATE_CHANGED" />
323
324    <!-- For OMAPI -->
325    <protected-broadcast android:name="android.se.omapi.action.SECURE_ELEMENT_STATE_CHANGED" />
326
327    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
328    <protected-broadcast android:name="android.nfc.action.PREFERRED_PAYMENT_CHANGED" />
329    <protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
330    <protected-broadcast android:name="android.nfc.action.REQUIRE_UNLOCK_FOR_NFC" />
331    <protected-broadcast android:name="com.android.nfc.action.LLCP_UP" />
332    <protected-broadcast android:name="com.android.nfc.action.LLCP_DOWN" />
333    <protected-broadcast android:name="com.android.nfc.cardemulation.action.CLOSE_TAP_DIALOG" />
334    <protected-broadcast android:name="com.android.nfc.handover.action.ALLOW_CONNECT" />
335    <protected-broadcast android:name="com.android.nfc.handover.action.DENY_CONNECT" />
336    <protected-broadcast android:name="com.android.nfc.handover.action.TIMEOUT_CONNECT" />
337    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_ON_DETECTED" />
338    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED" />
339    <protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
340    <!-- For NFC to BT handover -->
341    <protected-broadcast android:name="android.btopp.intent.action.WHITELIST_DEVICE" />
342    <protected-broadcast android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER" />
343    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND" />
344    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE" />
345    <protected-broadcast android:name="com.android.nfc.handover.action.CANCEL_HANDOVER_TRANSFER" />
346
347    <protected-broadcast android:name="android.net.action.CLEAR_DNS_CACHE" />
348    <protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
349
350    <protected-broadcast android:name="android.os.UpdateLock.UPDATE_LOCK_CHANGED" />
351
352    <protected-broadcast android:name="android.intent.action.DREAMING_STARTED" />
353    <protected-broadcast android:name="android.intent.action.DREAMING_STOPPED" />
354    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
355
356    <protected-broadcast android:name="com.android.server.stats.action.TRIGGER_COLLECTION" />
357
358    <protected-broadcast android:name="com.android.server.WifiManager.action.START_SCAN" />
359    <protected-broadcast android:name="com.android.server.WifiManager.action.START_PNO" />
360    <protected-broadcast android:name="com.android.server.WifiManager.action.DELAYED_DRIVER_STOP" />
361    <protected-broadcast android:name="com.android.server.WifiManager.action.DEVICE_IDLE" />
362    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_ACCEPTED" />
363    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_DECLINED" />
364    <protected-broadcast android:name="com.android.internal.action.EUICC_FACTORY_RESET" />
365    <protected-broadcast android:name="com.android.server.usb.ACTION_OPEN_IN_APPS" />
366    <protected-broadcast android:name="com.android.server.am.DELETE_DUMPHEAP" />
367    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_WARNING" />
368    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_RAPID" />
369    <protected-broadcast android:name="com.android.server.wifi.ACTION_SHOW_SET_RANDOMIZATION_DETAILS" />
370    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_ALLOWED_APP" />
371    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISALLOWED_APP" />
372    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISMISSED" />
373    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_ALLOWED_CARRIER" />
374    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISALLOWED_CARRIER" />
375    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISMISSED" />
376    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.USER_DISMISSED_NOTIFICATION" />
377    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.CONNECT_TO_NETWORK" />
378    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_WIFI_NETWORK" />
379    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_NETWORK_AFTER_FAILURE" />
380    <protected-broadcast android:name="com.android.server.wifi.wakeup.DISMISS_NOTIFICATION" />
381    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_PREFERENCES" />
382    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_SETTINGS" />
383    <protected-broadcast android:name="com.android.server.wifi.wakeup.TURN_OFF_WIFI_WAKE" />
384    <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" />
385    <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
386    <protected-broadcast android:name="android.net.wifi.WIFI_CREDENTIAL_CHANGED" />
387    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED" />
388    <protected-broadcast android:name="android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED" />
389    <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" />
390    <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" />
391    <protected-broadcast android:name="android.net.wifi.STATE_CHANGE" />
392    <protected-broadcast android:name="android.net.wifi.LINK_CONFIGURATION_CHANGED" />
393    <protected-broadcast android:name="android.net.wifi.CONFIGURED_NETWORKS_CHANGE" />
394    <protected-broadcast android:name="android.net.wifi.action.NETWORK_SETTINGS_RESET" />
395    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_DEAUTH_IMMINENT" />
396    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_ICON" />
397    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_OSU_PROVIDERS_LIST" />
398    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_SUBSCRIPTION_REMEDIATION" />
399    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW" />
400    <protected-broadcast android:name="android.net.wifi.action.REFRESH_USER_PROVISIONING" />
401    <protected-broadcast android:name="android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION" />
402    <protected-broadcast android:name="android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED" />
403    <protected-broadcast android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
404    <protected-broadcast android:name="android.net.wifi.supplicant.STATE_CHANGE" />
405    <protected-broadcast android:name="android.net.wifi.p2p.STATE_CHANGED" />
406    <protected-broadcast android:name="android.net.wifi.p2p.DISCOVERY_STATE_CHANGE" />
407    <protected-broadcast android:name="android.net.wifi.p2p.THIS_DEVICE_CHANGED" />
408    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
409    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
410    <protected-broadcast android:name="android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED" />
411    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
412    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
413    <!-- This broadcast is no longer sent in S but it should stay protected to avoid third party
414         apps broadcasting this and confusing old system apps that may not have been updated. -->
415    <protected-broadcast android:name="android.net.conn.NETWORK_CONDITIONS_MEASURED" />
416    <protected-broadcast
417            android:name="android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED" />
418    <protected-broadcast android:name="android.net.scoring.SCORE_NETWORKS" />
419    <protected-broadcast android:name="android.net.scoring.SCORER_CHANGED" />
420    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE" />
421    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" />
422    <protected-broadcast android:name="android.intent.action.AIRPLANE_MODE" />
423    <protected-broadcast android:name="android.intent.action.ADVANCED_SETTINGS" />
424    <protected-broadcast android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED" />
425    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRED_DEVICES" />
426    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRING_RESULT" />
427    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_STATUS" />
428
429    <!-- Legacy -->
430    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_START" />
431    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_END" />
432
433    <protected-broadcast android:name="com.android.server.ACTION_TRIGGER_IDLE" />
434
435    <protected-broadcast android:name="android.intent.action.HDMI_PLUGGED" />
436
437    <protected-broadcast android:name="android.intent.action.PHONE_STATE" />
438
439    <protected-broadcast android:name="android.intent.action.SUB_DEFAULT_CHANGED" />
440
441    <protected-broadcast android:name="android.location.PROVIDERS_CHANGED" />
442    <protected-broadcast android:name="android.location.MODE_CHANGED" />
443    <protected-broadcast android:name="android.location.action.GNSS_CAPABILITIES_CHANGED" />
444
445    <protected-broadcast android:name="android.net.proxy.PAC_REFRESH" />
446
447    <protected-broadcast android:name="android.telecom.action.DEFAULT_DIALER_CHANGED" />
448    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED" />
449    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_CREATED" />
450    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_LOST" />
451    <protected-broadcast android:name="android.intent.action.CONTENT_CHANGED" />
452    <protected-broadcast android:name="android.provider.Telephony.MMS_DOWNLOADED" />
453
454    <protected-broadcast
455        android:name="com.android.server.connectivityservice.CONNECTED_TO_PROVISIONING_NETWORK_ACTION" />
456
457    <!-- Defined in RestrictionsManager -->
458    <protected-broadcast
459        android:name="android.intent.action.PERMISSION_RESPONSE_RECEIVED" />
460    <!-- Defined in RestrictionsManager -->
461
462    <protected-broadcast android:name="android.intent.action.REQUEST_PERMISSION" />
463    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_STARTED" />
464    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
465    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_PROGRESS" />
466    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
467
468    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED" />
469    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED" />
470    <protected-broadcast android:name="android.intent.action.ACTION_SUBINFO_CONTENT_CHANGE" />
471    <protected-broadcast android:name="android.intent.action.ACTION_SUBINFO_RECORD_UPDATED" />
472
473    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_DONE" />
474    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_FAILED" />
475
476    <protected-broadcast android:name="android.internal.policy.action.BURN_IN_PROTECTION" />
477    <protected-broadcast android:name="android.app.action.SYSTEM_UPDATE_POLICY_CHANGED" />
478    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
479    <protected-broadcast android:name="android.app.action.DEVICE_OWNER_CHANGED" />
480    <protected-broadcast android:name="android.app.action.MANAGED_USER_CREATED" />
481
482    <!-- Added in N -->
483    <protected-broadcast android:name="android.intent.action.ANR" />
484    <protected-broadcast android:name="android.intent.action.CALL" />
485    <protected-broadcast android:name="android.intent.action.CALL_PRIVILEGED" />
486    <protected-broadcast android:name="android.intent.action.DROPBOX_ENTRY_ADDED" />
487    <protected-broadcast android:name="android.intent.action.INPUT_METHOD_CHANGED" />
488    <protected-broadcast android:name="android.intent.action.internal_sim_state_changed" />
489    <protected-broadcast android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
490    <protected-broadcast android:name="android.intent.action.PRECISE_CALL_STATE" />
491    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_PHONE_STATE" />
492    <protected-broadcast android:name="android.intent.action.USER_INFO_CHANGED" />
493    <protected-broadcast android:name="android.intent.action.USER_UNLOCKED" />
494    <protected-broadcast android:name="android.intent.action.WALLPAPER_CHANGED" />
495
496    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_MANAGER_STATE_CHANGED" />
497    <protected-broadcast android:name="android.app.action.CHOOSE_PRIVATE_KEY_ALIAS" />
498    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
499    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
500    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
501    <protected-broadcast android:name="android.app.action.LOCK_TASK_ENTERING" />
502    <protected-broadcast android:name="android.app.action.LOCK_TASK_EXITING" />
503    <protected-broadcast android:name="android.app.action.NOTIFY_PENDING_SYSTEM_UPDATE" />
504    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_CHANGED" />
505    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_EXPIRING" />
506    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_FAILED" />
507    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_SUCCEEDED" />
508    <protected-broadcast android:name="com.android.server.ACTION_EXPIRED_PASSWORD_NOTIFICATION" />
509    <protected-broadcast android:name="com.android.server.ACTION_PROFILE_OFF_DEADLINE" />
510    <protected-broadcast android:name="com.android.server.ACTION_TURN_PROFILE_ON_NOTIFICATION" />
511
512    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_ADDED" />
513    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNLOCKED" />
514    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_REMOVED" />
515
516    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_STATE_CHANGED" />
517    <protected-broadcast android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT" />
518    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
519    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
520    <protected-broadcast android:name="android.content.jobscheduler.JOB_DELAY_EXPIRED" />
521    <protected-broadcast android:name="android.content.syncmanager.SYNC_ALARM" />
522    <protected-broadcast android:name="android.media.INTERNAL_RINGER_MODE_CHANGED_ACTION" />
523    <protected-broadcast android:name="android.media.STREAM_DEVICES_CHANGED_ACTION" />
524    <protected-broadcast android:name="android.media.STREAM_MUTE_CHANGED_ACTION" />
525    <protected-broadcast android:name="android.net.sip.SIP_SERVICE_UP" />
526    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
527    <protected-broadcast android:name="android.os.action.CHARGING" />
528    <protected-broadcast android:name="android.os.action.DISCHARGING" />
529    <protected-broadcast android:name="android.search.action.SEARCHABLES_CHANGED" />
530    <protected-broadcast android:name="android.security.STORAGE_CHANGED" />
531    <protected-broadcast android:name="android.security.action.TRUST_STORE_CHANGED" />
532    <protected-broadcast android:name="android.security.action.KEYCHAIN_CHANGED" />
533    <protected-broadcast android:name="android.security.action.KEY_ACCESS_CHANGED" />
534    <protected-broadcast android:name="android.telecom.action.NUISANCE_CALL_STATUS_CHANGED" />
535    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_REGISTERED" />
536    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_UNREGISTERED" />
537    <protected-broadcast android:name="android.telecom.action.POST_CALL" />
538    <protected-broadcast android:name="android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION" />
539    <protected-broadcast android:name="android.telephony.action.CARRIER_CONFIG_CHANGED" />
540    <protected-broadcast android:name="android.telephony.action.DEFAULT_SUBSCRIPTION_CHANGED" />
541    <protected-broadcast android:name="android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED" />
542    <protected-broadcast android:name="android.telephony.action.SECRET_CODE" />
543    <protected-broadcast android:name="android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION" />
544    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_PLANS_CHANGED" />
545
546    <protected-broadcast android:name="com.android.bluetooth.btservice.action.ALARM_WAKEUP" />
547    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_POLL" />
548    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_UPDATED" />
549    <protected-broadcast android:name="com.android.server.NetworkTimeUpdateService.action.POLL" />
550    <protected-broadcast android:name="com.android.server.telecom.intent.action.CALLS_ADD_ENTRY" />
551    <protected-broadcast android:name="com.android.settings.location.MODE_CHANGING" />
552    <protected-broadcast android:name="com.android.settings.bluetooth.ACTION_DISMISS_PAIRING" />
553    <protected-broadcast android:name="com.android.settings.network.DELETE_SUBSCRIPTION" />
554    <protected-broadcast android:name="com.android.settings.network.SWITCH_TO_SUBSCRIPTION" />
555    <protected-broadcast android:name="com.android.settings.wifi.action.NETWORK_REQUEST" />
556
557    <protected-broadcast android:name="NotificationManagerService.TIMEOUT" />
558    <protected-broadcast android:name="NotificationHistoryDatabase.CLEANUP" />
559    <protected-broadcast android:name="ScheduleConditionProvider.EVALUATE" />
560    <protected-broadcast android:name="EventConditionProvider.EVALUATE" />
561    <protected-broadcast android:name="SnoozeHelper.EVALUATE" />
562    <protected-broadcast android:name="wifi_scan_available" />
563
564    <protected-broadcast android:name="action.cne.started" />
565    <protected-broadcast android:name="android.content.jobscheduler.JOB_DEADLINE_EXPIRED" />
566    <protected-broadcast android:name="android.intent.action.ACTION_UNSOL_RESPONSE_OEM_HOOK_RAW" />
567    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_SUPL" />
568    <protected-broadcast android:name="android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED" />
569    <protected-broadcast android:name="android.os.storage.action.VOLUME_STATE_CHANGED" />
570    <protected-broadcast android:name="android.os.storage.action.DISK_SCANNED" />
571    <protected-broadcast android:name="com.android.server.action.UPDATE_TWILIGHT_STATE" />
572    <protected-broadcast android:name="com.android.server.action.RESET_TWILIGHT_AUTO" />
573    <protected-broadcast android:name="com.android.server.device_idle.STEP_IDLE_STATE" />
574    <protected-broadcast android:name="com.android.server.device_idle.STEP_LIGHT_IDLE_STATE" />
575    <protected-broadcast android:name="com.android.server.Wifi.action.TOGGLE_PNO" />
576    <protected-broadcast android:name="intent.action.ACTION_RF_BAND_INFO" />
577    <protected-broadcast android:name="android.intent.action.MEDIA_RESOURCE_GRANTED" />
578    <protected-broadcast android:name="android.app.action.NETWORK_LOGS_AVAILABLE" />
579    <protected-broadcast android:name="android.app.action.SECURITY_LOGS_AVAILABLE" />
580    <protected-broadcast android:name="android.app.action.COMPLIANCE_ACKNOWLEDGEMENT_REQUIRED" />
581
582    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED" />
583    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED_INTERNAL" />
584    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_CHANGED" />
585    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED" />
586    <protected-broadcast android:name="android.app.action.AUTOMATIC_ZEN_RULE_STATUS_CHANGED" />
587    <protected-broadcast android:name="android.os.action.ACTION_EFFECTS_SUPPRESSOR_CHANGED" />
588    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED" />
589    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED" />
590    <protected-broadcast android:name="android.app.action.NOTIFICATION_LISTENER_ENABLED_CHANGED" />
591    <protected-broadcast android:name="android.app.action.APP_BLOCK_STATE_CHANGED" />
592
593    <protected-broadcast android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS" />
594    <protected-broadcast android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS" />
595
596    <protected-broadcast android:name="android.intent.action.DYNAMIC_SENSOR_CHANGED" />
597
598    <protected-broadcast android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
599    <protected-broadcast android:name="android.accounts.action.ACCOUNT_REMOVED" />
600    <protected-broadcast android:name="android.accounts.action.VISIBLE_ACCOUNTS_CHANGED" />
601
602    <protected-broadcast android:name="com.android.sync.SYNC_CONN_STATUS_CHANGED" />
603
604    <protected-broadcast android:name="android.net.sip.action.SIP_INCOMING_CALL" />
605    <protected-broadcast android:name="com.android.phone.SIP_ADD_PHONE" />
606    <protected-broadcast android:name="android.net.sip.action.SIP_REMOVE_PROFILE" />
607    <protected-broadcast android:name="android.net.sip.action.SIP_SERVICE_UP" />
608    <protected-broadcast android:name="android.net.sip.action.SIP_CALL_OPTION_CHANGED" />
609    <protected-broadcast android:name="android.net.sip.action.START_SIP" />
610
611    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_CONNECTED" />
612    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_DISCONNECTED" />
613
614    <protected-broadcast android:name="android.bluetooth.input.profile.action.HANDSHAKE" />
615    <protected-broadcast android:name="android.bluetooth.input.profile.action.REPORT" />
616
617    <protected-broadcast android:name="android.intent.action.TWILIGHT_CHANGED" />
618
619    <protected-broadcast android:name="com.android.server.fingerprint.ACTION_LOCKOUT_RESET" />
620    <protected-broadcast android:name="android.net.wifi.PASSPOINT_ICON_RECEIVED" />
621
622    <protected-broadcast android:name="com.android.server.notification.CountdownConditionProvider" />
623    <protected-broadcast android:name="android.server.notification.action.ENABLE_NAS" />
624    <protected-broadcast android:name="android.server.notification.action.DISABLE_NAS" />
625    <protected-broadcast android:name="android.server.notification.action.LEARNMORE_NAS" />
626
627    <protected-broadcast android:name="com.android.internal.location.ALARM_WAKEUP" />
628    <protected-broadcast android:name="com.android.internal.location.ALARM_TIMEOUT" />
629    <protected-broadcast android:name="android.intent.action.GLOBAL_BUTTON" />
630
631    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_AVAILABLE" />
632    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNAVAILABLE" />
633    <protected-broadcast android:name="com.android.server.pm.DISABLE_QUIET_MODE_AFTER_UNLOCK" />
634
635    <protected-broadcast android:name="android.intent.action.PROFILE_ACCESSIBLE" />
636    <protected-broadcast android:name="android.intent.action.PROFILE_INACCESSIBLE" />
637
638    <protected-broadcast android:name="com.android.server.retaildemo.ACTION_RESET_DEMO" />
639
640    <protected-broadcast android:name="android.intent.action.DEVICE_LOCKED_CHANGED" />
641
642    <!-- Added in O -->
643    <protected-broadcast android:name="android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED" />
644    <protected-broadcast android:name="com.android.server.wm.ACTION_REVOKE_SYSTEM_ALERT_WINDOW_PERMISSION" />
645    <protected-broadcast android:name="android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED" />
646
647    <protected-broadcast android:name="android.content.pm.action.SESSION_COMMITTED" />
648    <protected-broadcast android:name="android.os.action.USER_RESTRICTIONS_CHANGED" />
649    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT" />
650    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED" />
651    <protected-broadcast android:name="android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED" />
652    <protected-broadcast android:name="android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED" />
653    <protected-broadcast android:name="com.android.server.inputmethod.InputMethodManagerService.SHOW_INPUT_METHOD_PICKER" />
654
655    <!-- Time zone rules update intents fired by the system server -->
656    <protected-broadcast android:name="com.android.intent.action.timezone.RULES_UPDATE_OPERATION" />
657    <protected-broadcast android:name="com.android.intent.action.timezone.TRIGGER_RULES_UPDATE_CHECK" />
658
659    <!-- Made protected in P (was introduced in JB-MR2) -->
660    <protected-broadcast android:name="android.intent.action.GET_RESTRICTION_ENTRIES" />
661    <protected-broadcast android:name="android.telephony.euicc.action.OTA_STATUS_CHANGED" />
662
663    <!-- Added in P -->
664    <protected-broadcast android:name="android.app.action.PROFILE_OWNER_CHANGED" />
665    <protected-broadcast android:name="android.app.action.TRANSFER_OWNERSHIP_COMPLETE" />
666    <protected-broadcast android:name="android.app.action.AFFILIATED_PROFILE_TRANSFER_OWNERSHIP_COMPLETE" />
667    <protected-broadcast android:name="android.app.action.STATSD_STARTED" />
668    <protected-broadcast android:name="com.android.server.biometrics.fingerprint.ACTION_LOCKOUT_RESET" />
669    <protected-broadcast android:name="com.android.server.biometrics.face.ACTION_LOCKOUT_RESET" />
670
671    <!-- For IdleController -->
672    <protected-broadcast android:name="android.intent.action.DOCK_IDLE" />
673    <protected-broadcast android:name="android.intent.action.DOCK_ACTIVE" />
674
675    <!-- Added in Q -->
676    <protected-broadcast android:name="android.content.pm.action.SESSION_UPDATED" />
677    <protected-broadcast android:name="android.settings.action.GRAYSCALE_CHANGED" />
678
679    <!-- For CarIdlenessTracker -->
680    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_ON" />
681    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_OFF" />
682    <protected-broadcast android:name="com.android.server.jobscheduler.FORCE_IDLE" />
683    <protected-broadcast android:name="com.android.server.jobscheduler.UNFORCE_IDLE" />
684
685    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL" />
686
687    <protected-broadcast android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY" />
688
689    <!-- Added in R -->
690    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
691
692    <!-- For tether entitlement recheck-->
693    <protected-broadcast
694        android:name="com.android.server.connectivity.tethering.PROVISIONING_RECHECK_ALARM" />
695
696    <!-- Made protected in S (was added in R) -->
697    <protected-broadcast android:name="com.android.internal.intent.action.BUGREPORT_REQUESTED" />
698
699    <!-- Added in S -->
700    <protected-broadcast android:name="android.scheduling.action.REBOOT_READY" />
701    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_CONSTANTS_CHANGED" />
702    <protected-broadcast android:name="android.app.action.SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED" />
703    <protected-broadcast android:name="android.app.action.ACTION_SHOW_NEW_USER_DISCLAIMER" />
704
705    <!-- ====================================================================== -->
706    <!--                          RUNTIME PERMISSIONS                           -->
707    <!-- ====================================================================== -->
708    <eat-comment />
709
710    <!-- Grouping for platform runtime permissions is not accessible to apps
711         @hide
712         @SystemApi
713         @TestApi
714    -->
715    <permission-group android:name="android.permission-group.UNDEFINED"
716        android:priority="100" />
717
718    <!-- ====================================================================== -->
719    <!-- Permissions for accessing user's contacts including personal profile   -->
720    <!-- ====================================================================== -->
721    <eat-comment />
722
723    <!-- Used for runtime permissions related to contacts and profiles on this
724        device. -->
725    <permission-group android:name="android.permission-group.CONTACTS"
726        android:icon="@drawable/perm_group_contacts"
727        android:label="@string/permgrouplab_contacts"
728        android:description="@string/permgroupdesc_contacts"
729        android:priority="100" />
730
731    <!-- Allows an application to read the user's contacts data.
732        <p>Protection level: dangerous
733    -->
734    <permission android:name="android.permission.READ_CONTACTS"
735        android:permissionGroup="android.permission-group.UNDEFINED"
736        android:label="@string/permlab_readContacts"
737        android:description="@string/permdesc_readContacts"
738        android:protectionLevel="dangerous" />
739
740    <!-- Allows an application to write the user's contacts data.
741         <p>Protection level: dangerous
742    -->
743    <permission android:name="android.permission.WRITE_CONTACTS"
744        android:permissionGroup="android.permission-group.UNDEFINED"
745        android:label="@string/permlab_writeContacts"
746        android:description="@string/permdesc_writeContacts"
747        android:protectionLevel="dangerous" />
748
749    <!-- ====================================================================== -->
750    <!-- Permissions for accessing user's calendar                              -->
751    <!-- ====================================================================== -->
752    <eat-comment />
753
754    <!-- Used for runtime permissions related to user's calendar. -->
755    <permission-group android:name="android.permission-group.CALENDAR"
756        android:icon="@drawable/perm_group_calendar"
757        android:label="@string/permgrouplab_calendar"
758        android:description="@string/permgroupdesc_calendar"
759        android:priority="200" />
760
761    <!-- Allows an application to read the user's calendar data.
762         <p>Protection level: dangerous
763    -->
764    <permission android:name="android.permission.READ_CALENDAR"
765        android:permissionGroup="android.permission-group.UNDEFINED"
766        android:label="@string/permlab_readCalendar"
767        android:description="@string/permdesc_readCalendar"
768        android:protectionLevel="dangerous" />
769
770    <!-- Allows an application to write the user's calendar data.
771         <p>Protection level: dangerous
772    -->
773    <permission android:name="android.permission.WRITE_CALENDAR"
774        android:permissionGroup="android.permission-group.UNDEFINED"
775        android:label="@string/permlab_writeCalendar"
776        android:description="@string/permdesc_writeCalendar"
777        android:protectionLevel="dangerous" />
778
779    <!-- ====================================================================== -->
780    <!-- Permissions for accessing and modifying user's SMS messages            -->
781    <!-- ====================================================================== -->
782    <eat-comment />
783
784    <!-- Allows accessing the messages on ICC
785         @hide Used internally. -->
786    <permission android:name="android.permission.ACCESS_MESSAGES_ON_ICC"
787        android:protectionLevel="signature" />
788
789    <!-- Used for runtime permissions related to user's SMS messages. -->
790    <permission-group android:name="android.permission-group.SMS"
791        android:icon="@drawable/perm_group_sms"
792        android:label="@string/permgrouplab_sms"
793        android:description="@string/permgroupdesc_sms"
794        android:priority="300" />
795
796    <!-- Allows an application to send SMS messages.
797         <p>Protection level: dangerous
798
799         <p> This is a hard restricted permission which cannot be held by an app until
800         the installer on record whitelists the permission. For more details see
801         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
802    -->
803    <permission android:name="android.permission.SEND_SMS"
804        android:permissionGroup="android.permission-group.UNDEFINED"
805        android:label="@string/permlab_sendSms"
806        android:description="@string/permdesc_sendSms"
807        android:permissionFlags="costsMoney|hardRestricted"
808        android:protectionLevel="dangerous" />
809
810    <!-- Allows an application to receive SMS messages.
811         <p>Protection level: dangerous
812
813         <p> This is a hard restricted permission which cannot be held by an app until
814         the installer on record whitelists the permission. For more details see
815         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
816    -->
817    <permission android:name="android.permission.RECEIVE_SMS"
818        android:permissionGroup="android.permission-group.UNDEFINED"
819        android:label="@string/permlab_receiveSms"
820        android:description="@string/permdesc_receiveSms"
821        android:permissionFlags="hardRestricted"
822        android:protectionLevel="dangerous" />
823
824    <!-- Allows an application to read SMS messages.
825         <p>Protection level: dangerous
826
827         <p> This is a hard restricted permission which cannot be held by an app until
828         the installer on record whitelists the permission. For more details see
829         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
830    -->
831    <permission android:name="android.permission.READ_SMS"
832        android:permissionGroup="android.permission-group.UNDEFINED"
833        android:label="@string/permlab_readSms"
834        android:description="@string/permdesc_readSms"
835        android:permissionFlags="hardRestricted"
836        android:protectionLevel="dangerous" />
837
838    <!-- Allows an application to receive WAP push messages.
839         <p>Protection level: dangerous
840
841         <p> This is a hard restricted permission which cannot be held by an app until
842         the installer on record whitelists the permission. For more details see
843         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
844    -->
845    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
846        android:permissionGroup="android.permission-group.UNDEFINED"
847        android:label="@string/permlab_receiveWapPush"
848        android:description="@string/permdesc_receiveWapPush"
849        android:permissionFlags="hardRestricted"
850        android:protectionLevel="dangerous" />
851
852    <!-- Allows an application to monitor incoming MMS messages.
853         <p>Protection level: dangerous
854
855         <p> This is a hard restricted permission which cannot be held by an app until
856         the installer on record whitelists the permission. For more details see
857         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
858    -->
859    <permission android:name="android.permission.RECEIVE_MMS"
860        android:permissionGroup="android.permission-group.UNDEFINED"
861        android:label="@string/permlab_receiveMms"
862        android:description="@string/permdesc_receiveMms"
863        android:permissionFlags="hardRestricted"
864        android:protectionLevel="dangerous" />
865
866    <!-- @SystemApi @TestApi Allows an application to forward cell broadcast messages to the cell
867         broadcast module. This is required in order to bind to the cell broadcast service, and
868         ensures that only the system can forward messages to it.
869
870         <p>Protection level: signature
871
872         @hide -->
873    <permission android:name="android.permission.BIND_CELL_BROADCAST_SERVICE"
874        android:label="@string/permlab_bindCellBroadcastService"
875        android:description="@string/permdesc_bindCellBroadcastService"
876        android:protectionLevel="signature" />
877
878    <!-- @SystemApi @TestApi Allows an application to read previously received cell broadcast
879         messages and to register a content observer to get notifications when
880         a cell broadcast has been received and added to the database. For
881         emergency alerts, the database is updated immediately after the
882         alert dialog and notification sound/vibration/speech are presented.
883         The "read" column is then updated after the user dismisses the alert.
884         This enables supplementary emergency assistance apps to start loading
885         additional emergency information (if Internet access is available)
886         when the alert is first received, and to delay presenting the info
887         to the user until after the initial alert dialog is dismissed.
888         <p>Protection level: dangerous
889
890         <p> This is a hard restricted permission which cannot be held by an app until
891         the installer on record whitelists the permission. For more details see
892         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
893
894         @hide Pending API council approval -->
895    <permission android:name="android.permission.READ_CELL_BROADCASTS"
896        android:permissionGroup="android.permission-group.UNDEFINED"
897        android:label="@string/permlab_readCellBroadcasts"
898        android:description="@string/permdesc_readCellBroadcasts"
899        android:permissionFlags="hardRestricted"
900        android:protectionLevel="dangerous" />
901
902    <!-- ====================================================================== -->
903    <!-- Permissions for accessing external storage                             -->
904    <!-- ====================================================================== -->
905    <eat-comment />
906
907    <!-- Used for runtime permissions related to the shared external storage. -->
908    <permission-group android:name="android.permission-group.STORAGE"
909        android:icon="@drawable/perm_group_storage"
910        android:label="@string/permgrouplab_storage"
911        android:description="@string/permgroupdesc_storage"
912        android:priority="900" />
913
914    <!-- Allows an application to read from external storage.
915      <p>Any app that declares the {@link #WRITE_EXTERNAL_STORAGE} permission is implicitly
916      granted this permission.</p>
917      <p>This permission is enforced starting in API level 19.  Before API level 19, this
918      permission is not enforced and all apps still have access to read from external storage.
919      You can test your app with the permission enforced by enabling <em>Protect USB
920      storage</em> under Developer options in the Settings app on a device running Android 4.1 or
921      higher.</p>
922      <p>Also starting in API level 19, this permission is <em>not</em> required to
923      read/write files in your application-specific directories returned by
924      {@link android.content.Context#getExternalFilesDir} and
925      {@link android.content.Context#getExternalCacheDir}.
926      <p class="note"><strong>Note:</strong> If <em>both</em> your <a
927      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
928      minSdkVersion}</a> and <a
929      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
930      targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
931      grants your app this permission. If you don't need this permission, be sure your <a
932      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
933      targetSdkVersion}</a> is 4 or higher.
934
935      <p> This is a soft restricted permission which cannot be held by an app it its
936      full form until the installer on record whitelists the permission.
937      Specifically, if the permission is allowlisted the holder app can access
938      external storage and the visual and aural media collections while if the
939      permission is not allowlisted the holder app can only access to the visual
940      and aural medial collections. Also the permission is immutably restricted
941      meaning that the allowlist state can be specified only at install time and
942      cannot change until the app is installed. For more details see
943      {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
944     <p>Protection level: dangerous -->
945    <permission android:name="android.permission.READ_EXTERNAL_STORAGE"
946        android:permissionGroup="android.permission-group.UNDEFINED"
947        android:label="@string/permlab_sdcardRead"
948        android:description="@string/permdesc_sdcardRead"
949        android:permissionFlags="softRestricted|immutablyRestricted"
950        android:protectionLevel="dangerous" />
951
952    <!-- Allows an application to write to external storage.
953         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
954         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
955         minSdkVersion}</a> and <a
956         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
957         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
958         grants your app this permission. If you don't need this permission, be sure your <a
959         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
960         targetSdkVersion}</a> is 4 or higher.
961         <p>Starting in API level 19, this permission is <em>not</em> required to
962         read/write files in your application-specific directories returned by
963         {@link android.content.Context#getExternalFilesDir} and
964         {@link android.content.Context#getExternalCacheDir}.
965         <p>If this permission is not allowlisted for an app that targets an API level before
966         {@link android.os.Build.VERSION_CODES#Q} this permission cannot be granted to apps.</p>
967         <p>Protection level: dangerous</p>
968    -->
969    <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
970        android:permissionGroup="android.permission-group.UNDEFINED"
971        android:label="@string/permlab_sdcardWrite"
972        android:description="@string/permdesc_sdcardWrite"
973        android:permissionFlags="softRestricted|immutablyRestricted"
974        android:protectionLevel="dangerous" />
975
976    <!-- Allows an application to access any geographic locations persisted in the
977         user's shared collection.
978         <p>Protection level: dangerous -->
979    <permission android:name="android.permission.ACCESS_MEDIA_LOCATION"
980        android:permissionGroup="android.permission-group.UNDEFINED"
981        android:label="@string/permlab_mediaLocation"
982        android:description="@string/permdesc_mediaLocation"
983        android:protectionLevel="dangerous" />
984
985    <!-- @hide @SystemApi @TestApi
986         Allows an application to modify OBB files visible to other apps. -->
987    <permission android:name="android.permission.WRITE_OBB"
988        android:protectionLevel="signature|privileged" />
989
990    <!-- Allows an application a broad access to external storage in scoped storage.
991         Intended to be used by few apps that need to manage files on behalf of the users.
992         <p>Protection level: signature|appop|preinstalled -->
993    <permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
994        android:permissionGroup="android.permission-group.UNDEFINED"
995        android:protectionLevel="signature|appop|preinstalled" />
996
997    <!-- Allows an application to modify and delete media files on this device or any connected
998         storage device without user confirmation. Applications must already be granted the
999         {@link #READ_EXTERNAL_STORAGE} or {@link #MANAGE_EXTERNAL_STORAGE}} permissions for this
1000         permission to take effect.
1001         <p>Even if applications are granted this permission, if applications want to modify or
1002         delete media files, they also must get the access by calling
1003         {@link android.provider.MediaStore#createWriteRequest(ContentResolver, Collection)},
1004         {@link android.provider.MediaStore#createDeleteRequest(ContentResolver, Collection)}, or
1005         {@link android.provider.MediaStore#createTrashRequest(ContentResolver, Collection, boolean)}.
1006         <p>This permission doesn't give read or write access directly. It only prevents the user
1007         confirmation dialog for these requests.
1008         <p>If applications are not granted {@link #ACCESS_MEDIA_LOCATION}, the system also pops up
1009         the user confirmation dialog for the write request.
1010         <p>Protection level: signature|appop|preinstalled -->
1011    <permission android:name="android.permission.MANAGE_MEDIA"
1012        android:protectionLevel="signature|appop|preinstalled" />
1013
1014    <!-- ====================================================================== -->
1015    <!-- Permissions for accessing the device location                          -->
1016    <!-- ====================================================================== -->
1017    <eat-comment />
1018
1019    <!-- Used for permissions that allow accessing the device location. -->
1020    <permission-group android:name="android.permission-group.LOCATION"
1021        android:icon="@drawable/perm_group_location"
1022        android:label="@string/permgrouplab_location"
1023        android:description="@string/permgroupdesc_location"
1024        android:priority="400" />
1025
1026    <!-- Allows an app to access precise location.
1027         Alternatively, you might want {@link #ACCESS_COARSE_LOCATION}.
1028         <p>Protection level: dangerous
1029    -->
1030    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
1031        android:permissionGroup="android.permission-group.UNDEFINED"
1032        android:label="@string/permlab_accessFineLocation"
1033        android:description="@string/permdesc_accessFineLocation"
1034        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
1035        android:protectionLevel="dangerous|instant" />
1036
1037    <!-- Allows an app to access approximate location.
1038         Alternatively, you might want {@link #ACCESS_FINE_LOCATION}.
1039         <p>Protection level: dangerous
1040    -->
1041    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
1042        android:permissionGroup="android.permission-group.UNDEFINED"
1043        android:label="@string/permlab_accessCoarseLocation"
1044        android:description="@string/permdesc_accessCoarseLocation"
1045        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
1046        android:protectionLevel="dangerous|instant" />
1047
1048    <!-- Allows an app to access location in the background. If you're requesting this permission,
1049         you must also request either {@link #ACCESS_COARSE_LOCATION} or
1050         {@link #ACCESS_FINE_LOCATION}. Requesting this permission by itself doesn't give you
1051         location access.
1052         <p>Protection level: dangerous
1053
1054         <p> This is a hard restricted permission which cannot be held by an app until
1055         the installer on record whitelists the permission. For more details see
1056         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1057    -->
1058    <permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"
1059        android:permissionGroup="android.permission-group.UNDEFINED"
1060        android:label="@string/permlab_accessBackgroundLocation"
1061        android:permissionFlags="hardRestricted"
1062        android:description="@string/permdesc_accessBackgroundLocation"
1063        android:protectionLevel="dangerous|instant" />
1064
1065    <!-- ====================================================================== -->
1066    <!-- Permissions for accessing the call log                                 -->
1067    <!-- ====================================================================== -->
1068    <eat-comment />
1069
1070    <!-- Used for permissions that are associated telephony features. -->
1071    <permission-group android:name="android.permission-group.CALL_LOG"
1072        android:icon="@drawable/perm_group_call_log"
1073        android:label="@string/permgrouplab_calllog"
1074        android:description="@string/permgroupdesc_calllog"
1075        android:priority="450" />
1076
1077    <!-- Allows an application to access the IMS call service: making and
1078         modifying a call
1079        <p>Protection level: signature|privileged
1080        @hide
1081    -->
1082    <permission android:name="android.permission.ACCESS_IMS_CALL_SERVICE"
1083        android:label="@string/permlab_accessImsCallService"
1084        android:description="@string/permdesc_accessImsCallService"
1085        android:protectionLevel="signature|privileged" />
1086
1087    <!-- @SystemApi @hide Allows an application to perform IMS Single Registration related actions.
1088         Only granted if the application is a system app AND is in the Default SMS Role.
1089         The permission is revoked when the app is taken out of the Default SMS Role.
1090        <p>Protection level: internal|role
1091    -->
1092    <permission android:name="android.permission.PERFORM_IMS_SINGLE_REGISTRATION"
1093        android:protectionLevel="internal|role" />
1094
1095    <!-- Allows an application to read the user's call log.
1096         <p class="note"><strong>Note:</strong> If your app uses the
1097         {@link #READ_CONTACTS} permission and <em>both</em> your <a
1098         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1099         minSdkVersion}</a> and <a
1100         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1101         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1102         grants your app this permission. If you don't need this permission, be sure your <a
1103         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1104         targetSdkVersion}</a> is 16 or higher.</p>
1105         <p>Protection level: dangerous
1106
1107         <p> This is a hard restricted permission which cannot be held by an app until
1108         the installer on record whitelists the permission. For more details see
1109         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1110    -->
1111    <permission android:name="android.permission.READ_CALL_LOG"
1112        android:permissionGroup="android.permission-group.UNDEFINED"
1113        android:label="@string/permlab_readCallLog"
1114        android:description="@string/permdesc_readCallLog"
1115        android:permissionFlags="hardRestricted"
1116        android:protectionLevel="dangerous" />
1117
1118    <!-- Allows an application to write (but not read) the user's
1119         call log data.
1120         <p class="note"><strong>Note:</strong> If your app uses the
1121         {@link #WRITE_CONTACTS} permission and <em>both</em> your <a
1122         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1123         minSdkVersion}</a> and <a
1124         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1125         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1126         grants your app this permission. If you don't need this permission, be sure your <a
1127         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1128         targetSdkVersion}</a> is 16 or higher.</p>
1129         <p>Protection level: dangerous
1130
1131         <p> This is a hard restricted permission which cannot be held by an app until
1132         the installer on record whitelists the permission. For more details see
1133         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1134    -->
1135    <permission android:name="android.permission.WRITE_CALL_LOG"
1136        android:permissionGroup="android.permission-group.UNDEFINED"
1137        android:label="@string/permlab_writeCallLog"
1138        android:description="@string/permdesc_writeCallLog"
1139        android:permissionFlags="hardRestricted"
1140        android:protectionLevel="dangerous" />
1141
1142    <!-- Allows an application to see the number being dialed during an outgoing
1143         call with the option to redirect the call to a different number or
1144         abort the call altogether.
1145         <p>Protection level: dangerous
1146
1147         <p> This is a hard restricted permission which cannot be held by an app until
1148         the installer on record whitelists the permission. For more details see
1149         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1150
1151         @deprecated Applications should use {@link android.telecom.CallRedirectionService} instead
1152         of the {@link android.content.Intent#ACTION_NEW_OUTGOING_CALL} broadcast.
1153    -->
1154    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
1155        android:permissionGroup="android.permission-group.UNDEFINED"
1156        android:label="@string/permlab_processOutgoingCalls"
1157        android:description="@string/permdesc_processOutgoingCalls"
1158        android:permissionFlags="hardRestricted"
1159        android:protectionLevel="dangerous" />
1160
1161    <!-- ====================================================================== -->
1162    <!-- Permissions for accessing the device telephony                         -->
1163    <!-- ====================================================================== -->
1164    <eat-comment />
1165
1166    <!-- Used for permissions that are associated telephony features. -->
1167    <permission-group android:name="android.permission-group.PHONE"
1168        android:icon="@drawable/perm_group_phone_calls"
1169        android:label="@string/permgrouplab_phone"
1170        android:description="@string/permgroupdesc_phone"
1171        android:priority="500" />
1172
1173    <!-- Allows read only access to phone state, including the current cellular network information,
1174         the status of any ongoing calls, and a list of any {@link android.telecom.PhoneAccount}s
1175         registered on the device.
1176         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1177         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1178         minSdkVersion}</a> and <a
1179         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1180         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1181         grants your app this permission. If you don't need this permission, be sure your <a
1182         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1183         targetSdkVersion}</a> is 4 or higher.
1184         <p>Protection level: dangerous
1185    -->
1186    <permission android:name="android.permission.READ_PHONE_STATE"
1187        android:permissionGroup="android.permission-group.UNDEFINED"
1188        android:label="@string/permlab_readPhoneState"
1189        android:description="@string/permdesc_readPhoneState"
1190        android:protectionLevel="dangerous" />
1191
1192    <!-- Allows read access to the device's phone number(s). This is a subset of the capabilities
1193         granted by {@link #READ_PHONE_STATE} but is exposed to instant applications.
1194         <p>Protection level: dangerous-->
1195    <permission android:name="android.permission.READ_PHONE_NUMBERS"
1196        android:permissionGroup="android.permission-group.UNDEFINED"
1197        android:label="@string/permlab_readPhoneNumbers"
1198        android:description="@string/permdesc_readPhoneNumbers"
1199        android:protectionLevel="dangerous|instant" />
1200
1201    <!-- Allows an application to initiate a phone call without going through
1202        the Dialer user interface for the user to confirm the call.
1203        <p>Protection level: dangerous
1204    -->
1205    <permission android:name="android.permission.CALL_PHONE"
1206        android:permissionGroup="android.permission-group.UNDEFINED"
1207        android:permissionFlags="costsMoney"
1208        android:label="@string/permlab_callPhone"
1209        android:description="@string/permdesc_callPhone"
1210        android:protectionLevel="dangerous" />
1211
1212    <!-- Allows an application to add voicemails into the system.
1213         <p>Protection level: dangerous
1214    -->
1215    <permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
1216        android:permissionGroup="android.permission-group.UNDEFINED"
1217        android:label="@string/permlab_addVoicemail"
1218        android:description="@string/permdesc_addVoicemail"
1219        android:protectionLevel="dangerous" />
1220
1221    <!-- Allows an application to use SIP service.
1222         <p>Protection level: dangerous
1223    -->
1224    <permission android:name="android.permission.USE_SIP"
1225        android:permissionGroup="android.permission-group.UNDEFINED"
1226        android:description="@string/permdesc_use_sip"
1227        android:label="@string/permlab_use_sip"
1228        android:protectionLevel="dangerous"/>
1229
1230    <!-- Allows the app to answer an incoming phone call.
1231         <p>Protection level: dangerous
1232    -->
1233    <permission android:name="android.permission.ANSWER_PHONE_CALLS"
1234        android:permissionGroup="android.permission-group.UNDEFINED"
1235        android:label="@string/permlab_answerPhoneCalls"
1236        android:description="@string/permdesc_answerPhoneCalls"
1237        android:protectionLevel="dangerous|runtime" />
1238
1239    <!-- Allows a calling application which manages its own calls through the self-managed
1240         {@link android.telecom.ConnectionService} APIs.  See
1241         {@link android.telecom.PhoneAccount#CAPABILITY_SELF_MANAGED} for more information on the
1242         self-managed ConnectionService APIs.
1243         <p>Protection level: normal
1244    -->
1245    <permission android:name="android.permission.MANAGE_OWN_CALLS"
1246                android:label="@string/permlab_manageOwnCalls"
1247                android:description="@string/permdesc_manageOwnCalls"
1248                android:protectionLevel="normal" />
1249
1250    <!--Allows an app which implements the
1251        {@link android.telecom.InCallService InCallService} API to be eligible to be enabled as a
1252        calling companion app. This means that the Telecom framework will bind to the app's
1253        InCallService implementation when there are calls active. The app can use the InCallService
1254        API to view information about calls on the system and control these calls.
1255        <p>Protection level: normal
1256    -->
1257    <permission android:name="android.permission.CALL_COMPANION_APP"
1258                android:label="@string/permlab_callCompanionApp"
1259                android:description="@string/permdesc_callCompanionApp"
1260                android:protectionLevel="normal" />
1261
1262    <!-- Exempt this uid from restrictions to background audio recoding
1263     <p>Protection level: signature|privileged
1264     @hide
1265     @SystemApi
1266    -->
1267    <permission android:name="android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS"
1268                android:label="@string/permlab_exemptFromAudioRecordRestrictions"
1269                android:description="@string/permdesc_exemptFromAudioRecordRestrictions"
1270                android:protectionLevel="signature|privileged|role" />
1271
1272    <!-- Allows a calling app to continue a call which was started in another app.  An example is a
1273         video calling app that wants to continue a voice call on the user's mobile network.<p>
1274         When the handover of a call from one app to another takes place, there are two devices
1275         which are involved in the handover; the initiating and receiving devices.  The initiating
1276         device is where the request to handover the call was started, and the receiving device is
1277         where the handover request is confirmed by the other party.<p>
1278         This permission protects access to the
1279         {@link android.telecom.TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)} which
1280         the receiving side of the handover uses to accept a handover.
1281         <p>Protection level: dangerous
1282    -->
1283    <permission android:name="android.permission.ACCEPT_HANDOVER"
1284                android:permissionGroup="android.permission-group.UNDEFINED"
1285                android.label="@string/permlab_acceptHandover"
1286                android:description="@string/permdesc_acceptHandovers"
1287                android:protectionLevel="dangerous" />
1288
1289    <!-- ====================================================================== -->
1290    <!-- Permissions for accessing the device microphone                        -->
1291    <!-- ====================================================================== -->
1292    <eat-comment />
1293
1294    <!-- Used for permissions that are associated with accessing
1295         microphone audio from the device. Note that phone calls also capture audio
1296         but are in a separate (more visible) permission group. -->
1297    <permission-group android:name="android.permission-group.MICROPHONE"
1298        android:icon="@drawable/perm_group_microphone"
1299        android:label="@string/permgrouplab_microphone"
1300        android:description="@string/permgroupdesc_microphone"
1301        android:priority="600" />
1302
1303    <!-- Allows an application to record audio.
1304         <p>Protection level: dangerous
1305    -->
1306    <permission android:name="android.permission.RECORD_AUDIO"
1307        android:permissionGroup="android.permission-group.UNDEFINED"
1308        android:label="@string/permlab_recordAudio"
1309        android:description="@string/permdesc_recordAudio"
1310        android:backgroundPermission="android.permission.RECORD_BACKGROUND_AUDIO"
1311        android:protectionLevel="dangerous|instant" />
1312
1313    <!-- @SystemApi @TestApi Allows an application to record audio while in the background.
1314         This permission is not intended to be held by apps.
1315         <p>Protection level: internal
1316        @hide -->
1317    <permission android:name="android.permission.RECORD_BACKGROUND_AUDIO"
1318        android:permissionGroup="android.permission-group.UNDEFINED"
1319        android:label="@string/permlab_recordBackgroundAudio"
1320        android:description="@string/permdesc_recordBackgroundAudio"
1321        android:protectionLevel="internal|role" />
1322
1323    <!-- ====================================================================== -->
1324    <!-- Permissions for activity recognition                        -->
1325    <!-- ====================================================================== -->
1326    <eat-comment />
1327
1328    <!-- Used for permissions that are associated with activity recognition. -->
1329    <permission-group android:name="android.permission-group.ACTIVITY_RECOGNITION"
1330        android:icon="@drawable/perm_group_activity_recognition"
1331        android:label="@string/permgrouplab_activityRecognition"
1332        android:description="@string/permgroupdesc_activityRecognition"
1333        android:priority="1000" />
1334
1335    <!-- Allows an application to recognize physical activity.
1336         <p>Protection level: dangerous
1337    -->
1338    <permission android:name="android.permission.ACTIVITY_RECOGNITION"
1339        android:permissionGroup="android.permission-group.UNDEFINED"
1340        android:label="@string/permlab_activityRecognition"
1341        android:description="@string/permdesc_activityRecognition"
1342        android:protectionLevel="dangerous|instant" />
1343
1344    <!-- ====================================================================== -->
1345    <!-- Permissions for accessing the vendor UCE Service                              -->
1346    <!-- ====================================================================== -->
1347
1348    <!-- @hide Allows an application to Access UCE-Presence.
1349         <p>Protection level: signature|privileged
1350         @deprecated Framework should no longer use this permission to access the vendor UCE service
1351         using AIDL, it is instead implemented by RcsCapabilityExchangeImplBase
1352    -->
1353    <permission android:name="android.permission.ACCESS_UCE_PRESENCE_SERVICE"
1354        android:permissionGroup="android.permission-group.PHONE"
1355        android:protectionLevel="signature|privileged"/>
1356
1357    <!-- @hide Allows an application to Access UCE-OPTIONS.
1358         <p>Protection level: signature|privileged
1359         @deprecated Framework should no longer use this permission to access the vendor UCE service
1360         using AIDL, it is instead implemented by RcsCapabilityExchangeImplBase
1361    -->
1362    <permission android:name="android.permission.ACCESS_UCE_OPTIONS_SERVICE"
1363        android:permissionGroup="android.permission-group.PHONE"
1364        android:protectionLevel="signature|privileged"/>
1365
1366
1367
1368    <!-- ====================================================================== -->
1369    <!-- Permissions for accessing the device camera                            -->
1370    <!-- ====================================================================== -->
1371    <eat-comment />
1372
1373    <!-- Used for permissions that are associated with accessing
1374     camera or capturing images/video from the device. -->
1375    <permission-group android:name="android.permission-group.CAMERA"
1376        android:icon="@drawable/perm_group_camera"
1377        android:label="@string/permgrouplab_camera"
1378        android:description="@string/permgroupdesc_camera"
1379        android:priority="700" />
1380
1381    <!-- Required to be able to access the camera device.
1382         <p>This will automatically enforce the
1383         <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">
1384         uses-feature</a> manifest element for <em>all</em> camera features.
1385         If you do not require all camera features or can properly operate if a camera
1386         is not available, then you must modify your manifest as appropriate in order to
1387         install on devices that don't support all camera features.</p>
1388         <p>Protection level: dangerous
1389    -->
1390    <permission android:name="android.permission.CAMERA"
1391        android:permissionGroup="android.permission-group.UNDEFINED"
1392        android:label="@string/permlab_camera"
1393        android:description="@string/permdesc_camera"
1394        android:backgroundPermission="android.permission.BACKGROUND_CAMERA"
1395        android:protectionLevel="dangerous|instant" />
1396
1397    <!-- Required to be able to discover and connect to nearby Bluetooth devices.
1398         <p>Protection level: dangerous -->
1399    <permission-group android:name="android.permission-group.NEARBY_DEVICES"
1400        android:icon="@drawable/perm_group_nearby_devices"
1401        android:label="@string/permgrouplab_nearby_devices"
1402        android:description="@string/permgroupdesc_nearby_devices"
1403        android:priority="750" />
1404
1405    <!-- @SystemApi @TestApi Required to be able to access the camera device in the background.
1406         This permission is not intended to be held by apps.
1407         <p>Protection level: internal
1408        @hide -->
1409    <permission android:name="android.permission.BACKGROUND_CAMERA"
1410            android:permissionGroup="android.permission-group.UNDEFINED"
1411            android:label="@string/permlab_backgroundCamera"
1412            android:description="@string/permdesc_backgroundCamera"
1413            android:protectionLevel="internal|role" />
1414
1415    <!-- @SystemApi Required in addition to android.permission.CAMERA to be able to access
1416           system only camera devices.
1417           <p>Protection level: system|signature|role
1418           @hide -->
1419    <permission android:name="android.permission.SYSTEM_CAMERA"
1420        android:permissionGroup="android.permission-group.UNDEFINED"
1421        android:label="@string/permlab_systemCamera"
1422        android:description="@string/permdesc_systemCamera"
1423        android:protectionLevel="system|signature|role" />
1424
1425    <!-- @SystemApi Allows receiving the camera service notifications when a camera is opened
1426            (by a certain application package) or closed.
1427        @hide -->
1428    <permission android:name="android.permission.CAMERA_OPEN_CLOSE_LISTENER"
1429        android:permissionGroup="android.permission-group.UNDEFINED"
1430        android:label="@string/permlab_cameraOpenCloseListener"
1431        android:description="@string/permdesc_cameraOpenCloseListener"
1432        android:protectionLevel="signature" />
1433
1434    <!-- ====================================================================== -->
1435    <!-- Permissions for accessing the device sensors                           -->
1436    <!-- ====================================================================== -->
1437    <eat-comment />
1438
1439    <!-- Used for permissions that are associated with accessing
1440         body or environmental sensors. -->
1441    <permission-group android:name="android.permission-group.SENSORS"
1442        android:icon="@drawable/perm_group_sensors"
1443        android:label="@string/permgrouplab_sensors"
1444        android:description="@string/permgroupdesc_sensors"
1445        android:priority="800" />
1446
1447    <!-- Allows an app to access sensor data with a sampling rate greater than 200 Hz.
1448        <p>Protection level: normal
1449    -->
1450    <permission android:name="android.permission.HIGH_SAMPLING_RATE_SENSORS"
1451                android:permissionGroup="android.permission-group.SENSORS"
1452                android:label="@string/permlab_highSamplingRateSensors"
1453                android:description="@string/permdesc_highSamplingRateSensors"
1454                android:protectionLevel="normal" />
1455
1456    <!-- Allows an application to access data from sensors that the user uses to
1457         measure what is happening inside their body, such as heart rate.
1458         <p>Protection level: dangerous -->
1459    <permission android:name="android.permission.BODY_SENSORS"
1460        android:permissionGroup="android.permission-group.UNDEFINED"
1461        android:label="@string/permlab_bodySensors"
1462        android:description="@string/permdesc_bodySensors"
1463        android:protectionLevel="dangerous" />
1464
1465    <!-- Allows an app to use fingerprint hardware.
1466         <p>Protection level: normal
1467         @deprecated Applications should request {@link
1468         android.Manifest.permission#USE_BIOMETRIC} instead
1469    -->
1470    <permission android:name="android.permission.USE_FINGERPRINT"
1471        android:permissionGroup="android.permission-group.SENSORS"
1472        android:label="@string/permlab_useFingerprint"
1473        android:description="@string/permdesc_useFingerprint"
1474        android:protectionLevel="normal" />
1475
1476    <!-- Allows an app to use device supported biometric modalities.
1477         <p>Protection level: normal
1478    -->
1479    <permission android:name="android.permission.USE_BIOMETRIC"
1480        android:permissionGroup="android.permission-group.SENSORS"
1481        android:label="@string/permlab_useBiometric"
1482        android:description="@string/permdesc_useBiometric"
1483        android:protectionLevel="normal" />
1484
1485    <!-- ====================================================================== -->
1486    <!-- REMOVED PERMISSIONS                                                    -->
1487    <!-- ====================================================================== -->
1488
1489    <!-- @hide We need to keep this around for backwards compatibility -->
1490    <permission android:name="android.permission.READ_PROFILE"
1491        android:protectionLevel="normal"
1492        android:permissionFlags="removed"/>
1493
1494    <!-- @hide We need to keep this around for backwards compatibility -->
1495    <permission android:name="android.permission.WRITE_PROFILE"
1496        android:protectionLevel="normal"
1497        android:permissionFlags="removed"/>
1498
1499    <!-- @hide We need to keep this around for backwards compatibility -->
1500    <permission android:name="android.permission.READ_SOCIAL_STREAM"
1501        android:protectionLevel="normal"
1502        android:permissionFlags="removed"/>
1503
1504    <!-- @hide We need to keep this around for backwards compatibility -->
1505    <permission android:name="android.permission.WRITE_SOCIAL_STREAM"
1506        android:protectionLevel="normal"
1507        android:permissionFlags="removed"/>
1508
1509    <!-- @hide We need to keep this around for backwards compatibility -->
1510    <permission android:name="android.permission.READ_USER_DICTIONARY"
1511        android:protectionLevel="normal"
1512        android:permissionFlags="removed"/>
1513
1514    <!-- @hide We need to keep this around for backwards compatibility -->
1515    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
1516        android:protectionLevel="normal"
1517        android:permissionFlags="removed"/>
1518
1519    <!-- @hide We need to keep this around for backwards compatibility -->
1520    <permission android:name="android.permission.WRITE_SMS"
1521        android:protectionLevel="normal"
1522        android:permissionFlags="removed"/>
1523
1524    <!-- @hide We need to keep this around for backwards compatibility -->
1525    <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
1526        android:protectionLevel="normal"
1527        android:permissionFlags="removed"/>
1528
1529    <!-- @hide We need to keep this around for backwards compatibility -->
1530    <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
1531        android:protectionLevel="normal"
1532        android:permissionFlags="removed"/>
1533
1534    <!-- @hide We need to keep this around for backwards compatibility -->
1535    <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"
1536        android:protectionLevel="normal"
1537        android:permissionFlags="removed"/>
1538
1539    <!-- @hide We need to keep this around for backwards compatibility -->
1540    <permission android:name="android.permission.MANAGE_ACCOUNTS"
1541        android:protectionLevel="normal"
1542        android:permissionFlags="removed"/>
1543
1544    <!-- @hide We need to keep this around for backwards compatibility -->
1545    <permission android:name="android.permission.USE_CREDENTIALS"
1546        android:protectionLevel="normal"
1547        android:permissionFlags="removed"/>
1548
1549    <!-- @hide We need to keep this around for backwards compatibility -->
1550    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
1551        android:protectionLevel="normal"
1552        android:permissionFlags="removed"/>
1553
1554    <!-- @hide We need to keep this around for backwards compatibility -->
1555    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
1556        android:protectionLevel="normal"
1557        android:permissionFlags="removed"/>
1558
1559    <!-- @hide We need to keep this around for backwards compatibility -->
1560    <permission android:name="android.permission.FLASHLIGHT"
1561        android:protectionLevel="normal"
1562        android:permissionFlags="removed"/>
1563
1564    <!-- ====================================================================== -->
1565    <!-- INSTALL PERMISSIONS                                                    -->
1566    <!-- ====================================================================== -->
1567
1568    <!-- ================================== -->
1569    <!-- Permissions for accessing messages -->
1570    <!-- ================================== -->
1571    <eat-comment />
1572
1573    <!-- Allows an application (Phone) to send a request to other applications
1574         to handle the respond-via-message action during incoming calls.
1575         <p>Not for use by third-party applications. -->
1576    <permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE"
1577        android:protectionLevel="signature|privileged" />
1578
1579    <!-- @SystemApi Allows an application to send SMS to premium shortcodes without user permission.
1580         <p>Not for use by third-party applications.
1581         @hide -->
1582    <permission android:name="android.permission.SEND_SMS_NO_CONFIRMATION"
1583        android:protectionLevel="signature|privileged" />
1584
1585    <!-- Allows an application to filter carrier specific sms.
1586         @hide -->
1587    <permission android:name="android.permission.CARRIER_FILTER_SMS"
1588        android:protectionLevel="signature|privileged" />
1589
1590    <!-- @SystemApi Allows an application to receive emergency cell broadcast messages,
1591         to record or display them to the user.
1592         <p>Not for use by third-party applications.
1593         @hide -->
1594    <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"
1595        android:protectionLevel="signature|privileged" />
1596
1597    <!-- Allows an application to monitor incoming Bluetooth MAP messages, to record
1598         or perform processing on them. -->
1599    <!-- @hide -->
1600    <permission android:name="android.permission.RECEIVE_BLUETOOTH_MAP"
1601        android:protectionLevel="signature|privileged" />
1602
1603    <!-- @SystemApi @hide Allows an application to execute contacts directory search.
1604         This should only be used by ContactsProvider.
1605         <p>Not for use by third-party applications. -->
1606    <permission android:name="android.permission.BIND_DIRECTORY_SEARCH"
1607        android:protectionLevel="signature|privileged" />
1608
1609    <!-- @SystemApi @hide Allows an application to modify the cell broadcasts configuration
1610         (i.e. enable or disable channels).
1611         <p>Not for use by third-party applications. -->
1612    <permission android:name="android.permission.MODIFY_CELL_BROADCASTS"
1613                android:protectionLevel="signature|privileged" />
1614
1615    <!-- =============================================================== -->
1616    <!-- Permissions for setting the device alarm                        -->
1617    <!-- =============================================================== -->
1618    <eat-comment />
1619
1620    <!-- Allows an application to broadcast an Intent to set an alarm for the user.
1621         <p>Protection level: normal
1622    -->
1623    <permission android:name="com.android.alarm.permission.SET_ALARM"
1624        android:label="@string/permlab_setAlarm"
1625        android:description="@string/permdesc_setAlarm"
1626        android:protectionLevel="normal" />
1627
1628    <!-- =============================================================== -->
1629    <!-- Permissions for accessing the user voicemail                    -->
1630    <!-- =============================================================== -->
1631    <eat-comment />
1632
1633    <!-- Allows an application to modify and remove existing voicemails in the system.
1634        <p>Protection level: signature|privileged|role
1635    -->
1636    <permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"
1637        android:protectionLevel="signature|privileged|role" />
1638
1639    <!-- Allows an application to read voicemails in the system.
1640         <p>Protection level: signature|privileged|role
1641    -->
1642    <permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"
1643        android:protectionLevel="signature|privileged|role" />
1644
1645    <!-- ======================================= -->
1646    <!-- Permissions for accessing location info -->
1647    <!-- ======================================= -->
1648    <eat-comment />
1649
1650    <!-- Allows an application to access extra location provider commands.
1651         <p>Protection level: normal
1652    -->
1653    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
1654        android:label="@string/permlab_accessLocationExtraCommands"
1655        android:description="@string/permdesc_accessLocationExtraCommands"
1656        android:protectionLevel="normal" />
1657
1658    <!-- Allows an application to install a location provider into the Location Manager.
1659    <p>Not for use by third-party applications. -->
1660    <permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"
1661        android:protectionLevel="signature|privileged" />
1662
1663    <!-- @SystemApi @hide Allows an application to provide location-based time zone suggestions to
1664         the system server. This is needed because the system server discovers time zone providers
1665         by exposed intent actions and metadata, without it any app could potentially register
1666         itself as time zone provider. The system server checks for this permission.
1667         <p>Not for use by third-party applications.
1668    -->
1669    <permission android:name="android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE"
1670        android:protectionLevel="signature|privileged" />
1671
1672    <!-- @SystemApi @hide Allows an application to bind to a android.service.TimeZoneProviderService
1673         for the purpose of detecting the device's time zone. This prevents arbitrary clients
1674         connecting to the time zone provider service. The system server checks that the provider's
1675         intent service explicitly sets this permission via the android:permission attribute of the
1676         service.
1677         This is only expected to be possessed by the system server outside of tests.
1678         <p>Not for use by third-party applications.
1679    -->
1680    <permission android:name="android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE"
1681        android:protectionLevel="signature" />
1682
1683    <!-- @SystemApi @hide Allows HDMI-CEC service to access device and configuration files.
1684         This should only be used by HDMI-CEC service.
1685    -->
1686    <permission android:name="android.permission.HDMI_CEC"
1687        android:protectionLevel="signature|privileged|vendorPrivileged" />
1688
1689    <!-- Allows an application to use location features in hardware,
1690         such as the geofencing api.
1691         <p>Not for use by third-party applications. -->
1692    <permission android:name="android.permission.LOCATION_HARDWARE"
1693        android:protectionLevel="signature|privileged|role" />
1694    <uses-permission android:name="android.permission.LOCATION_HARDWARE"/>
1695
1696    <!-- @SystemApi Allows an application to use the Context Hub.
1697         <p>Not for use by third-party applications.
1698         @hide
1699    -->
1700    <permission android:name="android.permission.ACCESS_CONTEXT_HUB"
1701        android:protectionLevel="signature|privileged" />
1702    <uses-permission android:name="android.permission.ACCESS_CONTEXT_HUB"/>
1703
1704    <!-- @SystemApi Allows an application to create mock location providers for testing.
1705         <p>Protection level: signature
1706         @hide
1707    -->
1708    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
1709        android:protectionLevel="signature" />
1710
1711    <!-- ======================================= -->
1712    <!-- Permissions for accessing networks -->
1713    <!-- ======================================= -->
1714    <eat-comment />
1715
1716    <!-- Allows applications to open network sockets.
1717         <p>Protection level: normal
1718    -->
1719    <permission android:name="android.permission.INTERNET"
1720        android:description="@string/permdesc_createNetworkSockets"
1721        android:label="@string/permlab_createNetworkSockets"
1722        android:protectionLevel="normal|instant" />
1723
1724    <!-- Allows applications to access information about networks.
1725         <p>Protection level: normal
1726    -->
1727    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
1728        android:description="@string/permdesc_accessNetworkState"
1729        android:label="@string/permlab_accessNetworkState"
1730        android:protectionLevel="normal|instant" />
1731
1732    <!-- Allows applications to access information about Wi-Fi networks.
1733         <p>Protection level: normal
1734    -->
1735    <permission android:name="android.permission.ACCESS_WIFI_STATE"
1736        android:description="@string/permdesc_accessWifiState"
1737        android:label="@string/permlab_accessWifiState"
1738        android:protectionLevel="normal" />
1739
1740    <!-- Allows applications to change Wi-Fi connectivity state.
1741         <p>Protection level: normal
1742    -->
1743    <permission android:name="android.permission.CHANGE_WIFI_STATE"
1744        android:description="@string/permdesc_changeWifiState"
1745        android:label="@string/permlab_changeWifiState"
1746        android:protectionLevel="normal" />
1747
1748    <!-- @SystemApi @hide Allows apps to create and manage IPsec tunnels.
1749         <p>Only granted to applications that are currently bound by the
1750         system for creating and managing IPsec-based interfaces.
1751    -->
1752    <permission android:name="android.permission.MANAGE_IPSEC_TUNNELS"
1753        android:protectionLevel="signature|appop" />
1754
1755    <!-- @SystemApi @hide Allows apps to create and manage Test Networks.
1756         <p>Granted only to shell. CTS tests will use
1757         UiAutomation.AdoptShellPermissionIdentity() to gain access.
1758    -->
1759    <permission android:name="android.permission.MANAGE_TEST_NETWORKS"
1760        android:protectionLevel="signature" />
1761
1762    <!-- @SystemApi @hide Allows applications to read Wi-Fi credential.
1763         <p>Not for use by third-party applications. -->
1764    <permission android:name="android.permission.READ_WIFI_CREDENTIAL"
1765        android:protectionLevel="signature|privileged" />
1766
1767    <!-- @SystemApi @hide Allows applications to change tether state and run
1768         tether carrier provisioning.
1769         <p>Not for use by third-party applications. -->
1770    <permission android:name="android.permission.TETHER_PRIVILEGED"
1771        android:protectionLevel="signature|privileged" />
1772
1773    <!-- @SystemApi @hide Allow system apps to receive broadcast
1774         when a wifi network credential is changed.
1775         <p>Not for use by third-party applications. -->
1776    <permission android:name="android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE"
1777        android:protectionLevel="signature|privileged" />
1778
1779    <!-- @SystemApi @hide Allows an application to modify any wifi configuration, even if created
1780     by another application. Once reconfigured the original creator cannot make any further
1781     modifications.
1782     <p>Not for use by third-party applications. -->
1783    <permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"
1784        android:protectionLevel="signature|privileged" />
1785
1786    <!-- Allows applications to act as network scorers. @hide @SystemApi-->
1787    <permission android:name="android.permission.SCORE_NETWORKS"
1788        android:protectionLevel="signature|privileged" />
1789
1790    <!-- Allows applications to request network
1791         recommendations and scores from the NetworkScoreService.
1792         @SystemApi
1793         <p>Not for use by third-party applications. @hide -->
1794    <permission android:name="android.permission.REQUEST_NETWORK_SCORES"
1795        android:protectionLevel="signature|setup" />
1796
1797    <!-- Allows applications to restart the Wi-Fi subsystem.
1798     @SystemApi
1799     <p>Not for use by third-party applications. @hide -->
1800    <permission android:name="android.permission.RESTART_WIFI_SUBSYSTEM"
1801                android:protectionLevel="signature|privileged" />
1802
1803    <!-- @SystemApi @hide Allows applications to toggle airplane mode.
1804         <p>Not for use by third-party or privileged applications.
1805    -->
1806    <permission android:name="android.permission.NETWORK_AIRPLANE_MODE"
1807        android:protectionLevel="signature" />
1808
1809    <!-- Allows network stack services (Connectivity and Wifi) to coordinate
1810         <p>Not for use by third-party or privileged applications.
1811         @SystemApi @TestApi
1812         @hide This should only be used by Connectivity and Wifi Services.
1813    -->
1814    <permission android:name="android.permission.NETWORK_STACK"
1815        android:protectionLevel="signature" />
1816
1817    <!-- @SystemApi @hide Allows an application to observe network policy changes. -->
1818    <permission android:name="android.permission.OBSERVE_NETWORK_POLICY"
1819                android:protectionLevel="signature" />
1820
1821    <!-- @SystemApi @hide Allows applications to register network factory or agent -->
1822    <permission android:name="android.permission.NETWORK_FACTORY"
1823                android:protectionLevel="signature" />
1824
1825    <!-- @SystemApi @hide Allows applications to access network stats provider -->
1826    <permission android:name="android.permission.NETWORK_STATS_PROVIDER"
1827                android:protectionLevel="signature" />
1828
1829    <!-- Allows Settings and SystemUI to call methods in Networking services
1830         <p>Not for use by third-party or privileged applications.
1831         @SystemApi @TestApi
1832         @hide This should only be used by Settings and SystemUI.
1833    -->
1834    <permission android:name="android.permission.NETWORK_SETTINGS"
1835        android:protectionLevel="signature" />
1836
1837    <!-- Allows holder to request bluetooth/wifi scan bypassing global "use location" setting and
1838         location permissions.
1839         <p>Not for use by third-party or privileged applications.
1840         @SystemApi
1841         @hide
1842    -->
1843    <permission android:name="android.permission.RADIO_SCAN_WITHOUT_LOCATION"
1844                android:protectionLevel="signature|companion" />
1845
1846    <!-- Allows SetupWizard to call methods in Networking services
1847         <p>Not for use by any other third-party or privileged applications.
1848         @SystemApi
1849         @hide This should only be used by SetupWizard.
1850    -->
1851    <permission android:name="android.permission.NETWORK_SETUP_WIZARD"
1852        android:protectionLevel="signature|setup" />
1853
1854    <!-- Allows Managed Provisioning to call methods in Networking services
1855         <p>Not for use by any other third-party or privileged applications.
1856         @SystemApi
1857         @hide This should only be used by ManagedProvisioning app.
1858    -->
1859    <permission android:name="android.permission.NETWORK_MANAGED_PROVISIONING"
1860        android:protectionLevel="signature" />
1861
1862    <!-- Allows Carrier Provisioning to call methods in Networking services
1863         <p>Not for use by any other third-party or privileged applications.
1864         @SystemApi
1865         @hide This should only be used by CarrierProvisioning.
1866    -->
1867    <permission android:name="android.permission.NETWORK_CARRIER_PROVISIONING"
1868        android:protectionLevel="signature|privileged" />
1869
1870    <!-- #SystemApi @hide Allows applications to access information about LoWPAN interfaces.
1871         <p>Not for use by third-party applications. -->
1872    <permission android:name="android.permission.ACCESS_LOWPAN_STATE"
1873        android:protectionLevel="signature|privileged" />
1874
1875    <!-- #SystemApi @hide Allows applications to change LoWPAN connectivity state.
1876         <p>Not for use by third-party applications. -->
1877    <permission android:name="android.permission.CHANGE_LOWPAN_STATE"
1878        android:protectionLevel="signature|privileged" />
1879
1880    <!-- #SystemApi @hide Allows applications to read LoWPAN credential.
1881         <p>Not for use by third-party applications. -->
1882    <permission android:name="android.permission.READ_LOWPAN_CREDENTIAL"
1883        android:protectionLevel="signature|privileged" />
1884
1885    <!-- #SystemApi @hide Allows a service to register or unregister
1886         new LoWPAN interfaces.
1887         <p>Not for use by third-party applications. -->
1888    <permission android:name="android.permission.MANAGE_LOWPAN_INTERFACES"
1889        android:protectionLevel="signature|privileged" />
1890
1891    <!-- #SystemApi @hide Allows an app to bypass Private DNS.
1892         <p>Not for use by third-party applications.
1893         TODO: publish as system API in next API release. -->
1894    <permission android:name="android.permission.NETWORK_BYPASS_PRIVATE_DNS"
1895        android:protectionLevel="signature" />
1896
1897    <!-- @SystemApi @hide Allows device mobility state to be set so that Wifi scan interval can
1898         be increased when the device is stationary in order to save power.
1899         <p>Not for use by third-party applications. -->
1900    <permission android:name="android.permission.WIFI_SET_DEVICE_MOBILITY_STATE"
1901        android:protectionLevel="signature|privileged" />
1902
1903    <!-- @SystemApi @hide Allows privileged system APK to update Wifi usability stats and score.
1904         <p>Not for use by third-party applications. -->
1905    <permission android:name="android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE"
1906        android:protectionLevel="signature|privileged" />
1907
1908    <!-- @SystemApi @hide Allows applications to update Wifi/Cellular coex channels to avoid.
1909             <p>Not for use by third-party applications. -->
1910    <permission android:name="android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS"
1911        android:protectionLevel="signature|role" />
1912
1913    <!-- @SystemApi @hide Allows applications to access Wifi/Cellular coex channels being avoided.
1914         <p>Not for use by third-party applications. -->
1915    <permission android:name="android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS"
1916        android:protectionLevel="signature|role" />
1917
1918    <!-- @SystemApi @hide Allows system APK to manage country code.
1919             <p>Not for use by third-party applications. -->
1920    <permission android:name="android.permission.MANAGE_WIFI_COUNTRY_CODE"
1921        android:protectionLevel="signature" />
1922
1923    <!-- @SystemApi @hide Allows an application to manage an automotive device's application network
1924         preference as it relates to OEM_PAID and OEM_PRIVATE capable networks.
1925         <p>Not for use by third-party or privileged applications. -->
1926    <permission android:name="android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE"
1927        android:protectionLevel="signature" />
1928
1929    <!-- ======================================= -->
1930    <!-- Permissions for short range, peripheral networks -->
1931    <!-- ======================================= -->
1932    <eat-comment />
1933
1934    <!-- Allows applications to connect to paired bluetooth devices.
1935         <p>Protection level: normal
1936    -->
1937    <permission android:name="android.permission.BLUETOOTH"
1938        android:description="@string/permdesc_bluetooth"
1939        android:label="@string/permlab_bluetooth"
1940        android:protectionLevel="normal" />
1941
1942    <!-- Required to be able to discover and pair nearby Bluetooth devices.
1943         <p>Protection level: dangerous -->
1944    <permission android:name="android.permission.BLUETOOTH_SCAN"
1945        android:permissionGroup="android.permission-group.UNDEFINED"
1946        android:description="@string/permdesc_bluetooth_scan"
1947        android:label="@string/permlab_bluetooth_scan"
1948        android:protectionLevel="dangerous" />
1949
1950    <!-- Required to be able to connect to paired Bluetooth devices.
1951         <p>Protection level: dangerous -->
1952    <permission android:name="android.permission.BLUETOOTH_CONNECT"
1953        android:permissionGroup="android.permission-group.UNDEFINED"
1954        android:description="@string/permdesc_bluetooth_connect"
1955        android:label="@string/permlab_bluetooth_connect"
1956        android:protectionLevel="dangerous" />
1957
1958    <!-- Required to be able to advertise to nearby Bluetooth devices.
1959         <p>Protection level: dangerous -->
1960    <permission android:name="android.permission.BLUETOOTH_ADVERTISE"
1961        android:permissionGroup="android.permission-group.UNDEFINED"
1962        android:description="@string/permdesc_bluetooth_advertise"
1963        android:label="@string/permlab_bluetooth_advertise"
1964        android:protectionLevel="dangerous" />
1965
1966    <!-- Required to be able to range to devices using ultra-wideband.
1967         <p>Protection level: dangerous -->
1968    <permission android:name="android.permission.UWB_RANGING"
1969        android:permissionGroup="android.permission-group.UNDEFINED"
1970        android:description="@string/permdesc_uwb_ranging"
1971        android:label="@string/permlab_uwb_ranging"
1972        android:protectionLevel="dangerous" />
1973
1974    <!-- @SystemApi @TestApi Allows an application to suspend other apps, which will prevent the
1975         user from using them until they are unsuspended.
1976         @hide
1977    -->
1978    <permission android:name="android.permission.SUSPEND_APPS"
1979        android:protectionLevel="signature|role" />
1980
1981    <!-- Allows applications to discover and pair bluetooth devices.
1982         <p>Protection level: normal
1983    -->
1984    <permission android:name="android.permission.BLUETOOTH_ADMIN"
1985        android:description="@string/permdesc_bluetoothAdmin"
1986        android:label="@string/permlab_bluetoothAdmin"
1987        android:protectionLevel="normal" />
1988
1989    <!-- Allows applications to pair bluetooth devices without user interaction, and to
1990         allow or disallow phonebook access or message access.
1991         <p>Not for use by third-party applications. -->
1992    <permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
1993        android:protectionLevel="signature|privileged" />
1994
1995    <!-- Control access to email providers exclusively for Bluetooth
1996         @hide
1997    -->
1998    <permission android:name="android.permission.BLUETOOTH_MAP"
1999        android:protectionLevel="signature" />
2000
2001    <!-- Allows bluetooth stack to access files
2002         @hide This should only be used by Bluetooth apk.
2003    -->
2004    <permission android:name="android.permission.BLUETOOTH_STACK"
2005        android:protectionLevel="signature" />
2006
2007    <!-- Allows uhid write access for creating virtual input devices
2008         @hide
2009    -->
2010    <permission android:name="android.permission.VIRTUAL_INPUT_DEVICE"
2011        android:protectionLevel="signature" />
2012
2013    <!-- Allows applications to perform I/O operations over NFC.
2014         <p>Protection level: normal
2015    -->
2016    <permission android:name="android.permission.NFC"
2017        android:description="@string/permdesc_nfc"
2018        android:label="@string/permlab_nfc"
2019        android:protectionLevel="normal" />
2020
2021    <!-- Allows applications to receive NFC transaction events.
2022         <p>Protection level: normal
2023    -->
2024    <permission android:name="android.permission.NFC_TRANSACTION_EVENT"
2025      android:protectionLevel="normal" />
2026
2027    <!-- Allows applications to receive NFC preferred payment service information.
2028         <p>Protection level: normal
2029    -->
2030    <permission android:name="android.permission.NFC_PREFERRED_PAYMENT_INFO"
2031        android:description="@string/permdesc_preferredPaymentInfo"
2032        android:label="@string/permlab_preferredPaymentInfo"
2033        android:protectionLevel="normal" />
2034
2035    <!-- @SystemApi Allows access to set NFC controller always on states.
2036         <p>Protection level: signature|privileged
2037         @hide -->
2038    <permission android:name="android.permission.NFC_SET_CONTROLLER_ALWAYS_ON"
2039        android:protectionLevel="signature|privileged" />
2040
2041    <!-- @SystemApi Allows an internal user to use privileged SecureElement APIs.
2042         Applications holding this permission can access OMAPI reset system API
2043         and bypass OMAPI AccessControlEnforcer.
2044         <p>Not for use by third-party applications.
2045         @hide -->
2046    <permission android:name="android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION"
2047        android:protectionLevel="signature|privileged" />
2048
2049    <!-- @deprecated This permission used to allow too broad access to sensitive methods and all its
2050         uses have been replaced by a more appropriate permission. Most uses have been replaced with
2051         a NETWORK_STACK or NETWORK_SETTINGS check. Please look up the documentation of the
2052         individual functions to figure out what permission now protects the individual function.
2053         @SystemApi Allows an internal user to use privileged ConnectivityManager APIs.
2054         @hide -->
2055    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
2056        android:protectionLevel="signature|privileged" />
2057
2058    <!-- @SystemApi Allows an internal user to use restricted Networks.
2059         @hide -->
2060    <permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"
2061        android:protectionLevel="signature|privileged" />
2062    <uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>
2063
2064    <!-- @SystemApi Allows an internal user to set signal strength in NetworkRequest. This kind of
2065         request will wake up device when signal strength meets the given value.
2066         @hide -->
2067    <permission android:name="android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP"
2068                android:protectionLevel="signature|privileged" />
2069
2070    <!-- @SystemApi Allows a system application to access hardware packet offload capabilities.
2071         @hide -->
2072    <permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD"
2073        android:protectionLevel="signature|privileged" />
2074
2075    <!-- @SystemApi
2076         @hide -->
2077    <permission android:name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"
2078        android:protectionLevel="signature|privileged" />
2079
2080    <!-- @SystemApi Allows access to the loop radio (Android@Home mesh network) device.
2081         @hide -->
2082    <permission android:name="android.permission.LOOP_RADIO"
2083        android:protectionLevel="signature|privileged" />
2084
2085    <!-- Allows sending and receiving handover transfer status from Wifi and Bluetooth
2086         @hide -->
2087    <permission android:name="android.permission.NFC_HANDOVER_STATUS"
2088        android:protectionLevel="signature|privileged" />
2089
2090    <!-- @hide Allows internal management of Bluetooth state when on wireless consent mode.
2091         <p>Not for use by third-party applications. -->
2092    <permission android:name="android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED"
2093        android:protectionLevel="signature" />
2094
2095    <!-- @hide Allows the device to be reset, clearing all data and enables Test Harness Mode. -->
2096    <permission android:name="android.permission.ENABLE_TEST_HARNESS_MODE"
2097        android:protectionLevel="signature" />
2098
2099    <!-- @SystemApi Allows access to ultra wideband device.
2100     <p>Not for use by third-party applications.
2101     @hide -->
2102    <permission android:name="android.permission.UWB_PRIVILEGED"
2103                android:protectionLevel="signature|privileged" />
2104
2105    <!-- ================================== -->
2106    <!-- Permissions for accessing accounts -->
2107    <!-- ================================== -->
2108    <eat-comment />
2109
2110    <!-- Allows access to the list of accounts in the Accounts Service.
2111
2112    <p class="note"><strong>Note:</strong> Beginning with Android 6.0 (API level
2113    23), if an app shares the signature of the authenticator that manages an
2114    account, it does not need <code>"GET_ACCOUNTS"</code> permission to read
2115    information about that account. On Android 5.1 and lower, all apps need
2116    <code>"GET_ACCOUNTS"</code> permission to read information about any
2117    account.</p>
2118
2119    <p>Protection level: dangerous
2120    -->
2121    <permission android:name="android.permission.GET_ACCOUNTS"
2122        android:permissionGroup="android.permission-group.UNDEFINED"
2123        android:protectionLevel="dangerous"
2124        android:description="@string/permdesc_getAccounts"
2125        android:label="@string/permlab_getAccounts" />
2126    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
2127
2128    <!-- Allows applications to call into AccountAuthenticators.
2129    <p>Not for use by third-party applications. -->
2130    <permission android:name="android.permission.ACCOUNT_MANAGER"
2131        android:protectionLevel="signature" />
2132
2133    <!-- ================================== -->
2134    <!-- Permissions for accessing hardware that may effect battery life-->
2135    <!-- ================================== -->
2136    <eat-comment />
2137
2138    <!-- Allows applications to enter Wi-Fi Multicast mode.
2139         <p>Protection level: normal
2140    -->
2141    <permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
2142        android:description="@string/permdesc_changeWifiMulticastState"
2143        android:label="@string/permlab_changeWifiMulticastState"
2144        android:protectionLevel="normal" />
2145
2146    <!-- Allows access to the vibrator.
2147         <p>Protection level: normal
2148    -->
2149    <permission android:name="android.permission.VIBRATE"
2150        android:label="@string/permlab_vibrate"
2151        android:description="@string/permdesc_vibrate"
2152        android:protectionLevel="normal|instant" />
2153
2154    <!-- Allows access to the vibrator always-on settings.
2155         <p>Protection level: signature
2156         @hide
2157    -->
2158    <permission android:name="android.permission.VIBRATE_ALWAYS_ON"
2159        android:protectionLevel="signature" />
2160
2161    <!-- @SystemApi Allows access to the vibrator state.
2162         <p>Protection level: signature
2163         @hide
2164    -->
2165    <permission android:name="android.permission.ACCESS_VIBRATOR_STATE"
2166        android:label="@string/permdesc_vibrator_state"
2167        android:description="@string/permdesc_vibrator_state"
2168        android:protectionLevel="signature|privileged" />
2169
2170    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
2171         from dimming.
2172         <p>Protection level: normal
2173    -->
2174    <permission android:name="android.permission.WAKE_LOCK"
2175        android:label="@string/permlab_wakeLock"
2176        android:description="@string/permdesc_wakeLock"
2177        android:protectionLevel="normal|instant" />
2178
2179    <!-- Allows using the device's IR transmitter, if available.
2180         <p>Protection level: normal
2181    -->
2182    <permission android:name="android.permission.TRANSMIT_IR"
2183        android:label="@string/permlab_transmitIr"
2184        android:description="@string/permdesc_transmitIr"
2185        android:protectionLevel="normal" />
2186
2187    <!-- ==================================================== -->
2188    <!-- Permissions related to changing audio settings   -->
2189    <!-- ==================================================== -->
2190    <eat-comment />
2191
2192    <!-- Allows an application to modify global audio settings.
2193         <p>Protection level: normal
2194    -->
2195    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
2196        android:label="@string/permlab_modifyAudioSettings"
2197        android:description="@string/permdesc_modifyAudioSettings"
2198        android:protectionLevel="normal" />
2199
2200    <!-- ======================================== -->
2201    <!-- Permissions for factory reset protection -->
2202    <!-- ======================================== -->
2203    <eat-comment />
2204
2205    <!-- @SystemApi Allows an application to set a factory reset protection (FRP) policy.
2206         <p>Not for use by third-party applications.
2207         @hide
2208    -->
2209    <permission android:name="android.permission.MANAGE_FACTORY_RESET_PROTECTION"
2210        android:protectionLevel="signature|privileged"/>
2211
2212    <!-- ================================== -->
2213    <!-- Permissions for accessing hardware -->
2214    <!-- ================================== -->
2215    <eat-comment />
2216
2217    <!-- @SystemApi Allows an application to manage preferences and permissions for USB devices
2218         @hide -->
2219    <permission android:name="android.permission.MANAGE_USB"
2220        android:protectionLevel="signature|privileged" />
2221
2222    <!-- @SystemApi Allows an application to manage Android Debug Bridge settings.
2223         <p>Not for use by third-party applications.
2224         @hide -->
2225    <permission android:name="android.permission.MANAGE_DEBUGGING"
2226        android:protectionLevel="signature|privileged" />
2227
2228    <!-- @SystemApi Allows an application to access the MTP USB kernel driver.
2229         For use only by the device side MTP implementation.
2230         @hide -->
2231    <permission android:name="android.permission.ACCESS_MTP"
2232        android:protectionLevel="signature|privileged" />
2233
2234    <!-- @SystemApi Allows access to hardware peripherals.  Intended only for hardware testing.
2235         <p>Not for use by third-party applications.
2236         @hide
2237    -->
2238    <permission android:name="android.permission.HARDWARE_TEST"
2239        android:protectionLevel="signature" />
2240
2241    <!-- @hide Allows an application to manage DynamicSystem image -->
2242    <permission android:name="android.permission.MANAGE_DYNAMIC_SYSTEM"
2243        android:protectionLevel="signature" />
2244
2245    <!-- @SystemApi Allows an application to install a DynamicSystem image and get status updates.
2246         @hide -->
2247    <permission android:name="android.permission.INSTALL_DYNAMIC_SYSTEM"
2248        android:protectionLevel="signature|privileged" />
2249
2250    <!-- @SystemApi Allows access to Broadcast Radio
2251         @hide This is not a third-party API (intended for system apps).-->
2252    <permission android:name="android.permission.ACCESS_BROADCAST_RADIO"
2253        android:protectionLevel="signature|privileged" />
2254
2255    <!-- @deprecated @SystemApi Allows access to FM
2256         @hide This is not a third-party API (intended for system apps).-->
2257    <permission android:name="android.permission.ACCESS_FM_RADIO"
2258        android:protectionLevel="signature|privileged" />
2259
2260    <!-- Allows access to configure network interfaces, configure/use IPSec, etc.
2261         @hide -->
2262    <permission android:name="android.permission.NET_ADMIN"
2263        android:protectionLevel="signature" />
2264
2265    <!-- Allows registration for remote audio playback. @hide -->
2266    <permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK"
2267        android:protectionLevel="signature" />
2268
2269    <!-- Allows TvInputService to access underlying TV input hardware such as
2270         built-in tuners and HDMI-in's.
2271         <p>This should only be used by OEM's TvInputService's.
2272         @hide @SystemApi -->
2273    <permission android:name="android.permission.TV_INPUT_HARDWARE"
2274        android:protectionLevel="signature|privileged|vendorPrivileged" />
2275
2276    <!-- Allows to capture a frame of TV input hardware such as
2277         built-in tuners and HDMI-in's.
2278         <p>Not for use by third-party applications.
2279         @hide @SystemApi -->
2280    <permission android:name="android.permission.CAPTURE_TV_INPUT"
2281        android:protectionLevel="signature|privileged" />
2282
2283    <!-- @hide Allows TvInputService to access DVB device.
2284   <p>Not for use by third-party applications. -->
2285    <permission android:name="android.permission.DVB_DEVICE"
2286        android:protectionLevel="signature|privileged" />
2287
2288    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by carrier state
2289         @hide <p>Not for use by third-party applications. -->
2290    <permission android:name="android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE"
2291        android:protectionLevel="signature|privileged" />
2292
2293    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by user state
2294         @hide <p>Not for use by third-party applications. -->
2295    <permission android:name="android.permission.MANAGE_USER_OEM_UNLOCK_STATE"
2296        android:protectionLevel="signature|privileged" />
2297
2298    <!-- @SystemApi Allows reading the OEM unlock state
2299         @hide <p>Not for use by third-party applications. -->
2300    <permission android:name="android.permission.READ_OEM_UNLOCK_STATE"
2301        android:protectionLevel="signature|privileged" />
2302
2303    <!-- @hide Allows enabling/disabling OEM unlock
2304   <p>Not for use by third-party applications. -->
2305    <permission android:name="android.permission.OEM_UNLOCK_STATE"
2306        android:protectionLevel="signature" />
2307
2308    <!-- @hide Allows querying state of PersistentDataBlock
2309   <p>Not for use by third-party applications. -->
2310    <permission android:name="android.permission.ACCESS_PDB_STATE"
2311        android:protectionLevel="signature" />
2312
2313    <!-- Allows testing if a passwords is forbidden by the admins.
2314         @hide <p>Not for use by third-party applications. -->
2315    <permission android:name="android.permission.TEST_BLACKLISTED_PASSWORD"
2316        android:protectionLevel="signature" />
2317
2318    <!-- @hide Allows system update service to notify device owner about pending updates.
2319   <p>Not for use by third-party applications. -->
2320    <permission android:name="android.permission.NOTIFY_PENDING_SYSTEM_UPDATE"
2321        android:protectionLevel="signature|privileged" />
2322
2323    <!-- =========================================== -->
2324    <!-- Permissions associated with camera and image capture -->
2325    <!-- =========================================== -->
2326    <eat-comment />
2327
2328    <!-- @SystemApi Allows disabling the transmit-indicator LED that is normally on when
2329         a camera is in use by an application.
2330         @hide -->
2331    <permission android:name="android.permission.CAMERA_DISABLE_TRANSMIT_LED"
2332        android:protectionLevel="signature|privileged" />
2333
2334    <!-- Allows sending the camera service notifications about system-wide events.
2335        @hide -->
2336    <permission android:name="android.permission.CAMERA_SEND_SYSTEM_EVENTS"
2337        android:protectionLevel="signature|privileged" />
2338
2339    <!-- Allows injecting the external camera to replace the internal camera.
2340        @hide -->
2341    <permission android:name="android.permission.CAMERA_INJECT_EXTERNAL_CAMERA"
2342        android:protectionLevel="signature" />
2343
2344    <!-- =========================================== -->
2345    <!-- Permissions associated with telephony state -->
2346    <!-- =========================================== -->
2347    <eat-comment />
2348
2349    <!-- @SystemApi Allows granting runtime permissions to telephony related components.
2350         @hide -->
2351    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS"
2352        android:protectionLevel="signature" />
2353
2354    <!-- Allows modification of the telephony state - power on, mmi, etc.
2355         Does not include placing calls.
2356         <p>Not for use by third-party applications. -->
2357    <permission android:name="android.permission.MODIFY_PHONE_STATE"
2358        android:protectionLevel="signature|privileged|role" />
2359
2360    <!-- Allows read only access to precise phone state.
2361         Allows reading of detailed information about phone state for special-use applications
2362         such as dialers, carrier applications, or ims applications. -->
2363    <permission android:name="android.permission.READ_PRECISE_PHONE_STATE"
2364        android:protectionLevel="signature|privileged" />
2365
2366    <!-- @SystemApi @TestApi Allows read access to privileged phone state.
2367         @hide Used internally. -->
2368    <permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
2369        android:protectionLevel="signature|privileged" />
2370
2371    <!-- Allows to read device identifiers and use ICC based authentication like EAP-AKA.
2372         Often required in authentication to access the carrier's server and manage services
2373         of the subscriber.
2374         <p>Protection level: signature|appop -->
2375    <permission android:name="android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER"
2376        android:protectionLevel="signature|appop" />
2377
2378    <!-- @SystemApi Allows read access to emergency number information for ongoing calls or SMS
2379         sessions.
2380         @hide Used internally. -->
2381    <permission android:name="android.permission.READ_ACTIVE_EMERGENCY_SESSION"
2382        android:protectionLevel="signature" />
2383
2384    <!-- Allows listen permission to always reported signal strength.
2385         @hide Used internally. -->
2386    <permission android:name="android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH"
2387        android:protectionLevel="signature" />
2388
2389    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2390         PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION. This capability indicates that the PhoneAccount
2391         corresponds to a device SIM.
2392         @hide -->
2393    <permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION"
2394        android:protectionLevel="signature|privileged" />
2395
2396    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2397         PhoneAccount#CAPABILITY_CALL_PROVIDER.
2398         @hide -->
2399    <permission android:name="android.permission.REGISTER_CALL_PROVIDER"
2400        android:protectionLevel="signature|privileged" />
2401
2402    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2403         PhoneAccount#CAPABILITY_CONNECTION_MANAGER
2404         @hide -->
2405    <permission android:name="android.permission.REGISTER_CONNECTION_MANAGER"
2406        android:protectionLevel="signature|privileged" />
2407
2408    <!-- Must be required by a {@link android.telecom.InCallService},
2409         to ensure that only the system can bind to it.
2410         <p>Protection level: signature|privileged
2411    -->
2412    <permission android:name="android.permission.BIND_INCALL_SERVICE"
2413        android:protectionLevel="signature|privileged" />
2414
2415    <!-- Allows to query ongoing call details and manage ongoing calls
2416     <p>Protection level: signature|appop -->
2417    <permission android:name="android.permission.MANAGE_ONGOING_CALLS"
2418        android:protectionLevel="signature|appop"
2419        android:label="@string/permlab_manageOngoingCalls"
2420        android:description="@string/permdesc_manageOngoingCalls" />
2421
2422    <!-- Allows the app to request network scans from telephony.
2423         <p>Not for use by third-party applications.
2424         @SystemApi @hide-->
2425    <permission android:name="android.permission.NETWORK_SCAN"
2426        android:protectionLevel="signature|privileged" />
2427
2428    <!-- Must be required by a link {@link android.telephony.VisualVoicemailService} to ensure that
2429         only the system can bind to it.
2430         <p>Protection level: signature|privileged
2431    -->
2432    <permission
2433      android:name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
2434      android:protectionLevel="signature|privileged"/>
2435
2436    <!-- Must be required by a {@link android.telecom.CallScreeningService},
2437         to ensure that only the system can bind to it.
2438         <p>Protection level: signature|privileged
2439    -->
2440    <permission android:name="android.permission.BIND_SCREENING_SERVICE"
2441        android:protectionLevel="signature|privileged" />
2442
2443    <!-- Must be required by a {@link android.telecom.PhoneAccountSuggestionService},
2444         to ensure that only the system can bind to it.
2445         <p>Protection level: signature
2446         @SystemApi
2447         @hide
2448    -->
2449    <permission android:name="android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE"
2450        android:protectionLevel="signature" />
2451
2452    <!-- Must be required by a {@link android.telecom.CallDiagnosticService},
2453         to ensure that only the system can bind to it.
2454         <p>Protection level: signature
2455         @SystemApi
2456         @hide
2457    -->
2458    <permission android:name="android.permission.BIND_CALL_DIAGNOSTIC_SERVICE"
2459        android:protectionLevel="signature" />
2460
2461    <!-- Must be required by a {@link android.telecom.CallRedirectionService},
2462         to ensure that only the system can bind to it.
2463         <p>Protection level: signature|privileged
2464    -->
2465    <permission android:name="android.permission.BIND_CALL_REDIRECTION_SERVICE"
2466                android:protectionLevel="signature|privileged" />
2467
2468    <!-- Must be required by a {@link android.telecom.ConnectionService},
2469         to ensure that only the system can bind to it.
2470         @deprecated {@link android.telecom.ConnectionService}s should require
2471                 android.permission.BIND_TELECOM_CONNECTION_SERVICE instead.
2472         @SystemApi
2473         @hide -->
2474    <permission android:name="android.permission.BIND_CONNECTION_SERVICE"
2475        android:protectionLevel="signature|privileged" />
2476
2477    <!-- Must be required by a {@link android.telecom.ConnectionService},
2478         to ensure that only the system can bind to it.
2479         <p>Protection level: signature|privileged
2480    -->
2481    <permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
2482        android:protectionLevel="signature|privileged" />
2483
2484    <!-- @SystemApi Allows an application to control the in-call experience.
2485         @hide -->
2486    <permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"
2487        android:protectionLevel="signature|privileged|role" />
2488
2489    <!-- Allows an application to receive STK related commands.
2490         @hide -->
2491    <permission android:name="android.permission.RECEIVE_STK_COMMANDS"
2492        android:protectionLevel="signature|privileged" />
2493
2494      <!-- Allows an application to send EMBMS download intents to apps
2495           @hide -->
2496    <permission android:name="android.permission.SEND_EMBMS_INTENTS"
2497        android:protectionLevel="signature|privileged" />
2498
2499
2500    <!-- Allows internal management of the sensor framework
2501         @hide -->
2502    <permission android:name="android.permission.MANAGE_SENSORS"
2503        android:protectionLevel="signature" />
2504
2505    <!-- Must be required by an ImsService to ensure that only the
2506         system can bind to it.
2507         <p>Protection level: signature|privileged|vendorPrivileged
2508         @SystemApi
2509         @hide
2510    -->
2511    <permission android:name="android.permission.BIND_IMS_SERVICE"
2512        android:protectionLevel="signature|privileged|vendorPrivileged" />
2513
2514    <!-- Must be required by a telephony data service to ensure that only the
2515         system can bind to it.
2516         <p>Protection level: signature
2517         @SystemApi
2518         @hide
2519    -->
2520    <permission android:name="android.permission.BIND_TELEPHONY_DATA_SERVICE"
2521        android:protectionLevel="signature" />
2522
2523    <!-- Must be required by a NetworkService to ensure that only the
2524         system can bind to it.
2525         <p>Protection level: signature
2526         @SystemApi
2527         @hide
2528    -->
2529    <permission android:name="android.permission.BIND_TELEPHONY_NETWORK_SERVICE"
2530                android:protectionLevel="signature" />
2531
2532    <!-- @SystemApi Allows an application to manage embedded subscriptions (those on a eUICC)
2533         through EuiccManager APIs.
2534         <p>Protection level: signature|privileged|development
2535         @hide
2536    -->
2537    <permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
2538                android:protectionLevel="signature|privileged|development" />
2539
2540    <!-- @SystemApi Must be required by an EuiccService to ensure that only the system can bind to
2541         it.
2542         <p>Protection level: signature
2543         @hide
2544    -->
2545    <permission android:name="android.permission.BIND_EUICC_SERVICE"
2546                android:protectionLevel="signature" />
2547
2548    <!-- Required for reading information about carrier apps from SystemConfigManager.
2549         <p>Protection level: signature
2550         @SystemApi
2551         @hide
2552    -->
2553    <permission android:name="android.permission.READ_CARRIER_APP_INFO"
2554        android:protectionLevel="signature" />
2555
2556    <!-- Must be required by an GbaService to ensure that only the
2557         system can bind to it.
2558         <p>Protection level: signature
2559         @SystemApi
2560         @hide
2561    -->
2562    <permission android:name="android.permission.BIND_GBA_SERVICE"
2563        android:protectionLevel="signature" />
2564
2565    <!-- Required for an Application to access APIs related to RCS User Capability Exchange.
2566         <p> This permission is only granted to system applications fulfilling the SMS, Dialer, and
2567         Contacts app roles.
2568         <p>Protection level: internal|role
2569         @SystemApi
2570         @hide -->
2571    <permission android:name="android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE"
2572        android:protectionLevel="internal|role" />
2573
2574    <!-- ================================== -->
2575    <!-- Permissions for sdcard interaction -->
2576    <!-- ================================== -->
2577    <eat-comment />
2578
2579    <!-- @SystemApi @TestApi Allows an application to write to internal media storage
2580         @deprecated This permission is no longer honored in the system and no longer adds
2581         the media_rw gid as a supplementary gid to the holder. Use the
2582         android.permission.MANAGE_EXTERNAL_STORAGE instead.
2583         @hide  -->
2584    <permission android:name="android.permission.WRITE_MEDIA_STORAGE"
2585        android:protectionLevel="signature|privileged" />
2586
2587    <!-- Allows an application to manage access to documents, usually as part
2588         of a document picker.
2589         <p>This permission should <em>only</em> be requested by the platform
2590         document management app.  This permission cannot be granted to
2591         third-party apps.
2592    -->
2593    <permission android:name="android.permission.MANAGE_DOCUMENTS"
2594        android:protectionLevel="signature|documenter" />
2595
2596    <!-- Allows an application to manage access to crates, usually as part
2597         of a crates picker.
2598         <p>This permission should <em>only</em> be requested by the platform
2599         management app.  This permission cannot be granted to
2600         third-party apps.
2601         @hide
2602         @TestApi
2603    -->
2604    <permission android:name="android.permission.MANAGE_CRATES"
2605                android:protectionLevel="signature" />
2606
2607    <!-- @hide Allows an application to cache content.
2608         <p>Not for use by third-party applications.
2609    -->
2610    <permission android:name="android.permission.CACHE_CONTENT"
2611        android:protectionLevel="signature|documenter" />
2612
2613    <!-- @SystemApi @hide
2614         Allows an application to aggressively allocate disk space.
2615         <p>Not for use by third-party applications.
2616    -->
2617    <permission android:name="android.permission.ALLOCATE_AGGRESSIVE"
2618        android:protectionLevel="signature|privileged" />
2619
2620    <!-- @SystemApi @hide
2621         Allows an application to use reserved disk space.
2622         <p>Not for use by third-party applications.  Should only be requested by
2623         apps that provide core system functionality, to ensure system stability
2624         when disk is otherwise completely full.
2625    -->
2626    <permission android:name="android.permission.USE_RESERVED_DISK"
2627        android:protectionLevel="signature|privileged" />
2628
2629    <!-- ================================== -->
2630    <!-- Permissions for screenlock         -->
2631    <!-- ================================== -->
2632    <eat-comment />
2633
2634    <!-- Allows applications to disable the keyguard if it is not secure.
2635         <p>Protection level: normal
2636    -->
2637    <permission android:name="android.permission.DISABLE_KEYGUARD"
2638        android:description="@string/permdesc_disableKeyguard"
2639        android:label="@string/permlab_disableKeyguard"
2640        android:protectionLevel="normal" />
2641
2642    <!-- Allows an application to request the screen lock complexity and prompt users to update the
2643     screen lock to a certain complexity level.
2644     <p>Protection level: normal
2645    -->
2646    <permission android:name="android.permission.REQUEST_PASSWORD_COMPLEXITY"
2647                android:label="@string/permlab_requestPasswordComplexity"
2648                android:description="@string/permdesc_requestPasswordComplexity"
2649                android:protectionLevel="normal" />
2650
2651    <!-- ================================== -->
2652    <!-- Permissions to access other installed applications  -->
2653    <!-- ================================== -->
2654    <eat-comment />
2655
2656    <!-- @deprecated No longer enforced. -->
2657    <permission android:name="android.permission.GET_TASKS"
2658        android:label="@string/permlab_getTasks"
2659        android:description="@string/permdesc_getTasks"
2660        android:protectionLevel="normal" />
2661
2662    <!-- New version of GET_TASKS that apps can request, since GET_TASKS doesn't really
2663         give access to task information.  We need this new one because there are
2664         many existing apps that use add libraries and such that have validation
2665         code to ensure the app has requested the GET_TASKS permission by seeing
2666         if it has been granted the permission...  if it hasn't, it kills the app
2667         with a message about being upset.  So we need to have it continue to look
2668         like the app is getting that permission, even though it will never be
2669         checked, and new privileged apps can now request this one for real access.
2670         @hide
2671         @SystemApi -->
2672    <permission android:name="android.permission.REAL_GET_TASKS"
2673        android:protectionLevel="signature|privileged" />
2674
2675    <!-- @TestApi Allows an application to start a task from a ActivityManager#RecentTaskInfo.
2676         @hide -->
2677    <permission android:name="android.permission.START_TASKS_FROM_RECENTS"
2678        android:protectionLevel="signature|privileged|recents" />
2679
2680    <!-- @SystemApi @hide Allows an application to call APIs that allow it to do interactions
2681         across the users on the device, using singleton services and
2682         user-targeted broadcasts.  This permission is not available to
2683         third party applications. -->
2684    <permission android:name="android.permission.INTERACT_ACROSS_USERS"
2685        android:protectionLevel="signature|privileged|development" />
2686
2687    <!-- @SystemApi Fuller form of {@link android.Manifest.permission#INTERACT_ACROSS_USERS}
2688         that removes restrictions on where broadcasts can be sent and allows other
2689         types of interactions
2690         @hide -->
2691    <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
2692        android:protectionLevel="signature|installer" />
2693    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
2694
2695    <!-- Allows interaction across profiles in the same profile group. -->
2696    <permission android:name="android.permission.INTERACT_ACROSS_PROFILES"
2697        android:protectionLevel="signature|appop" />
2698
2699    <!-- Allows configuring apps to have the INTERACT_ACROSS_PROFILES permission so that they can
2700         interact across profiles in the same profile group.
2701         @hide -->
2702    <permission android:name="android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES"
2703        android:protectionLevel="signature" />
2704
2705    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query and manage
2706         users on the device. This permission is not available to
2707         third party applications. -->
2708    <permission android:name="android.permission.MANAGE_USERS"
2709        android:protectionLevel="signature|privileged" />
2710
2711    <!-- @SystemApi @hide Allows an application to create, remove users and get the list of
2712         users on the device. Applications holding this permission can create users (including
2713         normal, restricted, guest, managed, and demo users) and can optionally endow them with the
2714         ephemeral property. For creating users with other kinds of properties,
2715         {@link android.Manifest.permission#MANAGE_USERS} is needed.
2716         This permission is not available to third party applications. -->
2717    <permission android:name="android.permission.CREATE_USERS"
2718        android:protectionLevel="signature" />
2719
2720    <!-- Allows an application to access data blobs across users. -->
2721    <permission android:name="android.permission.ACCESS_BLOBS_ACROSS_USERS"
2722        android:protectionLevel="signature|privileged|development|role" />
2723
2724    <!-- @hide Allows an application to set the profile owners and the device owner.
2725         This permission is not available to third party applications.-->
2726    <permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"
2727        android:protectionLevel="signature"
2728        android:label="@string/permlab_manageProfileAndDeviceOwners"
2729        android:description="@string/permdesc_manageProfileAndDeviceOwners" />
2730
2731    <!-- @TestApi @hide Allows an application to reset the record of previous system update freeze
2732         periods. -->
2733    <permission android:name="android.permission.CLEAR_FREEZE_PERIOD"
2734                android:protectionLevel="signature" />
2735
2736    <!-- @TestApi @hide Allows an application to force available DevicePolicyManager logs to
2737         DPC. -->
2738    <permission android:name="android.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS"
2739                android:protectionLevel="signature" />
2740
2741    <!-- Allows an application to get full detailed information about
2742         recently running tasks, with full fidelity to the real state.
2743         @hide -->
2744    <permission android:name="android.permission.GET_DETAILED_TASKS"
2745        android:protectionLevel="signature" />
2746
2747    <!-- Allows an application to change the Z-order of tasks.
2748         <p>Protection level: normal
2749    -->
2750    <permission android:name="android.permission.REORDER_TASKS"
2751        android:label="@string/permlab_reorderTasks"
2752        android:description="@string/permdesc_reorderTasks"
2753        android:protectionLevel="normal" />
2754
2755    <!-- @SystemApi @TestApi @hide Allows an application to change to remove/kill tasks -->
2756    <permission android:name="android.permission.REMOVE_TASKS"
2757        android:protectionLevel="signature|documenter|recents" />
2758
2759    <!-- @deprecated Use MANAGE_ACTIVITY_TASKS instead.
2760         @SystemApi @TestApi @hide Allows an application to create/manage/remove stacks -->
2761    <permission android:name="android.permission.MANAGE_ACTIVITY_STACKS"
2762        android:protectionLevel="signature" />
2763
2764    <!-- @SystemApi @TestApi @hide Allows an application to create/manage/remove tasks -->
2765    <permission android:name="android.permission.MANAGE_ACTIVITY_TASKS"
2766        android:protectionLevel="signature|recents" />
2767
2768    <!-- @SystemApi @TestApi @hide Allows an application to embed other activities -->
2769    <permission android:name="android.permission.ACTIVITY_EMBEDDING"
2770                android:protectionLevel="signature|privileged" />
2771
2772    <!-- Allows an application to start any activity, regardless of permission
2773         protection or exported state.
2774         @hide -->
2775    <permission android:name="android.permission.START_ANY_ACTIVITY"
2776        android:protectionLevel="signature" />
2777
2778    <!-- @SystemApi @hide Allows an application to start activities from background -->
2779    <permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"
2780        android:protectionLevel="signature|privileged|vendorPrivileged|oem|verifier" />
2781
2782    <!-- Allows an application to start foreground services from the background at any time.
2783         <em>This permission is not for use by third-party applications</em>,
2784         with the only exception being if the app is the default SMS app.
2785         Otherwise, it's only usable by privileged apps, app verifier app, and apps with
2786         any of the EMERGENCY or SYSTEM GALLERY roles.
2787         -->
2788    <permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"
2789                android:protectionLevel="signature|privileged|vendorPrivileged|oem|verifier|role"/>
2790
2791    <!-- @SystemApi Must be required by activities that handle the intent action
2792         {@link Intent#ACTION_SEND_SHOW_SUSPENDED_APP_DETAILS}. This is for use by apps that
2793         hold {@link Manifest.permission#SUSPEND_APPS} to interact with the system.
2794         <p>Not for use by third-party applications.
2795         @hide -->
2796    <permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS"
2797                android:protectionLevel="signature" />
2798    <uses-permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS" />
2799
2800    <!-- Allows an application to start an activity as another app, provided that app has been
2801         granted a permissionToken from the ActivityManagerService.
2802         @hide -->
2803    <permission android:name="android.permission.START_ACTIVITY_AS_CALLER"
2804        android:protectionLevel="signature" />
2805
2806    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
2807        API is no longer supported. -->
2808    <permission android:name="android.permission.RESTART_PACKAGES"
2809        android:label="@string/permlab_killBackgroundProcesses"
2810        android:description="@string/permdesc_killBackgroundProcesses"
2811        android:protectionLevel="normal" />
2812
2813    <!-- Allows an application to call
2814        {@link android.app.ActivityManager#killBackgroundProcesses}.
2815         <p>Protection level: normal
2816    -->
2817    <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
2818        android:label="@string/permlab_killBackgroundProcesses"
2819        android:description="@string/permdesc_killBackgroundProcesses"
2820        android:protectionLevel="normal" />
2821
2822    <!-- @SystemApi @hide Allows an application to query process states and current
2823         OOM adjustment scores.
2824         <p>Not for use by third-party applications. -->
2825    <permission android:name="android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"
2826        android:protectionLevel="signature|privileged|development" />
2827
2828    <!-- Allows use of PendingIntent.getIntent(), .
2829         @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
2830         -->
2831    <permission android:name="android.permission.GET_INTENT_SENDER_INTENT"
2832        android:protectionLevel="signature" />
2833
2834    <!-- ================================== -->
2835    <!-- Permissions affecting the display of other applications  -->
2836    <!-- ================================== -->
2837    <eat-comment />
2838
2839    <!-- Allows an app to create windows using the type
2840         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
2841         shown on top of all other apps.  Very few apps
2842         should use this permission; these windows are intended for
2843         system-level interaction with the user.
2844
2845         <p class="note"><strong>Note:</strong> If the app
2846         targets API level 23 or higher, the app user must explicitly grant
2847         this permission to the app through a permission management screen. The app requests
2848         the user's approval by sending an intent with action
2849         {@link android.provider.Settings#ACTION_MANAGE_OVERLAY_PERMISSION}.
2850         The app can check whether it has this authorization by calling
2851         {@link android.provider.Settings#canDrawOverlays
2852         Settings.canDrawOverlays()}.
2853         <p>Protection level: signature|setup|appop|installer|pre23|development -->
2854    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
2855        android:label="@string/permlab_systemAlertWindow"
2856        android:description="@string/permdesc_systemAlertWindow"
2857        android:protectionLevel="signature|setup|appop|installer|pre23|development" />
2858
2859    <!-- @SystemApi @hide Allows an application to create windows using the type
2860         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
2861         shown on top of all other apps.
2862
2863         Allows an application to use
2864         {@link android.view.WindowManager.LayoutsParams#setSystemApplicationOverlay(boolean)}
2865         to create overlays that will stay visible, even if another window is requesting overlays to
2866         be hidden through {@link android.view.Window#setHideOverlayWindows(boolean)}.
2867
2868         <p>Not for use by third-party applications. -->
2869    <permission android:name="android.permission.SYSTEM_APPLICATION_OVERLAY"
2870                android:protectionLevel="signature|recents|role"/>
2871
2872    <!-- @deprecated Use {@link android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
2873         @hide
2874    -->
2875    <permission android:name="android.permission.RUN_IN_BACKGROUND"
2876        android:label="@string/permlab_runInBackground"
2877        android:description="@string/permdesc_runInBackground"
2878        android:protectionLevel="signature" />
2879
2880    <!-- @deprecated Use
2881        {@link android.Manifest.permission#REQUEST_COMPANION_USE_DATA_IN_BACKGROUND}
2882         @hide
2883    -->
2884    <permission android:name="android.permission.USE_DATA_IN_BACKGROUND"
2885        android:label="@string/permlab_useDataInBackground"
2886        android:description="@string/permdesc_useDataInBackground"
2887        android:protectionLevel="signature" />
2888
2889    <!-- @hide Allows an application to set display offsets for the screen.
2890         This permission is not available to third party applications. -->
2891    <permission android:name="android.permission.SET_DISPLAY_OFFSET"
2892        android:protectionLevel="signature|privileged" />
2893
2894    <!-- Allows a companion app to run in the background. This permission implies
2895         {@link android.Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND},
2896         and allows to start a foreground service from the background.
2897         If an app does not have to run in the background, but only needs to start a foreground
2898         service from the background, consider using
2899         {@link android.Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND},
2900         which is less powerful.
2901         <p>Protection level: normal
2902    -->
2903    <permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"
2904                android:label="@string/permlab_runInBackground"
2905                android:description="@string/permdesc_runInBackground"
2906                android:protectionLevel="normal" />
2907
2908    <!-- Allows a companion app to start a foreground service from the background.
2909         {@see android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
2910         <p>Protection level: normal
2911         -->
2912    <permission android:name="android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND"
2913        android:protectionLevel="normal"/>
2914
2915    <!-- Allows a companion app to use data in the background.
2916         <p>Protection level: normal
2917    -->
2918    <permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"
2919                android:label="@string/permlab_useDataInBackground"
2920                android:description="@string/permdesc_useDataInBackground"
2921                android:protectionLevel="normal" />
2922
2923    <!-- Allows app to request to be associated with a device via
2924         {@link android.companion.CompanionDeviceManager}
2925         as a "watch"
2926         <p>Protection level: normal
2927     -->
2928    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_WATCH"
2929                android:protectionLevel="normal" />
2930
2931    <!-- Allows a companion app to associate to Wi-Fi.
2932         <p>Only for use by a single pre-approved app.
2933         @hide
2934         @SystemApi
2935    -->
2936    <permission android:name="android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS"
2937                android:protectionLevel="signature|privileged" />
2938
2939    <!-- Allows an app to read and listen to projection state.
2940         @hide
2941         @SystemApi
2942    -->
2943    <permission android:name="android.permission.READ_PROJECTION_STATE"
2944                android:protectionLevel="signature" />
2945
2946    <!-- Allows an app to set and release automotive projection.
2947         <p>Once permissions can be granted via role-only, this needs to be changed to
2948          protectionLevel="role" and added to the SYSTEM_AUTOMOTIVE_PROJECTION role.
2949         @hide
2950         @SystemApi
2951    -->
2952    <permission android:name="android.permission.TOGGLE_AUTOMOTIVE_PROJECTION"
2953                android:protectionLevel="signature|privileged" />
2954
2955    <!-- Allows an app to prevent non-system-overlay windows from being drawn on top of it -->
2956    <permission android:name="android.permission.HIDE_OVERLAY_WINDOWS"
2957                android:protectionLevel="normal" />
2958
2959    <!-- ================================== -->
2960    <!-- Permissions affecting the system wallpaper -->
2961    <!-- ================================== -->
2962    <eat-comment />
2963
2964    <!-- Allows applications to set the wallpaper.
2965         <p>Protection level: normal
2966     -->
2967    <permission android:name="android.permission.SET_WALLPAPER"
2968        android:label="@string/permlab_setWallpaper"
2969        android:description="@string/permdesc_setWallpaper"
2970        android:protectionLevel="normal" />
2971
2972    <!-- Allows applications to set the wallpaper hints.
2973         <p>Protection level: normal
2974    -->
2975    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
2976        android:label="@string/permlab_setWallpaperHints"
2977        android:description="@string/permdesc_setWallpaperHints"
2978        android:protectionLevel="normal" />
2979
2980    <!-- Allow the app to read the system wallpaper image without
2981        holding the READ_EXTERNAL_STORAGE permission.
2982        <p>Not for use by third-party applications.
2983        @hide
2984        @SystemApi
2985    -->
2986    <permission android:name="android.permission.READ_WALLPAPER_INTERNAL"
2987        android:protectionLevel="signature|privileged" />
2988
2989    <!-- ===================================================== -->
2990    <!-- Permissions for changing the system clock / time zone -->
2991    <!-- ===================================================== -->
2992    <eat-comment />
2993
2994    <!-- Allows applications to set the system time directly.
2995         <p>Not for use by third-party applications. -->
2996    <permission android:name="android.permission.SET_TIME"
2997        android:protectionLevel="signature|privileged" />
2998
2999    <!-- Allows applications to set the system time zone directly.
3000         <p>Not for use by third-party applications.
3001    -->
3002    <permission android:name="android.permission.SET_TIME_ZONE"
3003        android:label="@string/permlab_setTimeZone"
3004        android:description="@string/permdesc_setTimeZone"
3005        android:protectionLevel="signature|privileged" />
3006
3007    <!-- Allows telephony to suggest the time / time zone.
3008         <p>Not for use by third-party applications.
3009         @hide
3010     -->
3011    <permission android:name="android.permission.SUGGEST_TELEPHONY_TIME_AND_ZONE"
3012        android:protectionLevel="signature" />
3013
3014    <!-- Allows applications like settings to suggest the user's manually chosen time / time zone.
3015         <p>Not for use by third-party applications.
3016         @hide
3017    -->
3018    <permission android:name="android.permission.SUGGEST_MANUAL_TIME_AND_ZONE"
3019        android:protectionLevel="signature" />
3020
3021    <!-- Allows system clock time suggestions from an external clock / time source to be made.
3022         The nature of "external" could be highly form-factor specific. Example, times
3023         obtained via the VHAL for Android Auto OS.
3024         <p>Not for use by third-party applications.
3025         @SystemApi @hide
3026    -->
3027    <permission android:name="android.permission.SUGGEST_EXTERNAL_TIME"
3028        android:protectionLevel="signature|privileged" />
3029
3030    <!-- Allows applications like settings to manage configuration associated with automatic time
3031         and time zone detection.
3032         <p>Not for use by third-party applications.
3033         @SystemApi @hide
3034    -->
3035    <permission android:name="android.permission.MANAGE_TIME_AND_ZONE_DETECTION"
3036        android:protectionLevel="signature|privileged" />
3037
3038    <!-- ==================================================== -->
3039    <!-- Permissions related to changing status bar   -->
3040    <!-- ==================================================== -->
3041    <eat-comment />
3042
3043    <!-- Allows an application to expand or collapse the status bar.
3044         <p>Protection level: normal
3045    -->
3046    <permission android:name="android.permission.EXPAND_STATUS_BAR"
3047        android:label="@string/permlab_expandStatusBar"
3048        android:description="@string/permdesc_expandStatusBar"
3049        android:protectionLevel="normal" />
3050
3051    <!-- ============================================================== -->
3052    <!-- Permissions related to adding/removing shortcuts from Launcher -->
3053    <!-- ============================================================== -->
3054    <eat-comment />
3055
3056    <!-- Allows an application to install a shortcut in Launcher.
3057         <p>In Android O (API level 26) and higher, the <code>INSTALL_SHORTCUT</code> broadcast no
3058         longer has any effect on your app because it's a private, implicit
3059         broadcast. Instead, you should create an app shortcut by using the
3060         {@link android.content.pm.ShortcutManager#requestPinShortcut requestPinShortcut()}
3061         method from the {@link android.content.pm.ShortcutManager} class.
3062         <p>Protection level: normal
3063    -->
3064    <permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
3065        android:label="@string/permlab_install_shortcut"
3066        android:description="@string/permdesc_install_shortcut"
3067        android:protectionLevel="normal"/>
3068
3069    <!-- <p class="caution"><strong>Don't use this permission in your app.</strong><br>This
3070         permission is no longer supported.
3071    -->
3072    <permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"
3073        android:label="@string/permlab_uninstall_shortcut"
3074        android:description="@string/permdesc_uninstall_shortcut"
3075        android:protectionLevel="normal"/>
3076
3077    <!-- ==================================================== -->
3078    <!-- Permissions related to accessing sync settings   -->
3079    <!-- ==================================================== -->
3080    <eat-comment />
3081
3082    <!-- Allows applications to read the sync settings.
3083         <p>Protection level: normal
3084    -->
3085    <permission android:name="android.permission.READ_SYNC_SETTINGS"
3086        android:description="@string/permdesc_readSyncSettings"
3087        android:label="@string/permlab_readSyncSettings"
3088        android:protectionLevel="normal" />
3089
3090    <!-- Allows applications to write the sync settings.
3091         <p>Protection level: normal
3092    -->
3093    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
3094        android:description="@string/permdesc_writeSyncSettings"
3095        android:label="@string/permlab_writeSyncSettings"
3096        android:protectionLevel="normal" />
3097
3098    <!-- Allows applications to read the sync stats.
3099         <p>Protection level: normal
3100    -->
3101    <permission android:name="android.permission.READ_SYNC_STATS"
3102        android:description="@string/permdesc_readSyncStats"
3103        android:label="@string/permlab_readSyncStats"
3104        android:protectionLevel="normal" />
3105
3106    <!-- ============================================ -->
3107    <!-- Permissions for low-level system interaction -->
3108    <!-- ============================================ -->
3109    <eat-comment />
3110
3111    <!-- @SystemApi @hide Change the screen compatibility mode of applications -->
3112    <permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
3113        android:protectionLevel="signature" />
3114
3115    <!-- Allows an application to modify the current configuration, such
3116         as locale.
3117         <p>Protection level: signature|privileged|development -->
3118    <permission android:name="android.permission.CHANGE_CONFIGURATION"
3119        android:protectionLevel="signature|privileged|development" />
3120
3121    <!-- Allows an application to read or write the system settings.
3122
3123        <p class="note"><strong>Note:</strong> If the app targets API level 23
3124        or higher, the app user
3125        must explicitly grant this permission to the app through a permission management screen.
3126        The app requests the user's approval by sending an intent with action
3127        {@link android.provider.Settings#ACTION_MANAGE_WRITE_SETTINGS}. The app
3128        can check whether it has this authorization by calling {@link
3129        android.provider.Settings.System#canWrite Settings.System.canWrite()}.
3130
3131        <p>Protection level: signature|preinstalled|appop|pre23
3132    -->
3133    <permission android:name="android.permission.WRITE_SETTINGS"
3134        android:label="@string/permlab_writeSettings"
3135        android:description="@string/permdesc_writeSettings"
3136        android:protectionLevel="signature|preinstalled|appop|pre23" />
3137
3138    <!-- Allows an application to modify the Google service map.
3139    <p>Not for use by third-party applications. -->
3140    <permission android:name="android.permission.WRITE_GSERVICES"
3141        android:protectionLevel="signature|privileged" />
3142
3143    <!-- @SystemApi @TestApi @hide Allows an application to modify config settings.
3144    <p>Not for use by third-party applications. -->
3145    <permission android:name="android.permission.WRITE_DEVICE_CONFIG"
3146        android:protectionLevel="signature|verifier|configurator"/>
3147
3148    <!-- @SystemApi @hide Allows an application to read config settings.
3149    <p>Not for use by third-party applications. -->
3150    <permission android:name="android.permission.READ_DEVICE_CONFIG"
3151        android:protectionLevel="signature|preinstalled" />
3152
3153    <!-- @hide Allows an application to monitor {@link android.provider.Settings.Config} access.
3154    <p>Not for use by third-party applications. -->
3155    <permission android:name="android.permission.MONITOR_DEVICE_CONFIG_ACCESS"
3156        android:protectionLevel="signature"/>
3157
3158    <!-- @SystemApi @TestApi Allows an application to call
3159        {@link android.app.ActivityManager#forceStopPackage}.
3160        @hide -->
3161    <permission android:name="android.permission.FORCE_STOP_PACKAGES"
3162        android:protectionLevel="signature|privileged" />
3163
3164    <!-- @SystemApi @hide Allows an application to retrieve the content of the active window
3165         An active window is the window that has fired an accessibility event. -->
3166    <permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"
3167        android:protectionLevel="signature|privileged" />
3168
3169    <!-- Modify the global animation scaling factor.
3170    <p>Not for use by third-party applications. -->
3171    <permission android:name="android.permission.SET_ANIMATION_SCALE"
3172        android:protectionLevel="signature|privileged|development" />
3173
3174    <!-- @deprecated This functionality will be removed in the future; please do
3175         not use. Allow an application to make its activities persistent. -->
3176    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
3177        android:label="@string/permlab_persistentActivity"
3178        android:description="@string/permdesc_persistentActivity"
3179        android:protectionLevel="normal" />
3180
3181    <!-- Allows an application to find out the space used by any package.
3182         <p>Protection level: normal
3183    -->
3184    <permission android:name="android.permission.GET_PACKAGE_SIZE"
3185        android:label="@string/permlab_getPackageSize"
3186        android:description="@string/permdesc_getPackageSize"
3187        android:protectionLevel="normal" />
3188
3189    <!-- @deprecated No longer useful, see
3190         {@link android.content.pm.PackageManager#addPackageToPreferred}
3191         for details. -->
3192    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
3193        android:protectionLevel="signature|installer|verifier" />
3194
3195    <!-- Allows an application to receive the
3196         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
3197         broadcast after the system finishes booting.  If you don't
3198         request this permission, you will not receive the broadcast at
3199         that time.  Though holding this permission does not have any
3200         security implications, it can have a negative impact on the
3201         user experience by increasing the amount of time it takes the
3202         system to start and allowing applications to have themselves
3203         running without the user being aware of them.  As such, you must
3204         explicitly declare your use of this facility to make that visible
3205         to the user.
3206         <p>Protection level: normal
3207    -->
3208    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
3209        android:label="@string/permlab_receiveBootCompleted"
3210        android:description="@string/permdesc_receiveBootCompleted"
3211        android:protectionLevel="normal" />
3212
3213    <!-- Allows an application to broadcast sticky intents.  These are
3214         broadcasts whose data is held by the system after being finished,
3215         so that clients can quickly retrieve that data without having
3216         to wait for the next broadcast.
3217         <p>Protection level: normal
3218    -->
3219    <permission android:name="android.permission.BROADCAST_STICKY"
3220        android:label="@string/permlab_broadcastSticky"
3221        android:description="@string/permdesc_broadcastSticky"
3222        android:protectionLevel="normal" />
3223
3224    <!-- Allows mounting and unmounting file systems for removable storage.
3225    <p>Not for use by third-party applications.-->
3226    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
3227        android:protectionLevel="signature|privileged" />
3228
3229    <!-- Allows formatting file systems for removable storage.
3230    <p>Not for use by third-party applications. -->
3231    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
3232        android:protectionLevel="signature|privileged" />
3233
3234    <!-- @hide -->
3235    <permission android:name="android.permission.STORAGE_INTERNAL"
3236        android:protectionLevel="signature" />
3237
3238    <!-- Allows access to ASEC non-destructive API calls
3239         @hide  -->
3240    <permission android:name="android.permission.ASEC_ACCESS"
3241        android:protectionLevel="signature" />
3242
3243    <!-- Allows creation of ASEC volumes
3244         @hide  -->
3245    <permission android:name="android.permission.ASEC_CREATE"
3246        android:protectionLevel="signature" />
3247
3248    <!-- Allows destruction of ASEC volumes
3249         @hide  -->
3250    <permission android:name="android.permission.ASEC_DESTROY"
3251        android:protectionLevel="signature" />
3252
3253    <!-- Allows mount / unmount of ASEC volumes
3254         @hide  -->
3255    <permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"
3256        android:protectionLevel="signature" />
3257
3258    <!-- Allows rename of ASEC volumes
3259         @hide  -->
3260    <permission android:name="android.permission.ASEC_RENAME"
3261        android:protectionLevel="signature" />
3262
3263    <!-- Allows applications to write the apn settings and read sensitive fields of
3264         an existing apn settings like user and password.
3265    <p>Not for use by third-party applications. -->
3266    <permission android:name="android.permission.WRITE_APN_SETTINGS"
3267        android:protectionLevel="signature|privileged" />
3268
3269    <!-- Allows applications to change network connectivity state.
3270         <p>Protection level: normal
3271    -->
3272    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
3273        android:description="@string/permdesc_changeNetworkState"
3274        android:label="@string/permlab_changeNetworkState"
3275        android:protectionLevel="normal" />
3276
3277    <!-- Allows an application to clear the caches of all installed
3278         applications on the device.
3279         <p>Protection level: signature|privileged
3280    -->
3281    <permission android:name="android.permission.CLEAR_APP_CACHE"
3282        android:protectionLevel="signature|privileged" />
3283
3284    <!-- @SystemApi Allows an application to use any media decoder when decoding for playback
3285         @hide -->
3286    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
3287        android:protectionLevel="signature|privileged" />
3288
3289    <!-- @SystemApi Allows an application to install and/or uninstall CA certificates on
3290         behalf of the user.
3291         @hide -->
3292    <permission android:name="android.permission.MANAGE_CA_CERTIFICATES"
3293        android:protectionLevel="signature|privileged" />
3294
3295    <!-- @SystemApi Allows an application to do certain operations needed for
3296         interacting with the recovery (system update) system.
3297         @hide -->
3298    <permission android:name="android.permission.RECOVERY"
3299        android:protectionLevel="signature|privileged" />
3300
3301    <!-- @SystemApi Allows an application to do certain operations needed for
3302         resume on reboot feature.
3303         @hide -->
3304    <permission android:name="android.permission.BIND_RESUME_ON_REBOOT_SERVICE"
3305        android:protectionLevel="signature" />
3306
3307    <!-- @SystemApi Allows an application to read system update info.
3308         @hide -->
3309    <permission android:name="android.permission.READ_SYSTEM_UPDATE_INFO"
3310        android:protectionLevel="signature|privileged" />
3311
3312    <!-- Allows the system to bind to an application's task services
3313         @hide -->
3314    <permission android:name="android.permission.BIND_JOB_SERVICE"
3315        android:protectionLevel="signature" />
3316    <uses-permission android:name="android.permission.BIND_JOB_SERVICE"/>
3317
3318    <!-- Allows an application to initiate configuration updates
3319         <p>An application requesting this permission is responsible for
3320         verifying the source and integrity of any update before passing
3321         it off to the various individual installer components
3322         @hide -->
3323    <permission android:name="android.permission.UPDATE_CONFIG"
3324        android:protectionLevel="signature|privileged" />
3325
3326    <!-- Allows an application to query the current time zone rules state
3327         on device.
3328         @SystemApi @hide -->
3329    <permission android:name="android.permission.QUERY_TIME_ZONE_RULES"
3330                android:protectionLevel="signature|privileged" />
3331
3332    <!-- Allows a time zone rule updater application to request
3333         the system installs / uninstalls timezone rules.
3334         <p>An application requesting this permission is responsible for
3335         verifying the source and integrity of the update before passing
3336         it off to the installer components.
3337         @SystemApi @hide -->
3338    <permission android:name="android.permission.UPDATE_TIME_ZONE_RULES"
3339        android:protectionLevel="signature|privileged" />
3340
3341    <!-- Must be required by a time zone rule updater application,
3342         to ensure that only the system can trigger it.
3343         @hide -->
3344    <permission android:name="android.permission.TRIGGER_TIME_ZONE_RULES_CHECK"
3345        android:protectionLevel="signature" />
3346    <uses-permission android:name="android.permission.TRIGGER_TIME_ZONE_RULES_CHECK"/>
3347
3348    <!-- Allows the system to reset throttling in shortcut manager.
3349         @hide -->
3350    <permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING"
3351        android:protectionLevel="signature" />
3352
3353    <!-- Allows the system to bind to the discovered Network Recommendation Service.
3354         @SystemApi @hide -->
3355    <permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"
3356        android:protectionLevel="signature" />
3357    <uses-permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"/>
3358
3359    <!-- Allows an application to enable, disable and change priority of
3360         runtime resource overlays.
3361         @hide -->
3362    <permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES"
3363        android:protectionLevel="signature|privileged" />
3364
3365    <!-- Allows an application to set, update and remove the credential management app.
3366         @hide -->
3367    <permission android:name="android.permission.MANAGE_CREDENTIAL_MANAGEMENT_APP"
3368        android:protectionLevel="signature" />
3369
3370    <!-- Allows a font updater application to request that the system installs/uninstalls/updates
3371         font files. @SystemApi @hide -->
3372    <permission android:name="android.permission.UPDATE_FONTS"
3373        android:protectionLevel="signature|privileged" />
3374
3375    <!-- ========================================= -->
3376    <!-- Permissions for special development tools -->
3377    <!-- ========================================= -->
3378    <eat-comment />
3379
3380    <!-- Allows an application to read or write the secure system settings.
3381    <p>Not for use by third-party applications. -->
3382    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
3383        android:protectionLevel="signature|privileged|development" />
3384
3385    <!-- Allows an application to retrieve state dump information from system services.
3386    <p>Not for use by third-party applications. -->
3387    <permission android:name="android.permission.DUMP"
3388        android:protectionLevel="signature|privileged|development" />
3389
3390    <!-- Allows an application to start tracing for InputMethod and WindowManager.
3391    <p>Not for use by third-party applications.
3392    @hide -->
3393    <permission android:name="android.permission.CONTROL_UI_TRACING"
3394        android:protectionLevel="signature|privileged|development" />
3395
3396    <!-- Allows an application to read the low-level system log files.
3397    <p>Not for use by third-party applications, because
3398    Log entries can contain the user's private information. -->
3399    <permission android:name="android.permission.READ_LOGS"
3400        android:protectionLevel="signature|privileged|development" />
3401
3402    <!-- Configure an application for debugging.
3403    <p>Not for use by third-party applications. -->
3404    <permission android:name="android.permission.SET_DEBUG_APP"
3405        android:protectionLevel="signature|privileged|development" />
3406
3407    <!-- Allows an application to set the maximum number of (not needed)
3408         application processes that can be running.
3409         <p>Not for use by third-party applications. -->
3410    <permission android:name="android.permission.SET_PROCESS_LIMIT"
3411        android:protectionLevel="signature|privileged|development" />
3412
3413    <!-- Allows an application to control whether activities are immediately
3414         finished when put in the background.
3415         <p>Not for use by third-party applications. -->
3416    <permission android:name="android.permission.SET_ALWAYS_FINISH"
3417        android:protectionLevel="signature|privileged|development" />
3418
3419    <!-- Allow an application to request that a signal be sent to all persistent processes.
3420    <p>Not for use by third-party applications. -->
3421    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
3422        android:protectionLevel="signature|privileged|development" />
3423
3424    <!-- @hide @SystemApi @TestApi
3425         Allow an application to approve incident and bug reports to be
3426         shared off-device.  There can be only one application installed on the
3427         device with this permission, and since this is a privileged permission, it
3428         must be in priv-app.
3429        <p>Not for use by third-party applications. -->
3430    <permission android:name="android.permission.APPROVE_INCIDENT_REPORTS"
3431        android:protectionLevel="signature|incidentReportApprover" />
3432
3433    <!-- @hide Allow an application to approve an incident or bug report approval from
3434        the system. -->
3435    <permission android:name="android.permission.REQUEST_INCIDENT_REPORT_APPROVAL"
3436        android:protectionLevel="signature|privileged" />
3437
3438    <!-- ==================================== -->
3439    <!-- Private permissions                  -->
3440    <!-- ==================================== -->
3441    <eat-comment />
3442
3443    <!-- Allows access to the list of accounts in the Accounts Service.
3444         <p>Protection level: signature|privileged -->
3445    <permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"
3446        android:protectionLevel="signature|privileged" />
3447
3448    <!-- Allows but does not guarantee access to user passwords at the conclusion of add account
3449    @hide -->
3450    <permission android:name="android.permission.GET_PASSWORD"
3451        android:protectionLevel="signature" />
3452
3453    <!-- Allows applications to RW to diagnostic resources.
3454    <p>Not for use by third-party applications. -->
3455    <permission android:name="android.permission.DIAGNOSTIC"
3456        android:protectionLevel="signature" />
3457
3458    <!-- Allows an application to open, close, or disable the status bar
3459         and its icons.
3460         <p>Not for use by third-party applications. -->
3461    <permission android:name="android.permission.STATUS_BAR"
3462        android:protectionLevel="signature|privileged|recents" />
3463
3464    <!-- Allows an application to trigger bugreport via shell using the bugreport API.
3465        <p>Not for use by third-party applications.
3466        @hide
3467    -->
3468    <permission android:name="android.permission.TRIGGER_SHELL_BUGREPORT"
3469        android:protectionLevel="signature" />
3470
3471    <!-- Allows an application to be the status bar.  Currently used only by SystemUI.apk
3472        @hide
3473        @SystemApi -->
3474    <permission android:name="android.permission.STATUS_BAR_SERVICE"
3475        android:protectionLevel="signature" />
3476
3477    <!-- Allows an application to bind to third party quick settings tiles.
3478         <p>Should only be requested by the System, should be required by
3479         TileService declarations.-->
3480    <permission android:name="android.permission.BIND_QUICK_SETTINGS_TILE"
3481        android:protectionLevel="signature" />
3482
3483    <!-- Allows SystemUI to request third party controls.
3484         <p>Should only be requested by the System and required by
3485         {@link android.service.controls.ControlsProviderService} declarations.
3486    -->
3487    <permission android:name="android.permission.BIND_CONTROLS"
3488        android:protectionLevel="signature" />
3489
3490    <!-- @SystemApi Allows an application to force a BACK operation on whatever is the
3491         top activity.
3492         <p>Not for use by third-party applications.
3493         @hide
3494    -->
3495    <permission android:name="android.permission.FORCE_BACK"
3496        android:protectionLevel="signature" />
3497
3498    <!-- Allows an application to update device statistics.
3499    <p>Not for use by third-party applications. -->
3500    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
3501        android:protectionLevel="signature|privileged|role" />
3502
3503    <!-- @SystemApi @hide Allows an application to collect application operation statistics.
3504         Not for use by third party apps. -->
3505    <permission android:name="android.permission.GET_APP_OPS_STATS"
3506        android:protectionLevel="signature|privileged|development" />
3507
3508    <!-- @SystemApi Allows an application to update application operation statistics. Not for
3509         use by third party apps.
3510         @hide -->
3511    <permission android:name="android.permission.UPDATE_APP_OPS_STATS"
3512        android:protectionLevel="signature|privileged|installer|role" />
3513
3514    <!-- @SystemApi Allows an application to update the user app op restrictions.
3515         Not for use by third party apps.
3516         @hide -->
3517    <permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS"
3518        android:protectionLevel="signature|installer" />
3519
3520    <!-- Allows an application to update the user app op modes.
3521         Not for use by third party apps.
3522         @hide -->
3523    <permission android:name="android.permission.MANAGE_APP_OPS_MODES"
3524        android:protectionLevel="signature|installer|verifier" />
3525
3526    <!-- @SystemApi Allows an application to open windows that are for use by parts
3527         of the system user interface.
3528         <p>Not for use by third-party applications.
3529         @hide
3530    -->
3531    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
3532        android:protectionLevel="signature" />
3533
3534    <!-- Allows an application to avoid all toast rate limiting restrictions.
3535         <p>Not for use by third-party applications.
3536         @hide
3537    -->
3538    <permission android:name="android.permission.UNLIMITED_TOASTS"
3539                android:protectionLevel="signature" />
3540    <uses-permission android:name="android.permission.UNLIMITED_TOASTS" />
3541
3542    <!-- @SystemApi Allows an application to use
3543         {@link android.view.WindowManager.LayoutsParams#SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS}
3544         to hide non-system-overlay windows.
3545         <p>Not for use by third-party applications.
3546         @deprecated Use {@link android.Manifest.permission#HIDE_OVERLAY_WINDOWS} instead
3547         @hide
3548    -->
3549    <permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"
3550                android:protectionLevel="signature|preinstalled" />
3551
3552    <!-- @SystemApi Allows an application to manage (create, destroy,
3553         Z-order) application tokens in the window manager.
3554         <p>Not for use by third-party applications.
3555         @hide
3556    -->
3557    <permission android:name="android.permission.MANAGE_APP_TOKENS"
3558        android:protectionLevel="signature" />
3559
3560    <!-- Allows System UI to register listeners for events from Window Manager.
3561         @hide -->
3562    <permission android:name="android.permission.REGISTER_WINDOW_MANAGER_LISTENERS"
3563        android:protectionLevel="signature" />
3564
3565    <!-- @hide Allows the application to temporarily freeze the screen for a
3566         full-screen transition. -->
3567    <permission android:name="android.permission.FREEZE_SCREEN"
3568        android:protectionLevel="signature" />
3569
3570    <!-- @SystemApi Allows an application to inject user events (keys, touch, trackball)
3571         into the event stream and deliver them to ANY window.  Without this
3572         permission, you can only deliver events to windows in your own process.
3573         <p>Not for use by third-party applications.
3574         @hide
3575    -->
3576    <permission android:name="android.permission.INJECT_EVENTS"
3577        android:protectionLevel="signature" />
3578
3579    <!-- @hide Allows an application to register an input filter which filters the stream
3580         of user events (keys, touch, trackball) before they are dispatched to any window. -->
3581    <permission android:name="android.permission.FILTER_EVENTS"
3582        android:protectionLevel="signature" />
3583
3584    <!-- @hide Allows an application to retrieve the window token from the accessibility manager. -->
3585    <permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN"
3586        android:protectionLevel="signature" />
3587
3588    <!-- @hide Allows an application to modify accessibility information from another app. -->
3589    <permission android:name="android.permission.MODIFY_ACCESSIBILITY_DATA"
3590                android:protectionLevel="signature" />
3591
3592    <!-- @hide Allows an application to perform accessibility operations (e.g. send events) on
3593         behalf of another package. -->
3594    <permission android:name="android.permission.ACT_AS_PACKAGE_FOR_ACCESSIBILITY"
3595                android:protectionLevel="signature" />
3596
3597    <!-- @hide Allows an application to change the accessibility volume. -->
3598    <permission android:name="android.permission.CHANGE_ACCESSIBILITY_VOLUME"
3599                android:protectionLevel="signature" />
3600
3601    <!-- @hide Allows an application to collect frame statistics -->
3602    <permission android:name="android.permission.FRAME_STATS"
3603         android:protectionLevel="signature" />
3604
3605    <!-- @hide Allows an application to temporary enable accessibility on the device. -->
3606    <permission android:name="android.permission.TEMPORARY_ENABLE_ACCESSIBILITY"
3607        android:protectionLevel="signature" />
3608
3609    <!-- @SystemApi Allows an application to launch detail settings activity of a particular
3610         accessibility service.
3611         <p>Not for use by third-party applications.
3612         @hide -->
3613    <permission android:name="android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS"
3614        android:protectionLevel="signature|installer" />
3615
3616    <!-- @SystemApi Allows an application to watch and control how activities are
3617         started globally in the system.  Only for is in debugging
3618         (usually the monkey command).
3619         <p>Not for use by third-party applications.
3620         @hide
3621    -->
3622    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
3623        android:protectionLevel="signature" />
3624
3625    <!-- @SystemApi Allows an application to call the activity manager shutdown() API
3626         to put the higher-level system there into a shutdown state.
3627         @hide -->
3628    <permission android:name="android.permission.SHUTDOWN"
3629        android:protectionLevel="signature|privileged" />
3630
3631    <!-- @SystemApi Allows an application to tell the activity manager to temporarily
3632         stop application switches, putting it into a special mode that
3633         prevents applications from immediately switching away from some
3634         critical UI such as the home screen.
3635         @hide -->
3636    <permission android:name="android.permission.STOP_APP_SWITCHES"
3637        android:protectionLevel="signature|privileged|recents" />
3638
3639    <!-- @SystemApi Allows an application to retrieve private information about
3640         the current top activity, such as any assist context it can provide.
3641         <p>Not for use by third-party applications.
3642         @hide
3643    -->
3644    <permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"
3645        android:protectionLevel="signature|recents" />
3646
3647    <!-- Allows an application to retrieve the current state of keys and
3648         switches.
3649         <p>Not for use by third-party applications.
3650         @deprecated The API that used this permission has been removed. -->
3651    <permission android:name="android.permission.READ_INPUT_STATE"
3652        android:protectionLevel="signature" />
3653
3654    <!-- Must be required by an {@link android.inputmethodservice.InputMethodService},
3655         to ensure that only the system can bind to it.
3656         <p>Protection level: signature
3657    -->
3658    <permission android:name="android.permission.BIND_INPUT_METHOD"
3659        android:protectionLevel="signature" />
3660
3661    <!-- Must be required by an {@link android.media.midi.MidiDeviceService},
3662         to ensure that only the system can bind to it.
3663         <p>Protection level: signature
3664    -->
3665    <permission android:name="android.permission.BIND_MIDI_DEVICE_SERVICE"
3666        android:protectionLevel="signature" />
3667
3668    <!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
3669         to ensure that only the system can bind to it.
3670         <p>Protection level: signature
3671    -->
3672    <permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
3673        android:protectionLevel="signature" />
3674
3675    <!-- Must be required by a {@link android.printservice.PrintService},
3676         to ensure that only the system can bind to it.
3677         <p>Protection level: signature
3678    -->
3679    <permission android:name="android.permission.BIND_PRINT_SERVICE"
3680        android:protectionLevel="signature" />
3681
3682    <!-- Must be required by a {@link android.printservice.recommendation.RecommendationService},
3683     to ensure that only the system can bind to it.
3684     @hide
3685     @SystemApi
3686     <p>Protection level: signature
3687    -->
3688    <permission android:name="android.permission.BIND_PRINT_RECOMMENDATION_SERVICE"
3689            android:protectionLevel="signature" />
3690
3691    <!-- Allows applications to get the installed and enabled print services.
3692         @hide
3693         @SystemApi
3694         <p>Protection level: signature|preinstalled
3695    -->
3696    <permission android:name="android.permission.READ_PRINT_SERVICES"
3697        android:protectionLevel="signature|preinstalled" />
3698
3699    <!-- Allows applications to get the currently recommended print services for printers.
3700         @hide
3701         @SystemApi
3702         <p>Protection level: signature|preinstalled
3703    -->
3704    <permission android:name="android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS"
3705        android:protectionLevel="signature|preinstalled" />
3706
3707    <!-- Must be required by a {@link android.nfc.cardemulation.HostApduService}
3708         or {@link android.nfc.cardemulation.OffHostApduService} to ensure that only
3709         the system can bind to it.
3710         <p>Protection level: signature
3711    -->
3712    <permission android:name="android.permission.BIND_NFC_SERVICE"
3713        android:protectionLevel="signature" />
3714
3715    <!-- Must be required by a {@link android.service.quickaccesswallet.QuickAccessWalletService}
3716         to ensure that only the system can bind to it.
3717         <p>Protection level: signature
3718    -->
3719    <permission android:name="android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE"
3720                android:protectionLevel="signature" />
3721
3722    <!-- Must be required by the PrintSpooler to ensure that only the system can bind to it.
3723         @hide -->
3724    <permission android:name="android.permission.BIND_PRINT_SPOOLER_SERVICE"
3725        android:protectionLevel="signature" />
3726
3727    <!-- Must be required by the CompanionDeviceManager to ensure that only the system can bind to it.
3728         @hide -->
3729    <permission android:name="android.permission.BIND_COMPANION_DEVICE_MANAGER_SERVICE"
3730        android:protectionLevel="signature" />
3731
3732    <!-- Must be required by any
3733         {@link android.companion.CompanionDeviceService}s
3734         to ensure that only the system can bind to it. -->
3735    <permission android:name="android.permission.BIND_COMPANION_DEVICE_SERVICE"
3736                android:protectionLevel="signature" />
3737
3738    <!-- @SystemApi Must be required by the RuntimePermissionPresenterService to ensure
3739         that only the system can bind to it.
3740         @hide -->
3741    <permission android:name="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE"
3742        android:protectionLevel="signature" />
3743
3744    <!-- Must be required by a TextService (e.g. SpellCheckerService)
3745         to ensure that only the system can bind to it.
3746         <p>Protection level: signature
3747    -->
3748    <permission android:name="android.permission.BIND_TEXT_SERVICE"
3749        android:protectionLevel="signature" />
3750
3751    <!-- @SystemApi Must be required by a AttentionService
3752         to ensure that only the system can bind to it.
3753         <p>Protection level: signature
3754         @hide
3755    -->
3756    <permission android:name="android.permission.BIND_ATTENTION_SERVICE"
3757                android:protectionLevel="signature" />
3758    <uses-permission android:name="android.permission.BIND_ATTENTION_SERVICE" />
3759
3760    <!-- @SystemApi Must be required by a RotationResolverService
3761         to ensure that only the system can bind to it.
3762         <p>Protection level: signature
3763         @hide
3764    -->
3765    <permission android:name="android.permission.BIND_ROTATION_RESOLVER_SERVICE"
3766        android:protectionLevel="signature" />
3767    <uses-permission android:name="android.permission.BIND_ROTATION_RESOLVER_SERVICE" />
3768
3769    <!-- Must be required by a {@link android.net.VpnService},
3770         to ensure that only the system can bind to it.
3771         <p>Protection level: signature
3772    -->
3773    <permission android:name="android.permission.BIND_VPN_SERVICE"
3774        android:protectionLevel="signature" />
3775
3776    <!-- Must be required by a {@link android.service.wallpaper.WallpaperService},
3777         to ensure that only the system can bind to it.
3778         <p>Protection level: signature|privileged
3779    -->
3780    <permission android:name="android.permission.BIND_WALLPAPER"
3781        android:protectionLevel="signature|privileged" />
3782
3783    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService},
3784         to ensure that only the system can bind to it.
3785         <p>Protection level: signature
3786    -->
3787    <permission android:name="android.permission.BIND_VOICE_INTERACTION"
3788        android:protectionLevel="signature" />
3789
3790    <!-- @SystemApi Must be required by a {@link android.service.voice.HotwordDetectionService},
3791         to ensure that only the system can bind to it.
3792         <p>Protection level: signature
3793         @hide This is not a third-party API (intended for OEMs and system apps).
3794    -->
3795    <permission android:name="android.permission.BIND_HOTWORD_DETECTION_SERVICE"
3796        android:protectionLevel="signature" />
3797
3798    <!-- @SystemApi Allows an application to manage hotword detection on the device.
3799         <p>Protection level: internal|preinstalled
3800         @hide This is not a third-party API (intended for OEMs and system apps).
3801    -->
3802    <permission android:name="android.permission.MANAGE_HOTWORD_DETECTION"
3803                android:protectionLevel="internal|preinstalled" />
3804
3805    <!-- Must be required by a {@link android.service.autofill.AutofillService},
3806         to ensure that only the system can bind to it.
3807         <p>Protection level: signature
3808    -->
3809    <permission android:name="android.permission.BIND_AUTOFILL_SERVICE"
3810        android:protectionLevel="signature" />
3811
3812   <!-- Alternative version of android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE.
3813        This permission was renamed during the O previews but it was supported on the final O
3814        release, so we need to carry it over.
3815        <p>Protection level: signature
3816        @hide
3817    -->
3818    <permission android:name="android.permission.BIND_AUTOFILL"
3819        android:protectionLevel="signature" />
3820
3821    <!-- Must be required by an {@link android.service.autofill.AutofillFieldClassificationService}
3822         to ensure that only the system can bind to it.
3823         @hide This is not a third-party API (intended for OEMs and system apps).
3824    -->
3825    <permission android:name="android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE"
3826                android:protectionLevel="signature" />
3827
3828    <!-- Must be required by an {@link android.service.autofill.InlineSuggestionRenderService}
3829         to ensure that only the system can bind to it.
3830         @hide This is not a third-party API (intended for OEMs and system apps).
3831    -->
3832    <permission android:name="android.permission.BIND_INLINE_SUGGESTION_RENDER_SERVICE"
3833                android:protectionLevel="signature" />
3834
3835    <!-- Must be required by a android.service.textclassifier.TextClassifierService,
3836         to ensure that only the system can bind to it.
3837         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
3838         <p>Protection level: signature
3839    -->
3840    <permission android:name="android.permission.BIND_TEXTCLASSIFIER_SERVICE"
3841                android:protectionLevel="signature" />
3842
3843    <!-- Must be required by a android.service.contentcapture.ContentCaptureService,
3844         to ensure that only the system can bind to it.
3845         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
3846         <p>Protection level: signature
3847    -->
3848    <permission android:name="android.permission.BIND_CONTENT_CAPTURE_SERVICE"
3849                android:protectionLevel="signature" />
3850
3851    <!-- Must be required by a android.service.translation.TranslationService,
3852         to ensure that only the system can bind to it.
3853         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
3854         <p>Protection level: signature
3855     -->
3856    <permission android:name="android.permission.BIND_TRANSLATION_SERVICE"
3857                android:protectionLevel="signature" />
3858
3859    <!-- @SystemApi Allows apps to use ui translation functions.
3860         <p>Protection level: signature|privileged
3861         @hide Not for use by third-party applications.
3862    -->
3863    <permission android:name="android.permission.MANAGE_UI_TRANSLATION"
3864                android:protectionLevel="signature|privileged|role" />
3865
3866    <!-- Must be required by a android.service.contentsuggestions.ContentSuggestionsService,
3867         to ensure that only the system can bind to it.
3868         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
3869         <p>Protection level: signature
3870    -->
3871    <permission android:name="android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE"
3872                android:protectionLevel="signature" />
3873
3874    <!-- Must be declared by a android.service.musicrecognition.MusicRecognitionService,
3875         to ensure that only the system can bind to it.
3876         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
3877         <p>Protection level: signature
3878    -->
3879    <permission android:name="android.permission.BIND_MUSIC_RECOGNITION_SERVICE"
3880        android:protectionLevel="signature" />
3881
3882    <!-- Must be required by a android.service.autofill.augmented.AugmentedAutofillService,
3883         to ensure that only the system can bind to it.
3884         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
3885         <p>Protection level: signature
3886    -->
3887    <permission android:name="android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE"
3888                android:protectionLevel="signature" />
3889
3890    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService} implementation
3891         to enroll its own sound models. This is a more restrictive permission than the higher-level
3892         permission KEYPHRASE_ENROLLMENT_APPLICATION. For the caller to enroll sound models with
3893         this permission, it must hold the permission and be the active VoiceInteractionService in
3894         the system.
3895         {@see Settings.Secure.VOICE_INTERACTION_SERVICE}
3896         @hide -->
3897    <permission android:name="android.permission.MANAGE_VOICE_KEYPHRASES"
3898        android:protectionLevel="signature|privileged" />
3899
3900    <!-- Must be required by a keyphrase enrollment application, to enroll sound models. This is
3901         treated as a higher-level permission to MANAGE_VOICE_KEYPHRASES as a caller can enroll
3902         sound models at any time. This permission should be reserved for system enrollment
3903         applications detected by {@link android.hardware.soundtrigger.KeyphraseEnrollmentInfo}
3904         only.
3905         @hide <p>Not for use by third-party applications.</p> -->
3906    <permission android:name="android.permission.KEYPHRASE_ENROLLMENT_APPLICATION"
3907        android:protectionLevel="signature|privileged" />
3908
3909    <!-- Must be required by a {@link com.android.media.remotedisplay.RemoteDisplayProvider},
3910         to ensure that only the system can bind to it.
3911         @hide -->
3912    <permission android:name="android.permission.BIND_REMOTE_DISPLAY"
3913        android:protectionLevel="signature" />
3914
3915    <!-- Must be required by a {@link android.media.tv.TvInputService}
3916         to ensure that only the system can bind to it.
3917         <p>Protection level: signature|privileged
3918    -->
3919    <permission android:name="android.permission.BIND_TV_INPUT"
3920        android:protectionLevel="signature|privileged" />
3921
3922    <!-- @SystemApi
3923         Must be required by a {@link com.android.media.tv.remoteprovider.TvRemoteProvider}
3924         to ensure that only the system can bind to it.
3925         <p>Protection level: signature|privileged
3926         <p>Not for use by third-party applications. </p>
3927         @hide  -->
3928    <permission android:name="android.permission.BIND_TV_REMOTE_SERVICE"
3929        android:protectionLevel="signature|privileged" />
3930
3931    <!-- @SystemApi
3932         Must be required for a virtual remote controller for TV.
3933         <p>Protection level: signature|privileged
3934         <p>Not for use by third-party applications. </p>
3935         @hide  -->
3936    <permission android:name="android.permission.TV_VIRTUAL_REMOTE_CONTROLLER"
3937        android:protectionLevel="signature|privileged" />
3938
3939    <!-- Allows an application to change HDMI CEC active source.
3940         <p>Not for use by third-party applications.
3941         @hide -->
3942    <permission android:name="android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE"
3943        android:protectionLevel="signature|privileged" />
3944
3945    <!-- @SystemApi Allows an application to modify parental controls
3946         <p>Not for use by third-party applications.
3947         @hide -->
3948    <permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS"
3949        android:protectionLevel="signature|privileged" />
3950
3951    <!-- @SystemApi Allows an application to read TvContentRatingSystemInfo
3952         <p>Not for use by third-party applications.
3953         @hide -->
3954    <permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS"
3955        android:protectionLevel="signature|privileged" />
3956
3957    <!-- Allows an application to notify TV inputs by sending broadcasts.
3958         <p>Protection level: signature|privileged
3959         <p>Not for use by third-party applications.
3960         @hide @SystemApi -->
3961    <permission android:name="android.permission.NOTIFY_TV_INPUTS"
3962         android:protectionLevel="signature|privileged" />
3963
3964    <!-- This permission is required among systems services when accessing
3965         tuner resource management related APIs or information.
3966         <p>Protection level: signature|privileged|vendorPrivileged
3967         <p>This should only be used by the OEM TvInputService.
3968         @hide -->
3969    <permission android:name="android.permission.TUNER_RESOURCE_ACCESS"
3970         android:protectionLevel="signature|privileged|vendorPrivileged" />
3971
3972    <!-- This permission is required by Media Resource Manager Service when
3973         accessing its overridePid Api.
3974         <p>Protection level: signature
3975         <p>Not for use by third-party applications.
3976         @hide -->
3977    <permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID"
3978         android:protectionLevel="signature" />
3979    <uses-permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID" />
3980
3981    <!-- This permission is required by Media Resource Observer Service when
3982         accessing its registerObserver Api.
3983         <p>Protection level: signature|privileged
3984         <p>Not for use by third-party applications.
3985         @hide -->
3986    <permission android:name="android.permission.REGISTER_MEDIA_RESOURCE_OBSERVER"
3987         android:protectionLevel="signature|privileged" />
3988
3989    <!-- Must be required by a {@link android.media.routing.MediaRouteService}
3990         to ensure that only the system can interact with it.
3991         @hide -->
3992    <permission android:name="android.permission.BIND_ROUTE_PROVIDER"
3993        android:protectionLevel="signature" />
3994
3995    <!-- Must be required by device administration receiver, to ensure that only the
3996         system can interact with it.
3997         <p>Protection level: signature
3998    -->
3999    <permission android:name="android.permission.BIND_DEVICE_ADMIN"
4000        android:protectionLevel="signature" />
4001
4002    <!-- @SystemApi Required to add or remove another application as a device admin.
4003         <p>Not for use by third-party applications.
4004         @hide
4005         @removed -->
4006    <permission android:name="android.permission.MANAGE_DEVICE_ADMINS"
4007        android:protectionLevel="signature" />
4008
4009    <!-- @SystemApi Allows an app to reset the device password.
4010         <p>Not for use by third-party applications.
4011         @hide -->
4012    <permission android:name="android.permission.RESET_PASSWORD"
4013        android:protectionLevel="signature|privileged" />
4014
4015    <!-- @SystemApi Allows an app to lock the device.
4016         <p>Not for use by third-party applications.
4017         @hide -->
4018    <permission android:name="android.permission.LOCK_DEVICE"
4019        android:protectionLevel="signature|privileged" />
4020
4021    <!-- @SystemApi Allows low-level access to setting the orientation (actually
4022         rotation) of the screen.
4023         <p>Not for use by third-party applications.
4024         @hide
4025    -->
4026    <permission android:name="android.permission.SET_ORIENTATION"
4027        android:protectionLevel="signature|recents" />
4028
4029    <!-- @SystemApi Allows low-level access to setting the pointer speed.
4030         <p>Not for use by third-party applications.
4031         @hide
4032    -->
4033    <permission android:name="android.permission.SET_POINTER_SPEED"
4034        android:protectionLevel="signature" />
4035
4036    <!-- Allows low-level access to setting input device calibration.
4037         <p>Not for use by normal applications.
4038         @hide -->
4039    <permission android:name="android.permission.SET_INPUT_CALIBRATION"
4040        android:protectionLevel="signature" />
4041
4042    <!-- Allows low-level access to setting the keyboard layout.
4043         <p>Not for use by third-party applications.
4044         @hide -->
4045    <permission android:name="android.permission.SET_KEYBOARD_LAYOUT"
4046        android:protectionLevel="signature" />
4047
4048    <!-- Allows an app to schedule a prioritized alarm that can be used to perform
4049         background work even when the device is in doze.
4050         <p>Not for use by third-party applications.
4051         @hide
4052         @SystemApi
4053     -->
4054    <permission android:name="android.permission.SCHEDULE_PRIORITIZED_ALARM"
4055                android:protectionLevel="signature|privileged"/>
4056
4057    <!-- Allows applications to use exact alarm APIs.
4058         <p>Exact alarms should only be used for user-facing features.
4059         For more details, see <a
4060         href="{@docRoot}about/versions/12/behavior-changes-12#exact-alarm-permission">
4061         Exact alarm permission</a>.
4062         <p>Apps who hold this permission and target API level 31 or above, always stay in the
4063         {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_WORKING_SET WORKING_SET} or
4064         lower standby bucket.
4065         Applications targeting API level 30 or below do not need this permission to use
4066         exact alarm APIs.
4067     -->
4068    <permission android:name="android.permission.SCHEDULE_EXACT_ALARM"
4069        android:protectionLevel="normal|appop"/>
4070
4071    <!-- Allows an application to query tablet mode state and monitor changes
4072         in it.
4073         <p>Not for use by third-party applications.
4074         @hide -->
4075    <permission android:name="android.permission.TABLET_MODE"
4076        android:protectionLevel="signature" />
4077
4078    <!-- Allows an application to request installing packages. Apps
4079         targeting APIs greater than 25 must hold this permission in
4080         order to use {@link android.content.Intent#ACTION_INSTALL_PACKAGE}.
4081         <p>Protection level: signature
4082    -->
4083    <permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"
4084        android:label="@string/permlab_requestInstallPackages"
4085        android:description="@string/permdesc_requestInstallPackages"
4086        android:protectionLevel="signature|appop" />
4087
4088    <!-- Allows an application to request deleting packages. Apps
4089         targeting APIs {@link android.os.Build.VERSION_CODES#P} or greater must hold this
4090         permission in order to use {@link android.content.Intent#ACTION_UNINSTALL_PACKAGE} or
4091         {@link android.content.pm.PackageInstaller#uninstall}.
4092         <p>Protection level: normal
4093    -->
4094    <permission android:name="android.permission.REQUEST_DELETE_PACKAGES"
4095        android:label="@string/permlab_requestDeletePackages"
4096        android:description="@string/permdesc_requestDeletePackages"
4097        android:protectionLevel="normal" />
4098
4099    <!-- Allows an application to install packages.
4100    <p>Not for use by third-party applications. -->
4101    <permission android:name="android.permission.INSTALL_PACKAGES"
4102      android:protectionLevel="signature|privileged" />
4103
4104    <!-- @SystemApi Allows an application to install self updates. This is a limited version
4105         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
4106        <p>Not for use by third-party applications.
4107        @hide
4108    -->
4109    <permission android:name="android.permission.INSTALL_SELF_UPDATES"
4110        android:protectionLevel="signature|privileged" />
4111
4112    <!-- @SystemApi Allows an application to install updates. This is a limited version
4113         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
4114        <p>Not for use by third-party applications.
4115        @hide
4116    -->
4117    <permission android:name="android.permission.INSTALL_PACKAGE_UPDATES"
4118        android:protectionLevel="signature|privileged" />
4119
4120    <!-- Allows an application to install existing system packages. This is a limited
4121         version of {@link android.Manifest.permission#INSTALL_PACKAGES}.
4122         <p>Not for use by third-party applications.
4123         TODO(b/80204953): remove this permission once we have a long-term solution.
4124         @hide
4125    -->
4126    <permission android:name="com.android.permission.INSTALL_EXISTING_PACKAGES"
4127        android:protectionLevel="signature|privileged" />
4128
4129    <!-- Allows an application to use the package installer v2 APIs.
4130         <p>The package installer v2 APIs are still a work in progress and we're
4131         currently validating they work in all scenarios.
4132         <p>Not for use by third-party applications.
4133         @hide
4134    -->
4135    <permission android:name="com.android.permission.USE_INSTALLER_V2"
4136        android:protectionLevel="signature|privileged" />
4137
4138    <!-- @TestApi Allows a testOnly application to get installed.
4139        <p>Not for use by third-party applications.
4140        @hide
4141    -->
4142    <permission android:name="android.permission.INSTALL_TEST_ONLY_PACKAGE"
4143                android:protectionLevel="signature" />
4144
4145    <!-- Allows an application to use System Data Loaders.
4146         <p>Not for use by third-party applications.
4147         @hide
4148    -->
4149    <permission android:name="com.android.permission.USE_SYSTEM_DATA_LOADERS"
4150                android:protectionLevel="signature" />
4151
4152    <!-- @SystemApi @TestApi Allows an application to clear user data.
4153         <p>Not for use by third-party applications
4154         @hide
4155    -->
4156    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
4157        android:protectionLevel="signature|installer" />
4158
4159    <!-- @hide Allows an application to get the URI permissions
4160         granted to another application.
4161         <p>Not for use by third-party applications
4162    -->
4163    <permission android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS"
4164        android:protectionLevel="signature" />
4165
4166    <!-- @hide Allows an application to clear the URI permissions
4167         granted to another application.
4168         <p>Not for use by third-party applications
4169    -->
4170    <permission
4171        android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS"
4172        android:protectionLevel="signature" />
4173
4174    <!-- @hide
4175         Allows an application to change the status of Scoped Access Directory requests granted or
4176         rejected by the user.
4177         <p>This permission should <em>only</em> be requested by the platform
4178         settings app.  This permission cannot be granted to third-party apps.
4179         <p>Protection level: signature
4180    -->
4181    <permission
4182         android:name="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS"
4183         android:protectionLevel="signature" />
4184
4185    <!-- @hide
4186         Allows an application to change the status of a persistable URI permission granted
4187         to another application.
4188         <p>This permission should <em>only</em> be requested by the platform
4189         settings app.  This permission cannot be granted to third-party apps.
4190         <p>Protection level: signature
4191    -->
4192    <permission android:name="android.permission.FORCE_PERSISTABLE_URI_PERMISSIONS"
4193        android:protectionLevel="signature" />
4194
4195    <!-- Old permission for deleting an app's cache files, no longer used,
4196         but signals for us to quietly ignore calls instead of throwing an exception.
4197         <p>Protection level: signature|privileged -->
4198    <permission android:name="android.permission.DELETE_CACHE_FILES"
4199        android:protectionLevel="signature|privileged" />
4200
4201    <!-- Allows an application to delete cache files.
4202         @hide -->
4203    <permission android:name="android.permission.INTERNAL_DELETE_CACHE_FILES"
4204        android:protectionLevel="signature" />
4205
4206    <!-- Allows an application to delete packages.
4207         <p>Not for use by third-party applications.
4208         <p>Starting in {@link android.os.Build.VERSION_CODES#N}, user confirmation is requested
4209         when the application deleting the package is not the same application that installed the
4210         package. -->
4211    <permission android:name="android.permission.DELETE_PACKAGES"
4212        android:protectionLevel="signature|privileged" />
4213
4214    <!-- @SystemApi Allows an application to move location of installed package.
4215         @hide -->
4216    <permission android:name="android.permission.MOVE_PACKAGE"
4217        android:protectionLevel="signature|privileged" />
4218
4219    <!-- @TestApi Allows an application to keep uninstalled packages as apks.
4220         @hide -->
4221    <permission android:name="android.permission.KEEP_UNINSTALLED_PACKAGES"
4222        android:protectionLevel="signature" />
4223
4224    <!-- Allows an application to change whether an application component (other than its own) is
4225         enabled or not.
4226         <p>Not for use by third-party applications. -->
4227    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
4228        android:protectionLevel="signature|privileged" />
4229
4230    <!-- @SystemApi Allows an application to grant specific permissions.
4231         @hide -->
4232    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS"
4233        android:protectionLevel="signature|installer|verifier" />
4234
4235    <!-- @SystemApi Allows an app that has this permission and the permissions to install packages
4236         to request certain runtime permissions to be granted at installation.
4237         @hide -->
4238    <permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS"
4239        android:protectionLevel="signature|installer|verifier" />
4240
4241    <!-- @SystemApi Allows an application to revoke specific permissions.
4242        @hide -->
4243    <permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS"
4244         android:protectionLevel="signature|installer|verifier" />
4245
4246    <!-- @SystemApi Allows the system to read runtime permission state.
4247        @hide -->
4248    <permission android:name="android.permission.GET_RUNTIME_PERMISSIONS"
4249                android:protectionLevel="signature" />
4250
4251    <!-- @SystemApi Allows the system to restore runtime permission state. This might grant
4252    permissions, hence this is a more scoped, less powerful variant of GRANT_RUNTIME_PERMISSIONS.
4253    Among other restrictions this cannot override user choices.
4254    @hide -->
4255    <permission android:name="android.permission.RESTORE_RUNTIME_PERMISSIONS"
4256                android:protectionLevel="signature" />
4257
4258    <!-- @SystemApi Allows an application to change policy_fixed permissions.
4259    @hide -->
4260    <permission android:name="android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY"
4261                android:protectionLevel="signature|installer" />
4262
4263    <!-- @SystemApi @TestApi Allows an application to upgrade runtime permissions.
4264    @hide -->
4265    <permission android:name="android.permission.UPGRADE_RUNTIME_PERMISSIONS"
4266                android:protectionLevel="signature" />
4267
4268    <!-- @SystemApi Allows an application to allowlist restricted permissions
4269         on any of the whitelists.
4270    @hide -->
4271    <permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS"
4272                android:protectionLevel="signature|installer" />
4273
4274    <!-- @SystemApi Allows an application to an exempt an app from having its permission be
4275        auto-revoked when unused for an extended period of time.
4276        @hide -->
4277    <permission android:name="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS"
4278        android:protectionLevel="signature|installer" />
4279
4280    <!-- @hide Allows an application to observe permission changes. -->
4281    <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"
4282        android:protectionLevel="signature|privileged" />
4283
4284    <!-- @SystemApi Allows an application to start and stop one time permission sessions
4285    @hide -->
4286    <permission android:name="android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS"
4287                android:protectionLevel="signature|installer" />
4288
4289    <!-- @SystemApi Allows an application to manage the holders of a role.
4290         @hide -->
4291    <permission android:name="android.permission.MANAGE_ROLE_HOLDERS"
4292                android:protectionLevel="signature|installer" />
4293
4294    <!-- @SystemApi Allows an application to bypass role qualification. This allows switching role
4295         holders to otherwise non eligible holders. Only the shell is allowed to do this, the
4296         qualification for the shell role itself cannot be bypassed, and each role needs to
4297         explicitly allow bypassing qualification in its definition. The bypass state will not be
4298         persisted across reboot.
4299     @hide -->
4300    <permission android:name="android.permission.BYPASS_ROLE_QUALIFICATION"
4301                android:protectionLevel="internal|role" />
4302
4303    <!-- @SystemApi Allows an application to observe role holder changes.
4304         @hide -->
4305    <permission android:name="android.permission.OBSERVE_ROLE_HOLDERS"
4306                android:protectionLevel="signature|installer" />
4307
4308    <!-- Allows an application to manage the companion devices.
4309         @hide -->
4310    <permission android:name="android.permission.MANAGE_COMPANION_DEVICES"
4311                android:protectionLevel="signature" />
4312
4313    <!-- Allows an application to subscribe to notifications about the presence status change
4314         of their associated companion device
4315         -->
4316    <permission android:name="android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE"
4317                android:protectionLevel="normal" />
4318
4319    <!-- Allows an application to create new companion device associations.
4320         @SystemApi
4321         @hide -->
4322    <permission android:name="android.permission.ASSOCIATE_COMPANION_DEVICES"
4323        android:protectionLevel="internal|role" />
4324
4325    <!-- @SystemApi Allows an application to use SurfaceFlinger's low level features.
4326         <p>Not for use by third-party applications.
4327         @hide
4328    -->
4329    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
4330        android:protectionLevel="signature" />
4331
4332    <!-- @SystemApi Allows an application to rotate a surface by arbitrary degree.
4333         This is a sub-feature of ACCESS_SURFACE_FLINGER and can be granted in a more concrete way.
4334         <p>Not for use by third-party applications.
4335         @hide
4336    -->
4337    <permission android:name="android.permission.ROTATE_SURFACE_FLINGER"
4338        android:protectionLevel="signature|recents" />
4339
4340    <!-- Allows an application to take screen shots and more generally
4341         get access to the frame buffer data.
4342         <p>Not for use by third-party applications.
4343          @hide
4344          @removed -->
4345    <permission android:name="android.permission.READ_FRAME_BUFFER"
4346        android:protectionLevel="signature|recents" />
4347
4348    <!-- Allows an application to use InputFlinger's low level features.
4349         @hide -->
4350    <permission android:name="android.permission.ACCESS_INPUT_FLINGER"
4351        android:protectionLevel="signature" />
4352
4353    <!-- Allows an application to disable/enable input devices.
4354         Could be used to prevent unwanted touch events
4355         on a touchscreen, for example during swimming or rain.
4356         @hide -->
4357    <permission android:name="android.permission.DISABLE_INPUT_DEVICE"
4358        android:protectionLevel="signature" />
4359
4360    <!-- Allows an application to configure and connect to Wifi displays
4361         @hide
4362         @SystemApi -->
4363    <permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY"
4364        android:protectionLevel="signature" />
4365
4366    <!-- Allows an application to control low-level features of Wifi displays
4367         such as opening an RTSP socket.  This permission should only be used
4368         by the display manager.
4369         @hide -->
4370    <permission android:name="android.permission.CONTROL_WIFI_DISPLAY"
4371        android:protectionLevel="signature" />
4372
4373    <!-- Allows an application to control the color modes set for displays system-wide.
4374         <p>Not for use by third-party applications.</p>
4375         @hide -->
4376    <permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE"
4377        android:protectionLevel="signature" />
4378
4379    <!-- Allows an application to control the lights on the device.
4380         @hide
4381         @SystemApi
4382         @TestApi -->
4383    <permission android:name="android.permission.CONTROL_DEVICE_LIGHTS"
4384        android:protectionLevel="signature|privileged" />
4385
4386    <!-- Allows an application to control the color saturation of the display.
4387         @hide
4388         @SystemApi -->
4389    <permission android:name="android.permission.CONTROL_DISPLAY_SATURATION"
4390        android:protectionLevel="signature|privileged" />
4391
4392    <!-- Allows an application to control display color transformations.
4393         <p>Not for use by third-party applications.</p>
4394         @hide
4395         @SystemApi -->
4396    <permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS"
4397        android:protectionLevel="signature|privileged" />
4398
4399    <!-- Allows an application to collect usage infomation about brightness slider changes.
4400         <p>Not for use by third-party applications.</p>
4401         @hide
4402         @SystemApi
4403         @TestApi -->
4404    <permission android:name="android.permission.BRIGHTNESS_SLIDER_USAGE"
4405        android:protectionLevel="signature|privileged|development" />
4406
4407    <!-- Allows an application to collect ambient light stats.
4408         <p>Not for use by third party applications.</p>
4409         @hide
4410         @SystemApi -->
4411    <permission android:name="android.permission.ACCESS_AMBIENT_LIGHT_STATS"
4412        android:protectionLevel="signature|privileged|development" />
4413
4414    <!-- Allows an application to modify the display brightness configuration
4415         @hide
4416         @SystemApi
4417         @TestApi -->
4418    <permission android:name="android.permission.CONFIGURE_DISPLAY_BRIGHTNESS"
4419        android:protectionLevel="signature|privileged|development" />
4420
4421    <!-- Allows an application to control the system's display brightness
4422         @hide -->
4423    <permission android:name="android.permission.CONTROL_DISPLAY_BRIGHTNESS"
4424        android:protectionLevel="signature" />
4425
4426    <!-- Allows an application to override the display mode requests
4427         so the app requested mode will be selected and user settings and display
4428         policies will be ignored.
4429         @hide
4430         @TestApi -->
4431    <permission android:name="android.permission.OVERRIDE_DISPLAY_MODE_REQUESTS"
4432                android:protectionLevel="signature" />
4433
4434    <!-- Allows an application to modify the refresh rate switching type. This
4435         matches Setting.Secure.MATCH_CONTENT_FRAME_RATE.
4436         @hide
4437         @TestApi -->
4438    <permission android:name="android.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE"
4439                android:protectionLevel="signature" />
4440
4441    <!-- @SystemApi Allows an application to control VPN.
4442         <p>Not for use by third-party applications.</p>
4443         @hide -->
4444    <permission android:name="android.permission.CONTROL_VPN"
4445        android:protectionLevel="signature|privileged" />
4446    <uses-permission android:name="android.permission.CONTROL_VPN" />
4447
4448    <!-- Allows an application to access and modify always-on VPN configuration.
4449         <p>Not for use by third-party or privileged applications.
4450         @hide -->
4451    <permission android:name="android.permission.CONTROL_ALWAYS_ON_VPN"
4452        android:protectionLevel="signature" />
4453
4454    <!-- @SystemApi Allows an application to capture the audio from tuner input devices types,
4455     such as FM_TUNER.
4456
4457     <p>Not for use by third-party applications.</p>
4458     @hide -->
4459    <permission android:name="android.permission.CAPTURE_TUNER_AUDIO_INPUT"
4460                android:protectionLevel="signature|privileged" />
4461
4462    <!-- Allows an application to capture audio output.
4463         Use the {@code CAPTURE_MEDIA_OUTPUT} permission if only the {@code USAGE_UNKNOWN}),
4464         {@code USAGE_MEDIA}) or {@code USAGE_GAME}) usages are intended to be captured.
4465         <p>Not for use by third-party applications.</p> -->
4466    <permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"
4467        android:protectionLevel="signature|privileged|role" />
4468
4469    <!-- @SystemApi Allows an application to capture the audio played by other apps
4470         that have set an allow capture policy of
4471         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}.
4472
4473         Without this permission, only audio with an allow capture policy of
4474         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_ALL} can be used.
4475
4476         There are strong restriction listed at
4477         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
4478         on what an app can do with the captured audio.
4479
4480         See {@code CAPTURE_AUDIO_OUTPUT} for capturing audio use cases other than media playback.
4481
4482         <p>Not for use by third-party applications.</p>
4483         @hide -->
4484    <permission android:name="android.permission.CAPTURE_MEDIA_OUTPUT"
4485        android:protectionLevel="signature|privileged|role" />
4486
4487    <!-- @SystemApi Allows an application to capture the audio played by other apps
4488        with the {@code USAGE_VOICE_COMMUNICATION} usage.
4489
4490        The application may opt out of capturing by setting an allow capture policy of
4491        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_NONE}.
4492
4493        There are strong restriction listed at
4494        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
4495        on what an app can do with the captured audio.
4496
4497        See {@code CAPTURE_AUDIO_OUTPUT} and {@code CAPTURE_MEDIA_OUTPUT} for capturing
4498        audio use cases other than voice communication playback.
4499
4500        <p>Not for use by third-party applications.</p>
4501        @hide -->
4502    <permission android:name="android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT"
4503        android:protectionLevel="signature|privileged|role" />
4504
4505    <!-- @SystemApi Allows an application to capture audio for hotword detection.
4506         <p>Not for use by third-party applications.</p>
4507         @hide -->
4508    <permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD"
4509        android:protectionLevel="signature|privileged|role" />
4510
4511    <!-- Puts an application in the chain of trust for sound trigger
4512         operations. Being in the chain of trust allows an application to
4513         delegate an identity of a separate entity to the sound trigger system
4514         and vouch for the authenticity of this identity.
4515         <p>Not for use by third-party applications.</p>
4516         @hide -->
4517    <permission android:name="android.permission.SOUNDTRIGGER_DELEGATE_IDENTITY"
4518        android:protectionLevel="signature|privileged" />
4519
4520    <!-- @SystemApi Allows an application to modify audio routing and override policy decisions.
4521         <p>Not for use by third-party applications.</p>
4522         @hide -->
4523    <permission android:name="android.permission.MODIFY_AUDIO_ROUTING"
4524        android:protectionLevel="signature|privileged|role" />
4525
4526    <!-- @TestApi Allows an application to query audio related state.
4527         @hide -->
4528    <permission android:name="android.permission.QUERY_AUDIO_STATE"
4529                android:protectionLevel="signature" />
4530
4531    <!-- Allows an application to modify what effects are applied to all audio
4532         (matching certain criteria) from any application.
4533         <p>Not for use by third-party applications.</p>
4534         @hide -->
4535    <permission android:name="android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS"
4536        android:protectionLevel="signature|privileged" />
4537
4538    <!-- @SystemApi Allows an application to disable system sound effects when the user exits one of
4539         the application's activities.
4540         <p>Not for use by third-party applications.</p>
4541         @hide -->
4542    <permission android:name="android.permission.DISABLE_SYSTEM_SOUND_EFFECTS"
4543        android:protectionLevel="signature|privileged" />
4544
4545    <!-- @SystemApi Allows an application to provide remote displays.
4546         <p>Not for use by third-party applications.</p>
4547         @hide -->
4548    <permission android:name="android.permission.REMOTE_DISPLAY_PROVIDER"
4549        android:protectionLevel="signature|privileged" />
4550
4551    <!-- Allows an application to capture video output.
4552         <p>Not for use by third-party applications.</p>
4553          @hide
4554          @removed -->
4555    <permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"
4556        android:protectionLevel="signature" />
4557
4558    <!-- Allows an application to capture secure video output.
4559         <p>Not for use by third-party applications.</p>
4560          @hide
4561          @removed -->
4562    <permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT"
4563        android:protectionLevel="signature" />
4564
4565    <!-- Allows an application to know what content is playing and control its playback.
4566         <p>Not for use by third-party applications due to privacy of media consumption</p>  -->
4567    <permission android:name="android.permission.MEDIA_CONTENT_CONTROL"
4568        android:protectionLevel="signature|privileged" />
4569
4570    <!-- @SystemApi @hide Allows an application to set the volume key long-press listener.
4571         <p>When it's set, the application will receive the volume key long-press event
4572         instead of changing volume.</p>
4573         <p>Not for use by third-party applications</p> -->
4574    <permission android:name="android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER"
4575        android:protectionLevel="signature|privileged|development" />
4576
4577    <!-- @SystemApi @hide Allows an application to set media key event listener.
4578         <p>When it's set, the application will receive the media key event before
4579         any other media sessions. If the event is handled by the listener, other sessions
4580         cannot get the event.</p>
4581         <p>Not for use by third-party applications</p> -->
4582    <permission android:name="android.permission.SET_MEDIA_KEY_LISTENER"
4583        android:protectionLevel="signature|privileged|development" />
4584
4585    <!-- @SystemApi Required to be able to disable the device (very dangerous!).
4586         <p>Not for use by third-party applications.
4587         @hide
4588    -->
4589    <permission android:name="android.permission.BRICK"
4590        android:protectionLevel="signature" />
4591
4592    <!-- Required to be able to reboot the device.
4593    <p>Not for use by third-party applications. -->
4594    <permission android:name="android.permission.REBOOT"
4595        android:protectionLevel="signature|privileged" />
4596
4597   <!-- @SystemApi Allows low-level access to power management.
4598        <p>Not for use by third-party applications.
4599        @hide
4600    -->
4601   <permission android:name="android.permission.DEVICE_POWER"
4602        android:protectionLevel="signature" />
4603
4604    <!-- Allows toggling battery saver on the system.
4605         Superseded by DEVICE_POWER permission. @hide @SystemApi
4606    -->
4607    <permission android:name="android.permission.POWER_SAVER"
4608        android:protectionLevel="signature|privileged" />
4609
4610    <!-- Allows providing the system with battery predictions.
4611         Superseded by DEVICE_POWER permission. @hide @SystemApi
4612    -->
4613    <permission android:name="android.permission.BATTERY_PREDICTION"
4614        android:protectionLevel="signature|privileged" />
4615
4616   <!-- Allows access to the PowerManager.userActivity function.
4617   <p>Not for use by third-party applications. @hide @SystemApi -->
4618    <permission android:name="android.permission.USER_ACTIVITY"
4619        android:protectionLevel="signature|privileged" />
4620
4621   <!-- @hide Allows low-level access to tun tap driver -->
4622    <permission android:name="android.permission.NET_TUNNELING"
4623        android:protectionLevel="signature" />
4624
4625    <!-- Run as a manufacturer test application, running as the root user.
4626         Only available when the device is running in manufacturer test mode.
4627         <p>Not for use by third-party applications.
4628    -->
4629    <permission android:name="android.permission.FACTORY_TEST"
4630        android:protectionLevel="signature" />
4631
4632    <!-- @hide @TestApi @SystemApi Allows an application to broadcast the intent {@link
4633         android.content.Intent#ACTION_CLOSE_SYSTEM_DIALOGS}.
4634         <p>Not for use by third-party applications.
4635    -->
4636    <permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS"
4637        android:protectionLevel="signature|privileged|recents" />
4638    <uses-permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS" />
4639
4640    <!-- Allows an application to broadcast a notification that an application
4641         package has been removed.
4642         <p>Not for use by third-party applications.
4643    -->
4644    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
4645        android:protectionLevel="signature" />
4646
4647    <!-- Allows an application to broadcast an SMS receipt notification.
4648         <p>Not for use by third-party applications.
4649    -->
4650    <permission android:name="android.permission.BROADCAST_SMS"
4651        android:protectionLevel="signature" />
4652
4653    <!-- Allows an application to broadcast a WAP PUSH receipt notification.
4654         <p>Not for use by third-party applications.
4655    -->
4656    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
4657        android:protectionLevel="signature" />
4658
4659    <!-- @SystemApi Allows an application to broadcast privileged networking requests.
4660         <p>Not for use by third-party applications.
4661         @hide
4662         @deprecated Use {@link android.Manifest.permission#REQUEST_NETWORK_SCORES} instead
4663    -->
4664    <permission android:name="android.permission.BROADCAST_NETWORK_PRIVILEGED"
4665        android:protectionLevel="signature|privileged" />
4666
4667    <!-- Not for use by third-party applications. -->
4668    <permission android:name="android.permission.MASTER_CLEAR"
4669        android:protectionLevel="signature|privileged" />
4670
4671    <!-- Allows an application to call any phone number, including emergency
4672         numbers, without going through the Dialer user interface for the user
4673         to confirm the call being placed.
4674         <p>Not for use by third-party applications. -->
4675    <permission android:name="android.permission.CALL_PRIVILEGED"
4676        android:protectionLevel="signature|privileged" />
4677
4678    <!-- @SystemApi Allows an application to perform CDMA OTA provisioning @hide -->
4679    <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"
4680        android:protectionLevel="signature|privileged" />
4681
4682    <!-- @SystemApi Allows an application to perform SIM Activation @hide -->
4683    <permission android:name="android.permission.PERFORM_SIM_ACTIVATION"
4684        android:protectionLevel="signature|privileged" />
4685
4686    <!-- Allows enabling/disabling location update notifications from
4687         the radio.
4688         <p>Not for use by third-party applications. -->
4689    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
4690        android:protectionLevel="signature|privileged" />
4691
4692    <!-- Allows read/write access to the "properties" table in the checkin
4693         database, to change values that get uploaded.
4694         <p>Not for use by third-party applications. -->
4695    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
4696        android:protectionLevel="signature|privileged" />
4697
4698    <!-- Allows an application to collect component usage
4699         statistics
4700         <p>Declaring the permission implies intention to use the API and the user of the
4701         device can grant permission through the Settings application.
4702         <p>Protection level: signature|privileged|development|appop|retailDemo -->
4703    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
4704        android:protectionLevel="signature|privileged|development|appop|retailDemo" />
4705    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
4706
4707    <!-- Allows a data loader to read a package's access logs. The access logs contain the
4708         set of pages referenced over time.
4709         <p>Declaring the permission implies intention to use the API and the user of the
4710         device can grant permission through the Settings application.
4711         <p>Protection level: signature|privileged|appop
4712         <p>A data loader has to be the one which provides data to install an app.
4713         <p>A data loader has to have both permission:LOADER_USAGE_STATS AND
4714         appop:LOADER_USAGE_STATS allowed to be able to access the read logs. -->
4715    <permission android:name="android.permission.LOADER_USAGE_STATS"
4716        android:protectionLevel="signature|privileged|appop" />
4717    <uses-permission android:name="android.permission.LOADER_USAGE_STATS" />
4718
4719    <!-- @hide @SystemApi Allows an application to observe usage time of apps. The app can register
4720         for callbacks when apps reach a certain usage time limit, etc. -->
4721    <permission android:name="android.permission.OBSERVE_APP_USAGE"
4722        android:protectionLevel="signature|privileged" />
4723
4724    <!-- @hide @TestApi @SystemApi Allows an application to change the app idle state of an app.
4725         <p>Not for use by third-party applications. -->
4726    <permission android:name="android.permission.CHANGE_APP_IDLE_STATE"
4727        android:protectionLevel="signature|privileged" />
4728
4729    <!-- @hide @SystemApi Allows an application to temporarily allowlist an inactive app to
4730         access the network and acquire wakelocks.
4731         <p>Not for use by third-party applications. -->
4732    <permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"
4733        android:protectionLevel="signature|privileged" />
4734
4735    <!-- Permission an application must hold in order to use
4736         {@link android.provider.Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS}.
4737         <p>Protection level: normal -->
4738    <permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
4739        android:label="@string/permlab_requestIgnoreBatteryOptimizations"
4740        android:description="@string/permdesc_requestIgnoreBatteryOptimizations"
4741        android:protectionLevel="normal" />
4742
4743    <!-- Allows an application to collect battery statistics
4744         <p>Protection level: signature|privileged|development -->
4745    <permission android:name="android.permission.BATTERY_STATS"
4746        android:protectionLevel="signature|privileged|development" />
4747
4748    <!--Allows an application to manage statscompanion.
4749    <p>Not for use by third-party applications.
4750         @hide -->
4751    <permission android:name="android.permission.STATSCOMPANION"
4752        android:protectionLevel="signature" />
4753
4754    <!--@SystemApi @hide Allows an application to register stats pull atom callbacks.
4755    <p>Not for use by third-party applications.-->
4756    <permission android:name="android.permission.REGISTER_STATS_PULL_ATOM"
4757                android:protectionLevel="signature|privileged" />
4758
4759    <!-- @SystemApi Allows an application to control the backup and restore process.
4760    <p>Not for use by third-party applications.
4761         @hide pending API council -->
4762    <permission android:name="android.permission.BACKUP"
4763        android:protectionLevel="signature|privileged" />
4764
4765    <!-- @SystemApi Allows an application to make modifications to device settings such that these
4766         modifications will be overridden by settings restore..
4767    <p>Not for use by third-party applications.
4768         @hide -->
4769    <permission android:name="android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE"
4770                android:protectionLevel="signature|setup" />
4771
4772    <!-- @SystemApi Allows application to manage
4773         {@link android.security.keystore.recovery.RecoveryController}.
4774         <p>Not for use by third-party applications.
4775         @hide -->
4776    <permission android:name="android.permission.RECOVER_KEYSTORE"
4777        android:protectionLevel="signature|privileged" />
4778
4779    <!-- Allows a package to launch the secure full-backup confirmation UI.
4780         ONLY the system process may hold this permission.
4781         @hide -->
4782    <permission android:name="android.permission.CONFIRM_FULL_BACKUP"
4783        android:protectionLevel="signature" />
4784
4785    <!-- Must be required by a {@link android.widget.RemoteViewsService},
4786         to ensure that only the system can bind to it.
4787         <p>Protection level: signature|privileged -->
4788    <permission android:name="android.permission.BIND_REMOTEVIEWS"
4789        android:protectionLevel="signature|privileged" />
4790
4791    <!-- Allows an application to tell the AppWidget service which application
4792         can access AppWidget's data.  The normal user flow is that a user
4793         picks an AppWidget to go into a particular host, thereby giving that
4794         host application access to the private data from the AppWidget app.
4795         An application that has this permission should honor that contract.
4796         <p>Not for use by third-party applications. -->
4797    <permission android:name="android.permission.BIND_APPWIDGET"
4798        android:protectionLevel="signature|privileged" />
4799
4800    <!-- @hide Allows sysui to manage user grants of slice permissions. -->
4801    <permission android:name="android.permission.MANAGE_SLICE_PERMISSIONS"
4802        android:protectionLevel="signature" />
4803
4804    <!-- @SystemApi Private permission, to restrict who can bring up a dialog to add a new
4805         keyguard widget
4806         @hide -->
4807    <permission android:name="android.permission.BIND_KEYGUARD_APPWIDGET"
4808        android:protectionLevel="signature|privileged" />
4809
4810    <!-- @SystemApi Internal permission allowing an application to query/set which
4811         applications can bind AppWidgets.
4812         @hide -->
4813    <permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"
4814        android:protectionLevel="signature|privileged" />
4815
4816    <!-- Allows applications to change the background data setting.
4817    <p>Not for use by third-party applications.
4818         @hide pending API council -->
4819    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
4820        android:protectionLevel="signature" />
4821
4822    <!-- This permission can be used on content providers to allow the global
4823         search system to access their data.  Typically it used when the
4824         provider has some permissions protecting it (which global search
4825         would not be expected to hold), and added as a read-only permission
4826         to the path in the provider where global search queries are
4827         performed.  This permission can not be held by regular applications;
4828         it is used by applications to protect themselves from everyone else
4829         besides global search.
4830         <p>Protection level: signature|privileged -->
4831    <permission android:name="android.permission.GLOBAL_SEARCH"
4832        android:protectionLevel="signature|privileged" />
4833
4834    <!-- Internal permission protecting access to the global search
4835         system: ensures that only the system can access the provider
4836         to perform queries (since this otherwise provides unrestricted
4837         access to a variety of content providers), and to write the
4838         search statistics (to keep applications from gaming the source
4839         ranking).
4840         @hide -->
4841    <permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"
4842        android:protectionLevel="signature" />
4843
4844    <!-- @SystemApi Internal permission to allows an application to read indexable data.
4845        @hide -->
4846    <permission android:name="android.permission.READ_SEARCH_INDEXABLES"
4847        android:protectionLevel="signature|privileged" />
4848
4849    <!-- @SystemApi Internal permission to allows an application to bind to suggestion service.
4850        @hide -->
4851    <permission android:name="android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE"
4852                android:protectionLevel="signature" />
4853
4854    <!-- @hide Internal permission to allows an application to access card content provider. -->
4855    <permission android:name="android.permission.WRITE_SETTINGS_HOMEPAGE_DATA"
4856                android:protectionLevel="signature|privileged" />
4857
4858    <!-- @SystemApi Allows applications to set a live wallpaper.
4859         @hide XXX Change to signature once the picker is moved to its
4860         own apk as Ghod Intended. -->
4861    <permission android:name="android.permission.SET_WALLPAPER_COMPONENT"
4862        android:protectionLevel="signature|privileged" />
4863
4864    <!-- @SystemApi Allows applications to read dream settings and dream state.
4865         @hide -->
4866    <permission android:name="android.permission.READ_DREAM_STATE"
4867        android:protectionLevel="signature|privileged" />
4868
4869    <!-- @SystemApi Allows applications to write dream settings, and start or stop dreaming.
4870         @hide -->
4871    <permission android:name="android.permission.WRITE_DREAM_STATE"
4872        android:protectionLevel="signature|privileged" />
4873
4874    <!-- @hide Allows applications to read whether ambient display is suppressed. -->
4875    <permission android:name="android.permission.READ_DREAM_SUPPRESSION"
4876        android:protectionLevel="signature" />
4877
4878    <!-- @SystemApi Allow an application to read and write the cache partition.
4879         @hide -->
4880    <permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
4881        android:protectionLevel="signature|privileged" />
4882
4883    <!-- Must be required by default container service so that only
4884         the system can bind to it and use it to copy
4885         protected data to secure containers or files
4886         accessible to the system.
4887         @hide -->
4888    <permission android:name="android.permission.COPY_PROTECTED_DATA"
4889        android:protectionLevel="signature" />
4890
4891    <!-- @SystemApi Internal permission protecting access to the encryption methods
4892        @hide
4893    -->
4894    <permission android:name="android.permission.CRYPT_KEEPER"
4895        android:protectionLevel="signature|privileged" />
4896
4897    <!-- @SystemApi Allows an application to read historical network usage for
4898         specific networks and applications. @hide -->
4899    <permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"
4900        android:protectionLevel="signature|privileged" />
4901
4902    <!-- Allows an application to manage network policies (such as warning and disable
4903         limits) and to define application-specific rules. @hide -->
4904    <permission android:name="android.permission.MANAGE_NETWORK_POLICY"
4905        android:protectionLevel="signature" />
4906
4907    <!-- @SystemApi @hide @deprecated use UPDATE_DEVICE_STATS instead -->
4908    <permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"
4909        android:protectionLevel="signature|privileged" />
4910
4911    <!-- @SystemApi @hide Allows an application to manage carrier subscription plans. -->
4912    <permission android:name="android.permission.MANAGE_SUBSCRIPTION_PLANS"
4913        android:protectionLevel="signature|privileged" />
4914
4915    <!-- C2DM permission.
4916         @hide Used internally.
4917     -->
4918    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
4919          android:protectionLevel="signature" />
4920    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
4921
4922    <!-- @SystemApi @hide Package verifier needs to have this permission before the PackageManager will
4923         trust it to verify packages.
4924    -->
4925    <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
4926        android:protectionLevel="signature|privileged" />
4927
4928    <!-- Must be required by package verifier receiver, to ensure that only the
4929         system can interact with it.
4930         @hide
4931    -->
4932    <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
4933        android:protectionLevel="signature" />
4934
4935    <!-- @hide Rollback manager needs to have this permission before the PackageManager will
4936         trust it to enable rollback.
4937    -->
4938    <permission android:name="android.permission.PACKAGE_ROLLBACK_AGENT"
4939        android:protectionLevel="signature" />
4940
4941    <!-- @SystemApi @TestApi @hide Allows managing apk level rollbacks. -->
4942    <permission android:name="android.permission.MANAGE_ROLLBACKS"
4943        android:protectionLevel="signature|privileged" />
4944
4945    <!-- @TestApi @hide Allows testing apk level rollbacks. -->
4946    <permission android:name="android.permission.TEST_MANAGE_ROLLBACKS"
4947        android:protectionLevel="signature" />
4948
4949    <!-- @SystemApi @hide Allows an application to mark other applications as harmful -->
4950    <permission android:name="android.permission.SET_HARMFUL_APP_WARNINGS"
4951        android:protectionLevel="signature|verifier" />
4952
4953    <!-- @SystemApi @hide Intent filter verifier needs to have this permission before the
4954         PackageManager will trust it to verify intent filters.
4955    -->
4956    <permission android:name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"
4957        android:protectionLevel="signature|privileged" />
4958
4959    <!-- Must be required by intent filter verifier rintent-filtereceiver, to ensure that only the
4960         system can interact with it.
4961         @hide
4962    -->
4963    <permission android:name="android.permission.BIND_INTENT_FILTER_VERIFIER"
4964        android:protectionLevel="signature" />
4965
4966    <!-- @SystemApi @hide Domain verification agent package needs to have this permission before the
4967         system will trust it to verify domains.
4968
4969         TODO(159952358): STOPSHIP: This must be updated to the new "internal" protectionLevel
4970    -->
4971    <permission android:name="android.permission.DOMAIN_VERIFICATION_AGENT"
4972        android:protectionLevel="internal|privileged" />
4973
4974    <!-- @SystemApi @hide Must be required by the domain verification agent's intent
4975         BroadcastReceiver, to ensure that only the system can interact with it.
4976    -->
4977    <permission android:name="android.permission.BIND_DOMAIN_VERIFICATION_AGENT"
4978        android:protectionLevel="signature" />
4979
4980    <!-- @SystemApi @hide Allows an app like Settings to update the user's grants to what domains
4981         an app is allowed to automatically open.
4982    -->
4983    <permission android:name="android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION"
4984        android:protectionLevel="signature" />
4985
4986    <!-- @SystemApi Allows applications to access serial ports via the SerialManager.
4987         @hide -->
4988    <permission android:name="android.permission.SERIAL_PORT"
4989        android:protectionLevel="signature|privileged" />
4990
4991    <!-- Allows the holder to access content providers from outside an ApplicationThread.
4992         This permission is enforced by the ActivityManagerService on the corresponding APIs,
4993         in particular ActivityManagerService#getContentProviderExternal(String) and
4994         ActivityManagerService#removeContentProviderExternal(String).
4995         @hide
4996    -->
4997    <permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
4998        android:protectionLevel="signature" />
4999
5000    <!-- @SystemApi Allows an application to hold an UpdateLock, recommending that a headless
5001         OTA reboot *not* occur while the lock is held.
5002         @hide -->
5003    <permission android:name="android.permission.UPDATE_LOCK"
5004        android:protectionLevel="signature|privileged" />
5005
5006    <!-- @SystemApi Allows an application the opportunity to become a
5007         {@link android.service.notification.NotificationAssistantService}.
5008         User permission is still required before access is granted.
5009         @hide -->
5010    <permission android:name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE"
5011                android:protectionLevel="signature|privileged|role" />
5012
5013    <!-- @SystemApi @TestApi Allows an application to read the current set of notifications, including
5014         any metadata and intents attached.
5015         @hide -->
5016    <permission android:name="android.permission.ACCESS_NOTIFICATIONS"
5017        android:protectionLevel="signature|privileged|appop" />
5018
5019    <!-- Marker permission for applications that wish to access notification policy. This permission
5020        is not supported on managed profiles.
5021         <p>Protection level: normal
5022    -->
5023    <permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"
5024        android:description="@string/permdesc_access_notification_policy"
5025        android:label="@string/permlab_access_notification_policy"
5026        android:protectionLevel="normal" />
5027
5028    <!-- Allows modification of do not disturb rules and policies. Only allowed for system
5029        processes.
5030        @hide -->
5031    <permission android:name="android.permission.MANAGE_NOTIFICATIONS"
5032                android:protectionLevel="signature" />
5033
5034    <!-- @SystemApi @TestApi Allows adding/removing enabled notification listener components.
5035        @hide -->
5036    <permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS"
5037                android:protectionLevel="signature|installer" />
5038    <uses-permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS" />
5039
5040    <!-- Allows notifications to be colorized
5041         <p>Not for use by third-party applications. @hide -->
5042    <permission android:name="android.permission.USE_COLORIZED_NOTIFICATIONS"
5043                android:protectionLevel="signature|setup" />
5044
5045    <!-- Allows access to keyguard secure storage.  Only allowed for system processes.
5046        @hide -->
5047    <permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
5048        android:protectionLevel="signature|setup" />
5049
5050    <!-- Allows applications to set the initial lockscreen state.
5051         <p>Not for use by third-party applications. @hide -->
5052    <permission android:name="android.permission.SET_INITIAL_LOCK"
5053        android:protectionLevel="signature|setup"/>
5054
5055    <!-- @TestApi Allows applications to set and verify lockscreen credentials.
5056        @hide -->
5057    <permission android:name="android.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS"
5058                android:protectionLevel="signature"/>
5059
5060    <!-- Allows managing (adding, removing) fingerprint templates. Reserved for the system. @hide -->
5061    <permission android:name="android.permission.MANAGE_FINGERPRINT"
5062        android:protectionLevel="signature|privileged" />
5063
5064    <!-- Allows an app to reset fingerprint attempt counter. Reserved for the system. @hide -->
5065    <permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT"
5066        android:protectionLevel="signature" />
5067
5068    <!-- Allows access to TestApis for various components in the biometric stack, including
5069         FingerprintService, FaceService, BiometricService. Used by com.android.server.biometrics
5070         CTS tests. @hide @TestApi -->
5071    <permission android:name="android.permission.TEST_BIOMETRIC"
5072        android:protectionLevel="signature" />
5073
5074    <!-- Allows direct access to the <Biometric>Service interfaces. Reserved for the system. @hide -->
5075    <permission android:name="android.permission.MANAGE_BIOMETRIC"
5076        android:protectionLevel="signature" />
5077
5078    <!-- Allows direct access to the <Biometric>Service authentication methods. Reserved for the system. @hide -->
5079    <permission android:name="android.permission.USE_BIOMETRIC_INTERNAL"
5080        android:protectionLevel="signature" />
5081
5082    <!-- Allows the system to control the BiometricDialog (SystemUI). Reserved for the system. @hide -->
5083    <permission android:name="android.permission.MANAGE_BIOMETRIC_DIALOG"
5084        android:protectionLevel="signature" />
5085
5086    <!-- Allows an application to control keyguard.  Only allowed for system processes.
5087        @hide -->
5088    <permission android:name="android.permission.CONTROL_KEYGUARD"
5089        android:protectionLevel="signature" />
5090
5091    <!-- @SystemApi Allows an application to control keyguard features like secure notifications.
5092         @hide -->
5093    <permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS"
5094        android:protectionLevel="signature|privileged" />
5095
5096    <!-- Allows an application to listen to trust changes.  Only allowed for system processes.
5097        @hide -->
5098    <permission android:name="android.permission.TRUST_LISTENER"
5099        android:protectionLevel="signature" />
5100
5101    <!-- @SystemApi Allows an application to provide a trust agent.
5102         @hide For security reasons, this is a platform-only permission. -->
5103    <permission android:name="android.permission.PROVIDE_TRUST_AGENT"
5104        android:protectionLevel="signature|privileged" />
5105
5106    <!-- @SystemApi Allows an application to show a message
5107         on the keyguard when asking to dismiss it.
5108         @hide For security reasons, this is a platform-only permission. -->
5109    <permission android:name="android.permission.SHOW_KEYGUARD_MESSAGE"
5110        android:protectionLevel="signature|privileged" />
5111
5112    <!-- Allows an application to launch the trust agent settings activity.
5113        @hide -->
5114    <permission android:name="android.permission.LAUNCH_TRUST_AGENT_SETTINGS"
5115        android:protectionLevel="signature|privileged" />
5116
5117    <!-- @SystemApi Must be required by an {@link
5118        android.service.trust.TrustAgentService},
5119        to ensure that only the system can bind to it.
5120        @hide -->
5121    <permission android:name="android.permission.BIND_TRUST_AGENT"
5122        android:protectionLevel="signature" />
5123
5124    <!-- Must be required by an {@link
5125         android.service.notification.NotificationListenerService},
5126         to ensure that only the system can bind to it.
5127         <p>Protection level: signature
5128    -->
5129    <permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
5130        android:protectionLevel="signature" />
5131
5132    <!-- @SystemApi Must be required by an {@link
5133         android.service.notification.NotificationAssistantService} to ensure that only the system
5134         can bind to it.
5135         <p>Protection level: signature
5136         @hide
5137    -->
5138    <permission android:name="android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE"
5139        android:protectionLevel="signature" />
5140
5141    <!-- Must be required by a {@link
5142         android.service.chooser.ChooserTargetService}, to ensure that
5143         only the system can bind to it.
5144         <p>Protection level: signature
5145
5146         @deprecated For publishing direct share targets, please follow the instructions in
5147         https://developer.android.com/training/sharing/receive.html#providing-direct-share-targets
5148         instead.
5149    -->
5150    <permission android:name="android.permission.BIND_CHOOSER_TARGET_SERVICE"
5151        android:protectionLevel="signature" />
5152
5153    <!-- @SystemApi Must be held by services that extend
5154         {@link android.service.resolver.ResolverRankerService}.
5155         <p>Protection level: signature|privileged
5156         @hide
5157    -->
5158    <permission android:name="android.permission.PROVIDE_RESOLVER_RANKER_SERVICE"
5159                android:protectionLevel="signature|privileged" />
5160
5161    <!-- @SystemApi Must be required by services that extend
5162         {@link android.service.resolver.ResolverRankerService}, to ensure that only the system can
5163         bind to them.
5164         <p>Protection level: signature
5165         @hide
5166    -->
5167    <permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE"
5168        android:protectionLevel="signature" />
5169
5170    <!-- Must be required by a {@link
5171         android.service.notification.ConditionProviderService},
5172         to ensure that only the system can bind to it.
5173         <p>Protection level: signature
5174         -->
5175    <permission android:name="android.permission.BIND_CONDITION_PROVIDER_SERVICE"
5176        android:protectionLevel="signature" />
5177
5178    <!-- Must be required by an {@link android.service.dreams.DreamService},
5179         to ensure that only the system can bind to it.
5180         <p>Protection level: signature
5181    -->
5182    <permission android:name="android.permission.BIND_DREAM_SERVICE"
5183        android:protectionLevel="signature" />
5184
5185    <!-- Must be required by an {@link android.app.usage.CacheQuotaService} to ensure that only the
5186         system can bind to it.
5187         @hide This is not a third-party API (intended for OEMs and system apps).
5188    -->
5189    <permission android:name="android.permission.BIND_CACHE_QUOTA_SERVICE"
5190                android:protectionLevel="signature" />
5191
5192    <!-- @SystemApi Allows an application to call into a carrier setup flow. It is up to the
5193         carrier setup application to enforce that this permission is required
5194         @hide This is not a third-party API (intended for OEMs and system apps). -->
5195    <permission android:name="android.permission.INVOKE_CARRIER_SETUP"
5196        android:protectionLevel="signature|privileged" />
5197
5198    <!-- @SystemApi Allows an application to listen for network condition observations.
5199         @hide This is not a third-party API (intended for system apps). -->
5200    <permission android:name="android.permission.ACCESS_NETWORK_CONDITIONS"
5201        android:protectionLevel="signature|privileged" />
5202
5203    <!-- @SystemApi Allows an application to provision and access DRM certificates
5204         @hide This is not a third-party API (intended for system apps). -->
5205    <permission android:name="android.permission.ACCESS_DRM_CERTIFICATES"
5206        android:protectionLevel="signature|privileged" />
5207
5208    <!-- Api Allows an application to manage media projection sessions.
5209         @hide This is not a third-party API (intended for system apps). -->
5210    <permission android:name="android.permission.MANAGE_MEDIA_PROJECTION"
5211        android:protectionLevel="signature" />
5212
5213    <!-- @SystemApi Allows an application to read install sessions
5214         @hide This is not a third-party API (intended for system apps). -->
5215    <permission android:name="android.permission.READ_INSTALL_SESSIONS"
5216        android:label="@string/permlab_readInstallSessions"
5217        android:description="@string/permdesc_readInstallSessions"
5218        android:protectionLevel="normal"/>
5219
5220    <!-- @SystemApi Allows an application to remove DRM certificates
5221         @hide This is not a third-party API (intended for system apps). -->
5222    <permission android:name="android.permission.REMOVE_DRM_CERTIFICATES"
5223        android:protectionLevel="signature|privileged" />
5224
5225    <!-- @deprecated Use {@link android.Manifest.permission#BIND_CARRIER_SERVICES} instead -->
5226    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE"
5227        android:protectionLevel="signature|privileged" />
5228
5229    <!-- Allows an application to interact with the currently active
5230         {@link android.service.voice.VoiceInteractionService}.
5231         @hide -->
5232    <permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE"
5233        android:protectionLevel="signature" />
5234
5235    <!-- The system process that is allowed to bind to services in carrier apps will
5236         have this permission. Carrier apps should use this permission to protect
5237         their services that only the system is allowed to bind to.
5238         <p>Protection level: signature|privileged
5239    -->
5240    <permission android:name="android.permission.BIND_CARRIER_SERVICES"
5241        android:label="@string/permlab_bindCarrierServices"
5242        android:description="@string/permdesc_bindCarrierServices"
5243        android:protectionLevel="signature|privileged" />
5244
5245    <!--
5246        Allows the holder to start the permission usage screen for an app.
5247        <p>Protection level: signature|installer
5248    -->
5249    <permission android:name="android.permission.START_VIEW_PERMISSION_USAGE"
5250        android:label="@string/permlab_startViewPermissionUsage"
5251        android:description="@string/permdesc_startViewPermissionUsage"
5252        android:protectionLevel="signature|installer" />
5253
5254    <!-- Allows an application to query whether DO_NOT_ASK_CREDENTIALS_ON_BOOT
5255         flag is set.
5256         @hide -->
5257    <permission android:name="android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT"
5258                android:protectionLevel="signature" />
5259
5260    <!-- @SystemApi Allows applications to kill UIDs.
5261        <p>Not for use by third-party applications.
5262         @hide -->
5263    <permission android:name="android.permission.KILL_UID"
5264                android:protectionLevel="signature|installer" />
5265
5266    <!-- @SystemApi Allows applications to read the local WiFi and Bluetooth MAC address.
5267        @hide -->
5268    <permission android:name="android.permission.LOCAL_MAC_ADDRESS"
5269                android:protectionLevel="signature|privileged" />
5270    <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"/>
5271
5272    <!-- @SystemApi Allows access to MAC addresses of WiFi and Bluetooth peer devices.
5273        @hide -->
5274    <permission android:name="android.permission.PEERS_MAC_ADDRESS"
5275                android:protectionLevel="signature|setup" />
5276
5277    <!-- Allows the Nfc stack to dispatch Nfc messages to applications. Applications
5278        can use this permission to ensure incoming Nfc messages are from the Nfc stack
5279        and not simulated by another application.
5280        @hide -->
5281    <permission android:name="android.permission.DISPATCH_NFC_MESSAGE"
5282                android:protectionLevel="signature|privileged" />
5283
5284    <!-- @SystemApi Allows changing day / night mode when system is configured with
5285         config_lockDayNightMode set to true. If requesting app does not have permission,
5286         it will be ignored.
5287        @hide -->
5288    <permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"
5289      android:protectionLevel="signature|privileged" />
5290
5291    <!-- @SystemApi Allows entering or exiting car mode using a specified priority.
5292        This permission is required to use UiModeManager while specifying a priority for the calling
5293        app.  A device manufacturer uses this permission to prioritize the apps which can
5294        potentially request to enter car-mode on a device to help establish the correct behavior
5295        where multiple such apps are active at the same time.
5296        @hide -->
5297    <permission android:name="android.permission.ENTER_CAR_MODE_PRIORITIZED"
5298                android:protectionLevel="signature|privileged" />
5299
5300    <!-- @SystemApi Required to receive ACTION_ENTER_CAR_MODE_PRIVILEGED or
5301        ACTION_EXIT_CAR_MODE_PRIVILEGED.
5302        @hide -->
5303    <permission android:name="android.permission.HANDLE_CAR_MODE_CHANGES"
5304                android:protectionLevel="signature|privileged" />
5305
5306    <!-- @SystemApi Allows the holder to send category_car notifications.
5307        @hide -->
5308    <permission
5309        android:name="android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS"
5310        android:protectionLevel="signature|privileged" />
5311
5312    <!-- The system process is explicitly the only one allowed to launch the
5313         confirmation UI for full backup/restore -->
5314    <uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
5315
5316    <!-- @SystemApi Allows the holder to access and manage instant applications on the device.
5317         @hide -->
5318    <permission android:name="android.permission.ACCESS_INSTANT_APPS"
5319            android:protectionLevel="signature|installer|verifier|role" />
5320    <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS"/>
5321
5322    <!-- Allows the holder to view the instant applications on the device.
5323    @hide -->
5324    <permission android:name="android.permission.VIEW_INSTANT_APPS"
5325                android:protectionLevel="signature|preinstalled" />
5326
5327    <!-- Allows the holder to manage whether the system can bind to services
5328         provided by instant apps. This permission is intended to protect
5329         test/development fucntionality and should be used only in such cases.
5330    @hide -->
5331    <permission android:name="android.permission.MANAGE_BIND_INSTANT_SERVICE"
5332                android:protectionLevel="signature" />
5333
5334    <!-- Allows receiving the usage of media resource e.g. video/audio codec and
5335         graphic memory.
5336         @hide -->
5337    <permission android:name="android.permission.RECEIVE_MEDIA_RESOURCE_USAGE"
5338                android:protectionLevel="signature|privileged" />
5339
5340    <!-- Must be required by system/priv apps when accessing the sound trigger
5341         APIs given by {@link SoundTriggerManager}.
5342         @hide
5343         @SystemApi -->
5344    <permission android:name="android.permission.MANAGE_SOUND_TRIGGER"
5345        android:protectionLevel="signature|privileged|role" />
5346
5347    <!-- Must be required by system/priv apps to run sound trigger recognition sessions while in
5348         battery saver mode.
5349         @hide
5350         @SystemApi -->
5351    <permission android:name="android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER"
5352                android:protectionLevel="signature|privileged" />
5353
5354    <!-- Must be required by system/priv apps implementing sound trigger detection services
5355         @hide
5356         @SystemApi -->
5357    <permission android:name="android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE"
5358        android:protectionLevel="signature" />
5359
5360    <!-- @SystemApi Allows trusted applications to dispatch managed provisioning message to Managed
5361         Provisioning app. If requesting app does not have permission, it will be ignored.
5362         @hide -->
5363    <permission android:name="android.permission.DISPATCH_PROVISIONING_MESSAGE"
5364                android:protectionLevel="signature|privileged" />
5365
5366    <!-- Allows the holder to read blocked numbers. See
5367         {@link android.provider.BlockedNumberContract}.
5368         @hide -->
5369    <permission android:name="android.permission.READ_BLOCKED_NUMBERS"
5370                android:protectionLevel="signature" />
5371
5372    <!-- Allows the holder to write blocked numbers. See
5373         {@link android.provider.BlockedNumberContract}.
5374         @hide -->
5375    <permission android:name="android.permission.WRITE_BLOCKED_NUMBERS"
5376                android:protectionLevel="signature" />
5377
5378    <!-- Must be required by an {@link android.service.vr.VrListenerService}, to ensure that only
5379         the system can bind to it.
5380         <p>Protection level: signature -->
5381    <permission android:name="android.permission.BIND_VR_LISTENER_SERVICE"
5382        android:protectionLevel="signature" />
5383
5384    <!-- Must be required by system apps when accessing restricted VR APIs.
5385         @hide
5386         @SystemApi
5387         <p>Protection level: signature -->
5388    <permission android:name="android.permission.RESTRICTED_VR_ACCESS"
5389        android:protectionLevel="signature|preinstalled" />
5390
5391    <!-- Required to make calls to {@link android.service.vr.IVrManager}.
5392         @hide -->
5393    <permission android:name="android.permission.ACCESS_VR_MANAGER"
5394            android:protectionLevel="signature" />
5395
5396    <!-- Required to access VR-Mode state and state change events via {android.app.VrStateCallback}
5397         @hide -->
5398    <permission android:name="android.permission.ACCESS_VR_STATE"
5399        android:protectionLevel="signature|preinstalled" />
5400
5401    <!-- Allows an application to allowlist tasks during lock task mode
5402         @hide <p>Not for use by third-party applications.</p> -->
5403    <permission android:name="android.permission.UPDATE_LOCK_TASK_PACKAGES"
5404        android:protectionLevel="signature|setup" />
5405
5406    <!-- @SystemApi Allows an application to replace the app name displayed alongside notifications
5407         in the N-release and later.
5408         @hide  <p>Not for use by third-party applications.</p> -->
5409    <permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"
5410                android:protectionLevel="signature|privileged" />
5411
5412    <!-- @SystemApi Allows an application to show notifications before the device is provisioned.
5413         @hide  <p>Not for use by third-party applications.</p> -->
5414    <permission android:name="android.permission.NOTIFICATION_DURING_SETUP"
5415                android:protectionLevel="signature|privileged" />
5416
5417    <!-- @SystemApi Allows an application to manage auto-fill sessions.
5418         @hide  <p>Not for use by third-party applications.</p> -->
5419    <permission android:name="android.permission.MANAGE_AUTO_FILL"
5420        android:protectionLevel="signature" />
5421
5422    <!-- @SystemApi Allows an application to manage the content capture service.
5423         @hide  <p>Not for use by third-party applications.</p> -->
5424    <permission android:name="android.permission.MANAGE_CONTENT_CAPTURE"
5425        android:protectionLevel="signature" />
5426
5427    <!-- @SystemApi Allows an application to manager the rotation resolver service.
5428         @hide <p>Not for use by third-party applications.</p> -->
5429    <permission android:name="android.permission.MANAGE_ROTATION_RESOLVER"
5430        android:protectionLevel="signature"/>
5431
5432    <!-- @SystemApi Allows an application to manage the music recognition service.
5433         @hide  <p>Not for use by third-party applications.</p> -->
5434    <permission android:name="android.permission.MANAGE_MUSIC_RECOGNITION"
5435        android:protectionLevel="signature|privileged|role" />
5436
5437    <!-- @SystemApi Allows an application to manage speech recognition service.
5438     @hide  <p>Not for use by third-party applications.</p> -->
5439    <permission android:name="android.permission.MANAGE_SPEECH_RECOGNITION"
5440        android:protectionLevel="signature" />
5441
5442    <!-- @SystemApi Allows an application to manage the content suggestions service.
5443         @hide  <p>Not for use by third-party applications.</p> -->
5444    <permission android:name="android.permission.MANAGE_CONTENT_SUGGESTIONS"
5445        android:protectionLevel="signature" />
5446
5447    <!-- @SystemApi Allows an application to manage the app predictions service.
5448         @hide  <p>Not for use by third-party applications.</p> -->
5449    <permission android:name="android.permission.MANAGE_APP_PREDICTIONS"
5450        android:protectionLevel="signature|role" />
5451
5452    <!-- @SystemApi Allows an application to manage the search ui service.
5453     @hide  <p>Not for use by third-party applications.</p> -->
5454    <permission android:name="android.permission.MANAGE_SEARCH_UI"
5455        android:protectionLevel="signature|role" />
5456
5457    <!-- @SystemApi Allows an application to manage the smartspace service.
5458     @hide  <p>Not for use by third-party applications.</p> -->
5459    <permission android:name="android.permission.MANAGE_SMARTSPACE"
5460        android:protectionLevel="signature" />
5461
5462    <!-- Allows an app to set the theme overlay in /vendor/overlay
5463         being used.
5464         @hide  <p>Not for use by third-party applications.</p> -->
5465    <permission android:name="android.permission.MODIFY_THEME_OVERLAY"
5466                android:protectionLevel="signature" />
5467
5468    <!-- Allows an instant app to create foreground services.
5469         <p>Protection level: signature|development|instant|appop -->
5470    <permission android:name="android.permission.INSTANT_APP_FOREGROUND_SERVICE"
5471        android:protectionLevel="signature|development|instant|appop" />
5472
5473    <!-- Allows a regular application to use {@link android.app.Service#startForeground
5474         Service.startForeground}.
5475         <p>Protection level: normal
5476    -->
5477    <permission android:name="android.permission.FOREGROUND_SERVICE"
5478        android:description="@string/permdesc_foregroundService"
5479        android:label="@string/permlab_foregroundService"
5480        android:protectionLevel="normal|instant" />
5481
5482    <!-- @SystemApi Allows to access all app shortcuts.
5483         @hide -->
5484    <permission android:name="android.permission.ACCESS_SHORTCUTS"
5485        android:protectionLevel="signature|role" />
5486
5487    <!-- @SystemApi Allows unlimited calls to shortcut mutation APIs.
5488         @hide -->
5489    <permission android:name="android.permission.UNLIMITED_SHORTCUTS_API_CALLS"
5490        android:protectionLevel="signature|role" />
5491
5492    <!-- @SystemApi Allows an application to read the runtime profiles of other apps.
5493         @hide <p>Not for use by third-party applications. -->
5494    <permission android:name="android.permission.READ_RUNTIME_PROFILES"
5495                android:protectionLevel="signature|privileged" />
5496
5497    <!-- @hide Allows audio policy management. -->
5498    <permission android:name="android.permission.MANAGE_AUDIO_POLICY"
5499        android:protectionLevel="signature" />
5500
5501    <!-- @SystemApi Allows an application to turn on / off quiet mode.
5502         @hide -->
5503    <permission android:name="android.permission.MODIFY_QUIET_MODE"
5504                android:protectionLevel="signature|privileged|development" />
5505
5506    <!-- Allows internal management of the camera framework
5507         @hide -->
5508    <permission android:name="android.permission.MANAGE_CAMERA"
5509        android:protectionLevel="signature" />
5510
5511    <!-- Allows an application to control remote animations. See
5512         {@link ActivityOptions#makeRemoteAnimation}
5513         @hide <p>Not for use by third-party applications. -->
5514    <permission android:name="android.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS"
5515        android:protectionLevel="signature|privileged" />
5516
5517    <!-- Allows an application to watch changes and/or active state of app ops.
5518         @hide <p>Not for use by third-party applications. -->
5519    <permission android:name="android.permission.WATCH_APPOPS"
5520        android:protectionLevel="signature|privileged" />
5521
5522    <!-- Allows hidden API checks to be disabled when starting a process.
5523         @hide <p>Not for use by third-party applications. -->
5524    <permission android:name="android.permission.DISABLE_HIDDEN_API_CHECKS"
5525                android:protectionLevel="signature" />
5526
5527    <!-- @hide Permission that protects the
5528        {@link android.provider.Telephony.Intents#ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL}
5529        broadcast -->
5530    <permission android:name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE"
5531        android:protectionLevel="signature|privileged" />
5532
5533    <!-- A subclass of {@link android.service.carrier.CarrierMessagingClientService} must be protected with this permission.
5534           <p>Protection level: signature -->
5535    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE"
5536        android:protectionLevel="signature" />
5537
5538    <!-- Must be required by an {@link android.service.watchdog.ExplicitHealthCheckService} to
5539         ensure that only the system can bind to it.
5540         @hide This is not a third-party API (intended for OEMs and system apps).
5541    -->
5542    <permission android:name="android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE"
5543        android:protectionLevel="signature|privileged" />
5544
5545    <!-- @SystemApi Must be required by an {@link android.service.storage.ExternalStorageService} to
5546         ensure that only the system can bind to it.
5547         @hide This is not a third-party API (intended for OEMs and system apps).
5548    -->
5549    <permission android:name="android.permission.BIND_EXTERNAL_STORAGE_SERVICE"
5550        android:protectionLevel="signature" />
5551
5552    <!-- @hide Permission that allows configuring appops.
5553     <p>Not for use by third-party applications. -->
5554    <permission android:name="android.permission.MANAGE_APPOPS"
5555                android:protectionLevel="signature" />
5556
5557    <!-- @hide Permission that allows background clipboard access.
5558         <p>Not for use by third-party applications. -->
5559    <permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"
5560        android:protectionLevel="signature" />
5561
5562    <!-- @SystemApi Allows modifying accessibility state.
5563         @hide -->
5564    <permission android:name="android.permission.MANAGE_ACCESSIBILITY"
5565        android:protectionLevel="signature|setup|recents" />
5566
5567    <!-- @SystemApi Allows an app to grant a profile owner access to device identifiers.
5568         <p>Not for use by third-party applications.
5569         @deprecated
5570         @hide -->
5571    <permission android:name="android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS"
5572        android:protectionLevel="signature" />
5573
5574    <!-- Allows an app to mark a profile owner as managing an organization-owned device.
5575         <p>Not for use by third-party applications.
5576         @hide -->
5577    <permission android:name="android.permission.MARK_DEVICE_ORGANIZATION_OWNED"
5578                android:protectionLevel="signature" />
5579
5580    <!-- Allows financial apps to read filtered sms messages.
5581         Protection level: signature|appop
5582         @deprecated The API that used this permission is no longer functional.  -->
5583    <permission android:name="android.permission.SMS_FINANCIAL_TRANSACTIONS"
5584        android:protectionLevel="signature|appop" />
5585
5586    <!-- Required for apps targeting {@link android.os.Build.VERSION_CODES#Q} that want to use
5587         {@link android.app.Notification.Builder#setFullScreenIntent notification full screen
5588         intents}.
5589         <p>Protection level: normal -->
5590    <permission android:name="android.permission.USE_FULL_SCREEN_INTENT"
5591                android:label="@string/permlab_fullScreenIntent"
5592                android:description="@string/permdesc_fullScreenIntent"
5593                android:protectionLevel="normal" />
5594
5595    <!-- @SystemApi Allows requesting the framework broadcast the
5596         {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY} intent.
5597         @hide -->
5598    <permission android:name="android.permission.SEND_DEVICE_CUSTOMIZATION_READY"
5599        android:protectionLevel="signature|privileged" />
5600
5601    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY}
5602         intent.
5603         @hide -->
5604    <permission android:name="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY"
5605        android:protectionLevel="signature|preinstalled" />
5606
5607    <!-- @SystemApi Allows wallpaper to be rendered in ambient mode.
5608         @hide -->
5609    <permission android:name="android.permission.AMBIENT_WALLPAPER"
5610                android:protectionLevel="signature|preinstalled" />
5611
5612    <!-- @SystemApi Allows sensor privacy to be modified.
5613         @hide -->
5614    <permission android:name="android.permission.MANAGE_SENSOR_PRIVACY"
5615                android:protectionLevel="internal|role" />
5616
5617    <!-- @SystemApi Allows sensor privacy changes to be observed.
5618         @hide -->
5619    <permission android:name="android.permission.OBSERVE_SENSOR_PRIVACY"
5620                android:protectionLevel="internal|role|installer" />
5621
5622    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_REVIEW_ACCESSIBILITY_SERVICES}
5623         intent.
5624         @hide -->
5625    <permission android:name="android.permission.REVIEW_ACCESSIBILITY_SERVICES"
5626                android:protectionLevel="signature" />
5627
5628    <!-- @SystemApi Allows an activity to replace the app name and icon displayed in share targets
5629         in the sharesheet for the Q-release and later.
5630         @hide  <p>Not for use by third-party applications.</p> -->
5631    <permission android:name="android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON"
5632                android:protectionLevel="signature|privileged" />
5633
5634    <!-- @SystemApi Allows an application to access shared libraries.
5635         @hide -->
5636    <permission android:name="android.permission.ACCESS_SHARED_LIBRARIES"
5637                android:protectionLevel="signature|installer" />
5638
5639    <!-- Allows an app to log compat change usage.
5640         @hide  <p>Not for use by third-party applications.</p> -->
5641    <permission android:name="android.permission.LOG_COMPAT_CHANGE"
5642                android:protectionLevel="signature|privileged" />
5643    <!-- Allows an app to read compat change config.
5644         @hide  <p>Not for use by third-party applications.</p> -->
5645    <permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"
5646                android:protectionLevel="signature|privileged" />
5647    <!-- Allows an app to override compat change config.
5648         This permission only allows to override config on debuggable builds or test-apks and is
5649         therefore a less powerful version of OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD.
5650         @hide  <p>Not for use by third-party applications.</p> -->
5651    <permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG"
5652                android:protectionLevel="signature|privileged" />
5653    <!-- @SystemApi Allows an app to override compat change config on release builds.
5654        Only ChangeIds that are annotated as @Overridable can be overridden on release builds.
5655        @hide -->
5656    <permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD"
5657                android:protectionLevel="signature|privileged" />
5658
5659    <!-- Allows input events to be monitored. Very dangerous!  @hide -->
5660    <permission android:name="android.permission.MONITOR_INPUT"
5661                android:protectionLevel="signature|recents" />
5662    <!--  Allows the caller to change the associations between input devices and displays.
5663        Very dangerous! @hide -->
5664    <permission android:name="android.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY"
5665                android:protectionLevel="signature" />
5666
5667    <!-- Allows query of any normal app on the device, regardless of manifest declarations.
5668        <p>Protection level: normal -->
5669    <permission android:name="android.permission.QUERY_ALL_PACKAGES"
5670                android:label="@string/permlab_queryAllPackages"
5671                android:description="@string/permdesc_queryAllPackages"
5672                android:protectionLevel="normal" />
5673    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
5674
5675    <!-- @hide Allow the caller to collect debugging data from processes that otherwise
5676        would require USAGE_STATS. Before sharing this data with other apps, holders
5677        of this permission are REQUIRED to themselves check that the caller has
5678        PACKAGE_USAGE_STATS and OP_GET_USAGE_STATS. -->
5679    <permission android:name="android.permission.PEEK_DROPBOX_DATA"
5680        android:protectionLevel="signature" />
5681
5682    <!-- @SystemApi Allows an application to access TV tuner HAL
5683         <p>Not for use by third-party applications.
5684         @hide -->
5685    <permission android:name="android.permission.ACCESS_TV_TUNER"
5686        android:protectionLevel="signature|privileged|vendorPrivileged" />
5687
5688    <!-- @SystemApi Allows an application to access descrambler of TV tuner HAL
5689         <p>Not for use by third-party applications.
5690         @hide -->
5691    <permission android:name="android.permission.ACCESS_TV_DESCRAMBLER"
5692        android:protectionLevel="signature|privileged|vendorPrivileged" />
5693
5694    <!-- Allows an application to create trusted displays. @hide -->
5695    <permission android:name="android.permission.ADD_TRUSTED_DISPLAY"
5696                android:protectionLevel="signature" />
5697
5698    <!-- @hide @SystemApi Allows an application to access locusId events in the usage stats. -->
5699    <permission android:name="android.permission.ACCESS_LOCUS_ID_USAGE_STATS"
5700                android:protectionLevel="signature|role" />
5701
5702    <!-- @hide @SystemApi Allows an application to manage app hibernation state. -->
5703    <permission android:name="android.permission.MANAGE_APP_HIBERNATION"
5704        android:protectionLevel="signature|installer" />
5705
5706    <!-- @hide @TestApi Allows apps to reset the state of {@link com.android.server.am.AppErrors}.
5707         <p>CTS tests will use UiAutomation.adoptShellPermissionIdentity() to gain access.  -->
5708    <permission android:name="android.permission.RESET_APP_ERRORS"
5709        android:protectionLevel="signature" />
5710
5711    <!-- @hide Allows an application to create/destroy input consumer. -->
5712    <permission android:name="android.permission.INPUT_CONSUMER"
5713                android:protectionLevel="signature" />
5714
5715    <!-- @hide @TestApi Allows an application to control the system's device state managed by the
5716         {@link android.service.devicestate.DeviceStateManagerService}. For example, on foldable
5717         devices this would grant access to toggle between the folded and unfolded states. -->
5718    <permission android:name="android.permission.CONTROL_DEVICE_STATE"
5719                android:protectionLevel="signature" />
5720
5721    <!-- @hide @SystemApi Must be required by a
5722        {@link android.service.displayhash.DisplayHashingService}
5723        to ensure that only the system can bind to it.
5724        This is not a third-party API (intended for OEMs and system apps).
5725    -->
5726    <permission android:name="android.permission.BIND_DISPLAY_HASHING_SERVICE"
5727        android:protectionLevel="signature" />
5728
5729    <!-- @hide @TestApi Allows an application to enable/disable toast rate limiting.
5730         <p>Not for use by third-party applications.
5731    -->
5732    <permission android:name="android.permission.MANAGE_TOAST_RATE_LIMITING"
5733                android:protectionLevel="signature" />
5734
5735    <!-- Allows managing the Game Mode
5736     @hide Used internally. -->
5737    <permission android:name="android.permission.MANAGE_GAME_MODE"
5738                android:protectionLevel="signature" />
5739
5740    <!-- @SystemApi Allows the holder to register callbacks to inform the RebootReadinessManager
5741         when they are performing reboot-blocking work.
5742         @hide -->
5743    <permission android:name="android.permission.SIGNAL_REBOOT_READINESS"
5744                android:protectionLevel="signature|privileged" />
5745
5746    <!-- @hide Allows an application to get a People Tile preview for a given shortcut. -->
5747    <permission android:name="android.permission.GET_PEOPLE_TILE_PREVIEW"
5748        android:protectionLevel="signature|recents" />
5749
5750    <!-- @hide @SystemApi Allows an application to retrieve whether shortcut is backed by a
5751         Conversation.
5752         TODO(b/180412052): STOPSHIP: Define a role so it can be granted to Shell and AiAi. -->
5753    <permission android:name="android.permission.READ_PEOPLE_DATA"
5754                android:protectionLevel="signature|recents|role"/>
5755
5756    <!-- @hide @SystemApi Allows a logical component within an application to
5757         temporarily renounce a set of otherwise granted permissions. -->
5758    <permission android:name="android.permission.RENOUNCE_PERMISSIONS"
5759                android:protectionLevel="signature|privileged" />
5760
5761    <!-- Allows an application to read nearby streaming policy. The policy allows the device
5762         to stream its notifications and apps to nearby devices.
5763         @hide -->
5764    <permission android:name="android.permission.READ_NEARBY_STREAMING_POLICY"
5765        android:protectionLevel="signature|privileged" />
5766
5767    <!-- @SystemApi Allows the holder to set the source of the data when setting a clip on the
5768         clipboard.
5769         @hide -->
5770    <permission android:name="android.permission.SET_CLIP_SOURCE"
5771                android:protectionLevel="signature|recents" />
5772
5773    <!-- @SystemApi Allows an application to access TV tuned info
5774         <p>Not for use by third-party applications.
5775         @hide -->
5776    <permission android:name="android.permission.ACCESS_TUNED_INFO"
5777        android:protectionLevel="signature|privileged|vendorPrivileged" />
5778
5779    <!-- Allows an application to indicate via
5780         {@link android.content.pm.PackageInstaller.SessionParams#setRequireUserAction(int)}
5781         that user action should not be required for an app update.
5782         <p>Protection level: normal
5783    -->
5784    <permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"
5785                android:protectionLevel="normal" />
5786    <uses-permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"/>
5787
5788    <!-- Allows an application to take screenshots of layers that normally would be blacked out when
5789         a screenshot is taken. Specifically, layers that have the flag
5790         {@link android.view.SurfaceControl#SECURE} will be screenshot if the caller requests to
5791         capture secure layers. Normally those layers will be rendered black.
5792         <p>Not for use by third-party applications.
5793         @hide
5794    -->
5795    <permission android:name="android.permission.CAPTURE_BLACKOUT_CONTENT"
5796        android:protectionLevel="signature" />
5797
5798      <!-- @SystemApi Allows an application to query over global data in AppSearch.
5799           @hide -->
5800    <permission android:name="android.permission.READ_GLOBAL_APP_SEARCH_DATA"
5801                android:protectionLevel="internal|role" />
5802
5803    <!-- Attribution for Geofencing service. -->
5804    <attribution android:tag="GeofencingService" android:label="@string/geofencing_service"/>
5805    <!-- Attribution for Country Detector. -->
5806    <attribution android:tag="CountryDetector" android:label="@string/country_detector"/>
5807    <!-- Attribution for Location service. -->
5808    <attribution android:tag="LocationService" android:label="@string/location_service"/>
5809    <!-- Attribution for Gnss service. -->
5810    <attribution android:tag="GnssService" android:label="@string/gnss_service"/>
5811    <!-- Attribution for Sensor Notification service. -->
5812    <attribution android:tag="SensorNotificationService"
5813             android:label="@string/sensor_notification_service"/>
5814    <!-- Attribution for Twilight service. -->
5815    <attribution android:tag="TwilightService" android:label="@string/twilight_service"/>
5816    <!-- Attribution for Gnss Time Update service. -->
5817    <attribution android:tag="GnssTimeUpdateService"
5818                 android:label="@string/gnss_time_update_service"/>
5819    <!-- Attribution for MusicRecognitionManagerService.
5820         <p>Not for use by third-party applications.</p> -->
5821    <attribution android:tag="MusicRecognitionManagerService"
5822        android:label="@string/music_recognition_manager_service"/>
5823
5824    <application android:process="system"
5825                 android:persistent="true"
5826                 android:hasCode="false"
5827                 android:label="@string/android_system_label"
5828                 android:allowClearUserData="false"
5829                 android:backupAgent="com.android.server.backup.SystemBackupAgent"
5830                 android:killAfterRestore="false"
5831                 android:icon="@drawable/ic_launcher_android"
5832                 android:supportsRtl="true"
5833                 android:theme="@style/Theme.DeviceDefault.Light.DarkActionBar"
5834                 android:defaultToDeviceProtectedStorage="true"
5835                 android:forceQueryable="true"
5836                 android:directBootAware="true">
5837        <activity android:name="com.android.internal.app.ChooserActivity"
5838                android:theme="@style/Theme.DeviceDefault.Chooser"
5839                android:finishOnCloseSystemDialogs="true"
5840                android:excludeFromRecents="true"
5841                android:documentLaunchMode="never"
5842                android:relinquishTaskIdentity="true"
5843                android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
5844                android:process=":ui"
5845                android:exported="true"
5846                android:visibleToInstantApps="true">
5847            <intent-filter android:priority="100">
5848                <action android:name="android.intent.action.CHOOSER" />
5849                <category android:name="android.intent.category.DEFAULT" />
5850                <category android:name="android.intent.category.VOICE" />
5851            </intent-filter>
5852        </activity>
5853        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityShortcutChooserActivity"
5854                  android:exported="false"
5855                  android:theme="@style/Theme.DeviceDefault.Dialog.Alert.DayNight"
5856                  android:finishOnCloseSystemDialogs="true"
5857                  android:excludeFromRecents="true"
5858                  android:documentLaunchMode="never"
5859                  android:relinquishTaskIdentity="true"
5860                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
5861                  android:process=":ui"
5862                  android:visibleToInstantApps="true">
5863            <intent-filter>
5864                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
5865                <category android:name="android.intent.category.DEFAULT" />
5866            </intent-filter>
5867        </activity>
5868        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityButtonChooserActivity"
5869                  android:exported="false"
5870                  android:theme="@style/Theme.DeviceDefault.Resolver"
5871                  android:finishOnCloseSystemDialogs="true"
5872                  android:excludeFromRecents="true"
5873                  android:documentLaunchMode="never"
5874                  android:relinquishTaskIdentity="true"
5875                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
5876                  android:process=":ui"
5877                  android:visibleToInstantApps="true">
5878            <intent-filter>
5879                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
5880                <category android:name="android.intent.category.DEFAULT" />
5881            </intent-filter>
5882        </activity>
5883        <activity android:name="com.android.internal.app.IntentForwarderActivity"
5884                android:finishOnCloseSystemDialogs="true"
5885                android:theme="@style/Theme.Translucent.NoTitleBar"
5886                android:excludeFromRecents="true"
5887                android:label="@string/user_owner_label"
5888                android:exported="true"
5889                android:visibleToInstantApps="true"
5890                >
5891        </activity>
5892        <activity-alias android:name="com.android.internal.app.ForwardIntentToParent"
5893                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
5894                android:exported="true"
5895                android:label="@string/user_owner_label">
5896        </activity-alias>
5897        <activity-alias android:name="com.android.internal.app.ForwardIntentToManagedProfile"
5898                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
5899                android:icon="@drawable/ic_corp_badge"
5900                android:exported="true"
5901                android:label="@string/managed_profile_label">
5902        </activity-alias>
5903        <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
5904                android:theme="@style/Theme.DeviceDefault.System.Dialog.Alert"
5905                android:label="@string/heavy_weight_switcher_title"
5906                android:finishOnCloseSystemDialogs="true"
5907                android:excludeFromRecents="true"
5908                android:process=":ui">
5909        </activity>
5910        <activity android:name="com.android.internal.app.PlatLogoActivity"
5911                android:theme="@style/Theme.DeviceDefault.Wallpaper.NoTitleBar"
5912                android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
5913                android:icon="@drawable/platlogo"
5914                android:process=":ui">
5915        </activity>
5916        <activity android:name="com.android.internal.app.DisableCarModeActivity"
5917                android:theme="@style/Theme.NoDisplay"
5918                android:excludeFromRecents="true"
5919                android:process=":ui">
5920        </activity>
5921
5922        <activity android:name="android.accounts.ChooseAccountActivity"
5923                android:excludeFromRecents="true"
5924                android:exported="true"
5925                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
5926                android:label="@string/choose_account_label"
5927                android:process=":ui"
5928                android:visibleToInstantApps="true">
5929        </activity>
5930
5931        <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
5932                android:excludeFromRecents="true"
5933                android:exported="true"
5934                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
5935                android:label="@string/choose_account_label"
5936                android:process=":ui"
5937                android:visibleToInstantApps="true">
5938        </activity>
5939
5940        <activity android:name="android.accounts.ChooseAccountTypeActivity"
5941                android:excludeFromRecents="true"
5942                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
5943                android:label="@string/choose_account_label"
5944                android:process=":ui"
5945                android:visibleToInstantApps="true">
5946        </activity>
5947
5948        <activity android:name="android.accounts.CantAddAccountActivity"
5949                android:excludeFromRecents="true"
5950                android:exported="true"
5951                android:theme="@style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
5952                android:process=":ui">
5953        </activity>
5954
5955        <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
5956                android:excludeFromRecents="true"
5957                android:exported="true"
5958                android:theme="@style/Theme.DeviceDefault.Light.DialogWhenLarge"
5959                android:process=":ui"
5960                android:visibleToInstantApps="true">
5961        </activity>
5962
5963        <activity android:name="android.content.SyncActivityTooManyDeletes"
5964               android:theme="@style/Theme.DeviceDefault.Light.Dialog"
5965               android:label="@string/sync_too_many_deletes"
5966               android:process=":ui">
5967        </activity>
5968
5969        <activity android:name="com.android.internal.app.ShutdownActivity"
5970            android:permission="android.permission.SHUTDOWN"
5971            android:theme="@style/Theme.NoDisplay"
5972            android:exported="true"
5973            android:excludeFromRecents="true">
5974            <intent-filter>
5975                <action android:name="com.android.internal.intent.action.REQUEST_SHUTDOWN" />
5976                <category android:name="android.intent.category.DEFAULT" />
5977            </intent-filter>
5978            <intent-filter>
5979                <action android:name="android.intent.action.REBOOT" />
5980                <category android:name="android.intent.category.DEFAULT" />
5981            </intent-filter>
5982        </activity>
5983
5984        <activity android:name="com.android.internal.app.NetInitiatedActivity"
5985                android:theme="@style/Theme.Dialog.Confirmation"
5986                android:excludeFromRecents="true"
5987                android:process=":ui">
5988        </activity>
5989
5990        <activity android:name="com.android.internal.app.SystemUserHomeActivity"
5991                  android:enabled="false"
5992                  android:process=":ui"
5993                  android:systemUserOnly="true"
5994                  android:exported="true"
5995                  android:theme="@style/Theme.Translucent.NoTitleBar">
5996            <intent-filter android:priority="-100">
5997                <action android:name="android.intent.action.MAIN" />
5998                <category android:name="android.intent.category.HOME" />
5999            </intent-filter>
6000        </activity>
6001
6002        <!-- Activity to prompt user if it's ok to create a new user sandbox for a
6003             specified account. -->
6004        <activity android:name="com.android.internal.app.ConfirmUserCreationActivity"
6005                android:excludeFromRecents="true"
6006                android:process=":ui"
6007                android:exported="true"
6008                android:theme="@style/Theme.Dialog.Confirmation">
6009            <intent-filter android:priority="1000">
6010                <action android:name="android.os.action.CREATE_USER" />
6011                <category android:name="android.intent.category.DEFAULT" />
6012            </intent-filter>
6013        </activity>
6014
6015        <activity android:name="com.android.internal.app.SuspendedAppActivity"
6016                  android:theme="@style/Theme.Dialog.Confirmation"
6017                  android:excludeFromRecents="true"
6018                  android:process=":ui">
6019        </activity>
6020
6021        <activity android:name="com.android.internal.app.UnlaunchableAppActivity"
6022                android:theme="@style/Theme.Dialog.Confirmation"
6023                android:excludeFromRecents="true"
6024                android:process=":ui">
6025        </activity>
6026
6027        <activity android:name="com.android.internal.app.BlockedAppActivity"
6028                android:theme="@style/Theme.Dialog.Confirmation"
6029                android:excludeFromRecents="true"
6030                android:lockTaskMode="always"
6031                android:process=":ui">
6032        </activity>
6033
6034        <activity android:name="com.android.settings.notification.NotificationAccessConfirmationActivity"
6035                  android:theme="@style/Theme.Dialog.Confirmation"
6036                  android:excludeFromRecents="true">
6037        </activity>
6038
6039        <activity android:name="com.android.internal.app.HarmfulAppWarningActivity"
6040                  android:theme="@style/Theme.Dialog.Confirmation"
6041                  android:excludeFromRecents="true"
6042                  android:process=":ui"
6043                  android:label="@string/harmful_app_warning_title"
6044                  android:exported="false">
6045        </activity>
6046
6047        <activity android:name="com.android.server.notification.NASLearnMoreActivity"
6048                  android:theme="@style/Theme.Dialog.Confirmation"
6049                  android:excludeFromRecents="true"
6050                  android:exported="false">
6051        </activity>
6052
6053        <receiver android:name="com.android.server.BootReceiver"
6054                android:exported="true"
6055                android:systemUserOnly="true">
6056            <intent-filter android:priority="1000">
6057                <action android:name="android.intent.action.BOOT_COMPLETED" />
6058            </intent-filter>
6059        </receiver>
6060
6061        <receiver android:name="com.android.server.updates.CertPinInstallReceiver"
6062                android:exported="true"
6063                android:permission="android.permission.UPDATE_CONFIG">
6064            <intent-filter>
6065                <action android:name="android.intent.action.UPDATE_PINS" />
6066                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
6067            </intent-filter>
6068        </receiver>
6069
6070        <receiver android:name="com.android.server.updates.IntentFirewallInstallReceiver"
6071                android:exported="true"
6072                android:permission="android.permission.UPDATE_CONFIG">
6073            <intent-filter>
6074                <action android:name="android.intent.action.UPDATE_INTENT_FIREWALL" />
6075                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
6076            </intent-filter>
6077        </receiver>
6078
6079        <receiver android:name="com.android.server.updates.SmsShortCodesInstallReceiver"
6080                android:exported="true"
6081                android:permission="android.permission.UPDATE_CONFIG">
6082            <intent-filter>
6083                <action android:name="android.intent.action.UPDATE_SMS_SHORT_CODES" />
6084                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
6085            </intent-filter>
6086        </receiver>
6087
6088        <receiver android:name="com.android.server.updates.NetworkWatchlistInstallReceiver"
6089                  android:exported="true"
6090                  android:permission="android.permission.UPDATE_CONFIG">
6091            <intent-filter>
6092                <action android:name="android.intent.action.UPDATE_NETWORK_WATCHLIST" />
6093                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
6094            </intent-filter>
6095        </receiver>
6096
6097        <receiver android:name="com.android.server.updates.ApnDbInstallReceiver"
6098                android:exported="true"
6099                android:permission="android.permission.UPDATE_CONFIG">
6100            <intent-filter>
6101                <action android:name="com.android.internal.intent.action.UPDATE_APN_DB" />
6102                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
6103            </intent-filter>
6104        </receiver>
6105
6106        <receiver android:name="com.android.server.updates.CarrierProvisioningUrlsInstallReceiver"
6107                android:exported="true"
6108                android:permission="android.permission.UPDATE_CONFIG">
6109            <intent-filter>
6110                <action android:name="android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS" />
6111                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
6112            </intent-filter>
6113        </receiver>
6114
6115        <receiver android:name="com.android.server.updates.CertificateTransparencyLogInstallReceiver"
6116                android:exported="true"
6117                android:permission="android.permission.UPDATE_CONFIG">
6118            <intent-filter>
6119                <action android:name="android.intent.action.UPDATE_CT_LOGS" />
6120                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
6121            </intent-filter>
6122        </receiver>
6123
6124        <receiver android:name="com.android.server.updates.LangIdInstallReceiver"
6125                android:exported="true"
6126                android:permission="android.permission.UPDATE_CONFIG">
6127            <intent-filter>
6128                <action android:name="android.intent.action.UPDATE_LANG_ID" />
6129                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
6130            </intent-filter>
6131        </receiver>
6132
6133        <receiver android:name="com.android.server.updates.SmartSelectionInstallReceiver"
6134                android:exported="true"
6135                android:permission="android.permission.UPDATE_CONFIG">
6136            <intent-filter>
6137                <action android:name="android.intent.action.UPDATE_SMART_SELECTION" />
6138                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
6139            </intent-filter>
6140        </receiver>
6141
6142        <receiver android:name="com.android.server.updates.ConversationActionsInstallReceiver"
6143                  android:exported="true"
6144                  android:permission="android.permission.UPDATE_CONFIG">
6145            <intent-filter>
6146                <action android:name="android.intent.action.UPDATE_CONVERSATION_ACTIONS" />
6147                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
6148            </intent-filter>
6149        </receiver>
6150
6151        <receiver android:name="com.android.server.updates.CarrierIdInstallReceiver"
6152                  android:exported="true"
6153                  android:permission="android.permission.UPDATE_CONFIG">
6154            <intent-filter>
6155                <action android:name="android.os.action.UPDATE_CARRIER_ID_DB" />
6156                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
6157            </intent-filter>
6158        </receiver>
6159
6160        <receiver android:name="com.android.server.updates.EmergencyNumberDbInstallReceiver"
6161                  android:exported="true"
6162                  android:permission="android.permission.UPDATE_CONFIG">
6163            <intent-filter>
6164                <action android:name="android.os.action.UPDATE_EMERGENCY_NUMBER_DB" />
6165                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
6166            </intent-filter>
6167        </receiver>
6168
6169        <receiver android:name="com.android.server.MasterClearReceiver"
6170            android:exported="true"
6171            android:permission="android.permission.MASTER_CLEAR">
6172            <intent-filter
6173                    android:priority="100" >
6174                <!-- For Checkin, Settings, etc.: action=FACTORY_RESET -->
6175                <action android:name="android.intent.action.FACTORY_RESET" />
6176                <!-- As above until all the references to the deprecated MASTER_CLEAR get updated to
6177                     FACTORY_RESET. -->
6178                <action android:name="android.intent.action.MASTER_CLEAR" />
6179
6180                <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
6181                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
6182                <category android:name="android.intent.category.MASTER_CLEAR" />
6183            </intent-filter>
6184        </receiver>
6185
6186        <receiver android:name="com.android.server.WallpaperUpdateReceiver"
6187                  android:exported="true"
6188                  android:permission="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY">
6189            <intent-filter>
6190                <action android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY"/>
6191            </intent-filter>
6192        </receiver>
6193
6194        <service android:name="android.hardware.location.GeofenceHardwareService"
6195            android:permission="android.permission.LOCATION_HARDWARE"
6196            android:exported="false" />
6197
6198        <service android:name="com.android.server.MountServiceIdler"
6199                 android:exported="true"
6200                 android:permission="android.permission.BIND_JOB_SERVICE" >
6201        </service>
6202
6203        <service android:name="com.android.server.ZramWriteback"
6204                 android:exported="false"
6205                 android:permission="android.permission.BIND_JOB_SERVICE" >
6206        </service>
6207
6208        <service android:name="com.android.server.backup.FullBackupJob"
6209                 android:exported="true"
6210                 android:permission="android.permission.BIND_JOB_SERVICE" >
6211        </service>
6212
6213        <service android:name="com.android.server.backup.KeyValueBackupJob"
6214                 android:permission="android.permission.BIND_JOB_SERVICE" >
6215        </service>
6216
6217        <service android:name="com.android.server.content.SyncJobService"
6218                 android:permission="android.permission.BIND_JOB_SERVICE" >
6219        </service>
6220
6221        <service android:name="com.android.server.pm.BackgroundDexOptService"
6222                 android:exported="true"
6223                 android:permission="android.permission.BIND_JOB_SERVICE">
6224        </service>
6225
6226        <service android:name="com.android.server.pm.DynamicCodeLoggingService"
6227                 android:permission="android.permission.BIND_JOB_SERVICE">
6228        </service>
6229
6230        <service android:name="com.android.server.PruneInstantAppsJobService"
6231                 android:permission="android.permission.BIND_JOB_SERVICE" >
6232        </service>
6233
6234        <service android:name="com.android.server.storage.DiskStatsLoggingService"
6235                 android:permission="android.permission.BIND_JOB_SERVICE" >
6236        </service>
6237
6238        <service android:name="com.android.server.PreloadsFileCacheExpirationJobService"
6239                 android:permission="android.permission.BIND_JOB_SERVICE" >
6240        </service>
6241
6242        <service android:name="com.android.server.camera.CameraStatsJobService"
6243                 android:permission="android.permission.BIND_JOB_SERVICE" >
6244        </service>
6245
6246        <service android:name="com.android.server.timezone.TimeZoneUpdateIdler"
6247                 android:permission="android.permission.BIND_JOB_SERVICE" >
6248        </service>
6249
6250        <service android:name="com.android.server.usage.UsageStatsIdleService"
6251                 android:permission="android.permission.BIND_JOB_SERVICE" >
6252        </service>
6253
6254        <service android:name="com.android.server.net.watchlist.ReportWatchlistJobService"
6255                 android:permission="android.permission.BIND_JOB_SERVICE" >
6256        </service>
6257
6258        <service android:name="com.android.server.display.BrightnessIdleJob"
6259                 android:permission="android.permission.BIND_JOB_SERVICE" >
6260        </service>
6261
6262        <service android:name="com.android.server.people.data.DataMaintenanceService"
6263                 android:permission="android.permission.BIND_JOB_SERVICE" >
6264        </service>
6265
6266        <service android:name="com.android.server.profcollect.ProfcollectForwardingService$ProfcollectBGJobService"
6267                 android:permission="android.permission.BIND_JOB_SERVICE" >
6268        </service>
6269
6270        <service
6271                android:name="com.android.server.autofill.AutofillCompatAccessibilityService"
6272                android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
6273                android:visibleToInstantApps="true"
6274                android:exported="true">
6275            <meta-data
6276                    android:name="android.accessibilityservice"
6277                    android:resource="@xml/autofill_compat_accessibility_service" />
6278        </service>
6279
6280        <service android:name="com.google.android.startop.iorap.IorapForwardingService$IorapdJobServiceProxy"
6281                 android:permission="android.permission.BIND_JOB_SERVICE" >
6282        </service>
6283
6284        <service android:name="com.android.server.blob.BlobStoreIdleJobService"
6285                 android:permission="android.permission.BIND_JOB_SERVICE">
6286        </service>
6287
6288        <service android:name="com.android.server.pm.PackageManagerShellCommandDataLoader"
6289            android:exported="false">
6290            <intent-filter>
6291                <action android:name="android.intent.action.LOAD_DATA"/>
6292            </intent-filter>
6293        </service>
6294
6295        <provider
6296            android:name="com.android.server.textclassifier.IconsContentProvider"
6297            android:authorities="com.android.textclassifier.icons"
6298            android:singleUser="true"
6299            android:enabled="true"
6300            android:exported="true">
6301        </provider>
6302
6303    </application>
6304
6305</manifest>
6306