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_UNSTOPPED" />
52    <protected-broadcast android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
53    <protected-broadcast android:name="android.intent.action.PACKAGE_FIRST_LAUNCH" />
54    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION" />
55    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION" />
56    <protected-broadcast android:name="android.intent.action.PACKAGE_VERIFIED" />
57    <protected-broadcast android:name="android.intent.action.PACKAGES_SUSPENDED" />
58    <protected-broadcast android:name="android.intent.action.PACKAGES_UNSUSPENDED" />
59    <protected-broadcast android:name="android.intent.action.PACKAGES_SUSPENSION_CHANGED" />
60    <protected-broadcast android:name="android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY" />
61    <protected-broadcast android:name="android.intent.action.DISTRACTING_PACKAGES_CHANGED" />
62    <protected-broadcast android:name="android.intent.action.ACTION_PREFERRED_ACTIVITY_CHANGED" />
63    <protected-broadcast android:name="android.intent.action.UID_REMOVED" />
64    <protected-broadcast android:name="android.intent.action.QUERY_PACKAGE_RESTART" />
65    <protected-broadcast android:name="android.intent.action.CONFIGURATION_CHANGED" />
66    <protected-broadcast android:name="android.intent.action.SPLIT_CONFIGURATION_CHANGED" />
67    <protected-broadcast android:name="android.intent.action.LOCALE_CHANGED" />
68    <protected-broadcast android:name="android.intent.action.APPLICATION_LOCALE_CHANGED" />
69    <protected-broadcast android:name="android.intent.action.BATTERY_CHANGED" />
70    <protected-broadcast android:name="android.intent.action.BATTERY_LEVEL_CHANGED" />
71    <protected-broadcast android:name="android.intent.action.BATTERY_LOW" />
72    <protected-broadcast android:name="android.intent.action.BATTERY_OKAY" />
73    <protected-broadcast android:name="android.intent.action.ACTION_POWER_CONNECTED" />
74    <protected-broadcast android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
75    <protected-broadcast android:name="android.intent.action.ACTION_SHUTDOWN" />
76    <protected-broadcast android:name="android.intent.action.CHARGING" />
77    <protected-broadcast android:name="android.intent.action.DISCHARGING" />
78    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_LOW" />
79    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_OK" />
80    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_FULL" />
81    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_NOT_FULL" />
82    <protected-broadcast android:name="android.intent.action.NEW_OUTGOING_CALL" />
83    <protected-broadcast android:name="android.intent.action.REBOOT" />
84    <protected-broadcast android:name="android.intent.action.DOCK_EVENT" />
85    <protected-broadcast android:name="android.intent.action.THERMAL_EVENT" />
86    <protected-broadcast android:name="android.intent.action.MASTER_CLEAR_NOTIFICATION" />
87    <protected-broadcast android:name="android.intent.action.USER_ADDED" />
88    <protected-broadcast android:name="android.intent.action.USER_REMOVED" />
89    <protected-broadcast android:name="android.intent.action.USER_STARTING" />
90    <protected-broadcast android:name="android.intent.action.USER_STARTED" />
91    <protected-broadcast android:name="android.intent.action.USER_STOPPING" />
92    <protected-broadcast android:name="android.intent.action.USER_STOPPED" />
93    <protected-broadcast android:name="android.intent.action.USER_BACKGROUND" />
94    <protected-broadcast android:name="android.intent.action.USER_FOREGROUND" />
95    <protected-broadcast android:name="android.intent.action.USER_SWITCHED" />
96    <protected-broadcast android:name="android.intent.action.USER_INITIALIZE" />
97    <protected-broadcast android:name="android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION" />
98    <protected-broadcast android:name="android.intent.action.DOMAINS_NEED_VERIFICATION" />
99    <protected-broadcast android:name="android.intent.action.OVERLAY_ADDED" />
100    <protected-broadcast android:name="android.intent.action.OVERLAY_CHANGED" />
101    <protected-broadcast android:name="android.intent.action.OVERLAY_REMOVED" />
102    <protected-broadcast android:name="android.intent.action.OVERLAY_PRIORITY_CHANGED" />
103    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_SUSPENDED" />
104    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_UNSUSPENDED" />
105    <protected-broadcast android:name="android.intent.action.UNARCHIVE_PACKAGE" />
106
107    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED" />
108    <protected-broadcast android:name="android.os.action.DEVICE_IDLE_MODE_CHANGED" />
109    <protected-broadcast android:name="android.os.action.POWER_SAVE_WHITELIST_CHANGED" />
110    <protected-broadcast android:name="android.os.action.POWER_SAVE_TEMP_WHITELIST_CHANGED" />
111    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED_INTERNAL" />
112    <protected-broadcast android:name="android.os.action.LOW_POWER_STANDBY_ENABLED_CHANGED" />
113    <protected-broadcast android:name="android.os.action.LOW_POWER_STANDBY_POLICY_CHANGED" />
114    <protected-broadcast android:name="android.os.action.LOW_POWER_STANDBY_PORTS_CHANGED" />
115    <protected-broadcast android:name="android.os.action.ENHANCED_DISCHARGE_PREDICTION_CHANGED" />
116
117    <!-- @deprecated This is rarely used and will be phased out soon. -->
118    <protected-broadcast android:name="android.os.action.SCREEN_BRIGHTNESS_BOOST_CHANGED" />
119
120    <protected-broadcast android:name="android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL" />
121
122    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE" />
123    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE" />
124    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE_PRIORITIZED" />
125    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE_PRIORITIZED" />
126    <protected-broadcast android:name="android.app.action.ENTER_DESK_MODE" />
127    <protected-broadcast android:name="android.app.action.EXIT_DESK_MODE" />
128    <protected-broadcast android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
129
130    <protected-broadcast android:name="android.app.action.USER_ADDED" />
131    <protected-broadcast android:name="android.app.action.USER_REMOVED" />
132    <protected-broadcast android:name="android.app.action.USER_STARTED" />
133    <protected-broadcast android:name="android.app.action.USER_STOPPED" />
134    <protected-broadcast android:name="android.app.action.USER_SWITCHED" />
135
136    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARING_DECLINED" />
137    <protected-broadcast android:name="android.app.action.BUGREPORT_FAILED" />
138    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARE" />
139    <protected-broadcast android:name="android.app.action.SHOW_DEVICE_MONITORING_DIALOG" />
140    <protected-broadcast android:name="android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED" />
141    <protected-broadcast android:name="android.intent.action.INCIDENT_REPORT_READY" />
142
143    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_UPDATE_OPTIONS" />
144    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DELETED" />
145    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DISABLED" />
146    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLED" />
147    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED" />
148    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_RESTORED" />
149    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLE_AND_UPDATE" />
150
151    <protected-broadcast android:name="android.os.action.SETTING_RESTORED" />
152
153    <protected-broadcast android:name="android.app.backup.intent.CLEAR" />
154    <protected-broadcast android:name="android.app.backup.intent.INIT" />
155
156    <protected-broadcast android:name="android.bluetooth.intent.DISCOVERABLE_TIMEOUT" />
157    <protected-broadcast android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
158    <protected-broadcast android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
159    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
160    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
161    <protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
162    <protected-broadcast android:name="android.bluetooth.adapter.action.BLUETOOTH_ADDRESS_CHANGED" />
163    <protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
164    <protected-broadcast android:name="android.bluetooth.device.action.UUID" />
165    <protected-broadcast android:name="android.bluetooth.device.action.MAS_INSTANCE" />
166    <protected-broadcast android:name="android.bluetooth.device.action.ALIAS_CHANGED" />
167    <protected-broadcast android:name="android.bluetooth.device.action.FOUND" />
168    <protected-broadcast android:name="android.bluetooth.device.action.CLASS_CHANGED" />
169    <protected-broadcast android:name="android.bluetooth.device.action.ACL_CONNECTED" />
170    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
171    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
172    <protected-broadcast android:name="android.bluetooth.device.action.NAME_CHANGED" />
173    <protected-broadcast android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
174    <protected-broadcast android:name="android.bluetooth.device.action.NAME_FAILED" />
175    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
176    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
177    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
178    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL" />
179    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST" />
180    <protected-broadcast android:name="android.bluetooth.device.action.SDP_RECORD" />
181    <protected-broadcast android:name="android.bluetooth.device.action.BATTERY_LEVEL_CHANGED" />
182    <protected-broadcast android:name="android.bluetooth.device.action.REMOTE_ISSUE_OCCURRED" />
183    <protected-broadcast android:name="android.bluetooth.devicepicker.action.LAUNCH" />
184    <protected-broadcast android:name="android.bluetooth.devicepicker.action.DEVICE_SELECTED" />
185    <protected-broadcast
186        android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
187    <protected-broadcast
188        android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />
189    <protected-broadcast
190        android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
191    <protected-broadcast
192        android:name="android.bluetooth.headset.action.HF_INDICATORS_VALUE_CHANGED" />
193    <protected-broadcast
194        android:name="android.bluetooth.headset.profile.action.ACTIVE_DEVICE_CHANGED" />
195    <protected-broadcast
196        android:name="android.bluetooth.headsetclient.profile.action.CONNECTION_STATE_CHANGED" />
197    <protected-broadcast
198        android:name="android.bluetooth.headsetclient.profile.action.AUDIO_STATE_CHANGED" />
199    <protected-broadcast
200        android:name="android.bluetooth.headsetclient.profile.action.AG_EVENT" />
201    <protected-broadcast
202        android:name="android.bluetooth.headsetclient.profile.action.AG_CALL_CHANGED" />
203    <protected-broadcast
204        android:name="android.bluetooth.headsetclient.profile.action.RESULT" />
205    <protected-broadcast
206        android:name="android.bluetooth.headsetclient.profile.action.LAST_VTAG" />
207    <protected-broadcast
208        android:name="android.bluetooth.headsetclient.profile.action.NETWORK_SERVICE_STATE_CHANGED" />
209    <protected-broadcast
210        android:name="android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED" />
211    <protected-broadcast
212        android:name="android.bluetooth.hearingaid.profile.action.PLAYING_STATE_CHANGED" />
213    <protected-broadcast
214        android:name="android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED" />
215    <protected-broadcast android:name="android.bluetooth.action.CSIS_CONNECTION_STATE_CHANGED" />
216    <protected-broadcast android:name="android.bluetooth.action.CSIS_DEVICE_AVAILABLE" />
217    <protected-broadcast android:name="android.bluetooth.action.CSIS_SET_MEMBER_AVAILABLE" />
218    <protected-broadcast
219        android:name="android.bluetooth.volume-control.profile.action.CONNECTION_STATE_CHANGED" />
220    <protected-broadcast
221        android:name="android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED" />
222    <protected-broadcast
223        android:name="android.bluetooth.a2dp.profile.action.ACTIVE_DEVICE_CHANGED" />
224    <protected-broadcast
225        android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
226    <protected-broadcast
227        android:name="android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED" />
228    <protected-broadcast
229        android:name="android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED" />
230    <protected-broadcast
231        android:name="android.bluetooth.a2dp-sink.profile.action.PLAYING_STATE_CHANGED" />
232    <protected-broadcast
233        android:name="android.bluetooth.a2dp-sink.profile.action.AUDIO_CONFIG_CHANGED" />
234    <protected-broadcast
235        android:name="android.bluetooth.avrcp-controller.profile.action.BROWSE_CONNECTION_STATE_CHANGED" />
236    <protected-broadcast
237        android:name="android.bluetooth.avrcp-controller.profile.action.CONNECTION_STATE_CHANGED" />
238    <protected-broadcast
239        android:name="android.bluetooth.avrcp-controller.profile.action.FOLDER_LIST" />
240    <protected-broadcast
241        android:name="android.bluetooth.avrcp-controller.profile.action.TRACK_EVENT" />
242    <protected-broadcast
243        android:name="android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED" />
244    <protected-broadcast
245        android:name="android.bluetooth.input.profile.action.IDLE_TIME_CHANGED" />
246    <protected-broadcast
247        android:name="android.bluetooth.input.profile.action.PROTOCOL_MODE_CHANGED" />
248    <protected-broadcast
249        android:name="android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS" />
250    <protected-broadcast
251        android:name="android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED" />
252    <protected-broadcast
253        android:name="android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED" />
254    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.CONNECTION_STATE_CHANGED" />
255    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_RECEIVED" />
256    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_SENT_SUCCESSFULLY" />
257    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELIVERED_SUCCESSFULLY" />
258    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_READ_STATUS_CHANGED" />
259    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELETED_STATUS_CHANGED" />
260    <protected-broadcast
261        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
262    <protected-broadcast
263        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
264    <protected-broadcast
265        android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" />
266    <protected-broadcast android:name="android.bluetooth.action.HAP_CONNECTION_STATE_CHANGED" />
267    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_CONNECTION_STATE_CHANGED" />
268    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_ACTIVE_DEVICE_CHANGED" />
269    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_CONF_CHANGED" />
270    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_GROUP_NODE_STATUS_CHANGED" />
271    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_GROUP_STATUS_CHANGED" />
272    <protected-broadcast
273        android:name="android.bluetooth.action.TETHERING_STATE_CHANGED" />
274    <protected-broadcast android:name="android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED" />
275    <protected-broadcast android:name="android.bluetooth.pbapclient.profile.action.CONNECTION_STATE_CHANGED" />
276    <protected-broadcast android:name="android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED" />
277    <protected-broadcast android:name="android.btopp.intent.action.INCOMING_FILE_NOTIFICATION" />
278    <protected-broadcast android:name="android.btopp.intent.action.USER_CONFIRMATION_TIMEOUT" />
279    <protected-broadcast android:name="android.btopp.intent.action.LIST" />
280    <protected-broadcast android:name="android.btopp.intent.action.OPEN_OUTBOUND" />
281    <protected-broadcast android:name="android.btopp.intent.action.HIDE_COMPLETE" />
282    <protected-broadcast android:name="android.btopp.intent.action.CONFIRM" />
283    <protected-broadcast android:name="android.btopp.intent.action.HIDE" />
284    <protected-broadcast android:name="android.btopp.intent.action.RETRY" />
285    <protected-broadcast android:name="android.btopp.intent.action.OPEN" />
286    <protected-broadcast android:name="android.btopp.intent.action.OPEN_INBOUND" />
287    <protected-broadcast android:name="android.btopp.intent.action.TRANSFER_COMPLETE" />
288    <protected-broadcast android:name="android.btopp.intent.action.ACCEPT" />
289    <protected-broadcast android:name="android.btopp.intent.action.DECLINE" />
290    <protected-broadcast android:name="com.android.bluetooth.gatt.REFRESH_BATCHED_SCAN" />
291    <protected-broadcast android:name="com.android.bluetooth.pbap.authchall" />
292    <protected-broadcast android:name="com.android.bluetooth.pbap.userconfirmtimeout" />
293    <protected-broadcast android:name="com.android.bluetooth.pbap.authresponse" />
294    <protected-broadcast android:name="com.android.bluetooth.pbap.authcancelled" />
295    <protected-broadcast android:name="com.android.bluetooth.sap.USER_CONFIRM_TIMEOUT" />
296    <protected-broadcast android:name="com.android.bluetooth.sap.action.DISCONNECT_ACTION" />
297
298    <protected-broadcast android:name="android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED" />
299
300    <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" />
301    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_CHANGED" />
302    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_COMPLIANCE_CHANGED" />
303    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
304    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_DETACHED" />
305    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE" />
306    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
307    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
308
309    <protected-broadcast android:name="android.intent.action.HEADSET_PLUG" />
310    <protected-broadcast android:name="android.media.action.HDMI_AUDIO_PLUG" />
311    <protected-broadcast android:name="android.media.action.MICROPHONE_MUTE_CHANGED" />
312    <protected-broadcast android:name="android.media.action.SPEAKERPHONE_STATE_CHANGED" />
313
314    <protected-broadcast android:name="android.media.AUDIO_BECOMING_NOISY" />
315    <protected-broadcast android:name="android.media.RINGER_MODE_CHANGED" />
316    <protected-broadcast android:name="android.media.VIBRATE_SETTING_CHANGED" />
317    <protected-broadcast android:name="android.media.VOLUME_CHANGED_ACTION" />
318    <protected-broadcast android:name="android.media.MASTER_VOLUME_CHANGED_ACTION" />
319    <protected-broadcast android:name="android.media.MASTER_MUTE_CHANGED_ACTION" />
320    <protected-broadcast android:name="android.media.MASTER_MONO_CHANGED_ACTION" />
321    <protected-broadcast android:name="android.media.MASTER_BALANCE_CHANGED_ACTION" />
322    <protected-broadcast android:name="android.media.SCO_AUDIO_STATE_CHANGED" />
323    <protected-broadcast android:name="android.media.ACTION_SCO_AUDIO_STATE_UPDATED" />
324    <protected-broadcast android:name="com.android.server.audio.action.CHECK_MUSIC_ACTIVE" />
325
326    <protected-broadcast android:name="android.intent.action.MEDIA_REMOVED" />
327    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTED" />
328    <protected-broadcast android:name="android.intent.action.MEDIA_CHECKING" />
329    <protected-broadcast android:name="android.intent.action.MEDIA_NOFS" />
330    <protected-broadcast android:name="android.intent.action.MEDIA_MOUNTED" />
331    <protected-broadcast android:name="android.intent.action.MEDIA_SHARED" />
332    <protected-broadcast android:name="android.intent.action.MEDIA_UNSHARED" />
333    <protected-broadcast android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
334    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTABLE" />
335    <protected-broadcast android:name="android.intent.action.MEDIA_EJECT" />
336
337    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL" />
338    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE" />
339    <!-- @deprecated.  Only {@link android.net.ConnectivityManager.CONNECTIVITY_ACTION} is sent. -->
340    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE" />
341    <protected-broadcast android:name="android.net.conn.DATA_ACTIVITY_CHANGE" />
342    <protected-broadcast android:name="android.net.conn.RESTRICT_BACKGROUND_CHANGED" />
343    <protected-broadcast android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
344    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL_TEST_COMPLETED" />
345
346    <protected-broadcast android:name="android.net.nsd.STATE_CHANGED" />
347
348    <!-- For OMAPI -->
349    <protected-broadcast android:name="android.se.omapi.action.SECURE_ELEMENT_STATE_CHANGED" />
350
351    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
352    <protected-broadcast android:name="android.nfc.action.PREFERRED_PAYMENT_CHANGED" />
353    <protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
354    <protected-broadcast android:name="android.nfc.action.REQUIRE_UNLOCK_FOR_NFC" />
355    <protected-broadcast android:name="com.android.nfc.action.LLCP_UP" />
356    <protected-broadcast android:name="com.android.nfc.action.LLCP_DOWN" />
357    <protected-broadcast android:name="com.android.nfc.cardemulation.action.CLOSE_TAP_DIALOG" />
358    <protected-broadcast android:name="com.android.nfc.handover.action.ALLOW_CONNECT" />
359    <protected-broadcast android:name="com.android.nfc.handover.action.DENY_CONNECT" />
360    <protected-broadcast android:name="com.android.nfc.handover.action.TIMEOUT_CONNECT" />
361    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_ON_DETECTED" />
362    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED" />
363    <protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
364    <!-- For NFC to BT handover -->
365    <protected-broadcast android:name="android.btopp.intent.action.WHITELIST_DEVICE" />
366    <protected-broadcast android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER" />
367    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND" />
368    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE" />
369    <protected-broadcast android:name="com.android.nfc.handover.action.CANCEL_HANDOVER_TRANSFER" />
370
371    <protected-broadcast android:name="android.net.action.CLEAR_DNS_CACHE" />
372    <protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
373
374    <protected-broadcast android:name="android.os.UpdateLock.UPDATE_LOCK_CHANGED" />
375
376    <protected-broadcast android:name="android.intent.action.DREAMING_STARTED" />
377    <protected-broadcast android:name="android.intent.action.DREAMING_STOPPED" />
378    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
379
380    <protected-broadcast android:name="com.android.server.stats.action.TRIGGER_COLLECTION" />
381
382    <protected-broadcast android:name="com.android.server.WifiManager.action.START_SCAN" />
383    <protected-broadcast android:name="com.android.server.WifiManager.action.START_PNO" />
384    <protected-broadcast android:name="com.android.server.WifiManager.action.DELAYED_DRIVER_STOP" />
385    <protected-broadcast android:name="com.android.server.WifiManager.action.DEVICE_IDLE" />
386    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_ACCEPTED" />
387    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_DECLINED" />
388    <protected-broadcast android:name="com.android.internal.action.EUICC_FACTORY_RESET" />
389    <protected-broadcast
390        android:name="com.android.internal.action.EUICC_REMOVE_INVISIBLE_SUBSCRIPTIONS" />
391    <protected-broadcast android:name="com.android.server.usb.ACTION_OPEN_IN_APPS" />
392    <protected-broadcast android:name="com.android.server.am.DELETE_DUMPHEAP" />
393    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_WARNING" />
394    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_RAPID" />
395    <protected-broadcast android:name="com.android.server.wifi.ACTION_SHOW_SET_RANDOMIZATION_DETAILS" />
396    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_ALLOWED_APP" />
397    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISALLOWED_APP" />
398    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISMISSED" />
399    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_ALLOWED_CARRIER" />
400    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISALLOWED_CARRIER" />
401    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISMISSED" />
402    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.USER_DISMISSED_NOTIFICATION" />
403    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.CONNECT_TO_NETWORK" />
404    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_WIFI_NETWORK" />
405    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_NETWORK_AFTER_FAILURE" />
406    <protected-broadcast android:name="com.android.server.wifi.wakeup.DISMISS_NOTIFICATION" />
407    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_PREFERENCES" />
408    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_SETTINGS" />
409    <protected-broadcast android:name="com.android.server.wifi.wakeup.TURN_OFF_WIFI_WAKE" />
410    <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" />
411    <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
412    <protected-broadcast android:name="android.net.wifi.WIFI_CREDENTIAL_CHANGED" />
413    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED" />
414    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_RESOURCE_CHANGED" />
415    <protected-broadcast android:name="android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED" />
416    <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" />
417    <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" />
418    <protected-broadcast android:name="android.net.wifi.STATE_CHANGE" />
419    <protected-broadcast android:name="android.net.wifi.LINK_CONFIGURATION_CHANGED" />
420    <protected-broadcast android:name="android.net.wifi.CONFIGURED_NETWORKS_CHANGE" />
421    <protected-broadcast android:name="android.net.wifi.action.NETWORK_SETTINGS_RESET" />
422    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_DEAUTH_IMMINENT" />
423    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_ICON" />
424    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_OSU_PROVIDERS_LIST" />
425    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_SUBSCRIPTION_REMEDIATION" />
426    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW" />
427    <protected-broadcast android:name="android.net.wifi.action.REFRESH_USER_PROVISIONING" />
428    <protected-broadcast android:name="android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION" />
429    <protected-broadcast android:name="android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED" />
430    <protected-broadcast android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
431    <protected-broadcast android:name="android.net.wifi.supplicant.STATE_CHANGE" />
432    <protected-broadcast android:name="android.net.wifi.p2p.STATE_CHANGED" />
433    <protected-broadcast android:name="android.net.wifi.p2p.DISCOVERY_STATE_CHANGE" />
434    <protected-broadcast android:name="android.net.wifi.p2p.THIS_DEVICE_CHANGED" />
435    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
436    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
437    <protected-broadcast android:name="android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED" />
438    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
439    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
440    <!-- This broadcast is no longer sent in S but it should stay protected to avoid third party
441         apps broadcasting this and confusing old system apps that may not have been updated. -->
442    <protected-broadcast android:name="android.net.conn.NETWORK_CONDITIONS_MEASURED" />
443    <protected-broadcast
444            android:name="android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED" />
445    <protected-broadcast android:name="android.net.scoring.SCORE_NETWORKS" />
446    <protected-broadcast android:name="android.net.scoring.SCORER_CHANGED" />
447    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE" />
448    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" />
449    <protected-broadcast android:name="android.intent.action.AIRPLANE_MODE" />
450    <protected-broadcast android:name="android.intent.action.ADVANCED_SETTINGS" />
451    <protected-broadcast android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED" />
452    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRED_DEVICES" />
453    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRING_RESULT" />
454    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_STATUS" />
455
456    <!-- Legacy -->
457    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_START" />
458    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_END" />
459
460    <protected-broadcast android:name="com.android.server.ACTION_TRIGGER_IDLE" />
461
462    <protected-broadcast android:name="android.intent.action.HDMI_PLUGGED" />
463
464    <protected-broadcast android:name="android.intent.action.PHONE_STATE" />
465
466    <protected-broadcast android:name="android.intent.action.SUB_DEFAULT_CHANGED" />
467
468    <protected-broadcast android:name="android.location.PROVIDERS_CHANGED" />
469    <protected-broadcast android:name="android.location.MODE_CHANGED" />
470    <protected-broadcast android:name="android.location.action.GNSS_CAPABILITIES_CHANGED" />
471
472    <protected-broadcast android:name="android.net.proxy.PAC_REFRESH" />
473
474    <protected-broadcast android:name="android.telecom.action.DEFAULT_DIALER_CHANGED" />
475    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED" />
476    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_CREATED" />
477    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_LOST" />
478    <protected-broadcast android:name="android.intent.action.CONTENT_CHANGED" />
479    <protected-broadcast android:name="android.provider.Telephony.MMS_DOWNLOADED" />
480
481    <protected-broadcast
482        android:name="com.android.server.connectivityservice.CONNECTED_TO_PROVISIONING_NETWORK_ACTION" />
483
484    <!-- Defined in RestrictionsManager -->
485    <protected-broadcast android:name="android.content.action.PERMISSION_RESPONSE_RECEIVED" />
486    <protected-broadcast android:name="android.content.action.REQUEST_PERMISSION" />
487
488    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_STARTED" />
489    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
490    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_PROGRESS" />
491    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
492
493    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED" />
494    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED" />
495
496    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_DONE" />
497    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_FAILED" />
498
499    <protected-broadcast android:name="android.internal.policy.action.BURN_IN_PROTECTION" />
500    <protected-broadcast android:name="android.app.action.SYSTEM_UPDATE_POLICY_CHANGED" />
501    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
502    <protected-broadcast android:name="android.app.action.DEVICE_OWNER_CHANGED" />
503    <protected-broadcast android:name="android.app.action.MANAGED_USER_CREATED" />
504
505    <!-- Added in N -->
506    <protected-broadcast android:name="android.intent.action.ANR" />
507    <protected-broadcast android:name="android.intent.action.CALL" />
508    <protected-broadcast android:name="android.intent.action.CALL_PRIVILEGED" />
509    <protected-broadcast android:name="android.intent.action.DROPBOX_ENTRY_ADDED" />
510    <protected-broadcast android:name="android.intent.action.INPUT_METHOD_CHANGED" />
511    <protected-broadcast android:name="android.intent.action.internal_sim_state_changed" />
512    <protected-broadcast android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
513    <protected-broadcast android:name="android.intent.action.PRECISE_CALL_STATE" />
514    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_PHONE_STATE" />
515    <protected-broadcast android:name="android.intent.action.USER_INFO_CHANGED" />
516    <protected-broadcast android:name="android.intent.action.USER_UNLOCKED" />
517    <protected-broadcast android:name="android.intent.action.WALLPAPER_CHANGED" />
518
519    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_MANAGER_STATE_CHANGED" />
520    <protected-broadcast android:name="android.app.action.CHOOSE_PRIVATE_KEY_ALIAS" />
521    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
522    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
523    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
524    <protected-broadcast android:name="android.app.action.LOCK_TASK_ENTERING" />
525    <protected-broadcast android:name="android.app.action.LOCK_TASK_EXITING" />
526    <protected-broadcast android:name="android.app.action.NOTIFY_PENDING_SYSTEM_UPDATE" />
527    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_CHANGED" />
528    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_EXPIRING" />
529    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_FAILED" />
530    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_SUCCEEDED" />
531    <protected-broadcast android:name="com.android.server.ACTION_EXPIRED_PASSWORD_NOTIFICATION" />
532    <protected-broadcast android:name="com.android.server.ACTION_PROFILE_OFF_DEADLINE" />
533    <protected-broadcast android:name="com.android.server.ACTION_TURN_PROFILE_ON_NOTIFICATION" />
534
535    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_ADDED" />
536    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNLOCKED" />
537    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_REMOVED" />
538    <protected-broadcast android:name="android.app.action.MANAGED_PROFILE_PROVISIONED" />
539
540    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_STATE_CHANGED" />
541    <protected-broadcast android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT" />
542    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
543    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
544    <protected-broadcast android:name="android.content.jobscheduler.JOB_DELAY_EXPIRED" />
545    <protected-broadcast android:name="android.content.syncmanager.SYNC_ALARM" />
546    <protected-broadcast android:name="android.media.INTERNAL_RINGER_MODE_CHANGED_ACTION" />
547    <protected-broadcast android:name="android.media.STREAM_DEVICES_CHANGED_ACTION" />
548    <protected-broadcast android:name="android.media.STREAM_MUTE_CHANGED_ACTION" />
549    <protected-broadcast android:name="android.net.sip.SIP_SERVICE_UP" />
550    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
551    <protected-broadcast android:name="android.os.action.CHARGING" />
552    <protected-broadcast android:name="android.os.action.DISCHARGING" />
553    <protected-broadcast android:name="android.search.action.SEARCHABLES_CHANGED" />
554    <protected-broadcast android:name="android.security.STORAGE_CHANGED" />
555    <protected-broadcast android:name="android.security.action.TRUST_STORE_CHANGED" />
556    <protected-broadcast android:name="android.security.action.KEYCHAIN_CHANGED" />
557    <protected-broadcast android:name="android.security.action.KEY_ACCESS_CHANGED" />
558    <protected-broadcast android:name="android.telecom.action.NUISANCE_CALL_STATUS_CHANGED" />
559    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_REGISTERED" />
560    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_UNREGISTERED" />
561    <protected-broadcast android:name="android.telecom.action.POST_CALL" />
562    <protected-broadcast android:name="android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION" />
563    <protected-broadcast android:name="android.telephony.action.CARRIER_CONFIG_CHANGED" />
564    <protected-broadcast android:name="android.telephony.action.DEFAULT_SUBSCRIPTION_CHANGED" />
565    <protected-broadcast android:name="android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED" />
566    <protected-broadcast android:name="android.telephony.action.SECRET_CODE" />
567    <protected-broadcast android:name="android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION" />
568    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_PLANS_CHANGED" />
569
570    <protected-broadcast android:name="com.android.bluetooth.btservice.action.ALARM_WAKEUP" />
571    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_POLL" />
572    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_UPDATED" />
573    <protected-broadcast android:name="com.android.server.timedetector.NetworkTimeUpdateService.action.POLL" />
574    <protected-broadcast android:name="com.android.server.telecom.intent.action.CALLS_ADD_ENTRY" />
575    <protected-broadcast android:name="com.android.settings.location.MODE_CHANGING" />
576    <protected-broadcast android:name="com.android.settings.bluetooth.ACTION_DISMISS_PAIRING" />
577    <protected-broadcast android:name="com.android.settings.network.DELETE_SUBSCRIPTION" />
578    <protected-broadcast android:name="com.android.settings.network.SWITCH_TO_SUBSCRIPTION" />
579    <protected-broadcast android:name="com.android.settings.wifi.action.NETWORK_REQUEST" />
580
581    <protected-broadcast android:name="android.app.action.KEYGUARD_PRIVATE_NOTIFICATIONS_CHANGED" />
582    <protected-broadcast android:name="NotificationManagerService.TIMEOUT" />
583    <protected-broadcast android:name="com.android.server.notification.TimeToLiveHelper" />
584    <protected-broadcast android:name="NotificationHistoryDatabase.CLEANUP" />
585    <protected-broadcast android:name="ScheduleConditionProvider.EVALUATE" />
586    <protected-broadcast android:name="EventConditionProvider.EVALUATE" />
587    <protected-broadcast android:name="SnoozeHelper.EVALUATE" />
588    <protected-broadcast android:name="wifi_scan_available" />
589
590    <protected-broadcast android:name="action.cne.started" />
591    <protected-broadcast android:name="android.content.jobscheduler.JOB_DEADLINE_EXPIRED" />
592    <protected-broadcast android:name="android.intent.action.ACTION_UNSOL_RESPONSE_OEM_HOOK_RAW" />
593    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_SUPL" />
594    <protected-broadcast android:name="android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED" />
595    <protected-broadcast android:name="android.os.storage.action.VOLUME_STATE_CHANGED" />
596    <protected-broadcast android:name="android.os.storage.action.DISK_SCANNED" />
597    <protected-broadcast android:name="com.android.server.action.UPDATE_TWILIGHT_STATE" />
598    <protected-broadcast android:name="com.android.server.action.RESET_TWILIGHT_AUTO" />
599    <protected-broadcast android:name="com.android.server.device_idle.STEP_IDLE_STATE" />
600    <protected-broadcast android:name="com.android.server.device_idle.STEP_LIGHT_IDLE_STATE" />
601    <protected-broadcast android:name="com.android.server.Wifi.action.TOGGLE_PNO" />
602    <protected-broadcast android:name="intent.action.ACTION_RF_BAND_INFO" />
603    <protected-broadcast android:name="android.intent.action.MEDIA_RESOURCE_GRANTED" />
604    <protected-broadcast android:name="android.app.action.NETWORK_LOGS_AVAILABLE" />
605    <protected-broadcast android:name="android.app.action.SECURITY_LOGS_AVAILABLE" />
606    <protected-broadcast android:name="android.app.action.COMPLIANCE_ACKNOWLEDGEMENT_REQUIRED" />
607
608    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED" />
609    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED_INTERNAL" />
610    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_CHANGED" />
611    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED" />
612    <protected-broadcast android:name="android.app.action.AUTOMATIC_ZEN_RULE_STATUS_CHANGED" />
613    <protected-broadcast android:name="android.os.action.ACTION_EFFECTS_SUPPRESSOR_CHANGED" />
614    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED" />
615    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED" />
616    <protected-broadcast android:name="android.app.action.NOTIFICATION_LISTENER_ENABLED_CHANGED" />
617    <protected-broadcast android:name="android.app.action.APP_BLOCK_STATE_CHANGED" />
618
619    <protected-broadcast android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS" />
620    <protected-broadcast android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS" />
621
622    <protected-broadcast android:name="android.intent.action.DYNAMIC_SENSOR_CHANGED" />
623
624    <protected-broadcast android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
625    <protected-broadcast android:name="android.accounts.action.ACCOUNT_REMOVED" />
626    <protected-broadcast android:name="android.accounts.action.VISIBLE_ACCOUNTS_CHANGED" />
627
628    <protected-broadcast android:name="com.android.sync.SYNC_CONN_STATUS_CHANGED" />
629
630    <protected-broadcast android:name="android.net.sip.action.SIP_INCOMING_CALL" />
631    <protected-broadcast android:name="com.android.phone.SIP_ADD_PHONE" />
632    <protected-broadcast android:name="android.net.sip.action.SIP_REMOVE_PROFILE" />
633    <protected-broadcast android:name="android.net.sip.action.SIP_SERVICE_UP" />
634    <protected-broadcast android:name="android.net.sip.action.SIP_CALL_OPTION_CHANGED" />
635    <protected-broadcast android:name="android.net.sip.action.START_SIP" />
636
637    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_CONNECTED" />
638    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_DISCONNECTED" />
639
640    <protected-broadcast android:name="android.bluetooth.input.profile.action.HANDSHAKE" />
641    <protected-broadcast android:name="android.bluetooth.input.profile.action.REPORT" />
642
643    <protected-broadcast android:name="android.intent.action.TWILIGHT_CHANGED" />
644
645    <protected-broadcast android:name="com.android.server.fingerprint.ACTION_LOCKOUT_RESET" />
646    <protected-broadcast android:name="android.net.wifi.PASSPOINT_ICON_RECEIVED" />
647
648    <protected-broadcast android:name="com.android.server.notification.CountdownConditionProvider" />
649    <protected-broadcast android:name="android.server.notification.action.ENABLE_NAS" />
650    <protected-broadcast android:name="android.server.notification.action.DISABLE_NAS" />
651    <protected-broadcast android:name="android.server.notification.action.LEARNMORE_NAS" />
652
653    <protected-broadcast android:name="com.android.internal.location.ALARM_WAKEUP" />
654    <protected-broadcast android:name="com.android.internal.location.ALARM_TIMEOUT" />
655    <protected-broadcast android:name="android.intent.action.GLOBAL_BUTTON" />
656
657    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_AVAILABLE" />
658    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNAVAILABLE" />
659    <protected-broadcast android:name="com.android.server.pm.DISABLE_QUIET_MODE_AFTER_UNLOCK" />
660
661    <protected-broadcast android:name="android.intent.action.PROFILE_ACCESSIBLE" />
662    <protected-broadcast android:name="android.intent.action.PROFILE_INACCESSIBLE" />
663
664    <protected-broadcast android:name="com.android.server.retaildemo.ACTION_RESET_DEMO" />
665
666    <protected-broadcast android:name="android.intent.action.DEVICE_LOCKED_CHANGED" />
667
668    <protected-broadcast android:name="com.android.content.pm.action.CAN_INTERACT_ACROSS_PROFILES_CHANGED"/>
669
670    <!-- Added in O -->
671    <protected-broadcast android:name="android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED" />
672    <protected-broadcast android:name="com.android.server.wm.ACTION_REVOKE_SYSTEM_ALERT_WINDOW_PERMISSION" />
673    <protected-broadcast android:name="android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED" />
674
675    <protected-broadcast android:name="android.content.pm.action.SESSION_COMMITTED" />
676    <protected-broadcast android:name="android.os.action.USER_RESTRICTIONS_CHANGED" />
677    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT" />
678    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED" />
679    <protected-broadcast android:name="android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED" />
680    <protected-broadcast android:name="android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED" />
681
682    <!-- Made protected in P (was introduced in JB-MR2) -->
683    <protected-broadcast android:name="android.intent.action.GET_RESTRICTION_ENTRIES" />
684    <protected-broadcast android:name="android.telephony.euicc.action.OTA_STATUS_CHANGED" />
685
686    <!-- Added in P -->
687    <protected-broadcast android:name="android.app.action.PROFILE_OWNER_CHANGED" />
688    <protected-broadcast android:name="android.app.action.TRANSFER_OWNERSHIP_COMPLETE" />
689    <protected-broadcast android:name="android.app.action.AFFILIATED_PROFILE_TRANSFER_OWNERSHIP_COMPLETE" />
690    <protected-broadcast android:name="android.app.action.STATSD_STARTED" />
691    <protected-broadcast android:name="com.android.server.biometrics.fingerprint.ACTION_LOCKOUT_RESET" />
692    <protected-broadcast android:name="com.android.server.biometrics.face.ACTION_LOCKOUT_RESET" />
693
694    <!-- For IdleController -->
695    <protected-broadcast android:name="android.intent.action.DOCK_IDLE" />
696    <protected-broadcast android:name="android.intent.action.DOCK_ACTIVE" />
697
698    <!-- Added in Q -->
699    <protected-broadcast android:name="android.content.pm.action.SESSION_UPDATED" />
700    <protected-broadcast android:name="android.settings.action.GRAYSCALE_CHANGED" />
701
702    <!-- For CarIdlenessTracker -->
703    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_ON" />
704    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_OFF" />
705    <protected-broadcast android:name="com.android.server.jobscheduler.FORCE_IDLE" />
706    <protected-broadcast android:name="com.android.server.jobscheduler.UNFORCE_IDLE" />
707
708    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL" />
709
710    <protected-broadcast android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY" />
711
712    <!-- Added in R -->
713    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
714
715    <!-- For tether entitlement recheck-->
716    <protected-broadcast
717        android:name="com.android.server.connectivity.tethering.PROVISIONING_RECHECK_ALARM" />
718
719    <!-- Made protected in S (was added in R) -->
720    <protected-broadcast android:name="com.android.internal.intent.action.BUGREPORT_REQUESTED" />
721
722    <!-- Added in S -->
723    <protected-broadcast android:name="android.scheduling.action.REBOOT_READY" />
724    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_CONSTANTS_CHANGED" />
725    <protected-broadcast android:name="android.app.action.SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED" />
726    <protected-broadcast android:name="android.app.action.SHOW_NEW_USER_DISCLAIMER" />
727
728    <!-- Moved from packages/services/Telephony in T -->
729    <protected-broadcast android:name="android.telecom.action.CURRENT_TTY_MODE_CHANGED" />
730    <protected-broadcast android:name="android.intent.action.SERVICE_STATE" />
731    <protected-broadcast android:name="android.intent.action.RADIO_TECHNOLOGY" />
732    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED" />
733    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALL_STATE_CHANGED" />
734    <protected-broadcast android:name="android.intent.action.SIG_STR" />
735    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
736    <protected-broadcast android:name="android.intent.action.DATA_STALL_DETECTED" />
737    <protected-broadcast android:name="android.intent.action.SIM_STATE_CHANGED" />
738    <protected-broadcast android:name="android.intent.action.USER_ACTIVITY_NOTIFICATION" />
739    <protected-broadcast android:name="android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS" />
740    <protected-broadcast android:name="android.intent.action.ACTION_MDN_STATE_CHANGED" />
741    <protected-broadcast android:name="android.telephony.action.SERVICE_PROVIDERS_UPDATED" />
742    <protected-broadcast android:name="android.provider.Telephony.SIM_FULL" />
743    <protected-broadcast android:name="com.android.internal.telephony.carrier_key_download_alarm" />
744    <protected-broadcast android:name="com.android.internal.telephony.data-restart-trysetup" />
745    <protected-broadcast android:name="com.android.internal.telephony.data-stall" />
746    <protected-broadcast android:name="com.android.internal.telephony.provisioning_apn_alarm" />
747    <protected-broadcast android:name="android.intent.action.DATA_SMS_RECEIVED" />
748    <protected-broadcast android:name="android.provider.Telephony.SMS_RECEIVED" />
749    <protected-broadcast android:name="android.provider.Telephony.SMS_DELIVER" />
750    <protected-broadcast android:name="android.provider.Telephony.SMS_REJECTED" />
751    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
752    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
753    <protected-broadcast android:name="android.provider.Telephony.SMS_CB_RECEIVED" />
754    <protected-broadcast android:name="android.provider.action.SMS_EMERGENCY_CB_RECEIVED" />
755    <protected-broadcast android:name="android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED" />
756    <protected-broadcast android:name="android.provider.Telephony.SECRET_CODE" />
757    <protected-broadcast android:name="com.android.internal.stk.command" />
758    <protected-broadcast android:name="com.android.internal.stk.session_end" />
759    <protected-broadcast android:name="com.android.internal.stk.icc_status_change" />
760    <protected-broadcast android:name="com.android.internal.stk.alpha_notify" />
761    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" />
762    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
763    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE" />
764    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_RESET" />
765    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
766    <protected-broadcast android:name="com.android.internal.telephony.PROVISION" />
767    <protected-broadcast android:name="com.android.internal.telephony.ACTION_LINE1_NUMBER_ERROR_DETECTED" />
768    <protected-broadcast android:name="com.android.internal.provider.action.VOICEMAIL_SMS_RECEIVED" />
769    <protected-broadcast android:name="com.android.intent.isim_refresh" />
770    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_AVAILABLE" />
771    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_UNAVAILABLE" />
772    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_DIED" />
773    <protected-broadcast android:name="com.android.ims.ACTION_PRESENCE_CHANGED" />
774    <protected-broadcast android:name="com.android.ims.ACTION_PUBLISH_STATUS_CHANGED" />
775    <protected-broadcast android:name="com.android.ims.IMS_SERVICE_UP" />
776    <protected-broadcast android:name="com.android.ims.IMS_SERVICE_DOWN" />
777    <protected-broadcast android:name="com.android.ims.IMS_INCOMING_CALL" />
778    <protected-broadcast android:name="com.android.ims.internal.uce.UCE_SERVICE_UP" />
779    <protected-broadcast android:name="com.android.ims.internal.uce.UCE_SERVICE_DOWN" />
780    <protected-broadcast android:name="com.android.imsconnection.DISCONNECTED" />
781    <protected-broadcast android:name="com.android.intent.action.IMS_FEATURE_CHANGED" />
782    <protected-broadcast android:name="com.android.intent.action.IMS_CONFIG_CHANGED" />
783    <protected-broadcast android:name="android.telephony.ims.action.WFC_IMS_REGISTRATION_ERROR" />
784    <protected-broadcast android:name="com.android.phone.vvm.omtp.sms.REQUEST_SENT" />
785    <protected-broadcast android:name="com.android.phone.vvm.ACTION_VISUAL_VOICEMAIL_SERVICE_EVENT" />
786    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_VVM_PACKAGE_INSTALLED" />
787    <protected-broadcast android:name="com.android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO" />
788    <protected-broadcast android:name="com.android.internal.telephony.ACTION_CARRIER_CERTIFICATE_DOWNLOAD" />
789    <protected-broadcast android:name="com.android.internal.telephony.action.COUNTRY_OVERRIDE" />
790    <protected-broadcast android:name="com.android.internal.telephony.OPEN_DEFAULT_SMS_APP" />
791    <protected-broadcast android:name="com.android.internal.telephony.ACTION_TEST_OVERRIDE_CARRIER_ID" />
792    <protected-broadcast android:name="android.telephony.action.SIM_CARD_STATE_CHANGED" />
793    <protected-broadcast android:name="android.telephony.action.SIM_APPLICATION_STATE_CHANGED" />
794    <protected-broadcast android:name="android.telephony.action.SIM_SLOT_STATUS_CHANGED" />
795    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED" />
796    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED" />
797    <protected-broadcast android:name="android.telephony.action.TOGGLE_PROVISION" />
798    <protected-broadcast android:name="android.telephony.action.NETWORK_COUNTRY_CHANGED" />
799    <protected-broadcast android:name="android.telephony.action.PRIMARY_SUBSCRIPTION_LIST_CHANGED" />
800    <protected-broadcast android:name="android.telephony.action.MULTI_SIM_CONFIG_CHANGED" />
801    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_RESET" />
802    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_PCO_VALUE" />
803    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
804    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_REDIRECTED" />
805    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
806    <protected-broadcast android:name="com.android.phone.settings.CARRIER_PROVISIONING" />
807    <protected-broadcast android:name="com.android.phone.settings.TRIGGER_CARRIER_PROVISIONING" />
808    <protected-broadcast android:name="com.android.internal.telephony.ACTION_VOWIFI_ENABLED" />
809    <protected-broadcast android:name="android.telephony.action.ANOMALY_REPORTED" />
810    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_INFO_RECORD_ADDED" />
811    <protected-broadcast android:name="android.intent.action.ACTION_MANAGED_ROAMING_IND" />
812    <protected-broadcast android:name="android.telephony.ims.action.RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE" />
813
814    <!-- Added in T -->
815    <protected-broadcast android:name="android.safetycenter.action.REFRESH_SAFETY_SOURCES" />
816    <protected-broadcast android:name="android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED" />
817    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_RESOURCE_UPDATED" />
818    <protected-broadcast android:name="android.intent.action.SHOW_FOREGROUND_SERVICE_MANAGER" />
819    <protected-broadcast android:name="android.service.autofill.action.DELAYED_FILL" />
820    <protected-broadcast android:name="android.app.action.PROVISIONING_COMPLETED" />
821    <protected-broadcast android:name="android.app.action.LOST_MODE_LOCATION_UPDATE" />
822
823    <!-- Added in U -->
824    <protected-broadcast android:name="android.intent.action.PROFILE_ADDED" />
825    <protected-broadcast android:name="android.intent.action.PROFILE_REMOVED" />
826    <protected-broadcast android:name="com.android.internal.telephony.cat.SMS_SENT_ACTION" />
827    <protected-broadcast android:name="com.android.internal.telephony.cat.SMS_DELIVERY_ACTION" />
828    <protected-broadcast android:name="com.android.internal.telephony.data.ACTION_RETRY" />
829    <protected-broadcast android:name="android.companion.virtual.action.VIRTUAL_DEVICE_REMOVED" />
830    <protected-broadcast android:name="com.android.internal.intent.action.FLASH_NOTIFICATION_START_PREVIEW" />
831    <protected-broadcast android:name="com.android.internal.intent.action.FLASH_NOTIFICATION_STOP_PREVIEW" />
832    <protected-broadcast android:name="android.app.admin.action.DEVICE_FINANCING_STATE_CHANGED" />
833    <protected-broadcast android:name="android.app.admin.action.DEVICE_POLICY_SET_RESULT" />
834    <protected-broadcast android:name="android.app.admin.action.DEVICE_POLICY_CHANGED" />
835
836    <!-- Added in V -->
837    <protected-broadcast android:name="android.intent.action.PROFILE_AVAILABLE" />
838    <protected-broadcast android:name="android.intent.action.PROFILE_UNAVAILABLE" />
839    <protected-broadcast android:name="android.app.action.CONSOLIDATED_NOTIFICATION_POLICY_CHANGED" />
840    <protected-broadcast android:name="android.intent.action.MAIN_USER_LOCKSCREEN_KNOWLEDGE_FACTOR_CHANGED" />
841
842    <!-- ====================================================================== -->
843    <!--                          RUNTIME PERMISSIONS                           -->
844    <!-- ====================================================================== -->
845    <eat-comment />
846
847    <!-- Grouping for platform runtime permissions is not accessible to apps
848         @hide
849         @SystemApi
850         @TestApi
851    -->
852    <permission-group android:name="android.permission-group.UNDEFINED"
853        android:priority="100" />
854
855    <!-- ====================================================================== -->
856    <!-- Permissions for accessing user's contacts including personal profile   -->
857    <!-- ====================================================================== -->
858    <eat-comment />
859
860    <!-- Used for runtime permissions related to contacts and profiles on this
861        device. -->
862    <permission-group android:name="android.permission-group.CONTACTS"
863        android:icon="@drawable/perm_group_contacts"
864        android:label="@string/permgrouplab_contacts"
865        android:description="@string/permgroupdesc_contacts"
866        android:priority="100" />
867
868    <!-- Allows an application to read the user's contacts data.
869        <p>Protection level: dangerous
870    -->
871    <permission android:name="android.permission.READ_CONTACTS"
872        android:permissionGroup="android.permission-group.UNDEFINED"
873        android:label="@string/permlab_readContacts"
874        android:description="@string/permdesc_readContacts"
875        android:protectionLevel="dangerous" />
876    <uses-permission android:name="android.permission.READ_CONTACTS" />
877
878    <!-- Allows an application to write the user's contacts data.
879         <p>Protection level: dangerous
880    -->
881    <permission android:name="android.permission.WRITE_CONTACTS"
882        android:permissionGroup="android.permission-group.UNDEFINED"
883        android:label="@string/permlab_writeContacts"
884        android:description="@string/permdesc_writeContacts"
885      android:protectionLevel="dangerous" />
886
887    <!-- Allows an app to update the verification status of E2EE contact keys owned by other apps.
888        <p>This permission is only granted to system apps.
889        <p>Protection level: signature|privileged
890        @SystemApi
891        @hide
892        @FlaggedApi("android.provider.user_keys")
893    -->
894    <permission android:name="android.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS"
895                android:permissionGroup="android.permission-group.UNDEFINED"
896                android:label="@string/permlab_writeVerificationStateE2eeContactKeys"
897                android:description="@string/permdesc_writeVerificationStateE2eeContactKeys"
898                android:protectionLevel="signature|privileged"
899                android:featureFlag="android.provider.user_keys" />
900
901    <!-- Allows an application to set default account for new contacts.
902        <p> This permission is only granted to system applications fulfilling the Contacts app role.
903        <p>Protection level: internal|role
904        @SystemApi
905        @hide
906    -->
907    <permission android:name="android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS"
908        android:protectionLevel="internal|role" />
909
910    <!-- ====================================================================== -->
911    <!-- Permissions for accessing user's calendar                              -->
912    <!-- ====================================================================== -->
913    <eat-comment />
914
915    <!-- Used for runtime permissions related to user's calendar. -->
916    <permission-group android:name="android.permission-group.CALENDAR"
917        android:icon="@drawable/perm_group_calendar"
918        android:label="@string/permgrouplab_calendar"
919        android:description="@string/permgroupdesc_calendar"
920        android:priority="200" />
921
922    <!-- Allows an application to read the user's calendar data.
923         <p>Protection level: dangerous
924    -->
925    <permission android:name="android.permission.READ_CALENDAR"
926        android:permissionGroup="android.permission-group.UNDEFINED"
927        android:label="@string/permlab_readCalendar"
928        android:description="@string/permdesc_readCalendar"
929        android:protectionLevel="dangerous" />
930
931    <!-- Allows an application to write the user's calendar data.
932         <p>Protection level: dangerous
933    -->
934    <permission android:name="android.permission.WRITE_CALENDAR"
935        android:permissionGroup="android.permission-group.UNDEFINED"
936        android:label="@string/permlab_writeCalendar"
937        android:description="@string/permdesc_writeCalendar"
938        android:protectionLevel="dangerous" />
939
940    <!-- ====================================================================== -->
941    <!-- Permissions for accessing and modifying user's SMS messages            -->
942    <!-- ====================================================================== -->
943    <eat-comment />
944
945    <!-- Allows accessing the messages on ICC
946         @hide Used internally. -->
947    <permission android:name="android.permission.ACCESS_MESSAGES_ON_ICC"
948        android:protectionLevel="signature" />
949
950    <!-- Used for runtime permissions related to user's SMS messages. -->
951    <permission-group android:name="android.permission-group.SMS"
952        android:icon="@drawable/perm_group_sms"
953        android:label="@string/permgrouplab_sms"
954        android:description="@string/permgroupdesc_sms"
955        android:priority="300" />
956
957    <!-- Allows an application to send SMS messages.
958         <p>Protection level: dangerous
959
960         <p> This is a hard restricted permission which cannot be held by an app until
961         the installer on record allowlists the permission. For more details see
962         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
963    -->
964    <permission android:name="android.permission.SEND_SMS"
965        android:permissionGroup="android.permission-group.UNDEFINED"
966        android:label="@string/permlab_sendSms"
967        android:description="@string/permdesc_sendSms"
968        android:permissionFlags="costsMoney|hardRestricted"
969        android:protectionLevel="dangerous" />
970
971    <!-- Allows an application to receive SMS messages.
972         <p>Protection level: dangerous
973
974         <p> This is a hard restricted permission which cannot be held by an app until
975         the installer on record allowlists the permission. For more details see
976         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
977    -->
978    <permission android:name="android.permission.RECEIVE_SMS"
979        android:permissionGroup="android.permission-group.UNDEFINED"
980        android:label="@string/permlab_receiveSms"
981        android:description="@string/permdesc_receiveSms"
982        android:permissionFlags="hardRestricted"
983        android:protectionLevel="dangerous" />
984
985    <!-- Allows an application to read SMS messages.
986         <p>Protection level: dangerous
987
988         <p> This is a hard restricted permission which cannot be held by an app until
989         the installer on record allowlists the permission. For more details see
990         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
991    -->
992    <permission android:name="android.permission.READ_SMS"
993        android:permissionGroup="android.permission-group.UNDEFINED"
994        android:label="@string/permlab_readSms"
995        android:description="@string/permdesc_readSms"
996        android:permissionFlags="hardRestricted"
997        android:protectionLevel="dangerous" />
998
999    <!-- Allows an application to receive WAP push messages.
1000         <p>Protection level: dangerous
1001
1002         <p> This is a hard restricted permission which cannot be held by an app until
1003         the installer on record allowlists the permission. For more details see
1004         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1005    -->
1006    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
1007        android:permissionGroup="android.permission-group.UNDEFINED"
1008        android:label="@string/permlab_receiveWapPush"
1009        android:description="@string/permdesc_receiveWapPush"
1010        android:permissionFlags="hardRestricted"
1011        android:protectionLevel="dangerous" />
1012
1013    <!-- Allows an application to monitor incoming MMS messages.
1014         <p>Protection level: dangerous
1015
1016         <p> This is a hard restricted permission which cannot be held by an app until
1017         the installer on record allowlists the permission. For more details see
1018         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1019    -->
1020    <permission android:name="android.permission.RECEIVE_MMS"
1021        android:permissionGroup="android.permission-group.UNDEFINED"
1022        android:label="@string/permlab_receiveMms"
1023        android:description="@string/permdesc_receiveMms"
1024        android:permissionFlags="hardRestricted"
1025        android:protectionLevel="dangerous" />
1026
1027    <!-- @SystemApi @TestApi Allows an application to forward cell broadcast messages to the cell
1028         broadcast module. This is required in order to bind to the cell broadcast service, and
1029         ensures that only the system can forward messages to it.
1030
1031         <p>Protection level: signature
1032
1033         @hide -->
1034    <permission android:name="android.permission.BIND_CELL_BROADCAST_SERVICE"
1035        android:label="@string/permlab_bindCellBroadcastService"
1036        android:description="@string/permdesc_bindCellBroadcastService"
1037        android:protectionLevel="signature" />
1038
1039    <!-- @SystemApi @TestApi Allows an application to read previously received cell broadcast
1040         messages and to register a content observer to get notifications when
1041         a cell broadcast has been received and added to the database. For
1042         emergency alerts, the database is updated immediately after the
1043         alert dialog and notification sound/vibration/speech are presented.
1044         The "read" column is then updated after the user dismisses the alert.
1045         This enables supplementary emergency assistance apps to start loading
1046         additional emergency information (if Internet access is available)
1047         when the alert is first received, and to delay presenting the info
1048         to the user until after the initial alert dialog is dismissed.
1049         <p>Protection level: dangerous
1050
1051         <p> This is a hard restricted permission which cannot be held by an app until
1052         the installer on record allowlists the permission. For more details see
1053         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1054
1055         @hide Pending API council approval -->
1056    <permission android:name="android.permission.READ_CELL_BROADCASTS"
1057        android:permissionGroup="android.permission-group.UNDEFINED"
1058        android:label="@string/permlab_readCellBroadcasts"
1059        android:description="@string/permdesc_readCellBroadcasts"
1060        android:permissionFlags="hardRestricted"
1061        android:protectionLevel="dangerous" />
1062
1063    <!-- @SystemApi @hide Allows an application to communicate over satellite.
1064         Only granted if the application is a system app or privileged app. -->
1065    <permission android:name="android.permission.SATELLITE_COMMUNICATION"
1066                android:protectionLevel="role|signature|privileged" />
1067
1068    <!-- ====================================================================== -->
1069    <!-- Permissions for accessing external storage                             -->
1070    <!-- ====================================================================== -->
1071    <eat-comment />
1072
1073    <!-- Used for runtime permissions related to the shared external storage. -->
1074    <permission-group android:name="android.permission-group.STORAGE"
1075        android:icon="@drawable/perm_group_storage"
1076        android:label="@string/permgrouplab_storage"
1077        android:description="@string/permgroupdesc_storage"
1078        android:priority="900" />
1079
1080    <!-- Allows an application to read from external storage.
1081      <p class="note"><strong>Note: </strong>Starting in API level 33, this permission has no
1082      effect. If your app accesses other apps' media files, request one or more of these permissions
1083      instead: <a href="#READ_MEDIA_IMAGES"><code>READ_MEDIA_IMAGES</code></a>,
1084      <a href="#READ_MEDIA_VIDEO"><code>READ_MEDIA_VIDEO</code></a>,
1085      <a href="#READ_MEDIA_AUDIO"><code>READ_MEDIA_AUDIO</code></a>. Learn more about the
1086      <a href="{@docRoot}training/data-storage/shared/media#storage-permission">storage
1087      permissions</a> that are associated with media files.</p>
1088
1089      <p>This permission is enforced starting in API level 19.  Before API level 19, this
1090      permission is not enforced and all apps still have access to read from external storage.
1091      You can test your app with the permission enforced by enabling <em>Protect USB
1092      storage</em> under <b>Developer options</b> in the Settings app on a device running Android
1093      4.1 or higher.</p>
1094      <p>Also starting in API level 19, this permission is <em>not</em> required to
1095      read or write files in your application-specific directories returned by
1096      {@link android.content.Context#getExternalFilesDir} and
1097      {@link android.content.Context#getExternalCacheDir}.</p>
1098      <p>Starting in API level 29, apps don't need to request this permission to access files in
1099      their app-specific directory on external storage, or their own files in the
1100      <a href="{@docRoot}reference/android/provider/MediaStore"><code>MediaStore</code></a>. Apps
1101      shouldn't request this permission unless they need to access other apps' files in the
1102      <code>MediaStore</code>. Read more about these changes in the
1103      <a href="{@docRoot}training/data-storage#scoped-storage">scoped storage</a> section of the
1104      developer documentation.</p>
1105      <p>If <em>both</em> your <a
1106      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1107      minSdkVersion}</a> and <a
1108      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1109      targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1110      grants your app this permission. If you don't need this permission, be sure your <a
1111      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1112      targetSdkVersion}</a> is 4 or higher.</p>
1113
1114      <p> This is a soft restricted permission which cannot be held by an app it its
1115      full form until the installer on record allowlists the permission.
1116      Specifically, if the permission is allowlisted the holder app can access
1117      external storage and the visual and aural media collections while if the
1118      permission is not allowlisted the holder app can only access to the visual
1119      and aural medial collections. Also the permission is immutably restricted
1120      meaning that the allowlist state can be specified only at install time and
1121      cannot change until the app is installed. For more details see
1122      {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1123     <p>Protection level: dangerous -->
1124    <permission android:name="android.permission.READ_EXTERNAL_STORAGE"
1125        android:permissionGroup="android.permission-group.UNDEFINED"
1126        android:label="@string/permlab_sdcardRead"
1127        android:description="@string/permdesc_sdcardRead"
1128        android:permissionFlags="softRestricted|immutablyRestricted"
1129        android:protectionLevel="dangerous" />
1130
1131    <!-- Required to be able to read audio files from shared storage.
1132     <p>Protection level: dangerous -->
1133    <permission-group android:name="android.permission-group.READ_MEDIA_AURAL"
1134                      android:icon="@drawable/perm_group_read_media_aural"
1135                      android:label="@string/permgrouplab_readMediaAural"
1136                      android:description="@string/permgroupdesc_readMediaAural"
1137                      android:priority="950" />
1138
1139    <!-- Allows an application to read audio files from external storage.
1140      <p>This permission is enforced starting in API level
1141      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1142      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read audio files from
1143      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1144      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1145      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1146      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read audio files.
1147     <p>Protection level: dangerous -->
1148    <permission android:name="android.permission.READ_MEDIA_AUDIO"
1149                android:permissionGroup="android.permission-group.UNDEFINED"
1150                android:label="@string/permlab_readMediaAudio"
1151                android:description="@string/permdesc_readMediaAudio"
1152                android:protectionLevel="dangerous" />
1153
1154    <!-- Required to be able to read image and video files from shared storage.
1155     <p>Protection level: dangerous -->
1156    <permission-group android:name="android.permission-group.READ_MEDIA_VISUAL"
1157                      android:icon="@drawable/perm_group_read_media_visual"
1158                      android:label="@string/permgrouplab_readMediaVisual"
1159                      android:description="@string/permgroupdesc_readMediaVisual"
1160                      android:priority="1000" />
1161
1162    <!-- Allows an application to read video files from external storage.
1163      <p>This permission is enforced starting in API level
1164      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1165      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read video files from
1166      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1167      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1168      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1169      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read video files.
1170   <p>Protection level: dangerous -->
1171    <permission android:name="android.permission.READ_MEDIA_VIDEO"
1172                android:permissionGroup="android.permission-group.UNDEFINED"
1173                android:label="@string/permlab_readMediaVideo"
1174                android:description="@string/permdesc_readMediaVideo"
1175                android:protectionLevel="dangerous" />
1176
1177    <!-- Allows an application to read image files from external storage.
1178      <p>This permission is enforced starting in API level
1179      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1180      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read image files from
1181      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1182      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1183      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1184      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read image files.
1185   <p>Protection level: dangerous -->
1186    <permission android:name="android.permission.READ_MEDIA_IMAGES"
1187                android:permissionGroup="android.permission-group.UNDEFINED"
1188                android:label="@string/permlab_readMediaImages"
1189                android:description="@string/permdesc_readMediaImages"
1190                android:protectionLevel="dangerous" />
1191
1192    <!-- Allows an application to read image or video files from external storage that a user has
1193      selected via the permission prompt photo picker. Apps can check this permission to verify that
1194      a user has decided to use the photo picker, instead of granting access to
1195      {@link #READ_MEDIA_IMAGES} or {@link #READ_MEDIA_VIDEO}. It does not prevent apps from
1196      accessing the standard photo picker manually. This permission should be requested alongside
1197      {@link #READ_MEDIA_IMAGES} and/or {@link #READ_MEDIA_VIDEO}, depending on which type of media
1198      is desired.
1199      <p> This permission will be automatically added to an app's manifest if the app requests
1200      {@link #READ_MEDIA_IMAGES}, {@link #READ_MEDIA_VIDEO}, or {@link #ACCESS_MEDIA_LOCATION}
1201      regardless of target SDK. If an app does not request this permission, then the grant dialog
1202      will return `PERMISSION_GRANTED` for {@link #READ_MEDIA_IMAGES} and/or
1203      {@link #READ_MEDIA_VIDEO}, but the app will only have access to the media selected by the
1204      user. This false grant state will persist until the app goes into the background.
1205   <p>Protection level: dangerous -->
1206    <permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED"
1207        android:permissionGroup="android.permission-group.UNDEFINED"
1208        android:label="@string/permlab_readVisualUserSelect"
1209        android:description="@string/permdesc_readVisualUserSelect"
1210        android:protectionLevel="dangerous" />
1211
1212    <!-- Allows an application to write to external storage.
1213         <p><strong>Note: </strong>If your app targets {@link android.os.Build.VERSION_CODES#R} or
1214         higher, this permission has no effect.
1215
1216         <p>If your app is on a device that runs API level 19 or higher, you don't need to declare
1217         this permission to read and write files in your application-specific directories returned
1218         by {@link android.content.Context#getExternalFilesDir} and
1219         {@link android.content.Context#getExternalCacheDir}.
1220
1221         <p>Learn more about how to
1222         <a href="{@docRoot}training/data-storage/shared/media#update-other-apps-files">modify media
1223         files</a> that your app doesn't own, and how to
1224         <a href="{@docRoot}training/data-storage/shared/documents-files">modify non-media files</a>
1225         that your app doesn't own.
1226
1227         <p>If your app is a file manager and needs broad access to external storage files, then
1228         the system must place your app on an allowlist so that you can successfully request the
1229         <a href="#MANAGE_EXTERNAL_STORAGE><code>MANAGE_EXTERNAL_STORAGE</code></a> permission.
1230         Learn more about the appropriate use cases for
1231         <a href="{@docRoot}training/data-storage/manage-all-files>managing all files on a storage
1232         device</a>.
1233
1234         <p>If <em>both</em> your <a
1235         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1236         minSdkVersion}</a> and <a
1237         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1238         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1239         grants your app this permission. If you don't need this permission, be sure your <a
1240         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1241         targetSdkVersion}</a> is 4 or higher.
1242         <p>Protection level: dangerous</p>
1243    -->
1244    <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
1245        android:permissionGroup="android.permission-group.UNDEFINED"
1246        android:label="@string/permlab_sdcardWrite"
1247        android:description="@string/permdesc_sdcardWrite"
1248        android:permissionFlags="softRestricted|immutablyRestricted"
1249        android:protectionLevel="dangerous" />
1250
1251    <!-- Allows an application to access any geographic locations persisted in the
1252         user's shared collection.
1253         <p>Protection level: dangerous -->
1254    <permission android:name="android.permission.ACCESS_MEDIA_LOCATION"
1255        android:permissionGroup="android.permission-group.UNDEFINED"
1256        android:label="@string/permlab_mediaLocation"
1257        android:description="@string/permdesc_mediaLocation"
1258        android:protectionLevel="dangerous" />
1259
1260    <!-- @hide @SystemApi @TestApi
1261         Allows an application to modify OBB files visible to other apps. -->
1262    <permission android:name="android.permission.WRITE_OBB"
1263        android:protectionLevel="signature|privileged" />
1264
1265    <!-- Allows an application a broad access to external storage in scoped storage.
1266         Intended to be used by few apps that need to manage files on behalf of the users.
1267         <p>Protection level: signature|appop|preinstalled -->
1268    <permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
1269        android:permissionGroup="android.permission-group.UNDEFINED"
1270        android:protectionLevel="signature|appop|preinstalled" />
1271
1272    <!-- Allows an application to modify and delete media files on this device or any connected
1273         storage device without user confirmation. Applications must already be granted the
1274         {@link #READ_EXTERNAL_STORAGE} or {@link #MANAGE_EXTERNAL_STORAGE}} permissions for this
1275         permission to take effect.
1276         <p>Even if applications are granted this permission, if applications want to modify or
1277         delete media files, they also must get the access by calling
1278         {@link android.provider.MediaStore#createWriteRequest(ContentResolver, Collection)},
1279         {@link android.provider.MediaStore#createDeleteRequest(ContentResolver, Collection)}, or
1280         {@link android.provider.MediaStore#createTrashRequest(ContentResolver, Collection, boolean)}.
1281         <p>This permission doesn't give read or write access directly. It only prevents the user
1282         confirmation dialog for these requests.
1283         <p>If applications are not granted {@link #ACCESS_MEDIA_LOCATION}, the system also pops up
1284         the user confirmation dialog for the write request.
1285         <p>Protection level: signature|appop|preinstalled -->
1286    <permission android:name="android.permission.MANAGE_MEDIA"
1287        android:protectionLevel="signature|appop|preinstalled" />
1288
1289    <!-- ====================================================================== -->
1290    <!-- Permissions for accessing the device location                          -->
1291    <!-- ====================================================================== -->
1292    <eat-comment />
1293
1294    <!-- Used for permissions that allow accessing the device location. -->
1295    <permission-group android:name="android.permission-group.LOCATION"
1296        android:icon="@drawable/perm_group_location"
1297        android:label="@string/permgrouplab_location"
1298        android:description="@string/permgroupdesc_location"
1299        android:priority="400" />
1300
1301    <!-- Allows an app to access precise location.
1302         Alternatively, you might want {@link #ACCESS_COARSE_LOCATION}.
1303         <p>Protection level: dangerous
1304    -->
1305    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
1306        android:permissionGroup="android.permission-group.UNDEFINED"
1307        android:label="@string/permlab_accessFineLocation"
1308        android:description="@string/permdesc_accessFineLocation"
1309        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
1310        android:protectionLevel="dangerous|instant" />
1311
1312    <!-- Allows an app to access approximate location.
1313         Alternatively, you might want {@link #ACCESS_FINE_LOCATION}.
1314         <p>Protection level: dangerous
1315    -->
1316    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
1317        android:permissionGroup="android.permission-group.UNDEFINED"
1318        android:label="@string/permlab_accessCoarseLocation"
1319        android:description="@string/permdesc_accessCoarseLocation"
1320        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
1321        android:protectionLevel="dangerous|instant" />
1322
1323    <!-- Allows an app to access location in the background. If you're requesting this permission,
1324         you must also request either {@link #ACCESS_COARSE_LOCATION} or
1325         {@link #ACCESS_FINE_LOCATION}. Requesting this permission by itself doesn't give you
1326         location access.
1327         <p>Protection level: dangerous
1328
1329         <p> This is a hard restricted permission which cannot be held by an app until
1330         the installer on record allowlists the permission. For more details see
1331         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1332    -->
1333    <permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"
1334        android:permissionGroup="android.permission-group.UNDEFINED"
1335        android:label="@string/permlab_accessBackgroundLocation"
1336        android:permissionFlags="hardRestricted"
1337        android:description="@string/permdesc_accessBackgroundLocation"
1338        android:protectionLevel="dangerous|instant" />
1339
1340    <!-- Allows an application (emergency or advanced driver-assistance app) to bypass
1341    location settings.
1342         <p>Not for use by third-party applications.
1343         @SystemApi
1344         @hide
1345    -->
1346    <permission android:name="android.permission.LOCATION_BYPASS"
1347                android:protectionLevel="signature|privileged"/>
1348
1349    <!-- ====================================================================== -->
1350    <!-- Permissions for accessing the call log                                 -->
1351    <!-- ====================================================================== -->
1352    <eat-comment />
1353
1354    <!-- Used for permissions that are associated telephony features. -->
1355    <permission-group android:name="android.permission-group.CALL_LOG"
1356        android:icon="@drawable/perm_group_call_log"
1357        android:label="@string/permgrouplab_calllog"
1358        android:description="@string/permgroupdesc_calllog"
1359        android:priority="450" />
1360
1361    <!-- Allows an application to access the IMS call service: making and
1362         modifying a call
1363        <p>Protection level: signature|privileged
1364        @hide
1365    -->
1366    <permission android:name="android.permission.ACCESS_IMS_CALL_SERVICE"
1367        android:label="@string/permlab_accessImsCallService"
1368        android:description="@string/permdesc_accessImsCallService"
1369        android:protectionLevel="signature|privileged" />
1370
1371    <!-- @SystemApi @hide Allows an application to perform IMS Single Registration related actions.
1372         Only granted if the application is a system app AND is in the Default SMS Role.
1373         The permission is revoked when the app is taken out of the Default SMS Role.
1374        <p>Protection level: internal|role
1375    -->
1376    <permission android:name="android.permission.PERFORM_IMS_SINGLE_REGISTRATION"
1377        android:protectionLevel="internal|role" />
1378
1379    <!-- Allows an application to read the user's call log.
1380         <p class="note"><strong>Note:</strong> If your app uses the
1381         {@link #READ_CONTACTS} permission and <em>both</em> your <a
1382         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1383         minSdkVersion}</a> and <a
1384         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1385         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1386         grants your app this permission. If you don't need this permission, be sure your <a
1387         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1388         targetSdkVersion}</a> is 16 or higher.</p>
1389         <p>Protection level: dangerous
1390
1391         <p> This is a hard restricted permission which cannot be held by an app until
1392         the installer on record allowlists the permission. For more details see
1393         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1394    -->
1395    <permission android:name="android.permission.READ_CALL_LOG"
1396        android:permissionGroup="android.permission-group.UNDEFINED"
1397        android:label="@string/permlab_readCallLog"
1398        android:description="@string/permdesc_readCallLog"
1399        android:permissionFlags="hardRestricted"
1400        android:protectionLevel="dangerous" />
1401
1402    <!-- Allows an application to write and read the user's call log data.
1403         <p class="note"><strong>Note:</strong> If your app uses the
1404         {@link #WRITE_CONTACTS} permission and <em>both</em> your <a
1405         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1406         minSdkVersion}</a> and <a
1407         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1408         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1409         grants your app this permission. If you don't need this permission, be sure your <a
1410         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1411         targetSdkVersion}</a> is 16 or higher.</p>
1412         <p>Protection level: dangerous
1413
1414         <p> This is a hard restricted permission which cannot be held by an app until
1415         the installer on record allowlists the permission. For more details see
1416         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1417    -->
1418    <permission android:name="android.permission.WRITE_CALL_LOG"
1419        android:permissionGroup="android.permission-group.UNDEFINED"
1420        android:label="@string/permlab_writeCallLog"
1421        android:description="@string/permdesc_writeCallLog"
1422        android:permissionFlags="hardRestricted"
1423        android:protectionLevel="dangerous" />
1424
1425    <!-- Allows an application to see the number being dialed during an outgoing
1426         call with the option to redirect the call to a different number or
1427         abort the call altogether.
1428         <p>Protection level: dangerous
1429
1430         <p> This is a hard restricted permission which cannot be held by an app until
1431         the installer on record allowlists the permission. For more details see
1432         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1433
1434         @deprecated Applications should use {@link android.telecom.CallRedirectionService} instead
1435         of the {@link android.content.Intent#ACTION_NEW_OUTGOING_CALL} broadcast.
1436    -->
1437    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
1438        android:permissionGroup="android.permission-group.UNDEFINED"
1439        android:label="@string/permlab_processOutgoingCalls"
1440        android:description="@string/permdesc_processOutgoingCalls"
1441        android:permissionFlags="hardRestricted"
1442        android:protectionLevel="dangerous" />
1443
1444    <!-- ====================================================================== -->
1445    <!-- Permissions for accessing the device telephony                         -->
1446    <!-- ====================================================================== -->
1447    <eat-comment />
1448
1449    <!-- Used for permissions that are associated telephony features. -->
1450    <permission-group android:name="android.permission-group.PHONE"
1451        android:icon="@drawable/perm_group_phone_calls"
1452        android:label="@string/permgrouplab_phone"
1453        android:description="@string/permgroupdesc_phone"
1454        android:priority="500" />
1455
1456    <!-- Allows read only access to phone state, including the current cellular network information,
1457         the status of any ongoing calls, and a list of any {@link android.telecom.PhoneAccount}s
1458         registered on the device.
1459         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1460         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1461         minSdkVersion}</a> and <a
1462         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1463         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1464         grants your app this permission. If you don't need this permission, be sure your <a
1465         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1466         targetSdkVersion}</a> is 4 or higher.
1467         <p>Protection level: dangerous
1468    -->
1469    <permission android:name="android.permission.READ_PHONE_STATE"
1470        android:permissionGroup="android.permission-group.UNDEFINED"
1471        android:label="@string/permlab_readPhoneState"
1472        android:description="@string/permdesc_readPhoneState"
1473        android:protectionLevel="dangerous" />
1474
1475    <!-- Allows read only access to phone state with a non dangerous permission,
1476         including the information like cellular network type, software version. -->
1477    <permission android:name="android.permission.READ_BASIC_PHONE_STATE"
1478            android:permissionGroup="android.permission-group.UNDEFINED"
1479            android:label="@string/permlab_readBasicPhoneState"
1480            android:description="@string/permdesc_readBasicPhoneState"
1481            android:protectionLevel="normal" />
1482
1483    <!-- Allows read access to the device's phone number(s). This is a subset of the capabilities
1484         granted by {@link #READ_PHONE_STATE} but is exposed to instant applications.
1485         <p>Protection level: dangerous-->
1486    <permission android:name="android.permission.READ_PHONE_NUMBERS"
1487        android:permissionGroup="android.permission-group.UNDEFINED"
1488        android:label="@string/permlab_readPhoneNumbers"
1489        android:description="@string/permdesc_readPhoneNumbers"
1490        android:protectionLevel="dangerous|instant" />
1491
1492    <!-- Allows an application to initiate a phone call without going through
1493        the Dialer user interface for the user to confirm the call.
1494        <p class="note"><b>Note:</b> An app holding this permission can also call carrier MMI
1495        codes to change settings such as call forwarding or call waiting preferences.</p>
1496        <p>Protection level: dangerous</p>
1497    -->
1498    <permission android:name="android.permission.CALL_PHONE"
1499        android:permissionGroup="android.permission-group.UNDEFINED"
1500        android:permissionFlags="costsMoney"
1501        android:label="@string/permlab_callPhone"
1502        android:description="@string/permdesc_callPhone"
1503        android:protectionLevel="dangerous" />
1504
1505    <!-- Allows an application to add voicemails into the system.
1506         <p>Protection level: dangerous
1507    -->
1508    <permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
1509        android:permissionGroup="android.permission-group.UNDEFINED"
1510        android:label="@string/permlab_addVoicemail"
1511        android:description="@string/permdesc_addVoicemail"
1512        android:protectionLevel="dangerous" />
1513
1514    <!-- Allows an application to use SIP service.
1515         <p>Protection level: dangerous
1516    -->
1517    <permission android:name="android.permission.USE_SIP"
1518        android:permissionGroup="android.permission-group.UNDEFINED"
1519        android:description="@string/permdesc_use_sip"
1520        android:label="@string/permlab_use_sip"
1521        android:protectionLevel="dangerous"/>
1522
1523    <!-- Allows the app to answer an incoming phone call.
1524         <p>Protection level: dangerous
1525    -->
1526    <permission android:name="android.permission.ANSWER_PHONE_CALLS"
1527        android:permissionGroup="android.permission-group.UNDEFINED"
1528        android:label="@string/permlab_answerPhoneCalls"
1529        android:description="@string/permdesc_answerPhoneCalls"
1530        android:protectionLevel="dangerous|runtime" />
1531
1532    <!-- Allows a calling application which manages its own calls through the self-managed
1533         {@link android.telecom.ConnectionService} APIs.  See
1534         {@link android.telecom.PhoneAccount#CAPABILITY_SELF_MANAGED} for more information on the
1535         self-managed ConnectionService APIs.
1536         <p>Protection level: normal
1537    -->
1538    <permission android:name="android.permission.MANAGE_OWN_CALLS"
1539                android:label="@string/permlab_manageOwnCalls"
1540                android:description="@string/permdesc_manageOwnCalls"
1541                android:protectionLevel="normal" />
1542
1543    <!--Allows an app which implements the
1544        {@link android.telecom.InCallService InCallService} API to be eligible to be enabled as a
1545        calling companion app. This means that the Telecom framework will bind to the app's
1546        InCallService implementation when there are calls active. The app can use the InCallService
1547        API to view information about calls on the system and control these calls.
1548        <p>Protection level: normal
1549    -->
1550    <permission android:name="android.permission.CALL_COMPANION_APP"
1551                android:label="@string/permlab_callCompanionApp"
1552                android:description="@string/permdesc_callCompanionApp"
1553                android:protectionLevel="normal" />
1554
1555    <!-- Exempt this uid from restrictions to background audio recoding
1556     <p>Protection level: signature|privileged
1557     @hide
1558     @SystemApi
1559    -->
1560    <permission android:name="android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS"
1561                android:label="@string/permlab_exemptFromAudioRecordRestrictions"
1562                android:description="@string/permdesc_exemptFromAudioRecordRestrictions"
1563                android:protectionLevel="signature|privileged|role" />
1564
1565    <!-- Allows a calling app to continue a call which was started in another app.  An example is a
1566         video calling app that wants to continue a voice call on the user's mobile network.<p>
1567         When the handover of a call from one app to another takes place, there are two devices
1568         which are involved in the handover; the initiating and receiving devices.  The initiating
1569         device is where the request to handover the call was started, and the receiving device is
1570         where the handover request is confirmed by the other party.<p>
1571         This permission protects access to the
1572         {@link android.telecom.TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)} which
1573         the receiving side of the handover uses to accept a handover.
1574         <p>Protection level: dangerous
1575    -->
1576    <permission android:name="android.permission.ACCEPT_HANDOVER"
1577                android:permissionGroup="android.permission-group.UNDEFINED"
1578                android.label="@string/permlab_acceptHandover"
1579                android:description="@string/permdesc_acceptHandovers"
1580                android:protectionLevel="dangerous" />
1581
1582    <!-- ====================================================================== -->
1583    <!-- Permissions for accessing the device microphone                        -->
1584    <!-- ====================================================================== -->
1585    <eat-comment />
1586
1587    <!-- Used for permissions that are associated with accessing
1588         microphone audio from the device. Note that phone calls also capture audio
1589         but are in a separate (more visible) permission group. -->
1590    <permission-group android:name="android.permission-group.MICROPHONE"
1591        android:icon="@drawable/perm_group_microphone"
1592        android:label="@string/permgrouplab_microphone"
1593        android:description="@string/permgroupdesc_microphone"
1594        android:priority="600" />
1595
1596    <!-- Allows an application to record audio.
1597         <p>Protection level: dangerous
1598    -->
1599    <permission android:name="android.permission.RECORD_AUDIO"
1600        android:permissionGroup="android.permission-group.UNDEFINED"
1601        android:label="@string/permlab_recordAudio"
1602        android:description="@string/permdesc_recordAudio"
1603        android:backgroundPermission="android.permission.RECORD_BACKGROUND_AUDIO"
1604        android:protectionLevel="dangerous|instant" />
1605
1606    <!-- @SystemApi @TestApi Allows an application to record audio while in the background.
1607         This permission is not intended to be held by apps.
1608         <p>Protection level: internal
1609        @hide -->
1610    <permission android:name="android.permission.RECORD_BACKGROUND_AUDIO"
1611        android:permissionGroup="android.permission-group.UNDEFINED"
1612        android:label="@string/permlab_recordBackgroundAudio"
1613        android:description="@string/permdesc_recordBackgroundAudio"
1614        android:protectionLevel="internal|role" />
1615
1616    <!-- ====================================================================== -->
1617    <!-- Permissions for activity recognition                        -->
1618    <!-- ====================================================================== -->
1619    <eat-comment />
1620
1621    <!-- Used for permissions that are associated with activity recognition. -->
1622    <permission-group android:name="android.permission-group.ACTIVITY_RECOGNITION"
1623        android:icon="@drawable/perm_group_activity_recognition"
1624        android:label="@string/permgrouplab_activityRecognition"
1625        android:description="@string/permgroupdesc_activityRecognition"
1626        android:priority="1000" />
1627
1628    <!-- Allows an application to recognize physical activity.
1629         <p>Protection level: dangerous
1630    -->
1631    <permission android:name="android.permission.ACTIVITY_RECOGNITION"
1632        android:permissionGroup="android.permission-group.UNDEFINED"
1633        android:label="@string/permlab_activityRecognition"
1634        android:description="@string/permdesc_activityRecognition"
1635        android:protectionLevel="dangerous|instant" />
1636
1637    <!-- ====================================================================== -->
1638    <!-- Permissions for accessing the vendor UCE Service                              -->
1639    <!-- ====================================================================== -->
1640
1641    <!-- @hide Allows an application to Access UCE-Presence.
1642         <p>Protection level: signature|privileged
1643         @deprecated Framework should no longer use this permission to access the vendor UCE service
1644         using AIDL, it is instead implemented by RcsCapabilityExchangeImplBase
1645    -->
1646    <permission android:name="android.permission.ACCESS_UCE_PRESENCE_SERVICE"
1647        android:permissionGroup="android.permission-group.PHONE"
1648        android:protectionLevel="signature|privileged"/>
1649
1650    <!-- @hide Allows an application to Access UCE-OPTIONS.
1651         <p>Protection level: signature|privileged
1652         @deprecated Framework should no longer use this permission to access the vendor UCE service
1653         using AIDL, it is instead implemented by RcsCapabilityExchangeImplBase
1654    -->
1655    <permission android:name="android.permission.ACCESS_UCE_OPTIONS_SERVICE"
1656        android:permissionGroup="android.permission-group.PHONE"
1657        android:protectionLevel="signature|privileged"/>
1658
1659
1660
1661    <!-- ====================================================================== -->
1662    <!-- Permissions for accessing the device camera                            -->
1663    <!-- ====================================================================== -->
1664    <eat-comment />
1665
1666    <!-- Used for permissions that are associated with accessing
1667     camera or capturing images/video from the device. -->
1668    <permission-group android:name="android.permission-group.CAMERA"
1669        android:icon="@drawable/perm_group_camera"
1670        android:label="@string/permgrouplab_camera"
1671        android:description="@string/permgroupdesc_camera"
1672        android:priority="700" />
1673
1674    <!-- Required to be able to access the camera device.
1675         <p>This will automatically enforce the
1676         <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">
1677         uses-feature</a> manifest element for <em>all</em> camera features.
1678         If you do not require all camera features or can properly operate if a camera
1679         is not available, then you must modify your manifest as appropriate in order to
1680         install on devices that don't support all camera features.</p>
1681         <p>Protection level: dangerous
1682    -->
1683    <permission android:name="android.permission.CAMERA"
1684        android:permissionGroup="android.permission-group.UNDEFINED"
1685        android:label="@string/permlab_camera"
1686        android:description="@string/permdesc_camera"
1687        android:backgroundPermission="android.permission.BACKGROUND_CAMERA"
1688        android:protectionLevel="dangerous|instant" />
1689
1690    <!-- Required to be able to discover and connect to nearby Bluetooth devices.
1691         <p>Protection level: dangerous -->
1692    <permission-group android:name="android.permission-group.NEARBY_DEVICES"
1693        android:icon="@drawable/perm_group_nearby_devices"
1694        android:label="@string/permgrouplab_nearby_devices"
1695        android:description="@string/permgroupdesc_nearby_devices"
1696        android:priority="750" />
1697
1698    <!-- @SystemApi @TestApi Required to be able to access the camera device in the background.
1699         This permission is not intended to be held by apps.
1700         <p>Protection level: internal
1701        @hide -->
1702    <permission android:name="android.permission.BACKGROUND_CAMERA"
1703            android:permissionGroup="android.permission-group.UNDEFINED"
1704            android:label="@string/permlab_backgroundCamera"
1705            android:description="@string/permdesc_backgroundCamera"
1706            android:protectionLevel="internal|role" />
1707
1708    <!-- @SystemApi Required in addition to android.permission.CAMERA to be able to access
1709           system only camera devices.
1710           <p>Protection level: system|signature|role
1711           @hide -->
1712    <permission android:name="android.permission.SYSTEM_CAMERA"
1713        android:permissionGroup="android.permission-group.UNDEFINED"
1714        android:label="@string/permlab_systemCamera"
1715        android:description="@string/permdesc_systemCamera"
1716        android:protectionLevel="system|signature|role" />
1717
1718    <!-- @SystemApi Allows receiving the camera service notifications when a camera is opened
1719            (by a certain application package) or closed.
1720        @hide -->
1721    <permission android:name="android.permission.CAMERA_OPEN_CLOSE_LISTENER"
1722        android:permissionGroup="android.permission-group.UNDEFINED"
1723        android:label="@string/permlab_cameraOpenCloseListener"
1724        android:description="@string/permdesc_cameraOpenCloseListener"
1725        android:protectionLevel="signature" />
1726
1727    <!-- @SystemApi Allows camera access by Headless System User 0 when device is running in
1728            HSUM Mode.
1729         @FlaggedApi("com.android.internal.camera.flags.camera_hsum_permission")
1730    @hide -->
1731    <permission android:name="android.permission.CAMERA_HEADLESS_SYSTEM_USER"
1732        android:permissionGroup="android.permission-group.UNDEFINED"
1733        android:label="@string/permlab_cameraHeadlessSystemUser"
1734        android:description="@string/permdesc_cameraHeadlessSystemUser"
1735        android:protectionLevel="signature"
1736        android:featureFlag="com.android.internal.camera.flags.camera_hsum_permission" />
1737
1738
1739    <!-- @SystemApi Allows camera access of allowlisted driver assistance apps
1740         to be controlled separately.
1741         <p> Not for use by third-party applications.
1742         @FlaggedApi("com.android.internal.camera.flags.camera_privacy_allowlist")
1743         @hide
1744    -->
1745    <permission android:name="android.permission.CAMERA_PRIVACY_ALLOWLIST"
1746        android:protectionLevel="signature|privileged" />
1747
1748    <!-- ====================================================================== -->
1749    <!-- Permissions for accessing the device sensors                           -->
1750    <!-- ====================================================================== -->
1751    <eat-comment />
1752
1753    <!-- Used for permissions that are associated with accessing
1754         body or environmental sensors. -->
1755    <permission-group android:name="android.permission-group.SENSORS"
1756        android:icon="@drawable/perm_group_sensors"
1757        android:label="@string/permgrouplab_sensors"
1758        android:description="@string/permgroupdesc_sensors"
1759        android:priority="800" />
1760
1761    <!-- Allows an app to access sensor data with a sampling rate greater than 200 Hz.
1762        <p>Protection level: normal
1763    -->
1764    <permission android:name="android.permission.HIGH_SAMPLING_RATE_SENSORS"
1765                android:permissionGroup="android.permission-group.SENSORS"
1766                android:label="@string/permlab_highSamplingRateSensors"
1767                android:description="@string/permdesc_highSamplingRateSensors"
1768                android:protectionLevel="normal" />
1769
1770    <!-- Allows an application to access data from sensors that the user uses to
1771         measure what is happening inside their body, such as heart rate.
1772         <p>Protection level: dangerous -->
1773    <permission android:name="android.permission.BODY_SENSORS"
1774        android:permissionGroup="android.permission-group.UNDEFINED"
1775        android:label="@string/permlab_bodySensors"
1776        android:description="@string/permdesc_bodySensors"
1777        android:backgroundPermission="android.permission.BODY_SENSORS_BACKGROUND"
1778        android:protectionLevel="dangerous" />
1779
1780    <!-- Allows an application to access data from sensors that the user uses to measure what is
1781         happening inside their body, such as heart rate. If you're requesting this permission, you
1782         must also request {@link #BODY_SENSORS}. Requesting this permission by itself doesn't give
1783         you Body sensors access.
1784         <p>Protection level: dangerous
1785
1786         <p> This is a hard restricted permission which cannot be held by an app until
1787         the installer on record allowlists the permission. For more details see
1788         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1789    -->
1790    <permission android:name="android.permission.BODY_SENSORS_BACKGROUND"
1791        android:permissionGroup="android.permission-group.UNDEFINED"
1792        android:label="@string/permlab_bodySensors_background"
1793        android:description="@string/permdesc_bodySensors_background"
1794        android:protectionLevel="dangerous"
1795        android:permissionFlags="hardRestricted" />
1796
1797    <!-- Allows an app to use fingerprint hardware.
1798         <p>Protection level: normal
1799         @deprecated Applications should request {@link
1800         android.Manifest.permission#USE_BIOMETRIC} instead
1801    -->
1802    <permission android:name="android.permission.USE_FINGERPRINT"
1803        android:permissionGroup="android.permission-group.SENSORS"
1804        android:label="@string/permlab_useFingerprint"
1805        android:description="@string/permdesc_useFingerprint"
1806        android:protectionLevel="normal" />
1807
1808    <!-- Allows an app to use device supported biometric modalities.
1809         <p>Protection level: normal
1810    -->
1811    <permission android:name="android.permission.USE_BIOMETRIC"
1812        android:permissionGroup="android.permission-group.SENSORS"
1813        android:label="@string/permlab_useBiometric"
1814        android:description="@string/permdesc_useBiometric"
1815        android:protectionLevel="normal" />
1816
1817    <!-- ====================================================================== -->
1818    <!-- Permissions for posting notifications                                  -->
1819    <!-- ====================================================================== -->
1820    <eat-comment />
1821
1822    <!-- Used for permissions that are associated with posting notifications
1823    -->
1824    <permission-group android:name="android.permission-group.NOTIFICATIONS"
1825          android:icon="@drawable/ic_notifications_alerted"
1826          android:label="@string/permgrouplab_notifications"
1827          android:description="@string/permgroupdesc_notifications"
1828          android:priority="850" />
1829
1830    <!-- Allows an app to post notifications
1831         <p>Protection level: dangerous
1832    -->
1833    <permission android:name="android.permission.POST_NOTIFICATIONS"
1834                android:permissionGroup="android.permission-group.UNDEFINED"
1835                android:label="@string/permlab_postNotification"
1836                android:description="@string/permdesc_postNotification"
1837                android:protectionLevel="dangerous|instant" />
1838    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
1839
1840    <!-- ====================================================================== -->
1841    <!-- REMOVED PERMISSIONS                                                    -->
1842    <!-- ====================================================================== -->
1843
1844    <!-- @hide We need to keep this around for backwards compatibility -->
1845    <permission android:name="android.permission.READ_PROFILE"
1846        android:protectionLevel="normal"
1847        android:permissionFlags="removed"/>
1848
1849    <!-- @hide We need to keep this around for backwards compatibility -->
1850    <permission android:name="android.permission.WRITE_PROFILE"
1851        android:protectionLevel="normal"
1852        android:permissionFlags="removed"/>
1853
1854    <!-- @hide We need to keep this around for backwards compatibility -->
1855    <permission android:name="android.permission.READ_SOCIAL_STREAM"
1856        android:protectionLevel="normal"
1857        android:permissionFlags="removed"/>
1858
1859    <!-- @hide We need to keep this around for backwards compatibility -->
1860    <permission android:name="android.permission.WRITE_SOCIAL_STREAM"
1861        android:protectionLevel="normal"
1862        android:permissionFlags="removed"/>
1863
1864    <!-- @hide We need to keep this around for backwards compatibility -->
1865    <permission android:name="android.permission.READ_USER_DICTIONARY"
1866        android:protectionLevel="normal"
1867        android:permissionFlags="removed"/>
1868
1869    <!-- @hide We need to keep this around for backwards compatibility -->
1870    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
1871        android:protectionLevel="normal"
1872        android:permissionFlags="removed"/>
1873
1874    <!-- @SystemApi @hide We need to keep this around for backwards compatibility -->
1875    <permission android:name="android.permission.WRITE_SMS"
1876        android:protectionLevel="normal"
1877        android:permissionFlags="removed"/>
1878
1879    <!-- @hide We need to keep this around for backwards compatibility -->
1880    <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
1881        android:protectionLevel="normal"
1882        android:permissionFlags="removed"/>
1883
1884    <!-- @hide We need to keep this around for backwards compatibility -->
1885    <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
1886        android:protectionLevel="normal"
1887        android:permissionFlags="removed"/>
1888
1889    <!-- @hide We need to keep this around for backwards compatibility -->
1890    <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"
1891        android:protectionLevel="normal"
1892        android:permissionFlags="removed"/>
1893
1894    <!-- @hide We need to keep this around for backwards compatibility -->
1895    <permission android:name="android.permission.MANAGE_ACCOUNTS"
1896        android:protectionLevel="normal"
1897        android:permissionFlags="removed"/>
1898
1899    <!-- @hide We need to keep this around for backwards compatibility -->
1900    <permission android:name="android.permission.USE_CREDENTIALS"
1901        android:protectionLevel="normal"
1902        android:permissionFlags="removed"/>
1903
1904    <!-- @hide We need to keep this around for backwards compatibility -->
1905    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
1906        android:protectionLevel="normal"
1907        android:permissionFlags="removed"/>
1908
1909    <!-- @hide We need to keep this around for backwards compatibility -->
1910    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
1911        android:protectionLevel="normal"
1912        android:permissionFlags="removed"/>
1913
1914    <!-- @hide We need to keep this around for backwards compatibility -->
1915    <permission android:name="android.permission.FLASHLIGHT"
1916        android:protectionLevel="normal"
1917        android:permissionFlags="removed"/>
1918
1919    <!-- ====================================================================== -->
1920    <!-- INSTALL PERMISSIONS                                                    -->
1921    <!-- ====================================================================== -->
1922
1923    <!-- ================================== -->
1924    <!-- Permissions for accessing messages -->
1925    <!-- ================================== -->
1926    <eat-comment />
1927
1928    <!-- Allows an application (Phone) to send a request to other applications
1929         to handle the respond-via-message action during incoming calls.
1930         <p>Not for use by third-party applications. -->
1931    <permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE"
1932        android:protectionLevel="signature|privileged" />
1933
1934    <!-- @SystemApi Allows an application to send SMS to premium shortcodes without user permission.
1935         <p>Not for use by third-party applications.
1936         @hide -->
1937    <permission android:name="android.permission.SEND_SMS_NO_CONFIRMATION"
1938        android:protectionLevel="signature|privileged" />
1939
1940    <!-- Allows an application to filter carrier specific sms.
1941         @hide -->
1942    <permission android:name="android.permission.CARRIER_FILTER_SMS"
1943        android:protectionLevel="signature|privileged" />
1944
1945    <!-- @SystemApi Allows an application to receive emergency cell broadcast messages,
1946         to record or display them to the user.
1947         <p>Not for use by third-party applications.
1948         @hide -->
1949    <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"
1950        android:protectionLevel="signature|privileged" />
1951
1952    <!-- @SystemApi Allows an application to monitor incoming Bluetooth MAP messages, to record
1953         or perform processing on them. -->
1954    <!-- @hide -->
1955    <permission android:name="android.permission.RECEIVE_BLUETOOTH_MAP"
1956        android:protectionLevel="signature|privileged" />
1957
1958    <!-- @SystemApi @hide Allows an application to execute contacts directory search.
1959         This should only be used by ContactsProvider.
1960         <p>Not for use by third-party applications. -->
1961    <permission android:name="android.permission.BIND_DIRECTORY_SEARCH"
1962        android:protectionLevel="signature|privileged" />
1963
1964    <!-- @SystemApi @hide Allows an application to modify the cell broadcasts configuration
1965         (i.e. enable or disable channels).
1966         <p>Not for use by third-party applications. -->
1967    <permission android:name="android.permission.MODIFY_CELL_BROADCASTS"
1968                android:protectionLevel="signature|privileged" />
1969
1970    <!-- =============================================================== -->
1971    <!-- Permissions for setting the device alarm                        -->
1972    <!-- =============================================================== -->
1973    <eat-comment />
1974
1975    <!-- Allows an application to broadcast an Intent to set an alarm for the user.
1976         <p>Protection level: normal
1977    -->
1978    <permission android:name="com.android.alarm.permission.SET_ALARM"
1979        android:label="@string/permlab_setAlarm"
1980        android:description="@string/permdesc_setAlarm"
1981        android:protectionLevel="normal" />
1982
1983    <!-- =============================================================== -->
1984    <!-- Permissions for accessing the user voicemail                    -->
1985    <!-- =============================================================== -->
1986    <eat-comment />
1987
1988    <!-- Allows an application to modify and remove existing voicemails in the system.
1989        <p>Protection level: signature|privileged|role
1990    -->
1991    <permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"
1992        android:protectionLevel="signature|privileged|role" />
1993
1994    <!-- Allows an application to read voicemails in the system.
1995         <p>Protection level: signature|privileged|role
1996    -->
1997    <permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"
1998        android:protectionLevel="signature|privileged|role" />
1999
2000    <!-- ======================================= -->
2001    <!-- Permissions for accessing location info -->
2002    <!-- ======================================= -->
2003    <eat-comment />
2004
2005    <!-- Allows an application to access extra location provider commands.
2006         <p>Protection level: normal
2007    -->
2008    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
2009        android:label="@string/permlab_accessLocationExtraCommands"
2010        android:description="@string/permdesc_accessLocationExtraCommands"
2011        android:protectionLevel="normal" />
2012
2013    <!-- Allows an application to install a location provider into the Location Manager.
2014    <p>Not for use by third-party applications. -->
2015    <permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"
2016        android:protectionLevel="signature|privileged" />
2017
2018    <!-- @SystemApi @hide Allows an application to provide location-based time zone suggestions to
2019         the system server. This is needed because the system server discovers time zone providers
2020         by exposed intent actions and metadata, without it any app could potentially register
2021         itself as time zone provider. The system server checks for this permission.
2022         <p>Not for use by third-party applications.
2023    -->
2024    <permission android:name="android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE"
2025        android:protectionLevel="signature|privileged" />
2026
2027    <!-- @SystemApi @hide Allows an application to bind to a android.service.TimeZoneProviderService
2028         for the purpose of detecting the device's time zone. This prevents arbitrary clients
2029         connecting to the time zone provider service. The system server checks that the provider's
2030         intent service explicitly sets this permission via the android:permission attribute of the
2031         service.
2032         This is only expected to be possessed by the system server outside of tests.
2033         <p>Not for use by third-party applications.
2034    -->
2035    <permission android:name="android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE"
2036        android:protectionLevel="signature" />
2037
2038    <!-- @SystemApi @hide Allows HDMI-CEC service to access device and configuration files.
2039         This should only be used by HDMI-CEC service.
2040    -->
2041    <permission android:name="android.permission.HDMI_CEC"
2042        android:protectionLevel="signature|privileged|vendorPrivileged" />
2043
2044    <!-- Allows an application to use location features in hardware,
2045         such as the geofencing api.
2046         <p>Not for use by third-party applications. -->
2047    <permission android:name="android.permission.LOCATION_HARDWARE"
2048        android:protectionLevel="signature|privileged|role" />
2049    <uses-permission android:name="android.permission.LOCATION_HARDWARE"/>
2050
2051    <!-- @SystemApi Allows an application to use the Context Hub.
2052         <p>Not for use by third-party applications.
2053         @hide
2054    -->
2055    <permission android:name="android.permission.ACCESS_CONTEXT_HUB"
2056        android:protectionLevel="signature|privileged" />
2057    <uses-permission android:name="android.permission.ACCESS_CONTEXT_HUB"/>
2058
2059    <!-- @SystemApi Allows an application to create mock location providers for testing.
2060         <p>Protection level: signature
2061         @hide
2062    -->
2063    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
2064        android:protectionLevel="signature" />
2065
2066    <!-- @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
2067         Allows automotive applications to control location
2068         suspend state for power management use cases.
2069         <p>Not for use by third-party applications.
2070    -->
2071    <permission android:name="android.permission.CONTROL_AUTOMOTIVE_GNSS"
2072        android:protectionLevel="signature|privileged" />
2073
2074    <!-- ======================================= -->
2075    <!-- Permissions for accessing networks -->
2076    <!-- ======================================= -->
2077    <eat-comment />
2078
2079    <!-- Allows applications to open network sockets.
2080         <p>Protection level: normal
2081    -->
2082    <permission android:name="android.permission.INTERNET"
2083        android:description="@string/permdesc_createNetworkSockets"
2084        android:label="@string/permlab_createNetworkSockets"
2085        android:protectionLevel="normal|instant" />
2086
2087    <!-- Allows applications to access information about networks.
2088         <p>Protection level: normal
2089    -->
2090    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
2091        android:description="@string/permdesc_accessNetworkState"
2092        android:label="@string/permlab_accessNetworkState"
2093        android:protectionLevel="normal|instant" />
2094
2095    <!-- Allows applications to access information about Wi-Fi networks.
2096         <p>Protection level: normal
2097    -->
2098    <permission android:name="android.permission.ACCESS_WIFI_STATE"
2099        android:description="@string/permdesc_accessWifiState"
2100        android:label="@string/permlab_accessWifiState"
2101        android:protectionLevel="normal" />
2102
2103    <!-- Allows applications to change Wi-Fi connectivity state.
2104         <p>Protection level: normal
2105    -->
2106    <permission android:name="android.permission.CHANGE_WIFI_STATE"
2107        android:description="@string/permdesc_changeWifiState"
2108        android:label="@string/permlab_changeWifiState"
2109        android:protectionLevel="normal" />
2110
2111    <!-- This permission is used to let OEMs grant their trusted app access to a subset of
2112         privileged wifi APIs to improve wifi performance. Allows applications to manage
2113         Wi-Fi network selection related features such as enable or disable global auto-join,
2114         modify connectivity scan intervals, and approve Wi-Fi Direct connections.
2115         <p>Not for use by third-party applications. -->
2116    <permission android:name="android.permission.MANAGE_WIFI_NETWORK_SELECTION"
2117                android:protectionLevel="signature|privileged|knownSigner"
2118                android:knownCerts="@array/wifi_known_signers" />
2119
2120    <!-- Allows applications to get notified when a Wi-Fi interface request cannot
2121         be satisfied without tearing down one or more other interfaces, and provide a decision
2122         whether to approve the request or reject it.
2123         <p>Not for use by third-party applications. -->
2124    <permission android:name="android.permission.MANAGE_WIFI_INTERFACES"
2125                android:protectionLevel="signature|privileged|knownSigner"
2126                android:knownCerts="@array/wifi_known_signers" />
2127
2128    <!-- @SystemApi @hide Allows apps to create and manage IPsec tunnels.
2129         <p>Only granted to applications that are currently bound by the
2130         system for creating and managing IPsec-based interfaces.
2131    -->
2132    <permission android:name="android.permission.MANAGE_IPSEC_TUNNELS"
2133        android:protectionLevel="signature|appop" />
2134
2135    <!-- @SystemApi @hide Allows apps to create and manage Test Networks.
2136         <p>Granted only to shell. CTS tests will use
2137         UiAutomation.AdoptShellPermissionIdentity() to gain access.
2138    -->
2139    <permission android:name="android.permission.MANAGE_TEST_NETWORKS"
2140        android:protectionLevel="signature" />
2141
2142    <!-- Allows direct access to the <RemoteAuth>Service interfaces.
2143         @hide -->
2144    <permission android:name="android.permission.MANAGE_REMOTE_AUTH"
2145                android:protectionLevel="signature" />
2146
2147    <!-- Allows direct access to the <RemoteAuth>Service authentication methods.
2148         @hide -->
2149    <permission android:name="android.permission.USE_REMOTE_AUTH"
2150                android:protectionLevel="signature" />
2151
2152    <!-- @SystemApi @hide Allows applications to read Wi-Fi credential.
2153         <p>Not for use by third-party applications. -->
2154    <permission android:name="android.permission.READ_WIFI_CREDENTIAL"
2155        android:protectionLevel="signature|privileged" />
2156
2157    <!-- @SystemApi @hide Allows applications to change tether state and run
2158         tether carrier provisioning.
2159         <p>Not for use by third-party applications. -->
2160    <permission android:name="android.permission.TETHER_PRIVILEGED"
2161        android:protectionLevel="signature|privileged" />
2162
2163    <!-- @SystemApi @hide Allow system apps to receive broadcast
2164         when a wifi network credential is changed.
2165         <p>Not for use by third-party applications. -->
2166    <permission android:name="android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE"
2167        android:protectionLevel="signature|privileged" />
2168
2169    <!-- Allows an application to modify any wifi configuration, even if created
2170     by another application. Once reconfigured the original creator cannot make any further
2171     modifications.
2172     <p>Not for use by third-party applications. -->
2173    <permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"
2174                android:protectionLevel="signature|privileged|knownSigner"
2175                android:knownCerts="@array/wifi_known_signers" />
2176
2177    <!-- @deprecated Allows applications to act as network scorers. @hide @SystemApi-->
2178    <permission android:name="android.permission.SCORE_NETWORKS"
2179        android:protectionLevel="signature|privileged" />
2180
2181    <!-- @deprecated Allows applications to request network
2182         recommendations and scores from the NetworkScoreService.
2183         @SystemApi
2184         <p>Not for use by third-party applications. @hide -->
2185    <permission android:name="android.permission.REQUEST_NETWORK_SCORES"
2186        android:protectionLevel="signature|setup" />
2187
2188    <!-- Allows applications to restart the Wi-Fi subsystem.
2189     @SystemApi
2190     <p>Not for use by third-party applications. @hide -->
2191    <permission android:name="android.permission.RESTART_WIFI_SUBSYSTEM"
2192                android:protectionLevel="signature|privileged" />
2193
2194    <!-- @SystemApi @hide Allows applications to toggle airplane mode.
2195         <p>Not for use by third-party or privileged applications.
2196    -->
2197    <permission android:name="android.permission.NETWORK_AIRPLANE_MODE"
2198        android:protectionLevel="signature" />
2199
2200    <!-- Allows network stack services (Connectivity and Wifi) to coordinate
2201         <p>Not for use by third-party or privileged applications.
2202         @SystemApi @TestApi
2203         @hide This should only be used by Connectivity and Wifi Services.
2204    -->
2205    <permission android:name="android.permission.NETWORK_STACK"
2206        android:protectionLevel="signature" />
2207
2208    <!-- @SystemApi @hide Allows an application to observe network policy changes. -->
2209    <permission android:name="android.permission.OBSERVE_NETWORK_POLICY"
2210                android:protectionLevel="signature" />
2211
2212    <!-- @SystemApi @hide Allows applications to register network factory or agent -->
2213    <permission android:name="android.permission.NETWORK_FACTORY"
2214                android:protectionLevel="signature|role" />
2215
2216    <!-- @SystemApi @hide Allows applications to access network stats provider -->
2217    <permission android:name="android.permission.NETWORK_STATS_PROVIDER"
2218                android:protectionLevel="signature" />
2219
2220    <!-- Allows Settings and SystemUI to call methods in Networking services
2221         <p>Not for use by third-party or privileged applications.
2222         @SystemApi @TestApi
2223         @hide This should only be used by Settings and SystemUI.
2224    -->
2225    <permission android:name="android.permission.NETWORK_SETTINGS"
2226        android:protectionLevel="signature" />
2227
2228    <!-- Allows holder to request bluetooth/wifi scan bypassing global "use location" setting and
2229         location permissions.
2230         <p>Not for use by third-party or privileged applications.
2231         @SystemApi
2232         @hide
2233    -->
2234    <permission android:name="android.permission.RADIO_SCAN_WITHOUT_LOCATION"
2235                android:protectionLevel="signature|companion" />
2236
2237    <!-- Allows SetupWizard to call methods in Networking services
2238         <p>Not for use by any other third-party or privileged applications.
2239         @SystemApi
2240         @hide This should only be used by SetupWizard.
2241    -->
2242    <permission android:name="android.permission.NETWORK_SETUP_WIZARD"
2243        android:protectionLevel="signature|setup" />
2244
2245    <!-- Allows Managed Provisioning to call methods in Networking services
2246         <p>Not for use by any other third-party or privileged applications.
2247         @SystemApi
2248         @hide This should only be used by ManagedProvisioning app.
2249    -->
2250    <permission android:name="android.permission.NETWORK_MANAGED_PROVISIONING"
2251        android:protectionLevel="signature|role" />
2252
2253    <!-- Allows Carrier Provisioning to call methods in Networking services
2254         <p>Not for use by any other third-party or privileged applications.
2255         @SystemApi
2256         @hide This should only be used by CarrierProvisioning.
2257    -->
2258    <permission android:name="android.permission.NETWORK_CARRIER_PROVISIONING"
2259        android:protectionLevel="signature|privileged" />
2260
2261    <!-- #SystemApi @hide Allows applications to access information about LoWPAN interfaces.
2262         <p>Not for use by third-party applications. -->
2263    <permission android:name="android.permission.ACCESS_LOWPAN_STATE"
2264        android:protectionLevel="signature|privileged" />
2265
2266    <!-- #SystemApi @hide Allows applications to change LoWPAN connectivity state.
2267         <p>Not for use by third-party applications. -->
2268    <permission android:name="android.permission.CHANGE_LOWPAN_STATE"
2269        android:protectionLevel="signature|privileged" />
2270
2271    <!-- #SystemApi @hide Allows applications to read LoWPAN credential.
2272         <p>Not for use by third-party applications. -->
2273    <permission android:name="android.permission.READ_LOWPAN_CREDENTIAL"
2274        android:protectionLevel="signature|privileged" />
2275
2276    <!-- #SystemApi @hide Allows a service to register or unregister
2277         new LoWPAN interfaces.
2278         <p>Not for use by third-party applications. -->
2279    <permission android:name="android.permission.MANAGE_LOWPAN_INTERFACES"
2280        android:protectionLevel="signature|privileged" />
2281
2282    <!-- @SystemApi @hide Allows changing Thread network state and access to Thread network
2283        credentials such as Network Key and PSKc.
2284        <p>Not for use by third-party applications.
2285        @FlaggedApi("com.android.net.thread.platform.flags.thread_enabled_platform") -->
2286    <permission android:name="android.permission.THREAD_NETWORK_PRIVILEGED"
2287                android:protectionLevel="signature|privileged" />
2288
2289    <!-- @hide Allows access to Thread network APIs or shell commands ("cmd thread_network") which
2290        are only for testing. -->
2291    <permission android:name="android.permission.THREAD_NETWORK_TESTING"
2292                android:protectionLevel="signature" />
2293
2294    <!-- #SystemApi @hide Allows an app to bypass Private DNS.
2295         <p>Not for use by third-party applications.
2296         TODO: publish as system API in next API release. -->
2297    <permission android:name="android.permission.NETWORK_BYPASS_PRIVATE_DNS"
2298        android:protectionLevel="signature" />
2299
2300    <!-- @SystemApi @hide Allows device mobility state to be set so that Wifi scan interval can
2301         be increased when the device is stationary in order to save power.
2302         <p>Not for use by third-party applications. -->
2303    <permission android:name="android.permission.WIFI_SET_DEVICE_MOBILITY_STATE"
2304        android:protectionLevel="signature|privileged" />
2305
2306    <!-- @SystemApi @hide Allows privileged system APK to update Wifi usability stats and score.
2307         <p>Not for use by third-party applications. -->
2308    <permission android:name="android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE"
2309        android:protectionLevel="signature|privileged" />
2310
2311    <!-- @SystemApi @hide Allows applications to update Wifi/Cellular coex channels to avoid.
2312             <p>Not for use by third-party applications. -->
2313    <permission android:name="android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS"
2314        android:protectionLevel="signature|role" />
2315
2316    <!-- @SystemApi @hide Allows applications to access Wifi/Cellular coex channels being avoided.
2317         <p>Not for use by third-party applications. -->
2318    <permission android:name="android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS"
2319        android:protectionLevel="signature|role" />
2320
2321    <!-- @SystemApi @hide Allows system APK to manage country code.
2322             <p>Not for use by third-party applications. -->
2323    <permission android:name="android.permission.MANAGE_WIFI_COUNTRY_CODE"
2324        android:protectionLevel="signature" />
2325
2326    <!-- @SystemApi @hide Allows an application to manage an automotive device's application network
2327         preference as it relates to OEM_PAID and OEM_PRIVATE capable networks.
2328         <p>Not for use by third-party or privileged applications. -->
2329    <permission android:name="android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE"
2330        android:protectionLevel="signature" />
2331
2332    <!-- @SystemApi @hide Allows an application to manage ethernet networks.
2333         <p>Not for use by third-party or privileged applications. -->
2334    <permission android:name="android.permission.MANAGE_ETHERNET_NETWORKS"
2335        android:protectionLevel="signature" />
2336
2337    <!-- Allows system apps to call methods to register itself as a mDNS offload engine.
2338        <p>Not for use by third-party or privileged applications.
2339        @SystemApi
2340        @FlaggedApi("android.net.platform.flags.register_nsd_offload_engine")
2341        @hide This should only be used by system apps.
2342    -->
2343    <permission android:name="android.permission.REGISTER_NSD_OFFLOAD_ENGINE"
2344        android:protectionLevel="signature"
2345        android:featureFlag="android.net.platform.flags.register_nsd_offload_engine" />
2346
2347    <!-- ======================================= -->
2348    <!-- Permissions for short range, peripheral networks -->
2349    <!-- ======================================= -->
2350    <eat-comment />
2351
2352    <!-- Allows applications to connect to paired bluetooth devices.
2353         <p>Protection level: normal
2354    -->
2355    <permission android:name="android.permission.BLUETOOTH"
2356        android:description="@string/permdesc_bluetooth"
2357        android:label="@string/permlab_bluetooth"
2358        android:protectionLevel="normal" />
2359
2360    <!-- Required to be able to discover and pair nearby Bluetooth devices.
2361         <p>Protection level: dangerous -->
2362    <permission android:name="android.permission.BLUETOOTH_SCAN"
2363        android:permissionGroup="android.permission-group.UNDEFINED"
2364        android:description="@string/permdesc_bluetooth_scan"
2365        android:label="@string/permlab_bluetooth_scan"
2366        android:protectionLevel="dangerous" />
2367
2368    <!-- Required to be able to connect to paired Bluetooth devices.
2369         <p>Protection level: dangerous -->
2370    <permission android:name="android.permission.BLUETOOTH_CONNECT"
2371        android:permissionGroup="android.permission-group.UNDEFINED"
2372        android:description="@string/permdesc_bluetooth_connect"
2373        android:label="@string/permlab_bluetooth_connect"
2374        android:protectionLevel="dangerous" />
2375
2376    <!-- Required to be able to advertise to nearby Bluetooth devices.
2377         <p>Protection level: dangerous -->
2378    <permission android:name="android.permission.BLUETOOTH_ADVERTISE"
2379        android:permissionGroup="android.permission-group.UNDEFINED"
2380        android:description="@string/permdesc_bluetooth_advertise"
2381        android:label="@string/permlab_bluetooth_advertise"
2382        android:protectionLevel="dangerous" />
2383
2384    <!-- Required to be able to range to devices using ultra-wideband.
2385         <p>Protection level: dangerous -->
2386    <permission android:name="android.permission.UWB_RANGING"
2387        android:permissionGroup="android.permission-group.UNDEFINED"
2388        android:description="@string/permdesc_uwb_ranging"
2389        android:label="@string/permlab_uwb_ranging"
2390        android:protectionLevel="dangerous" />
2391
2392    <!-- Required to be able to advertise and connect to nearby devices via Wi-Fi.
2393         <p>Protection level: dangerous -->
2394    <permission android:name="android.permission.NEARBY_WIFI_DEVICES"
2395                android:permissionGroup="android.permission-group.UNDEFINED"
2396                android:description="@string/permdesc_nearby_wifi_devices"
2397                android:label="@string/permlab_nearby_wifi_devices"
2398                android:protectionLevel="dangerous" />
2399
2400    <!-- @SystemApi @TestApi Allows an application to suspend other apps, which will prevent the
2401         user from using them until they are unsuspended.
2402         @hide
2403    -->
2404    <permission android:name="android.permission.SUSPEND_APPS"
2405        android:protectionLevel="signature|role|verifier" />
2406
2407    <!-- @SystemApi
2408         @hide
2409         @FlaggedApi("android.content.pm.quarantined_enabled")
2410         Allows an application to quarantine other apps, which will prevent
2411         them from running without explicit user action.
2412    -->
2413    <permission android:name="android.permission.QUARANTINE_APPS"
2414        android:protectionLevel="signature|verifier"
2415        android:featureFlag="android.content.pm.quarantined_enabled" />
2416
2417    <!-- Allows applications to discover and pair bluetooth devices.
2418         <p>Protection level: normal
2419    -->
2420    <permission android:name="android.permission.BLUETOOTH_ADMIN"
2421        android:description="@string/permdesc_bluetoothAdmin"
2422        android:label="@string/permlab_bluetoothAdmin"
2423        android:protectionLevel="normal" />
2424
2425    <!-- Allows applications to pair bluetooth devices without user interaction, and to
2426         allow or disallow phonebook access or message access.
2427         <p>Not for use by third-party applications. -->
2428    <permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
2429        android:protectionLevel="signature|privileged" />
2430
2431    <!-- @SystemApi Control access to email providers exclusively for Bluetooth
2432         @hide
2433    -->
2434    <permission android:name="android.permission.BLUETOOTH_MAP"
2435        android:protectionLevel="signature|role" />
2436
2437    <!-- Allows bluetooth stack to access files
2438         This should only be granted to the Bluetooth apk.
2439         @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
2440    -->
2441    <permission android:name="android.permission.BLUETOOTH_STACK"
2442        android:protectionLevel="signature|role" />
2443
2444    <!-- Allows uhid write access for creating virtual input devices
2445         @hide
2446    -->
2447    <permission android:name="android.permission.VIRTUAL_INPUT_DEVICE"
2448        android:protectionLevel="signature" />
2449
2450    <!-- Allows applications to perform I/O operations over NFC.
2451         <p>Protection level: normal
2452    -->
2453    <permission android:name="android.permission.NFC"
2454        android:description="@string/permdesc_nfc"
2455        android:label="@string/permlab_nfc"
2456        android:protectionLevel="normal" />
2457
2458    <!-- Allows applications to receive NFC transaction events.
2459         <p>Protection level: normal
2460    -->
2461    <permission android:name="android.permission.NFC_TRANSACTION_EVENT"
2462        android:description="@string/permdesc_nfcTransactionEvent"
2463        android:label="@string/permlab_nfcTransactionEvent"
2464      android:protectionLevel="normal" />
2465
2466    <!-- Allows applications to receive NFC preferred payment service information.
2467         <p>Protection level: normal
2468    -->
2469    <permission android:name="android.permission.NFC_PREFERRED_PAYMENT_INFO"
2470        android:description="@string/permdesc_preferredPaymentInfo"
2471        android:label="@string/permlab_preferredPaymentInfo"
2472        android:protectionLevel="normal" />
2473
2474    <!-- @SystemApi Allows access to set NFC controller always on states.
2475         <p>Protection level: signature|privileged
2476         @hide -->
2477    <permission android:name="android.permission.NFC_SET_CONTROLLER_ALWAYS_ON"
2478        android:protectionLevel="signature|privileged" />
2479
2480    <!-- @SystemApi Allows an internal user to use privileged SecureElement APIs.
2481         Applications holding this permission can access OMAPI reset system API
2482         and bypass OMAPI AccessControlEnforcer.
2483         <p>Not for use by third-party applications.
2484         @hide -->
2485    <permission android:name="android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION"
2486        android:protectionLevel="signature|privileged" />
2487
2488    <!-- @deprecated This permission used to allow too broad access to sensitive methods and all its
2489         uses have been replaced by a more appropriate permission. Most uses have been replaced with
2490         a NETWORK_STACK or NETWORK_SETTINGS check. Please look up the documentation of the
2491         individual functions to figure out what permission now protects the individual function.
2492         @SystemApi Allows an internal user to use privileged ConnectivityManager APIs.
2493         @hide -->
2494    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
2495        android:protectionLevel="signature|privileged" />
2496
2497    <!-- @SystemApi Allows an internal user to use restricted Networks.
2498         @hide -->
2499    <permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"
2500        android:protectionLevel="signature|privileged" />
2501    <uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>
2502
2503    <!-- @SystemApi Allows an internal user to set signal strength in NetworkRequest. This kind of
2504         request will wake up device when signal strength meets the given value.
2505         @hide -->
2506    <permission android:name="android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP"
2507                android:protectionLevel="signature|privileged" />
2508
2509    <!-- @SystemApi Allows a system application to access hardware packet offload capabilities.
2510         @hide -->
2511    <permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD"
2512        android:protectionLevel="signature|privileged" />
2513
2514    <!-- @SystemApi
2515         @hide -->
2516    <permission android:name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"
2517        android:protectionLevel="signature|privileged" />
2518
2519    <!-- @SystemApi Allows access to the loop radio (Android@Home mesh network) device.
2520         @hide -->
2521    <permission android:name="android.permission.LOOP_RADIO"
2522        android:protectionLevel="signature|privileged" />
2523
2524    <!-- Allows sending and receiving handover transfer status from Wifi and Bluetooth
2525         @hide -->
2526    <permission android:name="android.permission.NFC_HANDOVER_STATUS"
2527        android:protectionLevel="signature|privileged" />
2528
2529    <!-- @SystemApi Allows internal management of Bluetooth state when on wireless consent mode.
2530         <p>Not for use by third-party applications.
2531         @hide -->
2532    <permission android:name="android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED"
2533        android:protectionLevel="signature" />
2534
2535    <!-- @hide Allows the device to be reset, clearing all data and enables Test Harness Mode. -->
2536    <permission android:name="android.permission.ENABLE_TEST_HARNESS_MODE"
2537        android:protectionLevel="signature" />
2538
2539    <!-- @SystemApi Allows access to ultra wideband device.
2540     <p>Not for use by third-party applications.
2541     @hide -->
2542    <permission android:name="android.permission.UWB_PRIVILEGED"
2543                android:protectionLevel="signature|privileged" />
2544
2545    <!-- ================================== -->
2546    <!-- Permissions for accessing accounts -->
2547    <!-- ================================== -->
2548    <eat-comment />
2549
2550    <!-- Allows access to the list of accounts in the Accounts Service.
2551
2552    <p class="note"><strong>Note:</strong> Beginning with Android 6.0 (API level
2553    23), if an app shares the signature of the authenticator that manages an
2554    account, it does not need <code>"GET_ACCOUNTS"</code> permission to read
2555    information about that account. On Android 5.1 and lower, all apps need
2556    <code>"GET_ACCOUNTS"</code> permission to read information about any
2557    account.</p>
2558
2559    <p>Protection level: dangerous
2560    -->
2561    <permission android:name="android.permission.GET_ACCOUNTS"
2562        android:permissionGroup="android.permission-group.UNDEFINED"
2563        android:protectionLevel="dangerous"
2564        android:description="@string/permdesc_getAccounts"
2565        android:label="@string/permlab_getAccounts" />
2566    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
2567
2568    <!-- Allows applications to call into AccountAuthenticators.
2569    <p>Not for use by third-party applications. -->
2570    <permission android:name="android.permission.ACCOUNT_MANAGER"
2571        android:protectionLevel="signature" />
2572
2573    <!-- ================================== -->
2574    <!-- Permissions for accessing hardware that may effect battery life-->
2575    <!-- ================================== -->
2576    <eat-comment />
2577
2578    <!-- Allows applications to enter Wi-Fi Multicast mode.
2579         <p>Protection level: normal
2580    -->
2581    <permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
2582        android:description="@string/permdesc_changeWifiMulticastState"
2583        android:label="@string/permlab_changeWifiMulticastState"
2584        android:protectionLevel="normal" />
2585
2586    <!-- Allows access to the vibrator.
2587         <p>Protection level: normal
2588    -->
2589    <permission android:name="android.permission.VIBRATE"
2590        android:label="@string/permlab_vibrate"
2591        android:description="@string/permdesc_vibrate"
2592        android:protectionLevel="normal|instant" />
2593
2594    <!-- Allows access to the vibrator always-on settings.
2595         <p>Protection level: signature
2596         @hide
2597    -->
2598    <permission android:name="android.permission.VIBRATE_ALWAYS_ON"
2599        android:protectionLevel="signature" />
2600
2601    <!-- Allows access to system-only haptic feedback constants.
2602         <p>Protection level: signature
2603         @hide
2604    -->
2605    <permission android:name="android.permission.VIBRATE_SYSTEM_CONSTANTS"
2606        android:protectionLevel="signature" />
2607
2608    <!-- @SystemApi Allows access to the vibrator state.
2609         <p>Protection level: signature
2610         @hide
2611    -->
2612    <permission android:name="android.permission.ACCESS_VIBRATOR_STATE"
2613        android:label="@string/permdesc_vibrator_state"
2614        android:description="@string/permdesc_vibrator_state"
2615        android:protectionLevel="signature|privileged" />
2616
2617    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
2618         from dimming.
2619         <p>Protection level: normal
2620    -->
2621    <permission android:name="android.permission.WAKE_LOCK"
2622        android:label="@string/permlab_wakeLock"
2623        android:description="@string/permdesc_wakeLock"
2624        android:protectionLevel="normal|instant" />
2625
2626    <!-- Allows using the device's IR transmitter, if available.
2627         <p>Protection level: normal
2628    -->
2629    <permission android:name="android.permission.TRANSMIT_IR"
2630        android:label="@string/permlab_transmitIr"
2631        android:description="@string/permdesc_transmitIr"
2632        android:protectionLevel="normal" />
2633
2634    <!-- Allows an app to turn on the screen on, e.g. with
2635         {@link android.os.PowerManager#ACQUIRE_CAUSES_WAKEUP}.
2636         <p>Intended to only be used by home automation apps.
2637    -->
2638    <permission android:name="android.permission.TURN_SCREEN_ON"
2639        android:label="@string/permlab_turnScreenOn"
2640        android:description="@string/permdesc_turnScreenOn"
2641        android:protectionLevel="signature|privileged|appop" />
2642
2643    <!-- ==================================================== -->
2644    <!-- Permissions related to changing audio settings   -->
2645    <!-- ==================================================== -->
2646    <eat-comment />
2647
2648    <!-- Allows an application to modify global audio settings.
2649         <p>Protection level: normal
2650    -->
2651    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
2652        android:label="@string/permlab_modifyAudioSettings"
2653        android:description="@string/permdesc_modifyAudioSettings"
2654        android:protectionLevel="normal" />
2655
2656    <!-- ==================================================== -->
2657    <!-- Permissions related to screen capture   -->
2658    <!-- ==================================================== -->
2659    <eat-comment />
2660
2661    <!-- Allows an application to capture screen content to perform a screenshot using the intent
2662         action {@link android.content.Intent#ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE}.
2663         <p>Protection level: internal|role
2664         <p>Intended for use by ROLE_NOTES only.
2665    -->
2666    <permission android:name="android.permission.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE"
2667        android:protectionLevel="internal|role" />
2668
2669    <!-- Allows an application to get notified when a screen capture of its windows is attempted.
2670         <p>Protection level: normal
2671    -->
2672    <permission android:name="android.permission.DETECT_SCREEN_CAPTURE"
2673                android:label="@string/permlab_detectScreenCapture"
2674                android:description="@string/permdesc_detectScreenCapture"
2675                android:protectionLevel="normal" />
2676
2677    <!-- Allows an application to get notified when it is being recorded.
2678         <p>Protection level: normal
2679         @FlaggedApi("com.android.window.flags.screen_recording_callbacks")
2680    -->
2681    <permission android:name="android.permission.DETECT_SCREEN_RECORDING"
2682                android:protectionLevel="normal"
2683                android:featureFlag="com.android.window.flags.screen_recording_callbacks" />
2684
2685    <!-- ======================================== -->
2686    <!-- Permissions for factory reset protection -->
2687    <!-- ======================================== -->
2688    <eat-comment />
2689
2690    <!-- @SystemApi Allows an application to set a factory reset protection (FRP) policy.
2691         <p>Not for use by third-party applications.
2692         @hide
2693    -->
2694    <permission android:name="android.permission.MANAGE_FACTORY_RESET_PROTECTION"
2695        android:protectionLevel="signature|privileged"/>
2696
2697    <!-- ======================================== -->
2698    <!-- Permissions for lost mode -->
2699    <!-- ======================================== -->
2700    <eat-comment />
2701
2702    <!-- @SystemApi Allows an application to trigger lost mode on an organization-owned device.
2703         <p>Not for use by third-party applications.
2704         @hide
2705    -->
2706    <permission android:name="android.permission.TRIGGER_LOST_MODE"
2707        android:protectionLevel="signature|role"/>
2708
2709    <!-- ================================== -->
2710    <!-- Permissions for accessing hardware -->
2711    <!-- ================================== -->
2712    <eat-comment />
2713
2714    <!-- @SystemApi Allows an application to manage preferences and permissions for USB devices
2715         @hide -->
2716    <permission android:name="android.permission.MANAGE_USB"
2717        android:protectionLevel="signature|privileged" />
2718
2719    <!-- @SystemApi Allows an application to manage Android Debug Bridge settings.
2720         <p>Not for use by third-party applications.
2721         @hide -->
2722    <permission android:name="android.permission.MANAGE_DEBUGGING"
2723        android:protectionLevel="signature|privileged" />
2724
2725    <!-- @SystemApi Allows an application to access the MTP USB kernel driver.
2726         For use only by the device side MTP implementation.
2727         @hide -->
2728    <permission android:name="android.permission.ACCESS_MTP"
2729        android:protectionLevel="signature|privileged" />
2730
2731    <!-- @SystemApi Allows access to hardware peripherals.  Intended only for hardware testing.
2732         <p>Not for use by third-party applications.
2733         @hide
2734    -->
2735    <permission android:name="android.permission.HARDWARE_TEST"
2736        android:protectionLevel="signature" />
2737
2738    <!-- @hide Allows an application to manage DynamicSystem image -->
2739    <permission android:name="android.permission.MANAGE_DYNAMIC_SYSTEM"
2740        android:protectionLevel="signature" />
2741
2742    <!-- @SystemApi Allows an application to install a DynamicSystem image and get status updates.
2743         @hide -->
2744    <permission android:name="android.permission.INSTALL_DYNAMIC_SYSTEM"
2745        android:protectionLevel="signature|privileged" />
2746
2747    <!-- @SystemApi Allows access to Broadcast Radio
2748         @hide This is not a third-party API (intended for system apps).-->
2749    <permission android:name="android.permission.ACCESS_BROADCAST_RADIO"
2750        android:protectionLevel="signature|privileged" />
2751
2752    <!-- @deprecated @SystemApi Allows access to FM
2753         @hide This is not a third-party API (intended for system apps).-->
2754    <permission android:name="android.permission.ACCESS_FM_RADIO"
2755        android:protectionLevel="signature|privileged" />
2756
2757    <!-- Allows access to configure network interfaces, configure/use IPSec, etc.
2758         @hide -->
2759    <permission android:name="android.permission.NET_ADMIN"
2760        android:protectionLevel="signature|role" />
2761
2762    <!-- Allows registration for remote audio playback. @hide -->
2763    <permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK"
2764        android:protectionLevel="signature" />
2765
2766    <!-- Allows TvInputService to access underlying TV input hardware such as
2767         built-in tuners and HDMI-in's.
2768         <p>This should only be used by OEM's TvInputService's.
2769         @hide @SystemApi -->
2770    <permission android:name="android.permission.TV_INPUT_HARDWARE"
2771        android:protectionLevel="signature|privileged|vendorPrivileged" />
2772
2773    <!-- Allows to capture a frame of TV input hardware such as
2774         built-in tuners and HDMI-in's.
2775         <p>Not for use by third-party applications.
2776         @hide @SystemApi -->
2777    <permission android:name="android.permission.CAPTURE_TV_INPUT"
2778        android:protectionLevel="signature|privileged" />
2779
2780    <!-- @hide Allows TvInputService to access DVB device.
2781   <p>Not for use by third-party applications. -->
2782    <permission android:name="android.permission.DVB_DEVICE"
2783        android:protectionLevel="signature|privileged" />
2784
2785    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by carrier state
2786         @hide <p>Not for use by third-party applications. -->
2787    <permission android:name="android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE"
2788        android:protectionLevel="signature|privileged" />
2789
2790    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by user state
2791         @hide <p>Not for use by third-party applications. -->
2792    <permission android:name="android.permission.MANAGE_USER_OEM_UNLOCK_STATE"
2793        android:protectionLevel="signature|privileged" />
2794
2795    <!-- @SystemApi Allows reading the OEM unlock state
2796         @hide <p>Not for use by third-party applications. -->
2797    <permission android:name="android.permission.READ_OEM_UNLOCK_STATE"
2798        android:protectionLevel="signature|privileged" />
2799
2800    <!-- @hide Allows enabling/disabling OEM unlock
2801   <p>Not for use by third-party applications. -->
2802    <permission android:name="android.permission.OEM_UNLOCK_STATE"
2803        android:protectionLevel="signature" />
2804
2805    <!-- @SystemApi Allows configuration of factory reset protection
2806         @FlaggedApi("android.security.frp_enforcement")
2807         @hide <p>Not for use by third-party applications. -->
2808    <permission android:name="android.permission.CONFIGURE_FACTORY_RESET_PROTECTION"
2809        android:protectionLevel="signature|privileged" />
2810
2811    <!-- @SystemApi @hide Allows querying state of PersistentDataBlock
2812   <p>Not for use by third-party applications. -->
2813    <permission android:name="android.permission.ACCESS_PDB_STATE"
2814        android:protectionLevel="signature|role" />
2815
2816    <!-- Allows testing if a passwords is forbidden by the admins.
2817         @hide <p>Not for use by third-party applications. -->
2818    <permission android:name="android.permission.TEST_BLACKLISTED_PASSWORD"
2819        android:protectionLevel="signature" />
2820
2821    <!-- @hide Allows system update service to notify device owner about pending updates.
2822   <p>Not for use by third-party applications. -->
2823    <permission android:name="android.permission.NOTIFY_PENDING_SYSTEM_UPDATE"
2824        android:protectionLevel="signature|privileged" />
2825
2826    <!-- =========================================== -->
2827    <!-- Permissions associated with camera and image capture -->
2828    <!-- =========================================== -->
2829    <eat-comment />
2830
2831    <!-- @SystemApi Allows disabling the transmit-indicator LED that is normally on when
2832         a camera is in use by an application.
2833         @hide -->
2834    <permission android:name="android.permission.CAMERA_DISABLE_TRANSMIT_LED"
2835        android:protectionLevel="signature|privileged" />
2836
2837    <!-- Allows sending the camera service notifications about system-wide events.
2838        @hide -->
2839    <permission android:name="android.permission.CAMERA_SEND_SYSTEM_EVENTS"
2840        android:protectionLevel="signature|privileged" />
2841
2842    <!-- Allows injecting the external camera to replace the internal camera.
2843        @hide -->
2844    <permission android:name="android.permission.CAMERA_INJECT_EXTERNAL_CAMERA"
2845        android:protectionLevel="signature" />
2846
2847    <!-- =========================================== -->
2848    <!-- Permissions associated with telephony state -->
2849    <!-- =========================================== -->
2850    <eat-comment />
2851
2852    <!-- @SystemApi Allows granting runtime permissions to telephony related components.
2853         @hide -->
2854    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS"
2855        android:protectionLevel="signature" />
2856
2857    <!-- Allows modification of the telephony state - power on, mmi, etc.
2858         Does not include placing calls.
2859         <p>Not for use by third-party applications. -->
2860    <permission android:name="android.permission.MODIFY_PHONE_STATE"
2861        android:protectionLevel="signature|privileged|role" />
2862
2863    <!-- Allows read only access to precise phone state.
2864         Allows reading of detailed information about phone state for special-use applications
2865         such as dialers, carrier applications, or ims applications. -->
2866    <permission android:name="android.permission.READ_PRECISE_PHONE_STATE"
2867        android:protectionLevel="signature|privileged" />
2868
2869    <!-- @SystemApi @TestApi Allows read access to privileged phone state.
2870         @hide Used internally. -->
2871    <permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
2872        android:protectionLevel="signature|privileged|role" />
2873
2874    <!-- Allows to read device identifiers and use ICC based authentication like EAP-AKA.
2875         Often required in authentication to access the carrier's server and manage services
2876         of the subscriber.
2877         <p>Protection level: signature|appop -->
2878    <permission android:name="android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER"
2879        android:protectionLevel="signature|appop" />
2880
2881    <!-- @SystemApi Allows read access to emergency number information for ongoing calls or SMS
2882         sessions.
2883         @hide Used internally. -->
2884    <permission android:name="android.permission.READ_ACTIVE_EMERGENCY_SESSION"
2885        android:protectionLevel="signature" />
2886
2887    <!-- Allows listen permission to always reported system signal strength.
2888         @hide Used internally. -->
2889    <permission android:name="android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH"
2890        android:protectionLevel="signature|role" />
2891
2892    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2893         PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION. This capability indicates that the PhoneAccount
2894         corresponds to a device SIM.
2895         @hide -->
2896    <permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION"
2897        android:protectionLevel="signature|privileged" />
2898
2899    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2900         PhoneAccount#CAPABILITY_CALL_PROVIDER.
2901         @hide -->
2902    <permission android:name="android.permission.REGISTER_CALL_PROVIDER"
2903        android:protectionLevel="signature|privileged" />
2904
2905    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2906         PhoneAccount#CAPABILITY_CONNECTION_MANAGER
2907         @hide -->
2908    <permission android:name="android.permission.REGISTER_CONNECTION_MANAGER"
2909        android:protectionLevel="signature|privileged" />
2910
2911    <!-- Must be required by a {@link android.telecom.InCallService},
2912         to ensure that only the system can bind to it.
2913         <p>Protection level: signature|privileged
2914    -->
2915    <permission android:name="android.permission.BIND_INCALL_SERVICE"
2916        android:protectionLevel="signature|privileged" />
2917
2918    <!-- Must be required by a {@link android.telecom.CallStreamingService},
2919         to ensure that only the system can bind to it.
2920         <p>Protection level: signature
2921         @SystemApi @hide-->
2922    <permission android:name="android.permission.BIND_CALL_STREAMING_SERVICE"
2923        android:protectionLevel="signature" />
2924
2925    <!-- Allows to query ongoing call details and manage ongoing calls
2926     <p>Protection level: signature|appop -->
2927    <permission android:name="android.permission.MANAGE_ONGOING_CALLS"
2928        android:protectionLevel="signature|appop"
2929        android:label="@string/permlab_manageOngoingCalls"
2930        android:description="@string/permdesc_manageOngoingCalls" />
2931
2932    <!-- Allows the app to request network scans from telephony.
2933         <p>Not for use by third-party applications.
2934         @SystemApi @hide-->
2935    <permission android:name="android.permission.NETWORK_SCAN"
2936        android:protectionLevel="signature|privileged" />
2937
2938    <!-- Must be required by a link {@link android.telephony.VisualVoicemailService} to ensure that
2939         only the system can bind to it.
2940         <p>Protection level: signature|privileged
2941    -->
2942    <permission
2943      android:name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
2944      android:protectionLevel="signature|privileged"/>
2945
2946    <!-- Must be required by a {@link android.telecom.CallScreeningService},
2947         to ensure that only the system can bind to it.
2948         <p>Protection level: signature|privileged
2949    -->
2950    <permission android:name="android.permission.BIND_SCREENING_SERVICE"
2951        android:protectionLevel="signature|privileged" />
2952
2953    <!-- Must be required by a {@link android.telecom.PhoneAccountSuggestionService},
2954         to ensure that only the system can bind to it.
2955         <p>Protection level: signature
2956         @SystemApi
2957         @hide
2958    -->
2959    <permission android:name="android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE"
2960        android:protectionLevel="signature" />
2961
2962    <!-- Must be required by a {@link android.telecom.CallDiagnosticService},
2963         to ensure that only the system can bind to it.
2964         <p>Protection level: signature
2965         @SystemApi
2966         @hide
2967    -->
2968    <permission android:name="android.permission.BIND_CALL_DIAGNOSTIC_SERVICE"
2969        android:protectionLevel="signature" />
2970
2971    <!-- Must be required by a {@link android.telecom.CallRedirectionService},
2972         to ensure that only the system can bind to it.
2973         <p>Protection level: signature|privileged
2974    -->
2975    <permission android:name="android.permission.BIND_CALL_REDIRECTION_SERVICE"
2976                android:protectionLevel="signature|privileged" />
2977
2978    <!-- Must be required by a {@link android.telecom.ConnectionService},
2979         to ensure that only the system can bind to it.
2980         @deprecated {@link android.telecom.ConnectionService}s should require
2981                 android.permission.BIND_TELECOM_CONNECTION_SERVICE instead.
2982         @SystemApi
2983         @hide -->
2984    <permission android:name="android.permission.BIND_CONNECTION_SERVICE"
2985        android:protectionLevel="signature|privileged" />
2986
2987    <!-- Must be required by a {@link android.telecom.ConnectionService},
2988         to ensure that only the system can bind to it.
2989         <p>Protection level: signature|privileged
2990    -->
2991    <permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
2992        android:protectionLevel="signature|privileged" />
2993
2994    <!-- @SystemApi Allows an application to control the in-call experience.
2995         @hide -->
2996    <permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"
2997        android:protectionLevel="signature|privileged|role" />
2998
2999    <!-- Allows an application to receive STK related commands.
3000         @hide -->
3001    <permission android:name="android.permission.RECEIVE_STK_COMMANDS"
3002        android:protectionLevel="signature|privileged" />
3003
3004      <!-- Allows an application to send EMBMS download intents to apps
3005           @hide -->
3006    <permission android:name="android.permission.SEND_EMBMS_INTENTS"
3007        android:protectionLevel="signature|privileged" />
3008
3009
3010    <!-- Allows internal management of the sensor framework
3011         @hide -->
3012    <permission android:name="android.permission.MANAGE_SENSORS"
3013        android:protectionLevel="signature" />
3014
3015    <!-- Must be required by a DomainSelectionService to ensure that only the
3016         system can bind to it.
3017         <p>Protection level: signature
3018         @SystemApi
3019         @hide
3020         @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service")
3021    -->
3022    <permission android:name="android.permission.BIND_DOMAIN_SELECTION_SERVICE"
3023        android:protectionLevel="signature" />
3024
3025    <!-- Must be required by an ImsService to ensure that only the
3026         system can bind to it.
3027         <p>Protection level: signature|privileged|vendorPrivileged
3028         @SystemApi
3029         @hide
3030    -->
3031    <permission android:name="android.permission.BIND_IMS_SERVICE"
3032        android:protectionLevel="signature|privileged|vendorPrivileged" />
3033
3034    <!-- Must be required by a SatelliteService to ensure that only the
3035         system can bind to it.
3036         <p>Protection level: signature|privileged|vendorPrivileged
3037         @SystemApi
3038         @hide
3039    -->
3040    <permission android:name="android.permission.BIND_SATELLITE_SERVICE"
3041        android:protectionLevel="signature|privileged|vendorPrivileged" />
3042
3043    <!-- Must be required by a SatelliteGatewayService to ensure that only the
3044         system can bind to it.
3045         <p>Protection level: signature
3046         @hide
3047    -->
3048    <permission android:name="android.permission.BIND_SATELLITE_GATEWAY_SERVICE"
3049        android:protectionLevel="signature" />
3050
3051    <!-- Must be required by a telephony data service to ensure that only the
3052         system can bind to it.
3053         <p>Protection level: signature
3054         @SystemApi
3055         @hide
3056    -->
3057    <permission android:name="android.permission.BIND_TELEPHONY_DATA_SERVICE"
3058        android:protectionLevel="signature" />
3059
3060    <!-- Must be required by a NetworkService to ensure that only the
3061         system can bind to it.
3062         <p>Protection level: signature
3063         @SystemApi
3064         @hide
3065    -->
3066    <permission android:name="android.permission.BIND_TELEPHONY_NETWORK_SERVICE"
3067                android:protectionLevel="signature" />
3068
3069    <!-- @SystemApi Allows an application to manage embedded subscriptions (those on a eUICC)
3070         through EuiccManager APIs.
3071         <p>Protection level: signature|privileged|development
3072         @hide
3073    -->
3074    <permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
3075                android:protectionLevel="signature|privileged|development" />
3076
3077    <!-- @SystemApi Must be required by an EuiccService to ensure that only the system can bind to
3078         it.
3079         <p>Protection level: signature
3080         @hide
3081    -->
3082    <permission android:name="android.permission.BIND_EUICC_SERVICE"
3083                android:protectionLevel="signature" />
3084
3085    <!-- Required for reading information about carrier apps from SystemConfigManager.
3086         <p>Protection level: signature
3087         @SystemApi
3088         @hide
3089    -->
3090    <permission android:name="android.permission.READ_CARRIER_APP_INFO"
3091        android:protectionLevel="signature" />
3092
3093    <!-- Must be required by an GbaService to ensure that only the
3094         system can bind to it.
3095         <p>Protection level: signature
3096         @SystemApi
3097         @hide
3098    -->
3099    <permission android:name="android.permission.BIND_GBA_SERVICE"
3100        android:protectionLevel="signature" />
3101
3102    <!-- Required for an Application to access APIs related to RCS User Capability Exchange.
3103         <p> This permission is only granted to system applications fulfilling the SMS, Dialer, and
3104         Contacts app roles.
3105         <p>Protection level: internal|role
3106         @SystemApi
3107         @hide -->
3108    <permission android:name="android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE"
3109        android:protectionLevel="internal|role" />
3110
3111    <!-- Used to provide the Telecom framework with access to the last known call ID.
3112         <p>Protection level: signature
3113         @SystemApi
3114         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
3115         @hide
3116    -->
3117    <permission android:name="android.permission.ACCESS_LAST_KNOWN_CELL_ID"
3118        android:protectionLevel="signature"
3119        android:label="@string/permlab_accessLastKnownCellId"
3120        android:description="@string/permdesc_accessLastKnownCellId"/>
3121
3122    <!-- ================================== -->
3123    <!-- Permissions for sdcard interaction -->
3124    <!-- ================================== -->
3125    <eat-comment />
3126
3127    <!-- @SystemApi @TestApi Allows an application to write to internal media storage
3128         @deprecated This permission is no longer honored in the system and no longer adds
3129         the media_rw gid as a supplementary gid to the holder. Use the
3130         android.permission.MANAGE_EXTERNAL_STORAGE instead.
3131         @hide  -->
3132    <permission android:name="android.permission.WRITE_MEDIA_STORAGE"
3133        android:protectionLevel="signature|privileged" />
3134
3135    <!-- Allows an application to manage access to documents, usually as part
3136         of a document picker.
3137         <p>This permission should <em>only</em> be requested by the platform
3138         document management app.  This permission cannot be granted to
3139         third-party apps.
3140    -->
3141    <permission android:name="android.permission.MANAGE_DOCUMENTS"
3142        android:protectionLevel="signature|role" />
3143
3144    <!-- Allows an application to manage access to crates, usually as part
3145         of a crates picker.
3146         <p>This permission should <em>only</em> be requested by the platform
3147         management app.  This permission cannot be granted to
3148         third-party apps.
3149         @hide
3150         @TestApi
3151    -->
3152    <permission android:name="android.permission.MANAGE_CRATES"
3153                android:protectionLevel="signature" />
3154
3155    <!-- @hide Allows an application to cache content.
3156         <p>Not for use by third-party applications.
3157    -->
3158    <permission android:name="android.permission.CACHE_CONTENT"
3159        android:protectionLevel="signature|role" />
3160
3161    <!-- @SystemApi @hide
3162         Allows an application to aggressively allocate disk space.
3163         <p>Not for use by third-party applications.
3164    -->
3165    <permission android:name="android.permission.ALLOCATE_AGGRESSIVE"
3166        android:protectionLevel="signature|privileged" />
3167
3168    <!-- @SystemApi @hide
3169         Allows an application to use reserved disk space.
3170         <p>Not for use by third-party applications.  Should only be requested by
3171         apps that provide core system functionality, to ensure system stability
3172         when disk is otherwise completely full.
3173    -->
3174    <permission android:name="android.permission.USE_RESERVED_DISK"
3175        android:protectionLevel="signature|privileged" />
3176
3177    <!-- ================================== -->
3178    <!-- Permissions for screenlock         -->
3179    <!-- ================================== -->
3180    <eat-comment />
3181
3182    <!-- Allows applications to disable the keyguard if it is not secure.
3183         <p>Protection level: normal
3184    -->
3185    <permission android:name="android.permission.DISABLE_KEYGUARD"
3186        android:description="@string/permdesc_disableKeyguard"
3187        android:label="@string/permlab_disableKeyguard"
3188        android:protectionLevel="normal" />
3189
3190    <!-- Allows an application to request the screen lock complexity and prompt users to update the
3191     screen lock to a certain complexity level.
3192     <p>Protection level: normal
3193    -->
3194    <permission android:name="android.permission.REQUEST_PASSWORD_COMPLEXITY"
3195                android:label="@string/permlab_requestPasswordComplexity"
3196                android:description="@string/permdesc_requestPasswordComplexity"
3197                android:protectionLevel="normal" />
3198
3199    <!-- ================================== -->
3200    <!-- Permissions to access other installed applications  -->
3201    <!-- ================================== -->
3202    <eat-comment />
3203
3204    <!-- @deprecated No longer enforced. -->
3205    <permission android:name="android.permission.GET_TASKS"
3206        android:label="@string/permlab_getTasks"
3207        android:description="@string/permdesc_getTasks"
3208        android:protectionLevel="normal" />
3209
3210    <!-- New version of GET_TASKS that apps can request, since GET_TASKS doesn't really
3211         give access to task information.  We need this new one because there are
3212         many existing apps that use add libraries and such that have validation
3213         code to ensure the app has requested the GET_TASKS permission by seeing
3214         if it has been granted the permission...  if it hasn't, it kills the app
3215         with a message about being upset.  So we need to have it continue to look
3216         like the app is getting that permission, even though it will never be
3217         checked, and new privileged apps can now request this one for real access.
3218         @hide
3219         @SystemApi -->
3220    <permission android:name="android.permission.REAL_GET_TASKS"
3221        android:protectionLevel="signature|privileged" />
3222
3223    <!-- @SystemApi Allows an application to start a task from a ActivityManager#RecentTaskInfo.
3224         @hide -->
3225    <permission android:name="android.permission.START_TASKS_FROM_RECENTS"
3226        android:protectionLevel="signature|privileged|recents" />
3227
3228    <!-- @SystemApi @hide Allows an application to call APIs that allow it to do interactions
3229         across the users on the device, using singleton services and
3230         user-targeted broadcasts.  This permission is not available to
3231         third party applications. -->
3232    <permission android:name="android.permission.INTERACT_ACROSS_USERS"
3233        android:protectionLevel="signature|privileged|development|role" />
3234
3235    <!-- @SystemApi Fuller form of {@link android.Manifest.permission#INTERACT_ACROSS_USERS}
3236         that removes restrictions on where broadcasts can be sent and allows other
3237         types of interactions
3238         @hide -->
3239    <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
3240        android:protectionLevel="signature|installer|module|role" />
3241    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
3242
3243    <!-- Allows interaction across profiles in the same profile group. -->
3244    <permission android:name="android.permission.INTERACT_ACROSS_PROFILES"
3245        android:protectionLevel="signature|appop" />
3246
3247    <!-- Allows applications to access profiles with ACCESS_HIDDEN_PROFILES user property
3248     <p>Protection level: normal
3249     @FlaggedApi("android.multiuser.enable_permission_to_access_hidden_profiles") -->
3250    <permission android:name="android.permission.ACCESS_HIDDEN_PROFILES"
3251        android:label="@string/permlab_accessHiddenProfile"
3252        android:description="@string/permdesc_accessHiddenProfile"
3253        android:protectionLevel="normal" />
3254
3255    <!-- @SystemApi @hide Allows privileged applications to get details about hidden profile
3256        users.
3257        @FlaggedApi("android.multiuser.enable_permission_to_access_hidden_profiles") -->
3258    <permission
3259        android:name="android.permission.ACCESS_HIDDEN_PROFILES_FULL"
3260        android:protectionLevel="signature|privileged" />
3261
3262    <!-- @SystemApi @hide Allows starting activities across profiles in the same profile group. -->
3263    <permission android:name="android.permission.START_CROSS_PROFILE_ACTIVITIES"
3264                android:protectionLevel="signature|role" />
3265
3266    <!-- @SystemApi Allows configuring apps to have the INTERACT_ACROSS_PROFILES permission so that
3267         they can interact across profiles in the same profile group.
3268         @hide -->
3269    <permission android:name="android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES"
3270        android:protectionLevel="signature|role" />
3271
3272    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query and manage
3273         users on the device. This permission is not available to
3274         third party applications. -->
3275    <permission android:name="android.permission.MANAGE_USERS"
3276        android:protectionLevel="signature|privileged" />
3277
3278    <!-- @SystemApi @hide Allows an application to create, remove users and get the list of
3279         users on the device. Applications holding this permission can create users (including
3280         normal, restricted, guest, managed, and demo users) and can optionally endow them with the
3281         ephemeral property. For creating users with other kinds of properties,
3282         {@link android.Manifest.permission#MANAGE_USERS} is needed.
3283         This permission is not available to third party applications. -->
3284    <permission android:name="android.permission.CREATE_USERS"
3285        android:protectionLevel="signature" />
3286
3287    <!-- @SystemApi @hide Allows an application to set user association
3288         with a certain subscription. Used by Enterprise to associate a
3289         subscription with a work or personal profile. -->
3290    <permission android:name="android.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION"
3291                android:protectionLevel="signature" />
3292
3293    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query users on the
3294         device. -->
3295    <permission android:name="android.permission.QUERY_USERS"
3296                android:protectionLevel="signature|privileged|role" />
3297
3298    <!-- Allows an application to access data blobs across users. -->
3299    <permission android:name="android.permission.ACCESS_BLOBS_ACROSS_USERS"
3300        android:protectionLevel="signature|privileged|development|role" />
3301
3302    <!-- @SystemApi @hide Allows an application to set the profile owners and the device owner.
3303         This permission is not available to third party applications.-->
3304    <permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"
3305        android:protectionLevel="signature|role"
3306        android:label="@string/permlab_manageProfileAndDeviceOwners"
3307        android:description="@string/permdesc_manageProfileAndDeviceOwners" />
3308
3309    <!-- @SystemApi @hide Allows an application to query device policies set by any admin on
3310         the device.-->
3311    <permission android:name="android.permission.QUERY_ADMIN_POLICY"
3312                android:protectionLevel="signature|role" />
3313
3314    <!-- @SystemApi @hide Allows an application to exempt apps from platform restrictions.-->
3315    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS"
3316                android:protectionLevel="internal|role" />
3317
3318    <!-- Allows an application to manage device policy relating to time.
3319        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3320        APIs protected by this permission on users different to the calling user.-->
3321    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_TIME"
3322                android:protectionLevel="internal|role" />
3323
3324    <!-- Allows an application to set the grant state of runtime permissions on packages.
3325        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3326        APIs protected by this permission on users different to the calling user.
3327    -->
3328    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS"
3329                android:protectionLevel="internal|role" />
3330
3331    <!-- Allows an application to manage the identity of the managing organization.
3332        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3333        APIs protected by this permission on users different to the calling user.
3334    -->
3335    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY"
3336                android:protectionLevel="internal|role" />
3337
3338    <!-- Allows an application to set support messages for when a user action is affected by an
3339        active policy.
3340        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3341        APIs protected by this permission on users different to the calling user.
3342    -->
3343    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE"
3344                android:protectionLevel="internal|role" />
3345
3346    <!-- Allows an application to manage backup service policy.
3347        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3348        APIs protected by this permission on users different to the calling user.
3349    -->
3350    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BACKUP_SERVICE"
3351                android:protectionLevel="internal|role" />
3352
3353    <!-- Allows an application to manage lock task policy.
3354        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3355        APIs protected by this permission on users different to the calling user.
3356    -->
3357    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK"
3358                android:protectionLevel="internal|role" />
3359
3360    <!-- Allows an application to manage policy regarding modifying applications.
3361        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3362        APIs protected by this permission on users different to the calling user.
3363    -->
3364    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL"
3365                android:protectionLevel="internal|role" />
3366
3367    <!-- Allows an application to manage installing from unknown sources policy.
3368        <p>MANAGE_SECURITY_CRITICAL_DEVICE_POLICY_ACROSS_USERS is required to call APIs protected
3369        by this permission on users different to the calling user.
3370    -->
3371    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES"
3372                android:protectionLevel="internal|role" />
3373
3374    <!-- Allows an application to manage application restrictions.
3375        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3376        APIs protected by this permission on users different to the calling user.
3377    -->
3378    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_RESTRICTIONS"
3379                android:protectionLevel="internal|role" />
3380
3381    <!-- Allows an application to manage calling policy.
3382        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3383        APIs protected by this permission on users different to the calling user.
3384    -->
3385    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CALLS"
3386                android:protectionLevel="internal|role" />
3387
3388    <!-- Allows an application to manage debugging features policy.
3389        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3390        APIs protected by this permission on users different to the calling user.
3391    -->
3392    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES"
3393                android:protectionLevel="internal|role" />
3394
3395    <!-- Allows an application to manage policy preventing users from modifying users.
3396        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3397        APIs protected by this permission on users different to the calling user
3398    -->
3399    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MODIFY_USERS"
3400                android:protectionLevel="internal|role" />
3401
3402    <!-- Allows an application to manage safe boot policy.
3403        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3404        APIs protected by this permission on users different to the calling user.
3405    -->
3406    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SAFE_BOOT"
3407                android:protectionLevel="internal|role" />
3408
3409    <!-- Allows an application to set policy related to restricting a user's ability to use or
3410    enable and disable the microphone.
3411        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3412        APIs protected by this permission on users different to the calling user.
3413    -->
3414    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MICROPHONE"
3415                android:protectionLevel="internal|role" />
3416
3417    <!-- Allows an application to set policy related to restricting a user's ability to use or
3418    enable and disable the camera.
3419        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3420        APIs protected by this permission on users different to the calling user.
3421    -->
3422    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CAMERA"
3423                android:protectionLevel="internal|role" />
3424
3425    <!-- Allows an application to manage policy related to keyguard.
3426        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL} is
3427        required to call APIs protected by this permission on users different to the calling user.
3428    -->
3429    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_KEYGUARD"
3430                android:protectionLevel="internal|role" />
3431
3432    <!-- Allows an application to set policy related to account management.
3433        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3434        APIs protected by this permission on users different to the calling user.
3435    -->
3436    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT"
3437                android:protectionLevel="internal|role" />
3438
3439    <!-- Allows an application to set policy related to hiding and suspending packages.
3440        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3441        APIs protected by this permission on users different to the calling user.
3442    -->
3443    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PACKAGE_STATE"
3444                android:protectionLevel="internal|role" />
3445
3446    <!-- Allows an application to force set a new device unlock password or a managed profile
3447    challenge on current user.
3448        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3449        APIs protected by this permission on users different to the calling user.
3450    -->
3451    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RESET_PASSWORD"
3452                android:protectionLevel="internal|role" />
3453
3454    <!-- Allows an application to set policy related to the status bar.-->
3455    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_STATUS_BAR"
3456                android:protectionLevel="internal|role" />
3457
3458    <!-- Allows an application to set policy related to bluetooth.
3459        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3460        APIs protected by this permission on users different to the calling user.
3461    -->
3462    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BLUETOOTH"
3463                android:protectionLevel="internal|role" />
3464
3465    <!-- Allows an application to set policy related to fun.
3466        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3467        APIs protected by this permission on users different to the calling user.
3468    -->
3469    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_FUN"
3470                android:protectionLevel="internal|role" />
3471
3472    <!-- Allows an application to set policy related to airplane mode.
3473        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3474        APIs protected by this permission on users different to the calling user.
3475    -->
3476    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AIRPLANE_MODE"
3477                android:protectionLevel="internal|role" />
3478
3479    <!-- Allows an application to set policy related to mobile networks.
3480        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3481        APIs protected by this permission on users different to the calling user.
3482    -->
3483    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MOBILE_NETWORK"
3484                android:protectionLevel="internal|role" />
3485
3486    <!-- Allows an application to set policy related to physical media.
3487        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3488        APIs protected by this permission on users different to the calling user.
3489    -->
3490    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA"
3491                android:protectionLevel="internal|role" />
3492
3493    <!-- Allows an application to set policy related to sms.
3494        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3495        APIs protected by this permission on users different to the calling user.
3496    -->
3497    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SMS"
3498                android:protectionLevel="internal|role" />
3499
3500    <!-- Allows an application to set policy related to usb file transfers.
3501        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3502        APIs protected by this permission on users different to the calling user.
3503    -->
3504    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER"
3505                android:protectionLevel="internal|role" />
3506
3507    <!-- Allows an application to set policy related to lock credentials.
3508        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL} is
3509        required to call APIs protected by this permission on users different to the calling user.
3510    -->
3511    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS"
3512                android:protectionLevel="internal|role" />
3513
3514    <!-- Allows an application to set policy related to Wifi.
3515        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3516        required to call APIs protected by this permission on users different to the calling user.
3517    -->
3518    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIFI"
3519                android:protectionLevel="internal|role" />
3520
3521    <!-- Allows an application to set policy related to screen capture.
3522        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3523        required to call APIs protected by this permission on users different to the calling user.
3524    -->
3525    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SCREEN_CAPTURE"
3526                android:protectionLevel="internal|role" />
3527
3528    <!-- Allows an application to set policy related to input methods.
3529        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3530        required to call APIs protected by this permission on users different to the calling user.
3531    -->
3532    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_INPUT_METHODS"
3533                android:protectionLevel="internal|role" />
3534
3535    <!-- Allows an application to set policy related to restricting the user from configuring
3536     private DNS.
3537        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3538        required to call APIs protected by this permission on users different to the calling user.
3539    -->
3540    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS"
3541                android:protectionLevel="internal|role" />
3542
3543    <!-- Allows an application to set policy related to the default sms application.
3544        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3545        required to call APIs protected by this permission on users different to the calling user.
3546    -->
3547    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEFAULT_SMS"
3548                android:protectionLevel="internal|role" />
3549
3550    <!-- Allows an application to set policy related to profiles.
3551        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3552        required to call APIs protected by this permission on users different to the calling user.
3553    -->
3554    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROFILES"
3555                android:protectionLevel="internal|role" />
3556
3557    <!-- Allows an application to set policy related to interacting with profiles (e.g. Disallowing
3558    cross-profile copy and paste).
3559        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3560        required to call APIs protected by this permission on users different to the calling user.
3561    -->
3562    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROFILE_INTERACTION"
3563                android:protectionLevel="internal|role" />
3564
3565    <!-- Allows an application to set policy related to VPNs.
3566        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3567        required to call APIs protected by this permission on users different to the calling user.
3568    -->
3569    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_VPN"
3570                android:protectionLevel="internal|role" />
3571
3572    <!-- Allows an application to set policy related to audio output.
3573        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3574        required to call APIs protected by this permission on users different to the calling user.
3575    -->
3576    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUDIO_OUTPUT"
3577                android:protectionLevel="internal|role" />
3578
3579    <!-- Allows an application to set policy related to the display.
3580        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3581        required to call APIs protected by this permission on users different to the calling user.
3582    -->
3583    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DISPLAY"
3584                android:protectionLevel="internal|role" />
3585
3586    <!-- Allows an application to set policy related to location.
3587        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3588        required to call APIs protected by this permission on users different to the calling user.
3589    -->
3590    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCATION"
3591                android:protectionLevel="internal|role" />
3592
3593    <!-- Allows an application to set policy related to factory reset.
3594        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3595        required to call APIs protected by this permission on users different to the calling user.
3596    -->
3597    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_FACTORY_RESET"
3598                android:protectionLevel="internal|role" />
3599
3600    <!-- Allows an application to set policy related to the wallpaper.
3601        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3602        required to call APIs protected by this permission on users different to the calling user.
3603    -->
3604    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WALLPAPER"
3605                android:protectionLevel="internal|role" />
3606
3607    <!-- Allows an application to set policy related to the usage of the contents of the screen.
3608        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3609        required to call APIs protected by this permission on users different to the calling user.
3610    -->
3611    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SCREEN_CONTENT"
3612                android:protectionLevel="internal|role" />
3613
3614    <!-- Allows an application to set policy related to system dialogs.
3615        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3616        required to call APIs protected by this permission on users different to the calling user.
3617    -->
3618    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS"
3619                android:protectionLevel="internal|role" />
3620
3621    <!-- Allows an application to set policy related to users running in the background.
3622        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3623        required to call APIs protected by this permission on users different to the calling user.
3624    -->
3625    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND"
3626                android:protectionLevel="internal|role" />
3627
3628    <!-- Allows an application to set policy related to printing.
3629        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3630        required to call APIs protected by this permission on users different to the calling user.
3631    -->
3632    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PRINTING"
3633                android:protectionLevel="internal|role" />
3634
3635    <!-- Allows an application to set policy related to nearby communications (e.g. Beam and
3636    nearby streaming).
3637        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3638        required to call APIs protected by this permission on users different to the calling user.
3639    -->
3640    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION"
3641                android:protectionLevel="internal|role" />
3642
3643    <!-- Allows an application to set policy related to <a
3644    href="https://www.threadgroup.org">Thread</a> network.
3645        @FlaggedApi("com.android.net.thread.platform.flags.thread_user_restriction_enabled")
3646    -->
3647    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_THREAD_NETWORK"
3648                android:protectionLevel="internal|role" />
3649
3650    <!-- Allows an application to set policy related to sending assist content to a
3651        privileged app such as the Assistant app.
3652        @FlaggedApi("android.app.admin.flags.assist_content_user_restriction_enabled")
3653    -->
3654    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT"
3655        android:protectionLevel="internal|role" />
3656
3657    <!-- Allows an application to set policy related to windows.
3658        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3659        required to call APIs protected by this permission on users different to the calling user.
3660    -->
3661    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WINDOWS"
3662                android:protectionLevel="internal|role" />
3663
3664    <!-- Allows an application to set policy related to locale.
3665        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3666        required to call APIs protected by this permission on users different to the calling user.
3667    -->
3668    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCALE"
3669                android:protectionLevel="internal|role" />
3670
3671    <!-- Allows an application to set policy related to autofill.
3672        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3673        required to call APIs protected by this permission on users different to the calling user.
3674    -->
3675    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUTOFILL"
3676                android:protectionLevel="internal|role" />
3677
3678    <!-- Allows an application to set policy related to users.
3679        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3680        required to call APIs protected by this permission on users different to the calling user.
3681    -->
3682    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USERS"
3683                android:protectionLevel="internal|role" />
3684
3685    <!-- Allows an application to set policy related to certificates.
3686        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3687        required to call APIs protected by this permission on users different to the calling user.
3688    -->
3689    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES"
3690                android:protectionLevel="internal|role" />
3691
3692    <!-- Allows an application to set policy related to override APNs.
3693        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3694        required to call APIs protected by this permission on users different to the calling user.
3695    -->
3696    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_OVERRIDE_APN"
3697                android:protectionLevel="internal|role" />
3698
3699    <!-- Allows an application to set policy related to security logging.
3700        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3701        required to call APIs protected by this permission on users different to the calling user.
3702    -->
3703    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SECURITY_LOGGING"
3704                android:protectionLevel="internal|role" />
3705
3706    <!-- Allows an application to use audit logging API.
3707        @hide
3708        @SystemApi
3709        @FlaggedApi("android.app.admin.flags.security_log_v2_enabled")
3710    -->
3711    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING"
3712        android:protectionLevel="internal|role" />
3713
3714    <!-- Allows an application to set policy related to system updates.
3715        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3716        required to call APIs protected by this permission on users different to the calling user.
3717    -->
3718    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_UPDATES"
3719                android:protectionLevel="internal|role" />
3720
3721    <!-- Allows an application query system updates.
3722        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3723        required to call APIs protected by this permission on users different to the calling user.
3724    -->
3725    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES"
3726                android:protectionLevel="internal|role" />
3727
3728    <!-- Allows an application to set policy related to private DNS.
3729        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3730        required to call APIs protected by this permission on users different to the calling user.
3731    -->
3732    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PRIVATE_DNS"
3733                android:protectionLevel="internal|role" />
3734
3735    <!-- Allows an application to set policy related to settings.
3736        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3737        required to call APIs protected by this permission on users different to the calling user.
3738    -->
3739    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SETTINGS"
3740                android:protectionLevel="internal|role" />
3741
3742    <!-- Allows an application to set policy related to network logging.
3743        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3744        required to call APIs protected by this permission on users different to the calling user.
3745    -->
3746    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_NETWORK_LOGGING"
3747                android:protectionLevel="internal|role" />
3748
3749    <!-- Allows an application to set policy related to usb data signalling.-->
3750    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING"
3751                android:protectionLevel="internal|role" />
3752
3753    <!-- Allows an application to set policy related to suspending personal apps.
3754        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3755        required to call APIs protected by this permission on users different to the calling user.
3756    -->
3757    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS"
3758                android:protectionLevel="internal|role" />
3759
3760    <!-- Allows an application to set policy related to keeping uninstalled packages.
3761        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3762        required to call APIs protected by this permission on users different to the calling user.
3763    -->
3764    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES"
3765                android:protectionLevel="internal|role" />
3766
3767    <!-- Allows an application to manage policy related to accessibility.
3768   <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3769   APIs protected by this permission on users different to the calling user.
3770    -->
3771    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACCESSIBILITY"
3772                android:protectionLevel="internal|role" />
3773
3774    <!-- Allows an application to manage policy related to common criteria mode.
3775        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3776        APIs protected by this permission on users different to the calling user.
3777    -->
3778    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE"
3779                android:protectionLevel="internal|role" />
3780
3781    <!-- Allows an application to manage policy related to metered data.
3782        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3783        APIs protected by this permission on users different to the calling user.
3784    -->
3785    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_METERED_DATA"
3786                android:protectionLevel="internal|role" />
3787
3788    <!-- Allows an application to set a network-independent global HTTP proxy.
3789        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3790        APIs protected by this permission on users different to the calling user.
3791    -->
3792    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROXY"
3793                android:protectionLevel="internal|role" />
3794
3795    <!-- Allows an application to request bugreports with user consent.
3796        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3797        APIs protected by this permission on users different to the calling user.
3798    -->
3799    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BUGREPORT"
3800                android:protectionLevel="internal|role" />
3801
3802    <!-- Allows an application to manage policy related to application user data.
3803        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3804        APIs protected by this permission on users different to the calling user.
3805    -->
3806    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_USER_DATA"
3807                android:protectionLevel="internal|role" />
3808
3809    <!-- Allows an application to lock a profile or the device with the appropriate cross-user
3810    permission.
3811        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3812        APIs protected by this permission on users different to the calling user.
3813    -->
3814    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK"
3815                android:protectionLevel="internal|role" />
3816
3817    <!-- Allows an application to query the device stolen state.
3818        @FlaggedApi("android.app.admin.flags.device_theft_api_enabled")
3819        @hide
3820        @SystemApi
3821    -->
3822    <permission android:name="android.permission.QUERY_DEVICE_STOLEN_STATE"
3823                android:protectionLevel="internal|role" />
3824
3825    <!-- Allows an application to manage policy related to system apps.
3826        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3827        APIs protected by this permission on users different to the calling user.
3828    -->
3829    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_APPS"
3830                android:protectionLevel="internal|role" />
3831
3832    <!-- Allows an application to manage policy related to wiping data.
3833        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3834        APIs protected by this permission on users different to the calling user.
3835    -->
3836    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIPE_DATA"
3837                android:protectionLevel="internal|role" />
3838
3839    <!-- Allows an application to manage policy related to the Memory Tagging Extension (MTE).
3840    -->
3841    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MTE"
3842                android:protectionLevel="internal|role" />
3843
3844    <!-- Allows an application to manage policy related to device identifiers. -->
3845    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS"
3846                android:protectionLevel="internal|role" />
3847
3848    <!-- Allows an application to manage policy related to content protection.
3849        <p>Protection level: internal|role
3850        @FlaggedApi("android.view.contentprotection.flags.manage_device_policy_enabled")
3851    -->
3852    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION"
3853                android:protectionLevel="internal|role" />
3854
3855    <!-- Allows an application to set policy related to subscriptions downloaded by an admin.
3856        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3857            APIs protected by this permission on users different to the calling user.
3858        @FlaggedApi("android.app.admin.flags.esim_management_enabled") -->
3859    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS"
3860        android:protectionLevel="internal|role" />
3861
3862    <!-- Allows an application to manage policy related to block package uninstallation.
3863        @FlaggedApi("android.app.admin.flags.dedicated_device_control_api_enabled")
3864    -->
3865    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL"
3866        android:protectionLevel="internal|role" />
3867
3868    <!-- Allows an application to manage policy related to camera toggle.
3869        @FlaggedApi("android.app.admin.flags.dedicated_device_control_api_enabled")
3870    -->
3871    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CAMERA_TOGGLE"
3872        android:protectionLevel="internal|role" />
3873
3874    <!-- Allows an application to manage policy related to microphone toggle.
3875        @FlaggedApi("android.app.admin.flags.dedicated_device_control_api_enabled")
3876    -->
3877    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE"
3878        android:protectionLevel="internal|role" />
3879
3880    <!-- Allows an application to set device policies outside the current user
3881        that are critical for securing data within the current user.
3882        <p>Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_*
3883            permissions across all users on the device provided they are required for securing data
3884            within the current user.-->
3885    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL"
3886                android:protectionLevel="internal|role" />
3887
3888    <!-- Allows an application to set device policies outside the current user
3889        that are required for securing device ownership without accessing user data.
3890        <p>Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_*
3891            permissions across all users on the device provided they do not grant access to user
3892            data. -->
3893    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS"
3894                android:protectionLevel="internal|role" />
3895
3896    <!-- Allows an application to set device policies outside the current user.
3897        <p>Fuller form of {@link android.Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS}
3898             that removes the restriction on accessing user data.
3899        <p>Holding this permission allows the use of any other held MANAGE_DEVICE_POLICY_*
3900            permissions across all users on the device.-->
3901    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL"
3902                android:protectionLevel="internal|role" />
3903
3904    <!-- Allows the holder to manage and retrieve max storage limit for admin policies. This
3905        permission is only grantable on rooted devices.
3906        @TestAPI
3907        @hide -->
3908    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_STORAGE_LIMIT"
3909                android:protectionLevel="internal" />
3910
3911    <!-- Allows an application to access EnhancedConfirmationManager.
3912        @SystemApi
3913        @FlaggedApi("android.permission.flags.enhanced_confirmation_mode_apis_enabled")
3914        @hide This is not a third-party API (intended for OEMs and system apps). -->
3915    <permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES"
3916                android:protectionLevel="signature|installer" />
3917    <uses-permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES" />
3918
3919    <!-- @SystemApi @hide Allows an application to set a device owner on retail demo devices.-->
3920    <permission android:name="android.permission.PROVISION_DEMO_DEVICE"
3921                android:protectionLevel="signature|setup|knownSigner"
3922                android:knownCerts="@array/demo_device_provisioning_known_signers" />
3923
3924    <!-- @TestApi @hide Allows an application to reset the record of previous system update freeze
3925         periods. -->
3926    <permission android:name="android.permission.CLEAR_FREEZE_PERIOD"
3927                android:protectionLevel="signature" />
3928
3929    <!-- @TestApi @hide Allows an application to force available DevicePolicyManager logs to
3930         DPC. -->
3931    <permission android:name="android.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS"
3932                android:protectionLevel="signature" />
3933
3934    <!-- Allows an application to get full detailed information about
3935         recently running tasks, with full fidelity to the real state.
3936         @hide -->
3937    <permission android:name="android.permission.GET_DETAILED_TASKS"
3938        android:protectionLevel="signature" />
3939
3940    <!-- Allows an application to change the Z-order of tasks.
3941         <p>Protection level: normal
3942    -->
3943    <permission android:name="android.permission.REORDER_TASKS"
3944        android:label="@string/permlab_reorderTasks"
3945        android:description="@string/permdesc_reorderTasks"
3946        android:protectionLevel="normal" />
3947
3948    <!-- @SystemApi @TestApi @hide Allows an application to change to remove/kill tasks -->
3949    <permission android:name="android.permission.REMOVE_TASKS"
3950        android:protectionLevel="signature|recents|role" />
3951
3952    <!-- @deprecated Use MANAGE_ACTIVITY_TASKS instead.
3953         @SystemApi @TestApi @hide Allows an application to create/manage/remove stacks -->
3954    <permission android:name="android.permission.MANAGE_ACTIVITY_STACKS"
3955        android:protectionLevel="signature" />
3956
3957    <!-- @SystemApi @TestApi @hide Allows an application to create/manage/remove tasks -->
3958    <permission android:name="android.permission.MANAGE_ACTIVITY_TASKS"
3959        android:protectionLevel="signature|recents" />
3960
3961    <!-- @SystemApi @TestApi @hide Allows an application to embed other activities -->
3962    <permission android:name="android.permission.ACTIVITY_EMBEDDING"
3963                android:protectionLevel="signature|privileged" />
3964
3965    <!-- Allows an application to embed any other apps in untrusted embedding mode without the need
3966         for the embedded app to consent.
3967         <p>For now, this permission is only granted to the Assistant application selected by
3968         the user.
3969         {@see https://developer.android.com/guide/topics/large-screens/activity-embedding#trust_model}
3970         @SystemApi
3971         @FlaggedApi("com.android.window.flags.untrusted_embedding_any_app_permission")
3972         @hide
3973        -->
3974    <permission android:name="android.permission.EMBED_ANY_APP_IN_UNTRUSTED_MODE"
3975                android:protectionLevel="internal|role" />
3976
3977    <!-- Allows an application to start any activity, regardless of permission
3978         protection or exported state.
3979         @hide -->
3980    <permission android:name="android.permission.START_ANY_ACTIVITY"
3981        android:protectionLevel="signature" />
3982
3983    <!-- @SystemApi @hide Allows an application to start activities from background -->
3984    <permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"
3985        android:protectionLevel="signature|privileged|vendorPrivileged|oem|verifier|role" />
3986
3987    <!-- Allows an application to start foreground services from the background at any time.
3988         <em>This permission is not for use by third-party applications</em>,
3989         with the only exception being if the app is the default SMS app.
3990         Otherwise, it's only usable by privileged apps, app verifier app, and apps with
3991         any of the EMERGENCY or SYSTEM GALLERY roles.
3992         -->
3993    <permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"
3994                android:protectionLevel="signature|privileged|vendorPrivileged|oem|verifier|role"/>
3995
3996    <!-- Allows an application to request interactive options when sending a broadcast.
3997         @hide -->
3998    <permission android:name="android.permission.BROADCAST_OPTION_INTERACTIVE"
3999                android:protectionLevel="signature|privileged" />
4000
4001    <!-- @SystemApi Must be required by activities that handle the intent action
4002         {@link Intent#ACTION_SEND_SHOW_SUSPENDED_APP_DETAILS}. This is for use by apps that
4003         hold {@link Manifest.permission#SUSPEND_APPS} to interact with the system.
4004         <p>Not for use by third-party applications.
4005         @hide -->
4006    <permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS"
4007                android:protectionLevel="signature" />
4008    <uses-permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS" />
4009
4010    <!-- Allows an application to start an activity as another app, provided that app has been
4011         granted a permissionToken from the ActivityManagerService.
4012         @hide -->
4013    <permission android:name="android.permission.START_ACTIVITY_AS_CALLER"
4014        android:protectionLevel="signature" />
4015
4016    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
4017        API is no longer supported. -->
4018    <permission android:name="android.permission.RESTART_PACKAGES"
4019        android:label="@string/permlab_killBackgroundProcesses"
4020        android:description="@string/permdesc_killBackgroundProcesses"
4021        android:protectionLevel="normal" />
4022
4023    <!-- Allows an application to call
4024        {@link android.app.ActivityManager#killBackgroundProcesses}.
4025        <p>As of Android version {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE},
4026        the {@link android.app.ActivityManager#killBackgroundProcesses} is no longer available to
4027        third party applications. For backwards compatibility, the background processes of the
4028        caller's own package will still be killed when calling this API. If the caller has
4029        the system permission {@code KILL_ALL_BACKGROUND_PROCESSES}, other processes will be
4030        killed too.
4031
4032         <p>Protection level: normal
4033    -->
4034    <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
4035        android:label="@string/permlab_killBackgroundProcesses"
4036        android:description="@string/permdesc_killBackgroundProcesses"
4037        android:protectionLevel="normal" />
4038
4039    <!-- @SystemApi @hide Allows an application to call
4040        {@link android.app.ActivityManager#killBackgroundProcesses}
4041        to kill background processes of other apps.
4042         <p>Not for use by third-party applications.
4043    -->
4044    <permission android:name="android.permission.KILL_ALL_BACKGROUND_PROCESSES"
4045        android:label="@string/permlab_killBackgroundProcesses"
4046        android:description="@string/permdesc_killBackgroundProcesses"
4047        android:protectionLevel="signature|privileged" />
4048
4049    <!-- @SystemApi @hide Allows an application to query process states and current
4050         OOM adjustment scores.
4051         <p>Not for use by third-party applications. -->
4052    <permission android:name="android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"
4053        android:protectionLevel="signature|privileged|development" />
4054
4055    <!-- Allows use of PendingIntent.getIntent(), .
4056         @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
4057         -->
4058    <permission android:name="android.permission.GET_INTENT_SENDER_INTENT"
4059        android:protectionLevel="signature" />
4060
4061    <!-- ================================== -->
4062    <!-- Permissions affecting the display of other applications  -->
4063    <!-- ================================== -->
4064    <eat-comment />
4065
4066    <!-- Allows an app to create windows using the type
4067         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
4068         shown on top of all other apps.  Very few apps
4069         should use this permission; these windows are intended for
4070         system-level interaction with the user.
4071
4072         <p class="note"><strong>Note:</strong> If the app
4073         targets API level 23 or higher, the app user must explicitly grant
4074         this permission to the app through a permission management screen. The app requests
4075         the user's approval by sending an intent with action
4076         {@link android.provider.Settings#ACTION_MANAGE_OVERLAY_PERMISSION}.
4077         The app can check whether it has this authorization by calling
4078         {@link android.provider.Settings#canDrawOverlays
4079         Settings.canDrawOverlays()}.
4080         <p>Protection level: signature|setup|appop|installer|pre23|development -->
4081    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
4082        android:label="@string/permlab_systemAlertWindow"
4083        android:description="@string/permdesc_systemAlertWindow"
4084        android:protectionLevel="signature|setup|appop|installer|pre23|development" />
4085
4086    <!-- @SystemApi @hide Allows an application to create windows using the type
4087         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
4088         shown on top of all other apps.
4089
4090         Allows an application to use
4091         {@link android.view.WindowManager.LayoutsParams#setSystemApplicationOverlay(boolean)}
4092         to create overlays that will stay visible, even if another window is requesting overlays to
4093         be hidden through {@link android.view.Window#setHideOverlayWindows(boolean)}.
4094
4095         <p>Not for use by third-party applications. -->
4096    <permission android:name="android.permission.SYSTEM_APPLICATION_OVERLAY"
4097                android:protectionLevel="signature|recents|role|installer"/>
4098
4099    <!-- @deprecated Use {@link android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
4100         @hide
4101    -->
4102    <permission android:name="android.permission.RUN_IN_BACKGROUND"
4103        android:label="@string/permlab_runInBackground"
4104        android:description="@string/permdesc_runInBackground"
4105        android:protectionLevel="signature" />
4106
4107    <!-- @deprecated Use
4108        {@link android.Manifest.permission#REQUEST_COMPANION_USE_DATA_IN_BACKGROUND}
4109         @hide
4110    -->
4111    <permission android:name="android.permission.USE_DATA_IN_BACKGROUND"
4112        android:label="@string/permlab_useDataInBackground"
4113        android:description="@string/permdesc_useDataInBackground"
4114        android:protectionLevel="signature" />
4115
4116    <!-- @hide Allows an application to set display offsets for the screen.
4117         This permission is not available to third party applications. -->
4118    <permission android:name="android.permission.SET_DISPLAY_OFFSET"
4119        android:protectionLevel="signature|privileged" />
4120
4121    <!-- Allows a companion app to run in the background. This permission implies
4122         {@link android.Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND},
4123         and allows to start a foreground service from the background.
4124         If an app does not have to run in the background, but only needs to start a foreground
4125         service from the background, consider using
4126         {@link android.Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND},
4127         which is less powerful.
4128         <p>Protection level: normal
4129    -->
4130    <permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"
4131                android:label="@string/permlab_runInBackground"
4132                android:description="@string/permdesc_runInBackground"
4133                android:protectionLevel="normal" />
4134
4135    <!-- Allows a companion app to start a foreground service from the background.
4136         {@see android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
4137         <p>Protection level: normal
4138         -->
4139    <permission android:name="android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND"
4140                android:label="@string/permlab_startForegroundServicesFromBackground"
4141                android:description="@string/permdesc_startForegroundServicesFromBackground"
4142                android:protectionLevel="normal"/>
4143
4144    <!-- Allows a companion app to use data in the background.
4145         <p>Protection level: normal
4146    -->
4147    <permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"
4148                android:label="@string/permlab_useDataInBackground"
4149                android:description="@string/permdesc_useDataInBackground"
4150                android:protectionLevel="normal" />
4151
4152    <!-- Allows app to request to be associated with a device via
4153         {@link android.companion.CompanionDeviceManager}
4154         as a "watch"
4155         <p>Protection level: normal
4156     -->
4157    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_WATCH"
4158                android:label="@string/permlab_companionProfileWatch"
4159                android:description="@string/permdesc_companionProfileWatch"
4160                android:protectionLevel="normal" />
4161
4162    <!-- Allows app to request to be associated with a device via
4163         {@link android.companion.CompanionDeviceManager}
4164         as "glasses"
4165         <p>Protection level: normal
4166     -->
4167    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_GLASSES"
4168        android:protectionLevel="normal" />
4169
4170    <!-- Allows application to request to be associated with a virtual display capable of streaming
4171         Android applications
4172         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_APP_STREAMING})
4173         by {@link android.companion.CompanionDeviceManager}.
4174        <p>Not for use by third-party applications.
4175    -->
4176    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_APP_STREAMING"
4177                android:protectionLevel="signature|privileged" />
4178
4179    <!-- Allows application to request to stream content from an Android host to a nearby device
4180         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_NEARBY_DEVICE_STREAMING})
4181         by {@link android.companion.CompanionDeviceManager}.
4182        <p>Not for use by third-party applications.
4183    -->
4184    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING"
4185        android:protectionLevel="signature|privileged" />
4186
4187    <!-- Allows application to request to be associated with a vehicle head unit capable of
4188         automotive projection
4189         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_AUTOMOTIVE_PROJECTION})
4190         by {@link android.companion.CompanionDeviceManager}.
4191        <p>Not for use by third-party applications.
4192    -->
4193    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION"
4194                android:protectionLevel="internal|role" />
4195
4196    <!-- Allows application to request to be associated with a computer to share functionality
4197         and/or data with other devices, such as notifications, photos and media
4198         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_COMPUTER})
4199         by {@link android.companion.CompanionDeviceManager}.
4200        <p>Not for use by third-party applications.
4201    -->
4202    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_COMPUTER"
4203                android:protectionLevel="signature|privileged" />
4204
4205    <!-- Allows an application to create a "self-managed" association.
4206    -->
4207    <permission android:name="android.permission.REQUEST_COMPANION_SELF_MANAGED"
4208                android:protectionLevel="signature|privileged" />
4209
4210    <!-- Allows a companion app to associate to Wi-Fi.
4211         <p>Only for use by a single pre-approved app.
4212         @hide
4213         @SystemApi
4214    -->
4215    <permission android:name="android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS"
4216                android:protectionLevel="signature|privileged" />
4217
4218    <!-- Allows an app to read and listen to projection state.
4219         @hide
4220         @SystemApi
4221    -->
4222    <permission android:name="android.permission.READ_PROJECTION_STATE"
4223                android:protectionLevel="signature" />
4224
4225    <!-- Allows an app to set and release automotive projection.
4226         @hide
4227         @SystemApi
4228    -->
4229    <permission android:name="android.permission.TOGGLE_AUTOMOTIVE_PROJECTION"
4230                android:protectionLevel="internal|role" />
4231
4232    <!-- Allows an app to prevent non-system-overlay windows from being drawn on top of it -->
4233    <permission android:name="android.permission.HIDE_OVERLAY_WINDOWS"
4234                android:label="@string/permlab_hideOverlayWindows"
4235                android:description="@string/permdesc_hideOverlayWindows"
4236                android:protectionLevel="normal" />
4237
4238    <!-- ================================== -->
4239    <!-- Permissions affecting the system wallpaper -->
4240    <!-- ================================== -->
4241    <eat-comment />
4242
4243    <!-- Allows applications to set the wallpaper.
4244         <p>Protection level: normal
4245     -->
4246    <permission android:name="android.permission.SET_WALLPAPER"
4247        android:label="@string/permlab_setWallpaper"
4248        android:description="@string/permdesc_setWallpaper"
4249        android:protectionLevel="normal" />
4250
4251    <!-- Allows applications to set the wallpaper hints.
4252         <p>Protection level: normal
4253    -->
4254    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
4255        android:label="@string/permlab_setWallpaperHints"
4256        android:description="@string/permdesc_setWallpaperHints"
4257        android:protectionLevel="normal" />
4258
4259    <!-- Allow the app to read the system and lock wallpaper images.
4260        <p>Not for use by third-party applications.
4261        @hide
4262        @SystemApi
4263    -->
4264    <permission android:name="android.permission.READ_WALLPAPER_INTERNAL"
4265        android:protectionLevel="signature|privileged" />
4266
4267    <!-- Allow apps to always update wallpaper by sending data.
4268        @SystemApi
4269        @hide
4270        @FlaggedApi("com.android.window.flags.always_update_wallpaper_permission")
4271    -->
4272    <permission android:name="android.permission.ALWAYS_UPDATE_WALLPAPER"
4273        android:protectionLevel="internal|role" />
4274
4275    <!-- ===================================================== -->
4276    <!-- Permissions for changing the system clock / time zone -->
4277    <!-- ===================================================== -->
4278    <eat-comment />
4279
4280    <!-- Allows applications to set the system time directly.
4281         <p>Not for use by third-party applications. -->
4282    <permission android:name="android.permission.SET_TIME"
4283        android:protectionLevel="signature|privileged|role" />
4284
4285    <!-- Allows applications to set the system time zone directly.
4286         <p>Not for use by third-party applications.
4287    -->
4288    <permission android:name="android.permission.SET_TIME_ZONE"
4289        android:label="@string/permlab_setTimeZone"
4290        android:description="@string/permdesc_setTimeZone"
4291        android:protectionLevel="signature|privileged|role" />
4292
4293    <!-- Allows telephony to suggest the time / time zone.
4294         <p>Not for use by third-party applications.
4295         @hide
4296     -->
4297    <permission android:name="android.permission.SUGGEST_TELEPHONY_TIME_AND_ZONE"
4298        android:protectionLevel="signature" />
4299
4300    <!-- Allows applications like settings to suggest the user's manually chosen time / time zone.
4301         <p>Not for use by third-party applications.
4302         @hide
4303    -->
4304    <permission android:name="android.permission.SUGGEST_MANUAL_TIME_AND_ZONE"
4305        android:protectionLevel="signature" />
4306
4307    <!-- Allows system clock time suggestions from an external clock / time source to be made.
4308         The nature of "external" could be highly form-factor specific. Example, times
4309         obtained via the VHAL for Android Auto OS.
4310         <p>Not for use by third-party applications.
4311         @SystemApi @hide
4312    -->
4313    <permission android:name="android.permission.SUGGEST_EXTERNAL_TIME"
4314        android:protectionLevel="signature|privileged" />
4315
4316    <!-- Allows applications like settings to manage configuration associated with automatic time
4317         and time zone detection.
4318         <p>Not for use by third-party applications.
4319         @SystemApi @hide
4320    -->
4321    <permission android:name="android.permission.MANAGE_TIME_AND_ZONE_DETECTION"
4322        android:protectionLevel="signature|privileged" />
4323
4324    <!-- ==================================================== -->
4325    <!-- Permissions related to changing status bar   -->
4326    <!-- ==================================================== -->
4327    <eat-comment />
4328
4329    <!-- Allows an application to expand or collapse the status bar.
4330         <p>Protection level: normal
4331    -->
4332    <permission android:name="android.permission.EXPAND_STATUS_BAR"
4333        android:label="@string/permlab_expandStatusBar"
4334        android:description="@string/permdesc_expandStatusBar"
4335        android:protectionLevel="normal" />
4336
4337    <!-- ============================================================== -->
4338    <!-- Permissions related to adding/removing shortcuts from Launcher -->
4339    <!-- ============================================================== -->
4340    <eat-comment />
4341
4342    <!-- Allows an application to install a shortcut in Launcher.
4343         <p>In Android O (API level 26) and higher, the <code>INSTALL_SHORTCUT</code> broadcast no
4344         longer has any effect on your app because it's a private, implicit
4345         broadcast. Instead, you should create an app shortcut by using the
4346         {@link android.content.pm.ShortcutManager#requestPinShortcut requestPinShortcut()}
4347         method from the {@link android.content.pm.ShortcutManager} class.
4348         <p>Protection level: normal
4349    -->
4350    <permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
4351        android:label="@string/permlab_install_shortcut"
4352        android:description="@string/permdesc_install_shortcut"
4353        android:protectionLevel="normal"/>
4354
4355    <!-- <p class="caution"><strong>Don't use this permission in your app.</strong><br>This
4356         permission is no longer supported.
4357    -->
4358    <permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"
4359        android:label="@string/permlab_uninstall_shortcut"
4360        android:description="@string/permdesc_uninstall_shortcut"
4361        android:protectionLevel="normal"/>
4362
4363    <!-- ==================================================== -->
4364    <!-- Permissions related to accessing sync settings   -->
4365    <!-- ==================================================== -->
4366    <eat-comment />
4367
4368    <!-- Allows applications to read the sync settings.
4369         <p>Protection level: normal
4370    -->
4371    <permission android:name="android.permission.READ_SYNC_SETTINGS"
4372        android:description="@string/permdesc_readSyncSettings"
4373        android:label="@string/permlab_readSyncSettings"
4374        android:protectionLevel="normal" />
4375
4376    <!-- Allows applications to write the sync settings.
4377         <p>Protection level: normal
4378    -->
4379    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
4380        android:description="@string/permdesc_writeSyncSettings"
4381        android:label="@string/permlab_writeSyncSettings"
4382        android:protectionLevel="normal" />
4383
4384    <!-- Allows applications to read the sync stats.
4385         <p>Protection level: normal
4386    -->
4387    <permission android:name="android.permission.READ_SYNC_STATS"
4388        android:description="@string/permdesc_readSyncStats"
4389        android:label="@string/permlab_readSyncStats"
4390        android:protectionLevel="normal" />
4391
4392    <!-- ============================================ -->
4393    <!-- Permissions for low-level system interaction -->
4394    <!-- ============================================ -->
4395    <eat-comment />
4396
4397    <!-- @SystemApi @hide Change the screen compatibility mode of applications -->
4398    <permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
4399        android:protectionLevel="signature" />
4400
4401    <!-- Allows an application to modify the current configuration, such
4402         as locale.
4403         <p>Protection level: signature|privileged|development -->
4404    <permission android:name="android.permission.CHANGE_CONFIGURATION"
4405        android:protectionLevel="signature|privileged|development|role" />
4406
4407    <!-- Allows an application to read or write the system settings.
4408
4409        <p class="note"><strong>Note:</strong> If the app targets API level 23
4410        or higher, the app user
4411        must explicitly grant this permission to the app through a permission management screen.
4412        The app requests the user's approval by sending an intent with action
4413        {@link android.provider.Settings#ACTION_MANAGE_WRITE_SETTINGS}. The app
4414        can check whether it has this authorization by calling {@link
4415        android.provider.Settings.System#canWrite Settings.System.canWrite()}.
4416
4417        <p>Protection level: signature|preinstalled|appop|pre23
4418    -->
4419    <permission android:name="android.permission.WRITE_SETTINGS"
4420        android:label="@string/permlab_writeSettings"
4421        android:description="@string/permdesc_writeSettings"
4422        android:protectionLevel="signature|preinstalled|appop|pre23|role" />
4423
4424    <!-- Allows an application to modify the Google service map.
4425    <p>Not for use by third-party applications. -->
4426    <permission android:name="android.permission.WRITE_GSERVICES"
4427        android:protectionLevel="signature|privileged" />
4428
4429    <!-- @SystemApi @TestApi @hide Allows an application to modify config settings.
4430    <p>Not for use by third-party applications. -->
4431    <permission android:name="android.permission.WRITE_DEVICE_CONFIG"
4432        android:protectionLevel="signature|verifier|configurator"/>
4433
4434    <!-- @SystemApi @TestApi @hide Allows an application to modify only allowlisted settings.
4435    <p>Not for use by third-party applications. -->
4436    <permission android:name="android.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG"
4437        android:protectionLevel="signature|verifier|configurator"/>
4438
4439    <!-- @SystemApi @TestApi @hide Allows an application to read/write sync disabled mode config.
4440    <p>Not for use by third-party applications. -->
4441    <permission android:name="android.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG"
4442        android:protectionLevel="signature|verifier|configurator"/>
4443
4444    <!-- @SystemApi @hide Allows an application to read config settings.
4445    <p>Not for use by third-party applications. -->
4446    <permission android:name="android.permission.READ_DEVICE_CONFIG"
4447        android:protectionLevel="signature|preinstalled" />
4448
4449    <!-- @SystemApi @hide Allows applications like settings to read system-owned
4450     application-specific locale configs.
4451     <p>Not for use by third-party applications. -->
4452    <permission android:name="android.permission.READ_APP_SPECIFIC_LOCALES"
4453                android:protectionLevel="signature|installer" />
4454
4455    <!-- @hide Allows applications to set an application-specific {@link LocaleConfig}.
4456    <p>Not for use by third-party applications. -->
4457    <permission android:name="android.permission.SET_APP_SPECIFIC_LOCALECONFIG"
4458        android:protectionLevel="signature" />
4459
4460    <!-- @SystemApi @hide Allows an application to monitor {@link android.provider.Settings.Config} access.
4461    <p>Not for use by third-party applications. -->
4462    <permission android:name="android.permission.MONITOR_DEVICE_CONFIG_ACCESS"
4463        android:protectionLevel="signature"/>
4464
4465    <!-- @SystemApi @TestApi Allows an application to call
4466        {@link android.app.ActivityManager#forceStopPackage}.
4467        @hide -->
4468    <permission android:name="android.permission.FORCE_STOP_PACKAGES"
4469        android:protectionLevel="signature|privileged" />
4470
4471    <!-- @SystemApi @hide Allows an application to retrieve the content of the active window
4472         An active window is the window that has fired an accessibility event. -->
4473    <permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"
4474        android:protectionLevel="signature|privileged" />
4475
4476    <!-- Modify the global animation scaling factor.
4477    <p>Not for use by third-party applications. -->
4478    <permission android:name="android.permission.SET_ANIMATION_SCALE"
4479        android:protectionLevel="signature|privileged|development" />
4480
4481    <!-- @deprecated This functionality will be removed in the future; please do
4482         not use. Allow an application to make its activities persistent. -->
4483    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
4484        android:label="@string/permlab_persistentActivity"
4485        android:description="@string/permdesc_persistentActivity"
4486        android:protectionLevel="normal" />
4487
4488    <!-- Allows an application to find out the space used by any package.
4489         <p>Protection level: normal
4490    -->
4491    <permission android:name="android.permission.GET_PACKAGE_SIZE"
4492        android:label="@string/permlab_getPackageSize"
4493        android:description="@string/permdesc_getPackageSize"
4494        android:protectionLevel="normal" />
4495
4496    <!-- @deprecated No longer useful, see
4497         {@link android.content.pm.PackageManager#addPackageToPreferred}
4498         for details. -->
4499    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
4500        android:protectionLevel="signature|installer|verifier" />
4501
4502    <!-- Allows an application to receive the
4503         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
4504         broadcast after the system finishes booting.  If you don't
4505         request this permission, you will not receive the broadcast at
4506         that time.  Though holding this permission does not have any
4507         security implications, it can have a negative impact on the
4508         user experience by increasing the amount of time it takes the
4509         system to start and allowing applications to have themselves
4510         running without the user being aware of them.  As such, you must
4511         explicitly declare your use of this facility to make that visible
4512         to the user.
4513         <p>Protection level: normal
4514    -->
4515    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
4516        android:label="@string/permlab_receiveBootCompleted"
4517        android:description="@string/permdesc_receiveBootCompleted"
4518        android:protectionLevel="normal" />
4519
4520    <!-- Allows an application to broadcast sticky intents.  These are
4521         broadcasts whose data is held by the system after being finished,
4522         so that clients can quickly retrieve that data without having
4523         to wait for the next broadcast.
4524         <p>Protection level: normal
4525    -->
4526    <permission android:name="android.permission.BROADCAST_STICKY"
4527        android:label="@string/permlab_broadcastSticky"
4528        android:description="@string/permdesc_broadcastSticky"
4529        android:protectionLevel="normal" />
4530
4531    <!-- Allows mounting and unmounting file systems for removable storage.
4532    <p>Not for use by third-party applications.-->
4533    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
4534        android:protectionLevel="signature|privileged" />
4535
4536    <!-- Allows formatting file systems for removable storage.
4537    <p>Not for use by third-party applications. -->
4538    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
4539        android:protectionLevel="signature|privileged" />
4540
4541    <!-- @hide -->
4542    <permission android:name="android.permission.STORAGE_INTERNAL"
4543        android:protectionLevel="signature" />
4544
4545    <!-- Allows access to ASEC non-destructive API calls
4546         @hide  -->
4547    <permission android:name="android.permission.ASEC_ACCESS"
4548        android:protectionLevel="signature" />
4549
4550    <!-- Allows creation of ASEC volumes
4551         @hide  -->
4552    <permission android:name="android.permission.ASEC_CREATE"
4553        android:protectionLevel="signature" />
4554
4555    <!-- Allows destruction of ASEC volumes
4556         @hide  -->
4557    <permission android:name="android.permission.ASEC_DESTROY"
4558        android:protectionLevel="signature" />
4559
4560    <!-- Allows mount / unmount of ASEC volumes
4561         @hide  -->
4562    <permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"
4563        android:protectionLevel="signature" />
4564
4565    <!-- Allows rename of ASEC volumes
4566         @hide  -->
4567    <permission android:name="android.permission.ASEC_RENAME"
4568        android:protectionLevel="signature" />
4569
4570    <!-- Allows applications to write the apn settings and read sensitive fields of
4571         an existing apn settings like user and password.
4572    <p>Not for use by third-party applications. -->
4573    <permission android:name="android.permission.WRITE_APN_SETTINGS"
4574        android:protectionLevel="signature|privileged" />
4575
4576    <!-- Allows applications to change network connectivity state.
4577         <p>Protection level: normal
4578    -->
4579    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
4580        android:description="@string/permdesc_changeNetworkState"
4581        android:label="@string/permlab_changeNetworkState"
4582        android:protectionLevel="normal" />
4583
4584    <!-- Allows an application to clear the caches of all installed
4585         applications on the device.
4586         <p>Protection level: signature|privileged
4587    -->
4588    <permission android:name="android.permission.CLEAR_APP_CACHE"
4589        android:protectionLevel="signature|privileged" />
4590
4591    <!-- @SystemApi Allows an application to use any media decoder when decoding for playback
4592         @hide -->
4593    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
4594        android:protectionLevel="signature|privileged" />
4595
4596    <!-- @SystemApi Allows an application to install and/or uninstall CA certificates on
4597         behalf of the user.
4598         @hide -->
4599    <permission android:name="android.permission.MANAGE_CA_CERTIFICATES"
4600        android:protectionLevel="signature|privileged" />
4601
4602    <!-- @SystemApi Allows an application to do certain operations needed for
4603         interacting with the recovery (system update) system.
4604         @hide -->
4605    <permission android:name="android.permission.RECOVERY"
4606        android:protectionLevel="signature|privileged" />
4607
4608    <!-- @SystemApi Allows an application to do certain operations needed for
4609         resume on reboot feature.
4610         @hide -->
4611    <permission android:name="android.permission.BIND_RESUME_ON_REBOOT_SERVICE"
4612        android:protectionLevel="signature" />
4613
4614    <!-- @SystemApi Allows an application to read system update info.
4615         @hide -->
4616    <permission android:name="android.permission.READ_SYSTEM_UPDATE_INFO"
4617        android:protectionLevel="signature|privileged" />
4618
4619    <!-- Allows the system to bind to an application's task services
4620         @hide -->
4621    <permission android:name="android.permission.BIND_JOB_SERVICE"
4622        android:protectionLevel="signature" />
4623    <uses-permission android:name="android.permission.BIND_JOB_SERVICE"/>
4624
4625    <!-- Allows an application to initiate configuration updates
4626         <p>An application requesting this permission is responsible for
4627         verifying the source and integrity of any update before passing
4628         it off to the various individual installer components
4629         @hide -->
4630    <permission android:name="android.permission.UPDATE_CONFIG"
4631        android:protectionLevel="signature|privileged" />
4632
4633    <!-- Allows an application to query the current time zone rules state
4634         on device.
4635         @SystemApi @hide
4636         @deprecated Vestigial permission declaration. No longer used. -->
4637    <permission android:name="android.permission.QUERY_TIME_ZONE_RULES"
4638                android:protectionLevel="signature|privileged" />
4639
4640    <!-- Allows a time zone rule updater application to request
4641         the system installs / uninstalls timezone rules.
4642         <p>An application requesting this permission is responsible for
4643         verifying the source and integrity of the update before passing
4644         it off to the installer components.
4645         @SystemApi @hide
4646         @deprecated Vestigial permission declaration. No longer used. -->
4647    <permission android:name="android.permission.UPDATE_TIME_ZONE_RULES"
4648        android:protectionLevel="signature|privileged" />
4649
4650    <!-- Allows the system to reset throttling in shortcut manager.
4651         @hide -->
4652    <permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING"
4653        android:protectionLevel="signature" />
4654
4655    <!-- Allows the system to bind to the discovered Network Recommendation Service.
4656         @SystemApi @hide -->
4657    <permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"
4658        android:protectionLevel="signature" />
4659    <uses-permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"/>
4660
4661    <!-- Allows an application to enable, disable and change priority of
4662         runtime resource overlays.
4663         @hide -->
4664    <permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES"
4665        android:protectionLevel="signature|privileged" />
4666
4667    <!-- Allows an application to set, update and remove the credential management app.
4668         @hide -->
4669    <permission android:name="android.permission.MANAGE_CREDENTIAL_MANAGEMENT_APP"
4670        android:protectionLevel="signature" />
4671
4672    <!-- Allows a font updater application to request that the system installs/uninstalls/updates
4673         font files. @SystemApi @hide -->
4674    <permission android:name="android.permission.UPDATE_FONTS"
4675        android:protectionLevel="signature|privileged" />
4676
4677    <!-- Allows an application to use the AttestationVerificationService.
4678         @hide -->
4679    <permission android:name="android.permission.USE_ATTESTATION_VERIFICATION_SERVICE"
4680                android:protectionLevel="signature" />
4681
4682    <!-- Allows an application to export a AttestationVerificationService to verify attestations on
4683         behalf of AttestationVerificationManager for system-defined attestation profiles.
4684         @hide -->
4685    <permission android:name="android.permission.VERIFY_ATTESTATION"
4686                android:protectionLevel="signature" />
4687
4688    <!-- Must be required by any AttestationVerificationService to ensure that only the system can
4689         bind to it.
4690         @hide -->
4691    <permission android:name="android.permission.BIND_ATTESTATION_VERIFICATION_SERVICE"
4692                android:protectionLevel="signature" />
4693
4694    <!-- Allows the caller to generate keymint keys with the INCLUDE_UNIQUE_ID tag, which
4695         uniquely identifies the device via the attestation certificate.
4696         @hide @TestApi -->
4697    <permission android:name="android.permission.REQUEST_UNIQUE_ID_ATTESTATION"
4698         android:protectionLevel="signature" />
4699
4700    <!-- Allows the caller to bind with Remote Key Provisioning service.
4701         @hide -->
4702    <permission android:name="android.permission.BIND_RKP_SERVICE"
4703                android:protectionLevel="signature" />
4704
4705    <!-- Allows an application to get enabled credential manager providers.
4706         @hide -->
4707    <permission android:name="android.permission.LIST_ENABLED_CREDENTIAL_PROVIDERS"
4708        android:protectionLevel="signature|privileged" />
4709
4710    <!-- Allows a system application to be registered with credential manager without
4711         having to be enabled by the user.
4712         @hide @SystemApi -->
4713    <permission android:name="android.permission.PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE"
4714                android:protectionLevel="signature|privileged" />
4715
4716    <!-- Allows specifying candidate credential providers to be queried in Credential Manager
4717    get flows, or to be preferred as a default in the Credential Manager create flows.
4718     <p>Protection level: normal -->
4719    <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS"
4720                android:protectionLevel="normal" />
4721
4722    <!-- Allows a browser to invoke credential manager APIs on behalf of another RP.
4723        <p>Protection level: normal -->
4724    <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ORIGIN"
4725        android:protectionLevel="normal" />
4726
4727    <!-- Allows a browser to invoke the set of query apis to get metadata about credential
4728         candidates prepared during the CredentialManager.prepareGetCredential API.
4729        <p>Protection level: normal -->
4730    <permission android:name="android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS"
4731                android:protectionLevel="normal" />
4732
4733    <!-- Allows permission to use Credential Manager UI for providing and saving credentials
4734         @hide -->
4735    <permission android:name="android.permission.LAUNCH_CREDENTIAL_SELECTOR"
4736        android:protectionLevel="signature" />
4737
4738    <!-- Allows an application to be able to store and retrieve credentials from a remote
4739         device.
4740    <p>Protection level: signature|privileged|role -->
4741    <permission android:name="android.permission.PROVIDE_REMOTE_CREDENTIALS"
4742                android:protectionLevel="signature|privileged|role" />
4743
4744    <!-- ========================================= -->
4745    <!-- Permissions for special development tools -->
4746    <!-- ========================================= -->
4747    <eat-comment />
4748
4749    <!-- Allows an application to read or write the secure system settings.
4750    <p>Not for use by third-party applications. -->
4751    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
4752        android:protectionLevel="signature|privileged|development|role|installer" />
4753
4754    <!-- Allows an application to retrieve state dump information from system services.
4755    <p>Not for use by third-party applications. -->
4756    <permission android:name="android.permission.DUMP"
4757        android:protectionLevel="signature|privileged|development" />
4758
4759    <!-- Allows an application to start tracing for InputMethod and WindowManager.
4760    <p>Not for use by third-party applications.
4761    @hide -->
4762    <permission android:name="android.permission.CONTROL_UI_TRACING"
4763        android:protectionLevel="signature|privileged|development" />
4764
4765    <!-- Allows an application to read the low-level system log files.
4766    <p>Not for use by third-party applications, because
4767    Log entries can contain the user's private information. -->
4768    <permission android:name="android.permission.READ_LOGS"
4769        android:protectionLevel="signature|privileged|development" />
4770
4771    <!-- Configure an application for debugging.
4772    <p>Not for use by third-party applications. -->
4773    <permission android:name="android.permission.SET_DEBUG_APP"
4774        android:protectionLevel="signature|privileged|development" />
4775
4776    <!-- Allows an application to access the data in Dropbox.
4777    <p>Not for use by third-party applications.
4778    @FlaggedApi("com.android.server.feature.flags.enable_read_dropbox_permission") -->
4779    <permission android:name="android.permission.READ_DROPBOX_DATA"
4780        android:protectionLevel="signature|privileged|development" />
4781
4782    <!-- Allows an application to set the maximum number of (not needed)
4783         application processes that can be running.
4784         <p>Not for use by third-party applications. -->
4785    <permission android:name="android.permission.SET_PROCESS_LIMIT"
4786        android:protectionLevel="signature|privileged|development" />
4787
4788    <!-- Allows an application to control whether activities are immediately
4789         finished when put in the background.
4790         <p>Not for use by third-party applications. -->
4791    <permission android:name="android.permission.SET_ALWAYS_FINISH"
4792        android:protectionLevel="signature|privileged|development" />
4793
4794    <!-- Allow an application to request that a signal be sent to all persistent processes.
4795    <p>Not for use by third-party applications. -->
4796    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
4797        android:protectionLevel="signature|privileged|development" />
4798
4799    <!-- @hide @SystemApi Must be required by a
4800         {@link com.android.service.tracing.TraceReportService}, to ensure that only the system
4801         can bind to it.
4802        <p>Not for use by third-party applications. -->
4803    <permission android:name="android.permission.BIND_TRACE_REPORT_SERVICE"
4804                android:protectionLevel="signature" />
4805
4806    <!-- @hide @SystemApi @TestApi
4807         Allow an application to approve incident and bug reports to be
4808         shared off-device.  There can be only one application installed on the
4809         device with this permission, and since this is a privileged permission, it
4810         must be in priv-app.
4811        <p>Not for use by third-party applications. -->
4812    <permission android:name="android.permission.APPROVE_INCIDENT_REPORTS"
4813        android:protectionLevel="signature|incidentReportApprover" />
4814
4815    <!-- @hide Allow an application to approve an incident or bug report approval from
4816        the system. -->
4817    <permission android:name="android.permission.REQUEST_INCIDENT_REPORT_APPROVAL"
4818        android:protectionLevel="signature|privileged" />
4819
4820    <!-- ==================================== -->
4821    <!-- Private permissions                  -->
4822    <!-- ==================================== -->
4823    <eat-comment />
4824
4825    <!-- Allows access to the list of accounts in the Accounts Service.
4826         <p>Protection level: signature|privileged -->
4827    <permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"
4828        android:protectionLevel="signature|privileged" />
4829
4830    <!-- Allows but does not guarantee access to user passwords at the conclusion of add account
4831    @hide -->
4832    <permission android:name="android.permission.GET_PASSWORD"
4833        android:protectionLevel="signature" />
4834
4835    <!-- Allows applications to RW to diagnostic resources.
4836    <p>Not for use by third-party applications. -->
4837    <permission android:name="android.permission.DIAGNOSTIC"
4838        android:protectionLevel="signature" />
4839
4840    <!-- Allows an application to open, close, or disable the status bar
4841         and its icons.
4842         <p>Not for use by third-party applications. -->
4843    <permission android:name="android.permission.STATUS_BAR"
4844        android:protectionLevel="signature|privileged|recents" />
4845
4846    <!-- Allows an application to trigger bugreport via shell using the bugreport API.
4847        <p>Not for use by third-party applications.
4848        @hide
4849    -->
4850    <permission android:name="android.permission.TRIGGER_SHELL_BUGREPORT"
4851        android:protectionLevel="signature" />
4852
4853    <!-- Allows an application to trigger profcollect report upload via shell.
4854        <p>Not for use by third-party applications.
4855        @hide
4856    -->
4857    <permission android:name="android.permission.TRIGGER_SHELL_PROFCOLLECT_UPLOAD"
4858        android:protectionLevel="signature" />
4859
4860    <!-- Allows an application to be the status bar.  Currently used only by SystemUI.apk
4861        @hide
4862        @SystemApi -->
4863    <permission android:name="android.permission.STATUS_BAR_SERVICE"
4864        android:protectionLevel="signature|recents" />
4865
4866    <!-- Allows an application to bind to third party quick settings tiles.
4867         <p>Should only be requested by the System, should be required by
4868         TileService declarations.-->
4869    <permission android:name="android.permission.BIND_QUICK_SETTINGS_TILE"
4870        android:protectionLevel="signature|recents" />
4871
4872    <!-- Allows SystemUI to request third party controls.
4873         <p>Should only be requested by the System and required by
4874         {@link android.service.controls.ControlsProviderService} declarations.
4875    -->
4876    <permission android:name="android.permission.BIND_CONTROLS"
4877        android:protectionLevel="signature" />
4878
4879    <!-- @SystemApi Allows an application to force a BACK operation on whatever is the
4880         top activity.
4881         <p>Not for use by third-party applications.
4882         @hide
4883    -->
4884    <permission android:name="android.permission.FORCE_BACK"
4885        android:protectionLevel="signature" />
4886
4887    <!-- Allows an application to update device statistics.
4888    <p>Not for use by third-party applications. -->
4889    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
4890        android:protectionLevel="signature|privileged|role" />
4891
4892    <!-- @SystemApi @hide Allows an application to collect application operation statistics.
4893         Not for use by third party apps. -->
4894    <permission android:name="android.permission.GET_APP_OPS_STATS"
4895        android:protectionLevel="signature|privileged|development" />
4896
4897    <!-- @SystemApi @hide Allows an application to collect historical application operation
4898         statistics.
4899         <p>Not for use by third party applications.
4900    -->
4901    <permission android:name="android.permission.GET_HISTORICAL_APP_OPS_STATS"
4902        android:protectionLevel="internal|role" />
4903
4904    <!-- @SystemApi Allows an application to update application operation statistics. Not for
4905         use by third party apps.
4906         @hide -->
4907    <permission android:name="android.permission.UPDATE_APP_OPS_STATS"
4908        android:protectionLevel="signature|privileged|installer|role" />
4909
4910    <!-- @SystemApi Allows an application to update the user app op restrictions.
4911         Not for use by third party apps.
4912         @hide -->
4913    <permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS"
4914        android:protectionLevel="signature|installer" />
4915
4916    <!-- @TestApi Allows an application to update the user app op modes.
4917         Not for use by third party apps.
4918         @hide -->
4919    <permission android:name="android.permission.MANAGE_APP_OPS_MODES"
4920        android:protectionLevel="signature|installer|verifier|role" />
4921
4922    <!-- @SystemApi Allows an application to open windows that are for use by parts
4923         of the system user interface.
4924         <p>Not for use by third-party applications.
4925         @hide
4926    -->
4927    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
4928        android:protectionLevel="signature|module|recents" />
4929
4930    <!-- Allows an application to avoid all toast rate limiting restrictions.
4931         <p>Not for use by third-party applications.
4932         @hide
4933    -->
4934    <permission android:name="android.permission.UNLIMITED_TOASTS"
4935                android:protectionLevel="signature" />
4936    <uses-permission android:name="android.permission.UNLIMITED_TOASTS" />
4937
4938    <!-- @SystemApi Allows an application to use
4939         {@link android.view.WindowManager.LayoutsParams#SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS}
4940         to hide non-system-overlay windows.
4941         <p>Not for use by third-party applications.
4942         @deprecated Use {@link android.Manifest.permission#HIDE_OVERLAY_WINDOWS} instead
4943         @hide
4944    -->
4945    <permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"
4946                android:protectionLevel="signature|preinstalled" />
4947
4948    <!-- @SystemApi Allows an application to manage (create, destroy,
4949         Z-order) application tokens in the window manager.
4950         <p>Not for use by third-party applications.
4951         @hide
4952    -->
4953    <permission android:name="android.permission.MANAGE_APP_TOKENS"
4954        android:protectionLevel="signature" />
4955
4956    <!-- Allows System UI to register listeners for events from Window Manager.
4957         @hide -->
4958    <permission android:name="android.permission.REGISTER_WINDOW_MANAGER_LISTENERS"
4959        android:protectionLevel="signature" />
4960
4961    <!-- @hide Allows the application to temporarily freeze the screen for a
4962         full-screen transition. -->
4963    <permission android:name="android.permission.FREEZE_SCREEN"
4964        android:protectionLevel="signature" />
4965
4966    <!-- @SystemApi Allows an application to inject user events (keys, touch, trackball)
4967         into the event stream and deliver them to ANY window.  Without this
4968         permission, you can only deliver events to windows in your own process.
4969         <p>Not for use by third-party applications.
4970         @hide
4971    -->
4972    <permission android:name="android.permission.INJECT_EVENTS"
4973        android:protectionLevel="signature" />
4974
4975    <!-- @hide Allows an application to register an input filter which filters the stream
4976         of user events (keys, touch, trackball) before they are dispatched to any window. -->
4977    <permission android:name="android.permission.FILTER_EVENTS"
4978        android:protectionLevel="signature" />
4979
4980    <!-- @hide Allows an application to retrieve the window token from the accessibility manager. -->
4981    <permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN"
4982        android:protectionLevel="signature" />
4983
4984    <!-- @hide Allows an application to modify accessibility information from another app. -->
4985    <permission android:name="android.permission.MODIFY_ACCESSIBILITY_DATA"
4986                android:protectionLevel="signature" />
4987
4988    <!-- @hide Allows an application to perform accessibility operations (e.g. send events) on
4989         behalf of another package. -->
4990    <permission android:name="android.permission.ACT_AS_PACKAGE_FOR_ACCESSIBILITY"
4991                android:protectionLevel="signature" />
4992
4993    <!-- @hide Allows an application to change the accessibility volume. -->
4994    <permission android:name="android.permission.CHANGE_ACCESSIBILITY_VOLUME"
4995                android:protectionLevel="signature" />
4996
4997    <!-- @FlaggedApi("com.android.server.accessibility.motion_event_observing")
4998    @hide
4999    @TestApi
5000    Allows an accessibility service to observe motion events without consuming them. -->
5001    <permission android:name="android.permission.ACCESSIBILITY_MOTION_EVENT_OBSERVING"
5002                android:protectionLevel="signature" />
5003
5004    <!-- @hide Allows an application to collect frame statistics -->
5005    <permission android:name="android.permission.FRAME_STATS"
5006         android:protectionLevel="signature" />
5007
5008    <!-- @hide Allows an application to temporary enable accessibility on the device. -->
5009    <permission android:name="android.permission.TEMPORARY_ENABLE_ACCESSIBILITY"
5010        android:protectionLevel="signature" />
5011
5012    <!-- @SystemApi Allows an application to launch detail settings activity of a particular
5013         accessibility service.
5014         <p>Not for use by third-party applications.
5015         @hide -->
5016    <permission android:name="android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS"
5017        android:protectionLevel="signature|installer" />
5018
5019    <!-- @SystemApi Allows an application to watch and control how activities are
5020         started globally in the system.  Only for is in debugging
5021         (usually the monkey command).
5022         <p>Not for use by third-party applications.
5023         @hide
5024    -->
5025    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
5026        android:protectionLevel="signature" />
5027
5028    <!-- @SystemApi Allows an application to call the activity manager shutdown() API
5029         to put the higher-level system there into a shutdown state.
5030         @hide -->
5031    <permission android:name="android.permission.SHUTDOWN"
5032        android:protectionLevel="signature|privileged|role" />
5033
5034    <!-- @SystemApi Allows an application to tell the activity manager to temporarily
5035         stop application switches, putting it into a special mode that
5036         prevents applications from immediately switching away from some
5037         critical UI such as the home screen.
5038         @hide -->
5039    <permission android:name="android.permission.STOP_APP_SWITCHES"
5040        android:protectionLevel="signature|privileged|recents" />
5041
5042    <!-- @SystemApi Allows an application to retrieve private information about
5043         the current top activity, such as any assist context it can provide.
5044         <p>Not for use by third-party applications.
5045         @hide
5046    -->
5047    <permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"
5048        android:protectionLevel="signature|recents" />
5049
5050    <!-- @SystemApi Allows an application to set the system audio caption and its UI
5051     enabled state.
5052     <p>Not for use by third-party applications.
5053     @hide -->
5054    <permission android:name="android.permission.SET_SYSTEM_AUDIO_CAPTION"
5055                android:protectionLevel="signature|role" />
5056
5057    <!-- Allows an application to retrieve the current state of keys and
5058         switches.
5059         <p>Not for use by third-party applications.
5060         @deprecated The API that used this permission has been removed. -->
5061    <permission android:name="android.permission.READ_INPUT_STATE"
5062        android:protectionLevel="signature" />
5063
5064    <!-- Must be required by an {@link android.inputmethodservice.InputMethodService},
5065         to ensure that only the system can bind to it.
5066         <p>Protection level: signature
5067    -->
5068    <permission android:name="android.permission.BIND_INPUT_METHOD"
5069        android:protectionLevel="signature" />
5070
5071    <!-- Allows access to Test APIs defined in {@link android.view.inputmethod.InputMethodManager}.
5072         @hide
5073         @TestApi -->
5074    <permission android:name="android.permission.TEST_INPUT_METHOD"
5075        android:protectionLevel="signature" />
5076
5077    <!-- Must be required by an {@link android.media.midi.MidiDeviceService},
5078         to ensure that only the system can bind to it.
5079         <p>Protection level: signature
5080    -->
5081    <permission android:name="android.permission.BIND_MIDI_DEVICE_SERVICE"
5082        android:protectionLevel="signature" />
5083
5084    <!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
5085         to ensure that only the system can bind to it.
5086         <p>Protection level: signature
5087    -->
5088    <permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
5089        android:protectionLevel="signature" />
5090
5091    <!-- Must be required by a {@link android.printservice.PrintService},
5092         to ensure that only the system can bind to it.
5093         <p>Protection level: signature
5094    -->
5095    <permission android:name="android.permission.BIND_PRINT_SERVICE"
5096        android:protectionLevel="signature" />
5097
5098    <!-- Must be required by a {@link android.printservice.recommendation.RecommendationService},
5099     to ensure that only the system can bind to it.
5100     @hide
5101     @SystemApi
5102     <p>Protection level: signature
5103    -->
5104    <permission android:name="android.permission.BIND_PRINT_RECOMMENDATION_SERVICE"
5105            android:protectionLevel="signature" />
5106
5107    <!-- Allows applications to get the installed and enabled print services.
5108         @hide
5109         @SystemApi
5110         <p>Protection level: signature|preinstalled
5111    -->
5112    <permission android:name="android.permission.READ_PRINT_SERVICES"
5113        android:protectionLevel="signature|preinstalled" />
5114
5115    <!-- Allows applications to get the currently recommended print services for printers.
5116         @hide
5117         @SystemApi
5118         <p>Protection level: signature|preinstalled
5119    -->
5120    <permission android:name="android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS"
5121        android:protectionLevel="signature|preinstalled" />
5122
5123    <!-- Must be required by a {@link android.nfc.cardemulation.HostApduService}
5124         or {@link android.nfc.cardemulation.OffHostApduService} to ensure that only
5125         the system can bind to it.
5126         <p>Protection level: signature
5127    -->
5128    <permission android:name="android.permission.BIND_NFC_SERVICE"
5129        android:protectionLevel="signature|module" />
5130
5131    <!-- Must be required by a {@link android.service.quickaccesswallet.QuickAccessWalletService}
5132         to ensure that only the system can bind to it.
5133         <p>Protection level: signature
5134    -->
5135    <permission android:name="android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE"
5136                android:protectionLevel="signature" />
5137
5138    <!-- Must be required by the PrintSpooler to ensure that only the system can bind to it.
5139         @hide -->
5140    <permission android:name="android.permission.BIND_PRINT_SPOOLER_SERVICE"
5141        android:protectionLevel="signature" />
5142
5143    <!-- Must be required by the CompanionDeviceManager to ensure that only the system can bind to it.
5144         @hide -->
5145    <permission android:name="android.permission.BIND_COMPANION_DEVICE_MANAGER_SERVICE"
5146        android:protectionLevel="signature" />
5147
5148    <!-- Must be required by any
5149         {@link android.companion.CompanionDeviceService}s
5150         to ensure that only the system can bind to it. -->
5151    <permission android:name="android.permission.BIND_COMPANION_DEVICE_SERVICE"
5152                android:protectionLevel="signature" />
5153
5154    <!-- @SystemApi Must be required by the RuntimePermissionPresenterService to ensure
5155         that only the system can bind to it.
5156         @hide -->
5157    <permission android:name="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE"
5158        android:protectionLevel="signature" />
5159
5160    <!-- Must be required by a TextService (e.g. SpellCheckerService)
5161         to ensure that only the system can bind to it.
5162         <p>Protection level: signature
5163    -->
5164    <permission android:name="android.permission.BIND_TEXT_SERVICE"
5165        android:protectionLevel="signature" />
5166
5167    <!-- @SystemApi Must be required by a AttentionService
5168         to ensure that only the system can bind to it.
5169         <p>Protection level: signature
5170         @hide
5171    -->
5172    <permission android:name="android.permission.BIND_ATTENTION_SERVICE"
5173                android:protectionLevel="signature" />
5174    <uses-permission android:name="android.permission.BIND_ATTENTION_SERVICE" />
5175
5176    <!-- @SystemApi Must be required by a RotationResolverService
5177         to ensure that only the system can bind to it.
5178         <p>Protection level: signature
5179         @hide
5180    -->
5181    <permission android:name="android.permission.BIND_ROTATION_RESOLVER_SERVICE"
5182        android:protectionLevel="signature" />
5183    <uses-permission android:name="android.permission.BIND_ROTATION_RESOLVER_SERVICE" />
5184
5185    <!-- Must be required by a {@link android.net.VpnService},
5186         to ensure that only the system can bind to it.
5187         <p>Protection level: signature
5188    -->
5189    <permission android:name="android.permission.BIND_VPN_SERVICE"
5190        android:protectionLevel="signature" />
5191
5192    <!-- Must be required by a {@link android.service.wallpaper.WallpaperService},
5193         to ensure that only the system can bind to it.
5194         <p>Protection level: signature|privileged
5195    -->
5196    <permission android:name="android.permission.BIND_WALLPAPER"
5197        android:protectionLevel="signature|privileged" />
5198
5199
5200    <!-- Must be required by a game service to ensure that only the
5201         system can bind to it.
5202         <p>Protection level: signature
5203         @hide
5204    -->
5205    <permission android:name="android.permission.BIND_GAME_SERVICE"
5206                android:protectionLevel="signature" />
5207
5208    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService},
5209         to ensure that only the system can bind to it.
5210         <p>Protection level: signature
5211    -->
5212    <permission android:name="android.permission.BIND_VOICE_INTERACTION"
5213        android:protectionLevel="signature" />
5214
5215    <!-- @SystemApi Must be required by a {@link android.service.voice.HotwordDetectionService},
5216         to ensure that only the system can bind to it.
5217         <p>Protection level: signature
5218         @hide This is not a third-party API (intended for OEMs and system apps).
5219    -->
5220    <permission android:name="android.permission.BIND_HOTWORD_DETECTION_SERVICE"
5221        android:protectionLevel="signature" />
5222
5223    <!-- @SystemApi Allows an application to manage hotword detection and visual query detection
5224         on the device.
5225         <p>Protection level: internal|preinstalled
5226         @hide This is not a third-party API (intended for OEMs and system apps).
5227    -->
5228    <permission android:name="android.permission.MANAGE_HOTWORD_DETECTION"
5229                android:protectionLevel="internal|preinstalled" />
5230
5231    <!-- @SystemApi Must be required by a {@link android.service.voice.VisualQueryDetectionService},
5232         to ensure that only the system can bind to it.
5233         <p>Protection level: signature
5234         @hide This is not a third-party API (intended for OEMs and system apps).
5235    -->
5236    <permission android:name="android.permission.BIND_VISUAL_QUERY_DETECTION_SERVICE"
5237        android:protectionLevel="signature" />
5238
5239    <!-- Allows an application to subscribe to keyguard locked (i.e., showing) state.
5240         <p>Protection level: signature|role
5241         <p>Intended for use by ROLE_ASSISTANT and signature apps only.
5242    -->
5243    <permission android:name="android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE"
5244                android:protectionLevel="signature|module|role"/>
5245
5246    <!-- Must be required by a {@link android.service.autofill.AutofillService},
5247         to ensure that only the system can bind to it.
5248         <p>Protection level: signature
5249    -->
5250    <permission android:name="android.permission.BIND_AUTOFILL_SERVICE"
5251        android:protectionLevel="signature" />
5252
5253    <!-- Must be required by a
5254         {@link android.service.assist.classification.FieldClassificationService},
5255         to ensure that only the system can bind to it.
5256         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5257         <p>Protection level: signature
5258    -->
5259    <permission android:name="android.permission.BIND_FIELD_CLASSIFICATION_SERVICE"
5260                android:protectionLevel="signature" />
5261
5262    <!-- Must be required by a CredentialProviderService to ensure that only the
5263         system can bind to it.
5264         <p>Protection level: signature
5265    -->
5266    <permission android:name="android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE"
5267                android:protectionLevel="signature" />
5268
5269   <!-- Alternative version of android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE.
5270        This permission was renamed during the O previews but it was supported on the final O
5271        release, so we need to carry it over.
5272        <p>Protection level: signature
5273        @hide
5274    -->
5275    <permission android:name="android.permission.BIND_AUTOFILL"
5276        android:protectionLevel="signature" />
5277
5278    <!-- Must be required by an {@link android.service.autofill.AutofillFieldClassificationService}
5279         to ensure that only the system can bind to it.
5280         @hide This is not a third-party API (intended for OEMs and system apps).
5281    -->
5282    <permission android:name="android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE"
5283                android:protectionLevel="signature" />
5284
5285    <!-- Must be required by an {@link android.service.autofill.InlineSuggestionRenderService}
5286         to ensure that only the system can bind to it.
5287         @hide This is not a third-party API (intended for OEMs and system apps).
5288    -->
5289    <permission android:name="android.permission.BIND_INLINE_SUGGESTION_RENDER_SERVICE"
5290                android:protectionLevel="signature" />
5291
5292    <!-- Must be required by a android.service.textclassifier.TextClassifierService,
5293         to ensure that only the system can bind to it.
5294         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5295         <p>Protection level: signature
5296    -->
5297    <permission android:name="android.permission.BIND_TEXTCLASSIFIER_SERVICE"
5298                android:protectionLevel="signature" />
5299
5300    <!-- Must be required by a
5301         {@link android.service.remotelockscreenvalidation.RemoteLockscreenValidationService}
5302         to ensure that only the system can bind to it.
5303         @SystemApi @hide This is not a third-party API
5304         <p>Protection level: signature
5305    -->
5306    <permission android:name="android.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE"
5307        android:protectionLevel="signature" />
5308
5309    <!-- Must be required by a android.service.selectiontoolbar.SelectionToolbarRenderService,
5310          to ensure that only the system can bind to it.
5311          @hide This is not a third-party API (intended for OEMs and system apps).
5312          <p>Protection level: signature
5313    -->
5314    <permission android:name="android.permission.BIND_SELECTION_TOOLBAR_RENDER_SERVICE"
5315                android:protectionLevel="signature" />
5316
5317    <!-- Must be required by a android.service.contentcapture.ContentCaptureService,
5318         to ensure that only the system can bind to it.
5319         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5320         <p>Protection level: signature
5321    -->
5322    <permission android:name="android.permission.BIND_CONTENT_CAPTURE_SERVICE"
5323                android:protectionLevel="signature" />
5324
5325    <!-- Must be required by a android.service.translation.TranslationService,
5326         to ensure that only the system can bind to it.
5327         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5328         <p>Protection level: signature
5329     -->
5330    <permission android:name="android.permission.BIND_TRANSLATION_SERVICE"
5331                android:protectionLevel="signature" />
5332
5333    <!-- @SystemApi Allows apps to use ui translation functions.
5334         <p>Protection level: signature|privileged
5335         @hide Not for use by third-party applications.
5336    -->
5337    <permission android:name="android.permission.MANAGE_UI_TRANSLATION"
5338                android:protectionLevel="signature|privileged|role" />
5339
5340    <!-- Must be required by a android.service.contentsuggestions.ContentSuggestionsService,
5341         to ensure that only the system can bind to it.
5342         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5343         <p>Protection level: signature
5344    -->
5345    <permission android:name="android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE"
5346                android:protectionLevel="signature" />
5347
5348    <!-- Must be required by a
5349         android.service.wallpapereffectsgeneration.WallpaperEffectsGenerationService,
5350         to ensure that only the system can bind to it.
5351         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5352         <p>Protection level: signature
5353   -->
5354    <permission android:name="android.permission.BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE"
5355        android:protectionLevel="signature" />
5356
5357
5358    <!-- Must be declared by a android.service.musicrecognition.MusicRecognitionService,
5359         to ensure that only the system can bind to it.
5360         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5361         <p>Protection level: signature
5362    -->
5363    <permission android:name="android.permission.BIND_MUSIC_RECOGNITION_SERVICE"
5364        android:protectionLevel="signature" />
5365
5366    <!-- Must be required by a android.service.autofill.augmented.AugmentedAutofillService,
5367         to ensure that only the system can bind to it.
5368         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5369         <p>Protection level: signature
5370    -->
5371    <permission android:name="android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE"
5372                android:protectionLevel="signature" />
5373
5374    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService} implementation
5375         to enroll its own sound models. This is a more restrictive permission than the higher-level
5376         permission KEYPHRASE_ENROLLMENT_APPLICATION. For the caller to enroll sound models with
5377         this permission, it must hold the permission and be the active VoiceInteractionService in
5378         the system.
5379         {@see Settings.Secure.VOICE_INTERACTION_SERVICE}
5380         @hide @SystemApi Intended for OEM and system apps.
5381         <p>Protection level: signature|privileged
5382    -->
5383    <permission android:name="android.permission.MANAGE_VOICE_KEYPHRASES"
5384        android:protectionLevel="signature|privileged" />
5385
5386    <!-- Must be required by a keyphrase enrollment application, to enroll sound models. This is
5387         treated as a higher-level permission to MANAGE_VOICE_KEYPHRASES as a caller can enroll
5388         sound models at any time. This permission should be reserved for system enrollment
5389         applications detected by {@link android.hardware.soundtrigger.KeyphraseEnrollmentInfo}
5390         only.
5391         @hide @SystemApi Intended for OEM and system apps.
5392         <p>Protection level: signature|privileged
5393    -->
5394    <permission android:name="android.permission.KEYPHRASE_ENROLLMENT_APPLICATION"
5395        android:protectionLevel="signature|privileged" />
5396
5397    <!-- Must be required by a {@link com.android.media.remotedisplay.RemoteDisplayProvider},
5398         to ensure that only the system can bind to it.
5399         @hide -->
5400    <permission android:name="android.permission.BIND_REMOTE_DISPLAY"
5401        android:protectionLevel="signature" />
5402
5403    <!-- Must be required by a android.media.tv.ad.TvAdService to ensure that only the system can
5404         bind to it.
5405         <p>Protection level: signature|privileged
5406         @FlaggedApi("android.media.tv.flags.enable_ad_service_fw")
5407    -->
5408    <permission android:name="android.permission.BIND_TV_AD_SERVICE"
5409                android:protectionLevel="signature|privileged" />
5410
5411    <!-- Must be required by a {@link android.media.tv.TvInputService}
5412         to ensure that only the system can bind to it.
5413         <p>Protection level: signature|privileged
5414    -->
5415    <permission android:name="android.permission.BIND_TV_INPUT"
5416        android:protectionLevel="signature|privileged" />
5417
5418    <!-- Must be required by a {@link android.media.tv.interactive.TvInteractiveAppService}
5419         to ensure that only the system can bind to it.
5420         <p>Protection level: signature|privileged
5421    -->
5422    <permission android:name="android.permission.BIND_TV_INTERACTIVE_APP"
5423                android:protectionLevel="signature|privileged" />
5424
5425    <!-- @SystemApi
5426         Must be required by a {@link com.android.media.tv.remoteprovider.TvRemoteProvider}
5427         to ensure that only the system can bind to it.
5428         <p>Protection level: signature|privileged
5429         <p>Not for use by third-party applications. </p>
5430         @hide  -->
5431    <permission android:name="android.permission.BIND_TV_REMOTE_SERVICE"
5432        android:protectionLevel="signature|privileged" />
5433
5434    <!-- @SystemApi
5435         Must be required for a virtual remote controller for TV.
5436         <p>Protection level: signature|privileged
5437         <p>Not for use by third-party applications. </p>
5438         @hide  -->
5439    <permission android:name="android.permission.TV_VIRTUAL_REMOTE_CONTROLLER"
5440        android:protectionLevel="signature|privileged" />
5441
5442    <!-- Allows an application to change HDMI CEC active source.
5443         <p>Not for use by third-party applications.
5444         @hide -->
5445    <permission android:name="android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE"
5446        android:protectionLevel="signature|privileged" />
5447
5448    <!-- @SystemApi Allows an application to modify parental controls
5449         <p>Not for use by third-party applications.
5450         @hide -->
5451    <permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS"
5452        android:protectionLevel="signature|privileged" />
5453
5454    <!-- @SystemApi Allows an application to read TvContentRatingSystemInfo
5455         <p>Not for use by third-party applications.
5456         @hide -->
5457    <permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS"
5458        android:protectionLevel="signature|privileged" />
5459
5460    <!-- Allows an application to notify TV inputs by sending broadcasts.
5461         <p>Protection level: signature|privileged
5462         <p>Not for use by third-party applications.
5463         @hide @SystemApi -->
5464    <permission android:name="android.permission.NOTIFY_TV_INPUTS"
5465         android:protectionLevel="signature|privileged" />
5466
5467    <!-- This permission is required among systems services when accessing
5468         tuner resource management related APIs or information.
5469         <p>Protection level: signature|privileged|vendorPrivileged
5470         <p>This should only be used by the OEM TvInputService.
5471         @hide -->
5472    <permission android:name="android.permission.TUNER_RESOURCE_ACCESS"
5473         android:protectionLevel="signature|privileged|vendorPrivileged" />
5474
5475    <!-- @SystemApi This permission is required by Media Resource Manager Service when
5476         system services create MediaCodecs on behalf of other processes and apps.
5477         <p>Protection level: signature|privileged|vendorPrivileged
5478         <p>Not for use by third-party applications.
5479         @hide -->
5480    <permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID"
5481         android:protectionLevel="signature|privileged|vendorPrivileged" />
5482    <uses-permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID" />
5483
5484    <!-- This permission is required by Media Resource Observer Service when
5485         accessing its registerObserver Api.
5486         <p>Protection level: signature|privileged
5487         <p>Not for use by third-party applications.
5488         @hide -->
5489    <permission android:name="android.permission.REGISTER_MEDIA_RESOURCE_OBSERVER"
5490         android:protectionLevel="signature|privileged" />
5491
5492    <!-- Must be required by a {@link android.media.routing.MediaRouteService}
5493         to ensure that only the system can interact with it.
5494         @hide -->
5495    <permission android:name="android.permission.BIND_ROUTE_PROVIDER"
5496        android:protectionLevel="signature" />
5497
5498    <!-- Must be required by device administration receiver, to ensure that only the
5499         system can interact with it.
5500         <p>Protection level: signature
5501    -->
5502    <permission android:name="android.permission.BIND_DEVICE_ADMIN"
5503        android:protectionLevel="signature|role" />
5504
5505    <!-- @SystemApi Required to add or remove another application as a device admin.
5506         <p>Not for use by third-party applications.
5507         @hide -->
5508    <permission android:name="android.permission.MANAGE_DEVICE_ADMINS"
5509        android:protectionLevel="signature|role" />
5510
5511    <!-- @SystemApi Allows an app to reset the device password.
5512         <p>Not for use by third-party applications.
5513         @hide -->
5514    <permission android:name="android.permission.RESET_PASSWORD"
5515        android:protectionLevel="signature|privileged" />
5516
5517    <!-- @SystemApi Allows an app to lock the device.
5518         <p>Not for use by third-party applications.
5519         @hide -->
5520    <permission android:name="android.permission.LOCK_DEVICE"
5521        android:protectionLevel="signature|privileged" />
5522
5523    <!-- @SystemApi Allows low-level access to setting the orientation (actually
5524         rotation) of the screen.
5525         <p>Not for use by third-party applications.
5526         @hide
5527    -->
5528    <permission android:name="android.permission.SET_ORIENTATION"
5529        android:protectionLevel="signature|recents" />
5530
5531    <!-- @SystemApi Allows low-level access to setting the pointer speed.
5532         <p>Not for use by third-party applications.
5533         @hide
5534    -->
5535    <permission android:name="android.permission.SET_POINTER_SPEED"
5536        android:protectionLevel="signature" />
5537
5538    <!-- Allows low-level access to setting input device calibration.
5539         <p>Not for use by normal applications.
5540         @hide -->
5541    <permission android:name="android.permission.SET_INPUT_CALIBRATION"
5542        android:protectionLevel="signature" />
5543
5544    <!-- Allows low-level access to setting the keyboard layout.
5545         <p>Not for use by third-party applications.
5546         @hide
5547         @TestApi -->
5548    <permission android:name="android.permission.SET_KEYBOARD_LAYOUT"
5549        android:protectionLevel="signature" />
5550
5551    <!-- Allows an app to schedule a prioritized alarm that can be used to perform
5552         background work even when the device is in doze.
5553         <p>Not for use by third-party applications.
5554         @hide
5555         @SystemApi
5556     -->
5557    <permission android:name="android.permission.SCHEDULE_PRIORITIZED_ALARM"
5558                android:protectionLevel="signature|privileged"/>
5559
5560    <!-- Allows applications to use exact alarm APIs.
5561         <p>This is a special access permission that can be revoked by the system or the user.
5562         It should only be used to enable <b>user-facing features</b> that require exact alarms.
5563         For more details, please go through the associated
5564          <a href="{@docRoot}training/scheduling/alarms#exact">developer docs</a>.
5565         <p>Apps need to target API {@link android.os.Build.VERSION_CODES#S} or above to be able to
5566         request this permission. Note that apps targeting lower API levels do not need this
5567         permission to use exact alarm APIs.
5568         <p>Apps that hold this permission and target API
5569         {@link android.os.Build.VERSION_CODES#TIRAMISU} and below always stay in the
5570         {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_WORKING_SET WORKING_SET} or
5571         lower standby bucket.
5572         <p>If your app relies on exact alarms for core functionality, it can instead request
5573         {@link android.Manifest.permission#USE_EXACT_ALARM} once it targets API
5574         {@link android.os.Build.VERSION_CODES#TIRAMISU}. All apps using exact alarms for secondary
5575         features (which should still be user facing) should continue using this permission.
5576         <p>Protection level: signature|privileged|appop
5577     -->
5578    <permission android:name="android.permission.SCHEDULE_EXACT_ALARM"
5579        android:label="@string/permlab_schedule_exact_alarm"
5580        android:description="@string/permdesc_schedule_exact_alarm"
5581        android:protectionLevel="signature|privileged|appop"/>
5582
5583    <!-- Allows apps to use exact alarms just like with {@link
5584         android.Manifest.permission#SCHEDULE_EXACT_ALARM} but without needing to request this
5585         permission from the user.
5586         <p><b> This is only intended for use by apps that rely on exact alarms for their core
5587         functionality.</b> You should continue using {@code SCHEDULE_EXACT_ALARM} if your app needs
5588         exact alarms for a secondary feature that users may or may not use within your app.
5589         <p> Keep in mind that this is a powerful permission and app stores may enforce policies to
5590         audit and review the use of this permission. Such audits may involve removal from the app
5591         store if the app is found to be misusing this permission.
5592         <p> Apps need to target API {@link android.os.Build.VERSION_CODES#TIRAMISU} or above to be
5593         able to request this permission. Note that only one of {@code USE_EXACT_ALARM} or
5594         {@code SCHEDULE_EXACT_ALARM} should be requested on a device. If your app is already using
5595         {@code SCHEDULE_EXACT_ALARM} on older SDKs but needs {@code USE_EXACT_ALARM} on SDK 33 and
5596         above, then {@code SCHEDULE_EXACT_ALARM} should be declared with a max-sdk attribute, like:
5597         <pre>
5598         &lt;uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"
5599         &Tab; android:maxSdkVersion="32" /&gt;
5600         </pre>
5601         <p>Apps that hold this permission, always stay in the
5602         {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_WORKING_SET WORKING_SET} or
5603         lower standby bucket.
5604    -->
5605    <permission android:name="android.permission.USE_EXACT_ALARM"
5606                android:label="@string/permlab_use_exact_alarm"
5607                android:description="@string/permdesc_use_exact_alarm"
5608                android:protectionLevel="normal"/>
5609
5610    <!-- Allows an application to query tablet mode state and monitor changes
5611         in it.
5612         <p>Not for use by third-party applications.
5613         @hide -->
5614    <permission android:name="android.permission.TABLET_MODE"
5615        android:protectionLevel="signature" />
5616
5617    <!-- Allows an application to request installing packages. Apps
5618         targeting APIs greater than 25 must hold this permission in
5619         order to use {@link android.content.Intent#ACTION_INSTALL_PACKAGE}.
5620         <p>Protection level: signature
5621    -->
5622    <permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"
5623        android:label="@string/permlab_requestInstallPackages"
5624        android:description="@string/permdesc_requestInstallPackages"
5625        android:protectionLevel="signature|appop" />
5626
5627    <!-- Allows an application to request deleting packages. Apps
5628         targeting APIs {@link android.os.Build.VERSION_CODES#P} or greater must hold this
5629         permission in order to use {@link android.content.Intent#ACTION_UNINSTALL_PACKAGE} or
5630         {@link android.content.pm.PackageInstaller#uninstall}.
5631         <p>Protection level: normal
5632    -->
5633    <permission android:name="android.permission.REQUEST_DELETE_PACKAGES"
5634        android:label="@string/permlab_requestDeletePackages"
5635        android:description="@string/permdesc_requestDeletePackages"
5636        android:protectionLevel="normal" />
5637
5638    <!-- Allows an application to install packages.
5639    <p>Not for use by third-party applications. -->
5640    <permission android:name="android.permission.INSTALL_PACKAGES"
5641      android:protectionLevel="signature|privileged" />
5642
5643    <!-- @SystemApi Allows an application to install self updates. This is a limited version
5644         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
5645        <p>Not for use by third-party applications.
5646        @hide
5647    -->
5648    <permission android:name="android.permission.INSTALL_SELF_UPDATES"
5649        android:protectionLevel="signature|privileged" />
5650
5651    <!-- @SystemApi Allows an application to install updates. This is a limited version
5652         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
5653        <p>Not for use by third-party applications.
5654        @hide
5655    -->
5656    <permission android:name="android.permission.INSTALL_PACKAGE_UPDATES"
5657        android:protectionLevel="signature|privileged" />
5658
5659    <!-- @SystemApi Allows an application to install existing system packages. This is a limited
5660         version of {@link android.Manifest.permission#INSTALL_PACKAGES}.
5661         <p>Not for use by third-party applications.
5662         TODO(b/80204953): remove this permission once we have a long-term solution.
5663         @hide
5664    -->
5665    <permission android:name="com.android.permission.INSTALL_EXISTING_PACKAGES"
5666        android:protectionLevel="signature|privileged|role" />
5667
5668    <!-- Allows an application to use the package installer v2 APIs.
5669         <p>The package installer v2 APIs are still a work in progress and we're
5670         currently validating they work in all scenarios.
5671         <p>Not for use by third-party applications.
5672         @hide
5673    -->
5674    <permission android:name="com.android.permission.USE_INSTALLER_V2"
5675        android:protectionLevel="signature|privileged" />
5676
5677    <!-- @TestApi Allows a testOnly application to get installed.
5678        <p>Not for use by third-party applications.
5679        @hide
5680    -->
5681    <permission android:name="android.permission.INSTALL_TEST_ONLY_PACKAGE"
5682                android:protectionLevel="signature" />
5683
5684    <!-- @SystemApi Allows an application to install DPCs only, an application is
5685         considered a DPC if it has a {@link android.app.admin.DeviceAdminReceiver}
5686         protected by {@link android.Manifest.permission#BIND_DEVICE_ADMIN).
5687         This is a limited version of
5688         {@link android.Manifest.permission#INSTALL_PACKAGES}.
5689         @hide
5690    -->
5691    <permission android:name="android.permission.INSTALL_DPC_PACKAGES"
5692                android:protectionLevel="signature|role" />
5693
5694    <!-- @SystemApi Allows an application to read resolved paths to the APKs (Base and any splits)
5695         of a session based install.
5696         <p>Not for use by third-party applications.
5697         @hide
5698         @FlaggedApi("android.content.pm.get_resolved_apk_path")
5699    -->
5700    <permission android:name="android.permission.READ_INSTALLED_SESSION_PATHS"
5701                android:protectionLevel="signature|installer" />
5702    <uses-permission android:name="android.permission.READ_INSTALLED_SESSION_PATHS" />
5703
5704    <!-- Allows an application to use System Data Loaders.
5705         <p>Not for use by third-party applications.
5706         @hide
5707    -->
5708    <permission android:name="com.android.permission.USE_SYSTEM_DATA_LOADERS"
5709                android:protectionLevel="signature" />
5710
5711    <!-- @SystemApi @TestApi Allows an application to clear user data.
5712         <p>Not for use by third-party applications
5713         @hide
5714    -->
5715    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
5716        android:protectionLevel="signature|installer" />
5717
5718    <!-- @hide Allows an application to get the URI permissions
5719         granted to another application.
5720         <p>Not for use by third-party applications
5721    -->
5722    <permission android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS"
5723        android:protectionLevel="signature" />
5724
5725    <!-- @hide Allows an application to clear the URI permissions
5726         granted to another application.
5727         <p>Not for use by third-party applications
5728    -->
5729    <permission
5730        android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS"
5731        android:protectionLevel="signature" />
5732
5733    <!-- @hide
5734         Allows an application to change the status of Scoped Access Directory requests granted or
5735         rejected by the user.
5736         <p>This permission should <em>only</em> be requested by the platform
5737         settings app.  This permission cannot be granted to third-party apps.
5738         <p>Protection level: signature
5739    -->
5740    <permission
5741         android:name="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS"
5742         android:protectionLevel="signature" />
5743
5744    <!-- @hide
5745         Allows an application to change the status of a persistable URI permission granted
5746         to another application.
5747         <p>This permission should <em>only</em> be requested by the platform
5748         settings app.  This permission cannot be granted to third-party apps.
5749         <p>Protection level: signature
5750    -->
5751    <permission android:name="android.permission.FORCE_PERSISTABLE_URI_PERMISSIONS"
5752        android:protectionLevel="signature" />
5753
5754    <!-- Old permission for deleting an app's cache files, no longer used,
5755         but signals for us to quietly ignore calls instead of throwing an exception.
5756         <p>Protection level: signature|privileged -->
5757    <permission android:name="android.permission.DELETE_CACHE_FILES"
5758        android:protectionLevel="signature|privileged" />
5759
5760    <!-- Allows an application to delete cache files.
5761         @hide -->
5762    <permission android:name="android.permission.INTERNAL_DELETE_CACHE_FILES"
5763        android:protectionLevel="signature" />
5764
5765    <!-- Allows an application to delete packages.
5766         <p>Not for use by third-party applications.
5767         <p>Starting in {@link android.os.Build.VERSION_CODES#N}, user confirmation is requested
5768         when the application deleting the package is not the same application that installed the
5769         package. -->
5770    <permission android:name="android.permission.DELETE_PACKAGES"
5771        android:protectionLevel="signature|privileged|role" />
5772
5773    <!-- @SystemApi Allows an application to move location of installed package.
5774         @hide -->
5775    <permission android:name="android.permission.MOVE_PACKAGE"
5776        android:protectionLevel="signature|privileged" />
5777
5778    <!-- @TestApi Allows an application to keep uninstalled packages as apks.
5779         @hide -->
5780    <permission android:name="android.permission.KEEP_UNINSTALLED_PACKAGES"
5781        android:protectionLevel="signature" />
5782
5783    <!-- Allows an application to change whether an application component (other than its own) is
5784         enabled or not.
5785         <p>Not for use by third-party applications. -->
5786    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
5787        android:protectionLevel="signature|privileged|role" />
5788
5789    <!-- @SystemApi @TestApi iAllows an application to grant specific permissions.
5790         @hide -->
5791    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS"
5792        android:protectionLevel="signature|installer|verifier" />
5793
5794    <!-- @SystemApi Allows an application to launch the settings page which manages various
5795         permissions.
5796         @hide -->
5797    <permission android:name="android.permission.LAUNCH_PERMISSION_SETTINGS"
5798                android:protectionLevel="signature|privileged" />
5799
5800    <!-- @SystemApi Allows an app that has this permission and the permissions to install packages
5801         to request certain runtime permissions to be granted at installation.
5802         @hide -->
5803    <permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS"
5804        android:protectionLevel="signature|installer|verifier" />
5805
5806    <!-- @SystemApi Allows an application to revoke specific permissions.
5807        @hide -->
5808    <permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS"
5809         android:protectionLevel="signature|installer|verifier" />
5810
5811   <!-- @TestApi Allows an application to revoke the POST_NOTIFICATIONS permission from an app
5812        without killing the app. Only granted to the shell.
5813        @hide -->
5814    <permission android:name="android.permission.REVOKE_POST_NOTIFICATIONS_WITHOUT_KILL"
5815        android:protectionLevel="signature" />
5816
5817    <!-- @SystemApi Allows the system to read runtime permission state.
5818        @hide -->
5819    <permission android:name="android.permission.GET_RUNTIME_PERMISSIONS"
5820                android:protectionLevel="signature" />
5821
5822    <!-- @SystemApi Allows the system to restore runtime permission state. This might grant
5823    permissions, hence this is a more scoped, less powerful variant of GRANT_RUNTIME_PERMISSIONS.
5824    Among other restrictions this cannot override user choices.
5825    @hide -->
5826    <permission android:name="android.permission.RESTORE_RUNTIME_PERMISSIONS"
5827                android:protectionLevel="signature" />
5828
5829    <!-- @SystemApi @TestApi Allows an application to change policy_fixed permissions.
5830    @hide -->
5831    <permission android:name="android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY"
5832                android:protectionLevel="signature|installer" />
5833
5834    <!-- @SystemApi @TestApi Allows an application to upgrade runtime permissions.
5835    @hide -->
5836    <permission android:name="android.permission.UPGRADE_RUNTIME_PERMISSIONS"
5837                android:protectionLevel="signature" />
5838
5839    <!-- @SystemApi Allows an application to allowlist restricted permissions
5840         on any of the allowlists.
5841    @hide -->
5842    <permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS"
5843                android:protectionLevel="signature|installer" />
5844
5845    <!-- @SystemApi Allows an application to an exempt an app from having its permission be
5846        auto-revoked when unused for an extended period of time.
5847        @hide -->
5848    <permission android:name="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS"
5849        android:protectionLevel="signature|installer" />
5850
5851    <!-- @hide Allows an application to observe permission changes. -->
5852    <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"
5853        android:protectionLevel="signature|privileged" />
5854
5855    <!-- @SystemApi Allows an application to start and stop one time permission sessions
5856    @hide -->
5857    <permission android:name="android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS"
5858                android:protectionLevel="signature|installer" />
5859
5860    <!-- @SystemApi Allows an application to manage the holders of a role.
5861         @hide -->
5862    <permission android:name="android.permission.MANAGE_ROLE_HOLDERS"
5863                android:protectionLevel="signature|installer|module" />
5864    <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />
5865
5866    <!-- @SystemApi Allows an application to manage the holders of roles associated with default
5867         applications.
5868         @hide -->
5869    <permission android:name="android.permission.MANAGE_DEFAULT_APPLICATIONS"
5870                android:protectionLevel="signature|role" />
5871
5872    <!-- @SystemApi Allows an application to bypass role qualification. This allows switching role
5873         holders to otherwise non eligible holders. Only the shell is allowed to do this, the
5874         qualification for the shell role itself cannot be bypassed, and each role needs to
5875         explicitly allow bypassing qualification in its definition. The bypass state will not be
5876         persisted across reboot.
5877     @hide -->
5878    <permission android:name="android.permission.BYPASS_ROLE_QUALIFICATION"
5879                android:protectionLevel="internal|role" />
5880
5881    <!-- @SystemApi Allows an application to observe role holder changes.
5882         @hide -->
5883    <permission android:name="android.permission.OBSERVE_ROLE_HOLDERS"
5884                android:protectionLevel="signature|installer|module" />
5885
5886    <!-- Allows an application to manage the companion devices.
5887         @hide -->
5888    <permission android:name="android.permission.MANAGE_COMPANION_DEVICES"
5889                android:protectionLevel="module|signature|role" />
5890
5891    <!-- Allows an application to subscribe to notifications about the presence status change
5892         of their associated companion device
5893         -->
5894    <permission android:name="android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE"
5895                android:label="@string/permlab_observeCompanionDevicePresence"
5896                android:description="@string/permdesc_observeCompanionDevicePresence"
5897                android:protectionLevel="normal" />
5898
5899    <!-- Allows an application to subscribe to notifications about the nearby devices' presence
5900         status change base on the UUIDs.
5901         <p>Not for use by third-party applications.</p>
5902         @FlaggedApi("android.companion.flags.device_presence")
5903    -->
5904    <permission android:name="android.permission.REQUEST_OBSERVE_DEVICE_UUID_PRESENCE"
5905                android:protectionLevel="signature|privileged" />
5906
5907    <!-- Allows an application to deliver companion messages to system
5908         -->
5909    <permission android:name="android.permission.DELIVER_COMPANION_MESSAGES"
5910                android:label="@string/permlab_deliverCompanionMessages"
5911                android:description="@string/permdesc_deliverCompanionMessages"
5912                android:protectionLevel="normal" />
5913
5914    <!-- @hide @FlaggedApi("android.companion.flags.companion_transport_apis")
5915         Allows an application to send and receive messages via CDM transports.
5916    -->
5917    <permission android:name="android.permission.USE_COMPANION_TRANSPORTS"
5918        android:protectionLevel="signature" />
5919
5920    <!-- Allows an application to create new companion device associations.
5921         @SystemApi
5922         @hide -->
5923    <permission android:name="android.permission.ASSOCIATE_COMPANION_DEVICES"
5924        android:protectionLevel="internal|role" />
5925
5926    <!-- @SystemApi Allows an application to use SurfaceFlinger's low level features.
5927         <p>Not for use by third-party applications.
5928         @hide
5929    -->
5930    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
5931        android:protectionLevel="signature" />
5932
5933    <!-- @SystemApi Allows an application to rotate a surface by arbitrary degree.
5934         This is a sub-feature of ACCESS_SURFACE_FLINGER and can be granted in a more concrete way.
5935         <p>Not for use by third-party applications.
5936         @hide
5937    -->
5938    <permission android:name="android.permission.ROTATE_SURFACE_FLINGER"
5939        android:protectionLevel="signature|recents" />
5940
5941    <!-- Allows an application to provide hints to SurfaceFlinger that can influence
5942         its wakes up time to compose the next frame. This is a subset of the capabilities granted
5943         by {@link #ACCESS_SURFACE_FLINGER}.
5944         <p>Not for use by third-party applications.
5945         @hide
5946    -->
5947    <permission android:name="android.permission.WAKEUP_SURFACE_FLINGER"
5948        android:protectionLevel="signature|recents" />
5949
5950    <!-- Allows an application to take screen shots and more generally
5951         get access to the frame buffer data.
5952         <p>Not for use by third-party applications.
5953          @hide
5954          @removed -->
5955    <permission android:name="android.permission.READ_FRAME_BUFFER"
5956        android:protectionLevel="signature|recents" />
5957
5958      <!-- Allows an application to change the touch mode state.
5959           Without this permission, an app can only change the touch mode
5960           if it currently has focus.
5961           @hide -->
5962    <permission android:name="android.permission.MODIFY_TOUCH_MODE_STATE"
5963        android:protectionLevel="signature" />
5964
5965    <!-- Allows an application to use InputFlinger's low level features.
5966         @hide -->
5967    <permission android:name="android.permission.ACCESS_INPUT_FLINGER"
5968        android:protectionLevel="signature" />
5969
5970    <!-- Allows an application to disable/enable input devices.
5971         Could be used to prevent unwanted touch events
5972         on a touchscreen, for example during swimming or rain.
5973         @hide -->
5974    <permission android:name="android.permission.DISABLE_INPUT_DEVICE"
5975        android:protectionLevel="signature" />
5976
5977    <!-- Allows an application to configure and connect to Wifi displays -->
5978    <permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY"
5979        android:protectionLevel="signature|knownSigner"
5980        android:knownCerts="@array/wifi_known_signers" />
5981
5982    <!-- Allows an application to control low-level features of Wifi displays
5983         such as opening an RTSP socket.  This permission should only be used
5984         by the display manager.
5985         @hide -->
5986    <permission android:name="android.permission.CONTROL_WIFI_DISPLAY"
5987        android:protectionLevel="signature" />
5988
5989    <!-- Allows an application to control the color modes set for displays system-wide.
5990         <p>Not for use by third-party applications.</p>
5991         @hide -->
5992    <permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE"
5993        android:protectionLevel="signature" />
5994
5995    <!-- Allows an application to control the lights on the device.
5996         @hide
5997         @SystemApi
5998         @TestApi -->
5999    <permission android:name="android.permission.CONTROL_DEVICE_LIGHTS"
6000        android:protectionLevel="signature|privileged" />
6001
6002    <!-- Allows an application to control the color saturation of the display.
6003         @hide
6004         @SystemApi -->
6005    <permission android:name="android.permission.CONTROL_DISPLAY_SATURATION"
6006        android:protectionLevel="signature|privileged" />
6007
6008    <!-- Allows an application to control display color transformations.
6009         <p>Not for use by third-party applications.</p>
6010         @hide
6011         @SystemApi -->
6012    <permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS"
6013        android:protectionLevel="signature|privileged" />
6014
6015    <!-- Allows an application to collect usage information about brightness slider changes.
6016         <p>Not for use by third-party applications.</p>
6017         @hide
6018         @SystemApi
6019         @TestApi -->
6020    <permission android:name="android.permission.BRIGHTNESS_SLIDER_USAGE"
6021        android:protectionLevel="signature|privileged|development" />
6022
6023    <!-- Allows an application to collect ambient light stats.
6024         <p>Not for use by third party applications.</p>
6025         @hide
6026         @SystemApi -->
6027    <permission android:name="android.permission.ACCESS_AMBIENT_LIGHT_STATS"
6028        android:protectionLevel="signature|privileged|development" />
6029
6030    <!-- Allows an application to modify the display brightness configuration
6031         @hide
6032         @SystemApi
6033         @TestApi -->
6034    <permission android:name="android.permission.CONFIGURE_DISPLAY_BRIGHTNESS"
6035        android:protectionLevel="signature|privileged|development" />
6036
6037    <!-- Allows an application to control the system's display brightness
6038         @hide -->
6039    <permission android:name="android.permission.CONTROL_DISPLAY_BRIGHTNESS"
6040        android:protectionLevel="signature" />
6041
6042    <!-- Allows an application to override the display mode requests
6043         so the app requested mode will be selected and user settings and display
6044         policies will be ignored.
6045         @hide
6046         @TestApi -->
6047    <permission android:name="android.permission.OVERRIDE_DISPLAY_MODE_REQUESTS"
6048                android:protectionLevel="signature" />
6049
6050    <!-- Allows an application to modify the refresh rate switching type. This
6051         matches Setting.Secure.MATCH_CONTENT_FRAME_RATE.
6052         @hide
6053         @TestApi -->
6054    <permission android:name="android.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE"
6055                android:protectionLevel="signature" />
6056
6057    <!-- Allows an application to modify the user preferred display mode.
6058         @hide
6059         @TestApi -->
6060    <permission android:name="android.permission.MODIFY_USER_PREFERRED_DISPLAY_MODE"
6061                android:protectionLevel="signature" />
6062
6063    <!-- Allows an application to modify the HDR conversion mode.
6064         @hide
6065         @TestApi -->
6066    <permission android:name="android.permission.MODIFY_HDR_CONVERSION_MODE"
6067                android:protectionLevel="signature" />
6068
6069    <!-- @SystemApi Allows an application to control VPN.
6070         <p>Not for use by third-party applications.</p>
6071         @hide -->
6072    <permission android:name="android.permission.CONTROL_VPN"
6073        android:protectionLevel="signature|privileged" />
6074    <uses-permission android:name="android.permission.CONTROL_VPN" />
6075
6076    <!-- Allows an application to access and modify always-on VPN configuration.
6077         <p>Not for use by third-party or privileged applications.
6078         @hide -->
6079    <permission android:name="android.permission.CONTROL_ALWAYS_ON_VPN"
6080        android:protectionLevel="signature" />
6081
6082    <!-- @SystemApi Allows an application to capture the audio from tuner input devices types,
6083     such as FM_TUNER.
6084
6085     <p>Not for use by third-party applications.</p>
6086     @hide -->
6087    <permission android:name="android.permission.CAPTURE_TUNER_AUDIO_INPUT"
6088                android:protectionLevel="signature|privileged" />
6089
6090    <!-- Allows an application to capture audio output.
6091         Use the {@code CAPTURE_MEDIA_OUTPUT} permission if only the {@code USAGE_UNKNOWN}),
6092         {@code USAGE_MEDIA}) or {@code USAGE_GAME}) usages are intended to be captured.
6093         <p>Not for use by third-party applications.</p> -->
6094    <permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"
6095        android:protectionLevel="signature|privileged|role" />
6096
6097    <!-- @SystemApi Allows an application to capture the audio played by other apps
6098         that have set an allow capture policy of
6099         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}.
6100
6101         Without this permission, only audio with an allow capture policy of
6102         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_ALL} can be used.
6103
6104         There are strong restriction listed at
6105         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
6106         on what an app can do with the captured audio.
6107
6108         See {@code CAPTURE_AUDIO_OUTPUT} for capturing audio use cases other than media playback.
6109
6110         <p>Not for use by third-party applications.</p>
6111         @hide -->
6112    <permission android:name="android.permission.CAPTURE_MEDIA_OUTPUT"
6113        android:protectionLevel="signature|privileged|role" />
6114
6115    <!-- @SystemApi Allows an application to capture the audio played by other apps
6116        with the {@code USAGE_VOICE_COMMUNICATION} usage.
6117
6118        The application may opt out of capturing by setting an allow capture policy of
6119        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_NONE}.
6120
6121        There are strong restriction listed at
6122        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
6123        on what an app can do with the captured audio.
6124
6125        See {@code CAPTURE_AUDIO_OUTPUT} and {@code CAPTURE_MEDIA_OUTPUT} for capturing
6126        audio use cases other than voice communication playback.
6127
6128        <p>Not for use by third-party applications.</p>
6129        @hide -->
6130    <permission android:name="android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT"
6131        android:protectionLevel="signature|privileged|role" />
6132
6133    <!-- @SystemApi Allows an application to capture audio for hotword detection.
6134         <p>Not for use by third-party applications.</p>
6135         @hide -->
6136    <permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD"
6137        android:protectionLevel="signature|privileged|role" />
6138
6139    <!-- @SystemApi Allows an application to access the ultrasound content.
6140         <p>Not for use by third-party applications.</p>
6141         @hide -->
6142    <permission android:name="android.permission.ACCESS_ULTRASOUND"
6143        android:protectionLevel="signature|privileged" />
6144
6145    <!-- Puts an application in the chain of trust for sound trigger
6146         operations. Being in the chain of trust allows an application to
6147         delegate an identity of a separate entity to the sound trigger system
6148         and vouch for the authenticity of this identity.
6149         <p>Not for use by third-party applications.</p>
6150         @hide -->
6151    <permission android:name="android.permission.SOUNDTRIGGER_DELEGATE_IDENTITY"
6152        android:protectionLevel="signature|privileged" />
6153
6154    <!-- @SystemApi Allows an application to modify audio routing and override policy decisions.
6155         <p>Not for use by third-party applications.</p>
6156         @hide -->
6157    <permission android:name="android.permission.MODIFY_AUDIO_ROUTING"
6158        android:protectionLevel="signature|privileged|role" />
6159
6160    <!--@SystemApi Allows an application to modify system audio settings that shouldn't be
6161        controllable by external apps, such as volume settings or volume behaviors for audio
6162        devices, regardless of their connection status.
6163        <p>Not for use by third-party applications.
6164        @hide -->
6165    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED"
6166                android:protectionLevel="signature|privileged" />
6167
6168    <!-- @SystemApi Allows an application to access the uplink and downlink audio of an ongoing
6169        call.
6170         <p>Not for use by third-party applications.</p>
6171         @hide -->
6172    <permission android:name="android.permission.CALL_AUDIO_INTERCEPTION"
6173                android:protectionLevel="signature|privileged|role" />
6174
6175    <!-- @TestApi Allows an application to query audio related state.
6176         @hide -->
6177    <permission android:name="android.permission.QUERY_AUDIO_STATE"
6178                android:protectionLevel="signature|role" />
6179
6180    <!-- Allows an application to modify what effects are applied to all audio
6181         (matching certain criteria) from any application.
6182         <p>Not for use by third-party applications.</p>
6183         @hide -->
6184    <permission android:name="android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS"
6185        android:protectionLevel="signature|privileged" />
6186
6187    <!-- @SystemApi Allows an application to disable system sound effects when the user exits one of
6188         the application's activities.
6189         <p>Not for use by third-party applications.</p>
6190         @hide -->
6191    <permission android:name="android.permission.DISABLE_SYSTEM_SOUND_EFFECTS"
6192        android:protectionLevel="signature|privileged" />
6193
6194    <!-- @SystemApi Allows an application to provide remote displays.
6195         <p>Not for use by third-party applications.</p>
6196         @hide -->
6197    <permission android:name="android.permission.REMOTE_DISPLAY_PROVIDER"
6198        android:protectionLevel="signature|privileged" />
6199
6200    <!-- Allows an application to capture video output.
6201         <p>Not for use by third-party applications.</p>
6202          @hide
6203          @removed -->
6204    <permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"
6205        android:protectionLevel="signature" />
6206
6207    <!-- Allows an application to capture secure video output.
6208         <p>Not for use by third-party applications.</p>
6209          @hide
6210          @removed -->
6211    <permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT"
6212        android:protectionLevel="signature|role" />
6213
6214    <!-- Allows an application to know what content is playing and control its playback.
6215         <p>Not for use by third-party applications due to privacy of media consumption</p>  -->
6216    <permission android:name="android.permission.MEDIA_CONTENT_CONTROL"
6217        android:protectionLevel="signature|privileged" />
6218
6219    <!-- Allows an application to control the routing of media apps.
6220         <p>Only for use by role COMPANION_DEVICE_WATCH</p>
6221         @FlaggedApi("com.android.media.flags.enable_privileged_routing_for_media_routing_control")
6222         -->
6223    <permission android:name="android.permission.MEDIA_ROUTING_CONTROL"
6224                android:protectionLevel="signature|appop" />
6225
6226    <!-- @SystemApi @hide Allows an application to set the volume key long-press listener.
6227         <p>When it's set, the application will receive the volume key long-press event
6228         instead of changing volume.</p>
6229         <p>Not for use by third-party applications</p> -->
6230    <permission android:name="android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER"
6231        android:protectionLevel="signature|privileged|development" />
6232
6233    <!-- @SystemApi @hide Allows an application to set media key event listener.
6234         <p>When it's set, the application will receive the media key event before
6235         any other media sessions. If the event is handled by the listener, other sessions
6236         cannot get the event.</p>
6237         <p>Not for use by third-party applications</p> -->
6238    <permission android:name="android.permission.SET_MEDIA_KEY_LISTENER"
6239        android:protectionLevel="signature|privileged|development" />
6240
6241    <!-- @SystemApi Required to be able to disable the device (very dangerous!).
6242         <p>Not for use by third-party applications.
6243         @hide
6244    -->
6245    <permission android:name="android.permission.BRICK"
6246        android:protectionLevel="signature" />
6247
6248    <!-- Required to be able to reboot the device.
6249    <p>Not for use by third-party applications. -->
6250    <permission android:name="android.permission.REBOOT"
6251        android:protectionLevel="signature|privileged" />
6252
6253   <!-- @SystemApi Allows low-level access to power management.
6254        <p>Not for use by third-party applications.
6255        @hide
6256    -->
6257   <permission android:name="android.permission.DEVICE_POWER"
6258        android:protectionLevel="signature|role" />
6259
6260    <!-- Allows toggling battery saver on the system.
6261         Superseded by DEVICE_POWER permission. @hide @SystemApi
6262    -->
6263    <permission android:name="android.permission.POWER_SAVER"
6264        android:protectionLevel="signature|privileged" />
6265
6266    <!-- Allows providing the system with battery predictions.
6267         Superseded by DEVICE_POWER permission. @hide @SystemApi
6268    -->
6269    <permission android:name="android.permission.BATTERY_PREDICTION"
6270        android:protectionLevel="signature|privileged" />
6271
6272   <!-- Allows access to the PowerManager.userActivity function.
6273   <p>Not for use by third-party applications. @hide @SystemApi -->
6274    <permission android:name="android.permission.USER_ACTIVITY"
6275        android:protectionLevel="signature|privileged" />
6276
6277    <!-- @hide @SystemApi Allows an application to manage Low Power Standby settings.
6278         <p>Not for use by third-party applications. -->
6279    <permission android:name="android.permission.MANAGE_LOW_POWER_STANDBY"
6280                android:protectionLevel="signature|privileged" />
6281
6282    <!-- @hide @SystemApi Allows an application to request ports to remain open during
6283         Low Power Standby.
6284         <p>Not for use by third-party applications. -->
6285    <permission android:name="android.permission.SET_LOW_POWER_STANDBY_PORTS"
6286        android:protectionLevel="signature|privileged" />
6287
6288   <!-- @hide Allows low-level access to tun tap driver -->
6289    <permission android:name="android.permission.NET_TUNNELING"
6290        android:protectionLevel="signature|role" />
6291
6292    <!-- Run as a manufacturer test application, running as the root user.
6293         Only available when the device is running in manufacturer test mode.
6294         <p>Not for use by third-party applications.
6295    -->
6296    <permission android:name="android.permission.FACTORY_TEST"
6297        android:protectionLevel="signature" />
6298
6299    <!-- @hide @TestApi @SystemApi Allows an application to broadcast the intent {@link
6300         android.content.Intent#ACTION_CLOSE_SYSTEM_DIALOGS}.
6301         <p>Not for use by third-party applications.
6302    -->
6303    <permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS"
6304        android:protectionLevel="signature|privileged|recents" />
6305    <uses-permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS" />
6306
6307    <!-- Allows an application to broadcast a notification that an application
6308         package has been removed.
6309         <p>Not for use by third-party applications.
6310    -->
6311    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
6312        android:protectionLevel="signature" />
6313
6314    <!-- Allows an application to broadcast an SMS receipt notification.
6315         <p>Not for use by third-party applications.
6316    -->
6317    <permission android:name="android.permission.BROADCAST_SMS"
6318        android:protectionLevel="signature" />
6319
6320    <!-- Allows an application to broadcast a WAP PUSH receipt notification.
6321         <p>Not for use by third-party applications.
6322    -->
6323    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
6324        android:protectionLevel="signature" />
6325
6326    <!-- @SystemApi Allows an application to broadcast privileged networking requests.
6327         <p>Not for use by third-party applications.
6328         @hide
6329         @deprecated Use {@link android.Manifest.permission#REQUEST_NETWORK_SCORES} instead
6330    -->
6331    <permission android:name="android.permission.BROADCAST_NETWORK_PRIVILEGED"
6332        android:protectionLevel="signature|privileged" />
6333
6334    <!-- Not for use by third-party applications. -->
6335    <permission android:name="android.permission.MASTER_CLEAR"
6336        android:protectionLevel="signature|privileged|role" />
6337
6338    <!-- Allows an application to call any phone number, including emergency
6339         numbers, without going through the Dialer user interface for the user
6340         to confirm the call being placed.
6341         <p>Not for use by third-party applications. -->
6342    <permission android:name="android.permission.CALL_PRIVILEGED"
6343        android:protectionLevel="signature|privileged" />
6344    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
6345
6346    <!-- @SystemApi Allows an application to perform CDMA OTA provisioning @hide -->
6347    <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"
6348        android:protectionLevel="signature|privileged|role" />
6349
6350    <!-- @SystemApi Allows an application to perform SIM Activation @hide -->
6351    <permission android:name="android.permission.PERFORM_SIM_ACTIVATION"
6352        android:protectionLevel="signature|privileged" />
6353
6354    <!-- Allows enabling/disabling location update notifications from
6355         the radio.
6356         <p>Not for use by third-party applications. -->
6357    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
6358        android:protectionLevel="signature|privileged" />
6359
6360    <!-- Allows read/write access to the "properties" table in the checkin
6361         database, to change values that get uploaded.
6362         <p>Not for use by third-party applications. -->
6363    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
6364        android:protectionLevel="signature|privileged" />
6365
6366    <!-- Allows an application to collect component usage
6367         statistics
6368         <p>Declaring the permission implies intention to use the API and the user of the
6369         device can grant permission through the Settings application.
6370         <p>Protection level: signature|privileged|development|appop|retailDemo -->
6371    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
6372        android:protectionLevel="signature|privileged|development|appop|retailDemo" />
6373    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
6374
6375    <!-- @SystemApi @hide
6376         @FlaggedApi("android.app.usage.report_usage_stats_permission")
6377         Allows trusted system components to report events to UsageStatsManager -->
6378    <permission android:name="android.permission.REPORT_USAGE_STATS"
6379                android:protectionLevel="signature|module" />
6380
6381    <!-- Allows an application to query broadcast response stats (see
6382         {@link android.app.usage.BroadcastResponseStats}).
6383         @SystemApi
6384         @hide
6385    -->
6386    <permission android:name="android.permission.ACCESS_BROADCAST_RESPONSE_STATS"
6387        android:protectionLevel="signature|privileged|development" />
6388
6389    <!-- Allows a data loader to read a package's access logs. The access logs contain the
6390         set of pages referenced over time.
6391         <p>Declaring the permission implies intention to use the API and the user of the
6392         device can grant permission through the Settings application.
6393         <p>Protection level: signature|privileged|appop
6394         <p>A data loader has to be the one which provides data to install an app.
6395         <p>A data loader has to have both permission:LOADER_USAGE_STATS AND
6396         appop:LOADER_USAGE_STATS allowed to be able to access the read logs. -->
6397    <permission android:name="android.permission.LOADER_USAGE_STATS"
6398        android:protectionLevel="signature|privileged|appop" />
6399    <uses-permission android:name="android.permission.LOADER_USAGE_STATS" />
6400
6401    <!-- @hide @SystemApi Allows an application to observe usage time of apps. The app can register
6402         for callbacks when apps reach a certain usage time limit, etc. -->
6403    <permission android:name="android.permission.OBSERVE_APP_USAGE"
6404        android:protectionLevel="signature|privileged|role" />
6405
6406    <!-- @hide @TestApi @SystemApi Allows an application to change the app idle state of an app.
6407         <p>Not for use by third-party applications. -->
6408    <permission android:name="android.permission.CHANGE_APP_IDLE_STATE"
6409        android:protectionLevel="signature|privileged" />
6410
6411    <!-- @hide @SystemApi Allows an application to change the estimated launch time of an app.
6412         <p>Not for use by third-party applications. -->
6413    <permission android:name="android.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE"
6414        android:protectionLevel="signature|privileged" />
6415
6416    <!-- @hide @SystemApi Allows an application to temporarily allowlist an inactive app to
6417         access the network and acquire wakelocks.
6418         <p>Not for use by third-party applications. -->
6419    <permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"
6420        android:protectionLevel="signature|privileged" />
6421
6422    <!-- Permission an application must hold in order to use
6423         {@link android.provider.Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS}.
6424         <p>Protection level: normal -->
6425    <permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
6426        android:label="@string/permlab_requestIgnoreBatteryOptimizations"
6427        android:description="@string/permdesc_requestIgnoreBatteryOptimizations"
6428        android:protectionLevel="normal" />
6429
6430    <!-- Allows an application to collect battery statistics
6431         <p>Protection level: signature|privileged|development -->
6432    <permission android:name="android.permission.BATTERY_STATS"
6433        android:protectionLevel="signature|privileged|development" />
6434
6435    <!--Allows an application to manage statscompanion.
6436    <p>Not for use by third-party applications.
6437         @hide -->
6438    <permission android:name="android.permission.STATSCOMPANION"
6439        android:protectionLevel="signature" />
6440
6441    <!--@SystemApi @hide Allows an application to register stats pull atom callbacks.
6442    <p>Not for use by third-party applications.-->
6443    <permission android:name="android.permission.REGISTER_STATS_PULL_ATOM"
6444                android:protectionLevel="signature|privileged" />
6445
6446    <!-- @SystemApi @hide Allows an application to read restricted stats from statsd.
6447         <p>Not for use by third-party applications. -->
6448    <permission android:name="android.permission.READ_RESTRICTED_STATS"
6449                android:protectionLevel="internal|privileged" />
6450
6451    <!-- @SystemApi Allows an application to control the backup and restore process.
6452    <p>Not for use by third-party applications.
6453         @hide pending API council -->
6454    <permission android:name="android.permission.BACKUP"
6455        android:protectionLevel="signature|privileged" />
6456
6457    <!-- @SystemApi Allows an application to make modifications to device settings such that these
6458         modifications will be overridden by settings restore..
6459    <p>Not for use by third-party applications.
6460         @hide -->
6461    <permission android:name="android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE"
6462                android:protectionLevel="signature|setup" />
6463
6464    <!-- @SystemApi Allows application to manage
6465         {@link android.security.keystore.recovery.RecoveryController}.
6466         <p>Not for use by third-party applications.
6467         @hide -->
6468    <permission android:name="android.permission.RECOVER_KEYSTORE"
6469        android:protectionLevel="signature|privileged" />
6470
6471    <!-- Allows a package to launch the secure full-backup confirmation UI.
6472         ONLY the system process may hold this permission.
6473         @hide -->
6474    <permission android:name="android.permission.CONFIRM_FULL_BACKUP"
6475        android:protectionLevel="signature" />
6476
6477    <!-- Must be required by a {@link android.widget.RemoteViewsService},
6478         to ensure that only the system can bind to it.
6479         <p>Protection level: signature|privileged -->
6480    <permission android:name="android.permission.BIND_REMOTEVIEWS"
6481        android:protectionLevel="signature|privileged" />
6482
6483    <!-- Allows an application to tell the AppWidget service which application
6484         can access AppWidget's data.  The normal user flow is that a user
6485         picks an AppWidget to go into a particular host, thereby giving that
6486         host application access to the private data from the AppWidget app.
6487         An application that has this permission should honor that contract.
6488         <p>Not for use by third-party applications. -->
6489    <permission android:name="android.permission.BIND_APPWIDGET"
6490        android:protectionLevel="signature|privileged" />
6491
6492    <!-- @hide Allows sysui to manage user grants of slice permissions. -->
6493    <permission android:name="android.permission.MANAGE_SLICE_PERMISSIONS"
6494        android:protectionLevel="signature" />
6495
6496    <!-- @SystemApi Private permission, to restrict who can bring up a dialog to add a new
6497         keyguard widget
6498         @hide -->
6499    <permission android:name="android.permission.BIND_KEYGUARD_APPWIDGET"
6500        android:protectionLevel="signature|privileged" />
6501
6502    <!-- @SystemApi Internal permission allowing an application to query/set which
6503         applications can bind AppWidgets.
6504         @hide -->
6505    <permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"
6506        android:protectionLevel="signature|privileged" />
6507
6508    <!-- Allows applications to change the background data setting.
6509    <p>Not for use by third-party applications.
6510         @hide pending API council -->
6511    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
6512        android:protectionLevel="signature" />
6513
6514    <!-- This permission can be used on content providers to allow the global
6515         search system to access their data.  Typically it used when the
6516         provider has some permissions protecting it (which global search
6517         would not be expected to hold), and added as a read-only permission
6518         to the path in the provider where global search queries are
6519         performed.  This permission can not be held by regular applications;
6520         it is used by applications to protect themselves from everyone else
6521         besides global search.
6522         <p>Protection level: signature|privileged -->
6523    <permission android:name="android.permission.GLOBAL_SEARCH"
6524        android:protectionLevel="signature|privileged" />
6525
6526    <!-- Internal permission protecting access to the global search
6527         system: ensures that only the system can access the provider
6528         to perform queries (since this otherwise provides unrestricted
6529         access to a variety of content providers), and to write the
6530         search statistics (to keep applications from gaming the source
6531         ranking).
6532         @hide -->
6533    <permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"
6534        android:protectionLevel="signature" />
6535
6536    <!-- @SystemApi Internal permission to allows an application to read indexable data.
6537        @hide -->
6538    <permission android:name="android.permission.READ_SEARCH_INDEXABLES"
6539        android:protectionLevel="signature|privileged" />
6540
6541    <!-- @SystemApi Internal permission to allows an application to bind to suggestion service.
6542        @hide -->
6543    <permission android:name="android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE"
6544                android:protectionLevel="signature" />
6545
6546    <!-- @hide Internal permission to allows an application to access card content provider. -->
6547    <permission android:name="android.permission.WRITE_SETTINGS_HOMEPAGE_DATA"
6548                android:protectionLevel="signature|privileged" />
6549
6550    <!-- An application needs this permission for
6551         {@link android.provider.Settings#ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY} to show its
6552         {@link android.app.Activity} embedded in Settings app. -->
6553    <permission android:name="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK"
6554                android:protectionLevel="signature|preinstalled" />
6555
6556    <!-- @SystemApi {@link android.app.Activity} should require this permission to ensure that only
6557         the settings app can embed it in a multi pane window.
6558         @hide -->
6559    <permission android:name="android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS"
6560                android:protectionLevel="signature" />
6561
6562    <!-- @SystemApi Allows applications to set a live wallpaper.
6563         @hide XXX Change to signature once the picker is moved to its
6564         own apk as Ghod Intended. -->
6565    <permission android:name="android.permission.SET_WALLPAPER_COMPONENT"
6566        android:protectionLevel="signature|privileged" />
6567
6568    <!-- @SystemApi Allows applications to set the wallpaper dim amount.
6569         @hide. -->
6570    <permission android:name="android.permission.SET_WALLPAPER_DIM_AMOUNT"
6571        android:protectionLevel="signature|privileged" />
6572
6573    <!-- @SystemApi Allows applications to read dream settings and dream state.
6574         @hide -->
6575    <permission android:name="android.permission.READ_DREAM_STATE"
6576        android:protectionLevel="signature|privileged" />
6577
6578    <!-- @SystemApi Allows applications to write dream settings, and start or stop dreaming.
6579         @hide -->
6580    <permission android:name="android.permission.WRITE_DREAM_STATE"
6581        android:protectionLevel="signature|privileged" />
6582
6583    <!-- @hide Allows applications to read whether ambient display is suppressed. -->
6584    <permission android:name="android.permission.READ_DREAM_SUPPRESSION"
6585        android:protectionLevel="signature" />
6586
6587    <!-- @SystemApi Allow an application to read and write the cache partition.
6588         @hide -->
6589    <permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
6590        android:protectionLevel="signature|privileged" />
6591
6592    <!-- Must be required by default container service so that only
6593         the system can bind to it and use it to copy
6594         protected data to secure containers or files
6595         accessible to the system.
6596         @hide -->
6597    <permission android:name="android.permission.COPY_PROTECTED_DATA"
6598        android:protectionLevel="signature" />
6599
6600    <!-- @SystemApi Internal permission protecting access to the encryption methods
6601        @hide
6602    -->
6603    <permission android:name="android.permission.CRYPT_KEEPER"
6604        android:protectionLevel="signature|privileged|role" />
6605
6606    <!-- @SystemApi Allows an application to read historical network usage for
6607         specific networks and applications. @hide -->
6608    <permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"
6609        android:protectionLevel="signature|privileged" />
6610
6611    <!-- Allows an application to manage network policies (such as warning and disable
6612         limits) and to define application-specific rules. @hide -->
6613    <permission android:name="android.permission.MANAGE_NETWORK_POLICY"
6614        android:protectionLevel="signature" />
6615
6616    <!-- @SystemApi @hide @deprecated use UPDATE_DEVICE_STATS instead -->
6617    <permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"
6618        android:protectionLevel="signature|privileged" />
6619
6620    <!-- @SystemApi @hide Allows an application to manage carrier subscription plans. -->
6621    <permission android:name="android.permission.MANAGE_SUBSCRIPTION_PLANS"
6622        android:protectionLevel="signature|privileged" />
6623
6624    <!-- C2DM permission.
6625         @hide Used internally.
6626     -->
6627    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
6628          android:protectionLevel="signature" />
6629    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
6630
6631    <!-- @SystemApi @hide Package verifier needs to have this permission before the PackageManager will
6632         trust it to verify packages.
6633    -->
6634    <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
6635        android:protectionLevel="signature|privileged" />
6636
6637    <!-- Must be required by package verifier receiver, to ensure that only the
6638         system can interact with it.
6639         @hide
6640    -->
6641    <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
6642        android:protectionLevel="signature" />
6643
6644    <!-- @hide Rollback manager needs to have this permission before the PackageManager will
6645         trust it to enable rollback.
6646    -->
6647    <permission android:name="android.permission.PACKAGE_ROLLBACK_AGENT"
6648        android:protectionLevel="signature" />
6649
6650    <!-- @SystemApi @TestApi @hide Allows managing apk level rollbacks. -->
6651    <permission android:name="android.permission.MANAGE_ROLLBACKS"
6652        android:protectionLevel="signature|privileged" />
6653
6654    <!-- @TestApi @hide Allows testing apk level rollbacks. -->
6655    <permission android:name="android.permission.TEST_MANAGE_ROLLBACKS"
6656        android:protectionLevel="signature" />
6657
6658    <!-- @SystemApi @hide Allows an application to mark other applications as harmful -->
6659    <permission android:name="android.permission.SET_HARMFUL_APP_WARNINGS"
6660        android:protectionLevel="signature|verifier" />
6661
6662    <!-- @SystemApi @hide Intent filter verifier needs to have this permission before the
6663         PackageManager will trust it to verify intent filters.
6664    -->
6665    <permission android:name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"
6666        android:protectionLevel="signature|privileged" />
6667
6668    <!-- Must be required by intent filter verifier rintent-filtereceiver, to ensure that only the
6669         system can interact with it.
6670         @hide
6671    -->
6672    <permission android:name="android.permission.BIND_INTENT_FILTER_VERIFIER"
6673        android:protectionLevel="signature" />
6674
6675    <!-- @SystemApi @hide Domain verification agent package needs to have this permission before the
6676         system will trust it to verify domains.
6677
6678         TODO(159952358): STOPSHIP: This must be updated to the new "internal" protectionLevel
6679    -->
6680    <permission android:name="android.permission.DOMAIN_VERIFICATION_AGENT"
6681        android:protectionLevel="internal|privileged" />
6682
6683    <!-- @SystemApi @hide Must be required by the domain verification agent's intent
6684         BroadcastReceiver, to ensure that only the system can interact with it.
6685    -->
6686    <permission android:name="android.permission.BIND_DOMAIN_VERIFICATION_AGENT"
6687        android:protectionLevel="signature" />
6688
6689    <!-- @SystemApi @hide Allows an app like Settings to update the user's grants to what domains
6690         an app is allowed to automatically open.
6691    -->
6692    <permission android:name="android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION"
6693        android:protectionLevel="signature" />
6694
6695    <!-- @SystemApi Allows applications to access serial ports via the SerialManager.
6696         @hide -->
6697    <permission android:name="android.permission.SERIAL_PORT"
6698        android:protectionLevel="signature|privileged" />
6699
6700    <!-- Allows the holder to access content providers from outside an ApplicationThread.
6701         This permission is enforced by the ActivityManagerService on the corresponding APIs,
6702         in particular ActivityManagerService#getContentProviderExternal(String) and
6703         ActivityManagerService#removeContentProviderExternal(String).
6704         @hide
6705    -->
6706    <permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
6707        android:protectionLevel="signature" />
6708
6709    <!-- @SystemApi Allows an application to hold an UpdateLock, recommending that a headless
6710         OTA reboot *not* occur while the lock is held.
6711         @hide -->
6712    <permission android:name="android.permission.UPDATE_LOCK"
6713        android:protectionLevel="signature|privileged" />
6714
6715    <!-- @SystemApi Allows an application the opportunity to become a
6716         {@link android.service.notification.NotificationAssistantService}.
6717         User permission is still required before access is granted.
6718         @hide -->
6719    <permission android:name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE"
6720                android:protectionLevel="signature|privileged|role" />
6721
6722    <!-- @SystemApi @TestApi Allows an application to read the current set of notifications, including
6723         any metadata and intents attached.
6724         @hide -->
6725    <permission android:name="android.permission.ACCESS_NOTIFICATIONS"
6726        android:protectionLevel="signature|privileged|appop" />
6727
6728    <!-- Marker permission for applications that wish to access notification policy. This permission
6729        is not supported on managed profiles.
6730         <p>Protection level: normal
6731    -->
6732    <permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"
6733        android:description="@string/permdesc_access_notification_policy"
6734        android:label="@string/permlab_access_notification_policy"
6735        android:protectionLevel="normal" />
6736
6737    <!-- Allows modification of do not disturb rules and policies. Only allowed for system
6738        processes.
6739        @hide -->
6740    <permission android:name="android.permission.MANAGE_NOTIFICATIONS"
6741                android:protectionLevel="signature" />
6742
6743    <!-- @SystemApi @TestApi Allows adding/removing enabled notification listener components.
6744        @hide -->
6745    <permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS"
6746                android:protectionLevel="signature|installer" />
6747    <uses-permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS" />
6748
6749    <!-- @SystemApi Allows notifications to be colorized
6750         <p>Not for use by third-party applications. @hide -->
6751    <permission android:name="android.permission.USE_COLORIZED_NOTIFICATIONS"
6752                android:protectionLevel="signature|setup|role" />
6753
6754    <!-- Allows access to keyguard secure storage.  Only allowed for system processes.
6755        @hide -->
6756    <permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
6757        android:protectionLevel="signature|setup" />
6758
6759    <!-- Allows applications to set the initial lockscreen state.
6760         <p>Not for use by third-party applications. @hide -->
6761    <permission android:name="android.permission.SET_INITIAL_LOCK"
6762        android:protectionLevel="signature|setup"/>
6763
6764    <!-- @TestApi Allows applications to set and verify lockscreen credentials.
6765        @hide -->
6766    <permission android:name="android.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS"
6767                android:protectionLevel="signature"/>
6768
6769    <!-- @SystemApi Allows application to verify lockscreen credentials provided by a remote device.
6770         @hide -->
6771    <permission android:name="android.permission.CHECK_REMOTE_LOCKSCREEN"
6772        android:protectionLevel="signature|privileged" />
6773
6774    <!-- Allows managing (adding, removing) fingerprint templates. Reserved for the system. @hide -->
6775    <permission android:name="android.permission.MANAGE_FINGERPRINT"
6776        android:protectionLevel="signature|privileged" />
6777
6778    <!-- Allows managing (adding, removing) face templates. Reserved for the system. @hide -->
6779    <permission android:name="android.permission.MANAGE_FACE"
6780        android:protectionLevel="signature|privileged" />
6781
6782    <!-- Allows an app to reset fingerprint attempt counter. Reserved for the system. @hide -->
6783    <permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT"
6784        android:protectionLevel="signature" />
6785
6786    <!-- Allows access to TestApis for various components in the biometric stack, including
6787         FingerprintService, FaceService, BiometricService. Used by com.android.server.biometrics
6788         CTS tests. @hide @TestApi -->
6789    <permission android:name="android.permission.TEST_BIOMETRIC"
6790        android:protectionLevel="signature" />
6791
6792    <!-- Allows direct access to the <Biometric>Service interfaces. Reserved for the system. @hide -->
6793    <permission android:name="android.permission.MANAGE_BIOMETRIC"
6794        android:protectionLevel="signature" />
6795
6796    <!-- Allows direct access to the <Biometric>Service authentication methods. Reserved for the system. @hide -->
6797    <permission android:name="android.permission.USE_BIOMETRIC_INTERNAL"
6798        android:protectionLevel="signature" />
6799
6800    <!-- Allows the system to control the BiometricDialog (SystemUI). Reserved for the system. @hide -->
6801    <permission android:name="android.permission.MANAGE_BIOMETRIC_DIALOG"
6802                android:protectionLevel="signature" />
6803
6804    <!-- Allows an application to set the advanced features on BiometricDialog (SystemUI), including
6805         logo, logo description.
6806         <p>Not for use by third-party applications.
6807         @FlaggedApi("android.hardware.biometrics.custom_biometric_prompt")
6808    -->
6809    <permission android:name="android.permission.SET_BIOMETRIC_DIALOG_ADVANCED"
6810                android:protectionLevel="signature|privileged" />
6811
6812    <!-- Allows an application to control keyguard.  Only allowed for system processes.
6813        @hide -->
6814    <permission android:name="android.permission.CONTROL_KEYGUARD"
6815        android:protectionLevel="signature" />
6816
6817    <!-- @SystemApi Allows an application to control keyguard features like secure notifications.
6818         @hide -->
6819    <permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS"
6820        android:protectionLevel="signature|privileged" />
6821
6822    <!-- @SystemApi Allows an application to manage weak escrow token on the device. This permission
6823         is not available to third party applications.
6824         @hide -->
6825    <permission android:name="android.permission.MANAGE_WEAK_ESCROW_TOKEN"
6826        android:protectionLevel="signature|privileged" />
6827
6828    <!-- Allows an application to listen to trust changes.  Only allowed for system processes.
6829        @hide -->
6830    <permission android:name="android.permission.TRUST_LISTENER"
6831        android:protectionLevel="signature" />
6832
6833    <!-- @SystemApi Allows an application to provide a trust agent.
6834         @hide For security reasons, this is a platform-only permission. -->
6835    <permission android:name="android.permission.PROVIDE_TRUST_AGENT"
6836        android:protectionLevel="signature|privileged" />
6837
6838    <!-- @SystemApi Allows an application to show a message
6839         on the keyguard when asking to dismiss it.
6840         @hide For security reasons, this is a platform-only permission. -->
6841    <permission android:name="android.permission.SHOW_KEYGUARD_MESSAGE"
6842        android:protectionLevel="signature|privileged" />
6843
6844    <!-- Allows an application to launch the trust agent settings activity.
6845        @hide -->
6846    <permission android:name="android.permission.LAUNCH_TRUST_AGENT_SETTINGS"
6847        android:protectionLevel="signature|privileged" />
6848
6849    <!-- @SystemApi Must be required by an {@link
6850        android.service.trust.TrustAgentService},
6851        to ensure that only the system can bind to it.
6852        @hide -->
6853    <permission android:name="android.permission.BIND_TRUST_AGENT"
6854        android:protectionLevel="signature" />
6855
6856    <!-- Must be required by an {@link
6857         android.service.notification.NotificationListenerService},
6858         to ensure that only the system can bind to it.
6859         <p>Protection level: signature
6860    -->
6861    <permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
6862        android:protectionLevel="signature" />
6863
6864    <!-- @SystemApi Must be required by an {@link
6865         android.service.notification.NotificationAssistantService} to ensure that only the system
6866         can bind to it.
6867         <p>Protection level: signature
6868         @hide
6869    -->
6870    <permission android:name="android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE"
6871        android:protectionLevel="signature" />
6872
6873    <!-- Must be required by a {@link
6874         android.service.chooser.ChooserTargetService}, to ensure that
6875         only the system can bind to it.
6876         <p>Protection level: signature
6877
6878         @deprecated For publishing direct share targets, please follow the instructions in
6879         https://developer.android.com/training/sharing/receive.html#providing-direct-share-targets
6880         instead.
6881    -->
6882    <permission android:name="android.permission.BIND_CHOOSER_TARGET_SERVICE"
6883        android:protectionLevel="signature" />
6884
6885    <!-- @SystemApi Must be held by services that extend
6886         {@link android.service.resolver.ResolverRankerService}.
6887         <p>Protection level: signature|privileged
6888         @hide
6889    -->
6890    <permission android:name="android.permission.PROVIDE_RESOLVER_RANKER_SERVICE"
6891                android:protectionLevel="signature|privileged" />
6892
6893    <!-- @SystemApi Must be required by services that extend
6894         {@link android.service.resolver.ResolverRankerService}, to ensure that only the system can
6895         bind to them.
6896         <p>Protection level: signature
6897         @hide
6898    -->
6899    <permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE"
6900        android:protectionLevel="signature" />
6901
6902    <!-- Must be required by a {@link
6903         android.service.notification.ConditionProviderService},
6904         to ensure that only the system can bind to it.
6905         <p>Protection level: signature
6906         -->
6907    <permission android:name="android.permission.BIND_CONDITION_PROVIDER_SERVICE"
6908        android:protectionLevel="signature" />
6909
6910    <!-- Must be required by an {@link android.service.dreams.DreamService},
6911         to ensure that only the system can bind to it.
6912         <p>Protection level: signature
6913    -->
6914    <permission android:name="android.permission.BIND_DREAM_SERVICE"
6915        android:protectionLevel="signature" />
6916
6917    <!-- Must be required by an {@link android.app.usage.CacheQuotaService} to ensure that only the
6918         system can bind to it.
6919         @hide This is not a third-party API (intended for OEMs and system apps).
6920    -->
6921    <permission android:name="android.permission.BIND_CACHE_QUOTA_SERVICE"
6922                android:protectionLevel="signature" />
6923
6924    <!-- @SystemApi Allows an application to call into a carrier setup flow. It is up to the
6925         carrier setup application to enforce that this permission is required
6926         @hide This is not a third-party API (intended for OEMs and system apps). -->
6927    <permission android:name="android.permission.INVOKE_CARRIER_SETUP"
6928        android:protectionLevel="signature|privileged" />
6929
6930    <!-- @SystemApi Allows an application to listen for network condition observations.
6931         @hide This is not a third-party API (intended for system apps). -->
6932    <permission android:name="android.permission.ACCESS_NETWORK_CONDITIONS"
6933        android:protectionLevel="signature|privileged" />
6934
6935    <!-- @SystemApi Allows an application to provision and access DRM certificates
6936         @hide This is not a third-party API (intended for system apps). -->
6937    <permission android:name="android.permission.ACCESS_DRM_CERTIFICATES"
6938        android:protectionLevel="signature|privileged" />
6939
6940    <!-- Api Allows an application to manage media projection sessions.
6941         @hide This is not a third-party API (intended for system apps). -->
6942    <permission android:name="android.permission.MANAGE_MEDIA_PROJECTION"
6943        android:protectionLevel="signature" />
6944
6945    <!-- @hide @TestApi Allows an application to record sensitive content during media
6946         projection. This is intended for on device screen recording system app.
6947         @FlaggedApi("android.permission.flags.sensitive_notification_app_protection") -->
6948    <permission android:name="android.permission.RECORD_SENSITIVE_CONTENT"
6949        android:protectionLevel="signature"
6950        android:featureFlag="android.permission.flags.sensitive_notification_app_protection"/>
6951
6952    <!-- @SystemApi Allows an application to read install sessions
6953         @hide This is not a third-party API (intended for system apps). -->
6954    <permission android:name="android.permission.READ_INSTALL_SESSIONS"
6955        android:label="@string/permlab_readInstallSessions"
6956        android:description="@string/permdesc_readInstallSessions"
6957        android:protectionLevel="normal"/>
6958
6959    <!-- @SystemApi Allows an application to remove DRM certificates
6960         @hide This is not a third-party API (intended for system apps). -->
6961    <permission android:name="android.permission.REMOVE_DRM_CERTIFICATES"
6962        android:protectionLevel="signature|privileged" />
6963
6964    <!-- @deprecated Use {@link android.Manifest.permission#BIND_CARRIER_SERVICES} instead -->
6965    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE"
6966        android:protectionLevel="signature|privileged" />
6967
6968    <!-- Allows an application to interact with the currently active
6969         {@link android.service.voice.VoiceInteractionService}.
6970         @hide -->
6971    <permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE"
6972        android:protectionLevel="signature" />
6973
6974    <!-- The system process that is allowed to bind to services in carrier apps will
6975         have this permission. Carrier apps should use this permission to protect
6976         their services that only the system is allowed to bind to.
6977         <p>Protection level: signature|privileged
6978    -->
6979    <permission android:name="android.permission.BIND_CARRIER_SERVICES"
6980        android:label="@string/permlab_bindCarrierServices"
6981        android:description="@string/permdesc_bindCarrierServices"
6982        android:protectionLevel="signature|privileged" />
6983
6984    <!--
6985        Allows the holder to start the permission usage screen for an app.
6986        <p>Protection level: signature|installer
6987    -->
6988    <permission android:name="android.permission.START_VIEW_PERMISSION_USAGE"
6989        android:label="@string/permlab_startViewPermissionUsage"
6990        android:description="@string/permdesc_startViewPermissionUsage"
6991        android:protectionLevel="signature|installer|module" />
6992
6993    <!--
6994        @SystemApi
6995        Allows the holder to start the screen to review permission decisions.
6996        <p>Protection level: signature|installer
6997        @hide -->
6998    <permission android:name="android.permission.START_REVIEW_PERMISSION_DECISIONS"
6999        android:label="@string/permlab_startReviewPermissionDecisions"
7000        android:description="@string/permdesc_startReviewPermissionDecisions"
7001        android:protectionLevel="signature|installer" />
7002
7003    <!--
7004        Allows the holder to start the screen with a list of app features.
7005        <p>Protection level: signature|installer
7006    -->
7007    <permission android:name="android.permission.START_VIEW_APP_FEATURES"
7008                android:label="@string/permlab_startViewAppFeatures"
7009                android:description="@string/permdesc_startViewAppFeatures"
7010                android:protectionLevel="signature|installer" />
7011
7012    <!-- Allows an application to query whether DO_NOT_ASK_CREDENTIALS_ON_BOOT
7013         flag is set.
7014         @hide -->
7015    <permission android:name="android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT"
7016                android:protectionLevel="signature" />
7017
7018    <!-- @SystemApi Allows applications to kill UIDs.
7019        <p>This permission can be granted to the SYSTEM_SUPERVISOR role used for parental
7020        controls.
7021        <p>Not for use by third-party applications.
7022         @hide -->
7023    <permission android:name="android.permission.KILL_UID"
7024                android:protectionLevel="signature|installer|role" />
7025
7026    <!-- @SystemApi Allows applications to read the local WiFi and Bluetooth MAC address.
7027        @hide -->
7028    <permission android:name="android.permission.LOCAL_MAC_ADDRESS"
7029                android:protectionLevel="signature|privileged" />
7030    <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"/>
7031
7032    <!-- @SystemApi Allows access to MAC addresses of WiFi and Bluetooth peer devices.
7033        @hide -->
7034    <permission android:name="android.permission.PEERS_MAC_ADDRESS"
7035                android:protectionLevel="signature|setup|role" />
7036
7037    <!-- Allows the Nfc stack to dispatch Nfc messages to applications. Applications
7038        can use this permission to ensure incoming Nfc messages are from the Nfc stack
7039        and not simulated by another application.
7040        @hide -->
7041    <permission android:name="android.permission.DISPATCH_NFC_MESSAGE"
7042                android:protectionLevel="signature|privileged" />
7043
7044    <!-- @SystemApi Allows changing day / night mode when system is configured with
7045         config_lockDayNightMode set to true. If requesting app does not have permission,
7046         it will be ignored.
7047        @hide -->
7048    <permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"
7049      android:protectionLevel="signature|privileged|role" />
7050
7051    <!-- @SystemApi Allows entering or exiting car mode using a specified priority.
7052        This permission is required to use UiModeManager while specifying a priority for the calling
7053        app.  A device manufacturer uses this permission to prioritize the apps which can
7054        potentially request to enter car-mode on a device to help establish the correct behavior
7055        where multiple such apps are active at the same time.
7056        @hide -->
7057    <permission android:name="android.permission.ENTER_CAR_MODE_PRIORITIZED"
7058                android:protectionLevel="signature|privileged" />
7059
7060    <!-- @SystemApi Required to receive ACTION_ENTER_CAR_MODE_PRIVILEGED or
7061        ACTION_EXIT_CAR_MODE_PRIVILEGED.
7062        @hide -->
7063    <permission android:name="android.permission.HANDLE_CAR_MODE_CHANGES"
7064                android:protectionLevel="signature|privileged" />
7065
7066    <!-- @SystemApi Allows the holder to send category_car notifications.
7067        @hide -->
7068    <permission
7069        android:name="android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS"
7070        android:protectionLevel="signature|privileged" />
7071
7072    <!-- The system process is explicitly the only one allowed to launch the
7073         confirmation UI for full backup/restore -->
7074    <uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
7075
7076    <!-- @SystemApi Allows the holder to access and manage instant applications on the device.
7077         @hide -->
7078    <permission android:name="android.permission.ACCESS_INSTANT_APPS"
7079            android:protectionLevel="signature|installer|verifier|role" />
7080    <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS"/>
7081
7082    <!-- Allows the holder to view the instant applications on the device.
7083    @hide -->
7084    <permission android:name="android.permission.VIEW_INSTANT_APPS"
7085                android:protectionLevel="signature|preinstalled" />
7086
7087    <!-- Allows the holder to manage whether the system can bind to services
7088         provided by instant apps. This permission is intended to protect
7089         test/development fucntionality and should be used only in such cases.
7090    @hide -->
7091    <permission android:name="android.permission.MANAGE_BIND_INSTANT_SERVICE"
7092                android:protectionLevel="signature" />
7093
7094    <!-- Allows receiving the usage of media resource e.g. video/audio codec and
7095         graphic memory.
7096         @hide -->
7097    <permission android:name="android.permission.RECEIVE_MEDIA_RESOURCE_USAGE"
7098                android:protectionLevel="signature|privileged" />
7099
7100    <!-- Must be required by system/priv apps when accessing the sound trigger
7101         APIs given by {@link SoundTriggerManager}.
7102         @hide
7103         @SystemApi -->
7104    <permission android:name="android.permission.MANAGE_SOUND_TRIGGER"
7105        android:protectionLevel="signature|privileged|role" />
7106
7107    <!-- Must be required by system/priv apps to run sound trigger recognition sessions while in
7108         battery saver mode.
7109         @hide
7110         @SystemApi -->
7111    <permission android:name="android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER"
7112                android:protectionLevel="signature|privileged" />
7113
7114    <!-- Must be required by system/priv apps implementing sound trigger detection services
7115         @hide
7116         @SystemApi -->
7117    <permission android:name="android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE"
7118        android:protectionLevel="signature" />
7119
7120    <!-- @SystemApi Allows trusted applications to dispatch managed provisioning message to Managed
7121         Provisioning app. If requesting app does not have permission, it will be ignored.
7122         @hide -->
7123    <permission android:name="android.permission.DISPATCH_PROVISIONING_MESSAGE"
7124                android:protectionLevel="signature|privileged" />
7125
7126    <!-- Allows the holder to read blocked numbers. See
7127         {@link android.provider.BlockedNumberContract}.
7128         @SystemApi
7129         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
7130         @hide -->
7131    <permission android:name="android.permission.READ_BLOCKED_NUMBERS"
7132                android:protectionLevel="signature" />
7133
7134    <!-- Allows the holder to write blocked numbers. See
7135         {@link android.provider.BlockedNumberContract}.
7136         @SystemApi
7137         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
7138         @hide -->
7139    <permission android:name="android.permission.WRITE_BLOCKED_NUMBERS"
7140                android:protectionLevel="signature" />
7141
7142    <!-- Must be required by an {@link android.service.vr.VrListenerService}, to ensure that only
7143         the system can bind to it.
7144         <p>Protection level: signature -->
7145    <permission android:name="android.permission.BIND_VR_LISTENER_SERVICE"
7146        android:protectionLevel="signature" />
7147
7148    <!-- Must be required by system apps when accessing restricted VR APIs.
7149         @hide
7150         @SystemApi
7151         <p>Protection level: signature -->
7152    <permission android:name="android.permission.RESTRICTED_VR_ACCESS"
7153        android:protectionLevel="signature|preinstalled" />
7154
7155    <!-- Required to make calls to {@link android.service.vr.IVrManager}.
7156         @hide -->
7157    <permission android:name="android.permission.ACCESS_VR_MANAGER"
7158            android:protectionLevel="signature" />
7159
7160    <!-- Required to access VR-Mode state and state change events via {android.app.VrStateCallback}
7161         @hide -->
7162    <permission android:name="android.permission.ACCESS_VR_STATE"
7163        android:protectionLevel="signature|preinstalled" />
7164
7165    <!-- Allows an application to allowlist tasks during lock task mode
7166         @hide <p>Not for use by third-party applications.</p> -->
7167    <permission android:name="android.permission.UPDATE_LOCK_TASK_PACKAGES"
7168        android:protectionLevel="signature|setup" />
7169
7170    <!-- @SystemApi Allows an application to replace the app name displayed alongside notifications
7171         in the N-release and later.
7172         @hide  <p>Not for use by third-party applications.</p> -->
7173    <permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"
7174                android:protectionLevel="signature|privileged" />
7175
7176    <!-- @SystemApi Allows an application to show notifications before the device is provisioned.
7177         @hide  <p>Not for use by third-party applications.</p> -->
7178    <permission android:name="android.permission.NOTIFICATION_DURING_SETUP"
7179                android:protectionLevel="signature|privileged" />
7180
7181    <!-- @SystemApi Allows an application to manage auto-fill sessions.
7182         @hide  <p>Not for use by third-party applications.</p> -->
7183    <permission android:name="android.permission.MANAGE_AUTO_FILL"
7184        android:protectionLevel="signature" />
7185
7186    <!-- @SystemApi Allows an application to manage the content capture service.
7187         @hide  <p>Not for use by third-party applications.</p> -->
7188    <permission android:name="android.permission.MANAGE_CONTENT_CAPTURE"
7189        android:protectionLevel="signature" />
7190
7191    <!-- @SystemApi Allows an application to manager the rotation resolver service.
7192         @hide <p>Not for use by third-party applications.</p> -->
7193    <permission android:name="android.permission.MANAGE_ROTATION_RESOLVER"
7194        android:protectionLevel="signature"/>
7195
7196    <!-- @SystemApi Allows an application to manage the cloudsearch service.
7197          @hide  <p>Not for use by third-party applications.</p> -->
7198    <permission android:name="android.permission.MANAGE_CLOUDSEARCH"
7199        android:protectionLevel="signature|privileged|role" />
7200
7201    <!-- @SystemApi Allows an application to manage the music recognition service.
7202         @hide  <p>Not for use by third-party applications.</p> -->
7203    <permission android:name="android.permission.MANAGE_MUSIC_RECOGNITION"
7204        android:protectionLevel="signature|privileged|role" />
7205
7206    <!-- @SystemApi Allows an application to manage speech recognition service.
7207     @hide  <p>Not for use by third-party applications.</p> -->
7208    <permission android:name="android.permission.MANAGE_SPEECH_RECOGNITION"
7209        android:protectionLevel="signature" />
7210
7211    <!-- @SystemApi Allows an application to interact with the content suggestions service.
7212         @hide  <p>Not for use by third-party applications.</p> -->
7213    <permission android:name="android.permission.MANAGE_CONTENT_SUGGESTIONS"
7214        android:protectionLevel="signature|role" />
7215
7216    <!-- @SystemApi Allows an application to manage the app predictions service.
7217         @hide  <p>Not for use by third-party applications.</p> -->
7218    <permission android:name="android.permission.MANAGE_APP_PREDICTIONS"
7219        android:protectionLevel="signature|role" />
7220
7221    <!-- @SystemApi Allows an application to manage the search ui service.
7222     @hide  <p>Not for use by third-party applications.</p> -->
7223    <permission android:name="android.permission.MANAGE_SEARCH_UI"
7224        android:protectionLevel="signature|role" />
7225
7226    <!-- @SystemApi Allows an application to manage the smartspace service.
7227     @hide  <p>Not for use by third-party applications.</p> -->
7228    <permission android:name="android.permission.MANAGE_SMARTSPACE"
7229        android:protectionLevel="signature" />
7230
7231    <!-- @SystemApi Allows an application to access the smartspace service as a client.
7232     @FlaggedApi(android.app.smartspace.flags.Flags.FLAG_ACCESS_SMARTSPACE)
7233     @hide  <p>Not for use by third-party applications.</p> -->
7234    <permission android:name="android.permission.ACCESS_SMARTSPACE"
7235        android:protectionLevel="signature|privileged|development" />
7236
7237    <!-- @SystemApi Allows an application to access the contextual search
7238    service as a client.
7239     @hide  <p>Not for use by third-party applications.</p> -->
7240    <permission android:name="android.permission.ACCESS_CONTEXTUAL_SEARCH"
7241        android:protectionLevel="signature|privileged"
7242        android:featureFlag="android.app.contextualsearch.flags.enable_service"/>
7243
7244    <!-- @SystemApi Allows an application to manage the wallpaper effects
7245     generation service.
7246     @hide  <p>Not for use by third-party applications.</p> -->
7247    <permission android:name="android.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION"
7248        android:protectionLevel="signature|privileged" />
7249
7250    <!-- Allows an app to set the theme overlay in /vendor/overlay
7251         being used.
7252         @hide  <p>Not for use by third-party applications.</p> -->
7253    <permission android:name="android.permission.MODIFY_THEME_OVERLAY"
7254                android:protectionLevel="signature" />
7255
7256    <!-- Allows an instant app to create foreground services.
7257         <p>Protection level: signature|development|instant|appop -->
7258    <permission android:name="android.permission.INSTANT_APP_FOREGROUND_SERVICE"
7259        android:protectionLevel="signature|development|instant|appop" />
7260
7261    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7262         Service.startForeground}.
7263         <p>Protection level: normal
7264    -->
7265    <permission android:name="android.permission.FOREGROUND_SERVICE"
7266        android:description="@string/permdesc_foregroundService"
7267        android:label="@string/permlab_foregroundService"
7268        android:protectionLevel="normal|instant" />
7269
7270    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7271         Service.startForeground} with the type "camera".
7272         <p>Protection level: normal|instant
7273    -->
7274    <permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"
7275        android:description="@string/permdesc_foregroundServiceCamera"
7276        android:label="@string/permlab_foregroundServiceCamera"
7277        android:protectionLevel="normal|instant" />
7278
7279    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7280         Service.startForeground} with the type "connectedDevice".
7281         <p>Protection level: normal|instant
7282    -->
7283    <permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE"
7284        android:description="@string/permdesc_foregroundServiceConnectedDevice"
7285        android:label="@string/permlab_foregroundServiceConnectedDevice"
7286        android:protectionLevel="normal|instant" />
7287
7288    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7289         Service.startForeground} with the type "dataSync".
7290         <p>Protection level: normal|instant
7291    -->
7292    <permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"
7293        android:description="@string/permdesc_foregroundServiceDataSync"
7294        android:label="@string/permlab_foregroundServiceDataSync"
7295        android:protectionLevel="normal|instant" />
7296
7297    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7298         Service.startForeground} with the type "location".
7299         <p>Protection level: normal|instant
7300    -->
7301    <permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION"
7302        android:description="@string/permdesc_foregroundServiceLocation"
7303        android:label="@string/permlab_foregroundServiceLocation"
7304        android:protectionLevel="normal|instant" />
7305
7306    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7307         Service.startForeground} with the type "mediaPlayback".
7308         <p>Protection level: normal|instant
7309    -->
7310    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"
7311        android:description="@string/permdesc_foregroundServiceMediaPlayback"
7312        android:label="@string/permlab_foregroundServiceMediaPlayback"
7313        android:protectionLevel="normal|instant" />
7314
7315    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7316         Service.startForeground} with the type "mediaProjection".
7317         <p>Protection level: normal|instant
7318    -->
7319    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION"
7320        android:description="@string/permdesc_foregroundServiceMediaProjection"
7321        android:label="@string/permlab_foregroundServiceMediaProjection"
7322        android:protectionLevel="normal|instant" />
7323
7324    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7325         Service.startForeground} with the type "microphone".
7326         <p>Protection level: normal|instant
7327    -->
7328    <permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE"
7329        android:description="@string/permdesc_foregroundServiceMicrophone"
7330        android:label="@string/permlab_foregroundServiceMicrophone"
7331        android:protectionLevel="normal|instant" />
7332
7333    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7334         Service.startForeground} with the type "phoneCall".
7335         <p>Protection level: normal|instant
7336    -->
7337    <permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL"
7338        android:description="@string/permdesc_foregroundServicePhoneCall"
7339        android:label="@string/permlab_foregroundServicePhoneCall"
7340        android:protectionLevel="normal|instant" />
7341
7342    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7343         Service.startForeground} with the type "health".
7344         <p>Protection level: normal|instant
7345    -->
7346    <permission android:name="android.permission.FOREGROUND_SERVICE_HEALTH"
7347        android:description="@string/permdesc_foregroundServiceHealth"
7348        android:label="@string/permlab_foregroundServiceHealth"
7349        android:protectionLevel="normal|instant" />
7350
7351    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7352         Service.startForeground} with the type "remoteMessaging".
7353         <p>Protection level: normal|instant
7354    -->
7355    <permission android:name="android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING"
7356        android:description="@string/permdesc_foregroundServiceRemoteMessaging"
7357        android:label="@string/permlab_foregroundServiceRemoteMessaging"
7358        android:protectionLevel="normal|instant" />
7359
7360    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7361         Service.startForeground} with the type "systemExempted".
7362         Apps are allowed to use this type only in the use cases listed in
7363         {@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED}.
7364         <p>Protection level: normal|instant
7365    -->
7366    <permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED"
7367        android:description="@string/permdesc_foregroundServiceSystemExempted"
7368        android:label="@string/permlab_foregroundServiceSystemExempted"
7369        android:protectionLevel="normal|instant" />
7370
7371    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7372         Service.startForeground} with the type "fileManagement".
7373         <p>Protection level: normal|instant
7374         @hide
7375    -->
7376    <permission android:name="android.permission.FOREGROUND_SERVICE_FILE_MANAGEMENT"
7377        android:description="@string/permdesc_foregroundServiceFileManagement"
7378        android:label="@string/permlab_foregroundServiceFileManagement"
7379        android:protectionLevel="normal|instant" />
7380
7381    <!-- @FlaggedApi("android.content.pm.introduce_media_processing_type")
7382         Allows a regular application to use {@link android.app.Service#startForeground
7383         Service.startForeground} with the type "mediaProcessing".
7384         <p>Protection level: normal|instant
7385    -->
7386    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROCESSING"
7387                android:description="@string/permdesc_foregroundServiceMediaProcessing"
7388                android:label="@string/permlab_foregroundServiceMediaProcessing"
7389                android:protectionLevel="normal|instant" />
7390
7391    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7392         Service.startForeground} with the type "specialUse".
7393         <p>Protection level: normal|appop|instant
7394    -->
7395    <permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"
7396        android:description="@string/permdesc_foregroundServiceSpecialUse"
7397        android:label="@string/permlab_foregroundServiceSpecialUse"
7398        android:protectionLevel="normal|appop|instant" />
7399
7400    <!-- @SystemApi Allows to access all app shortcuts.
7401         @hide -->
7402    <permission android:name="android.permission.ACCESS_SHORTCUTS"
7403        android:protectionLevel="signature|role|recents" />
7404
7405    <!-- @SystemApi Allows unlimited calls to shortcut mutation APIs.
7406         @hide -->
7407    <permission android:name="android.permission.UNLIMITED_SHORTCUTS_API_CALLS"
7408        android:protectionLevel="signature|role" />
7409
7410    <!-- @SystemApi Allows an application to read the runtime profiles of other apps.
7411         @hide <p>Not for use by third-party applications. -->
7412    <permission android:name="android.permission.READ_RUNTIME_PROFILES"
7413                android:protectionLevel="signature|privileged" />
7414
7415    <!-- @hide Allows audio policy management. -->
7416    <permission android:name="android.permission.MANAGE_AUDIO_POLICY"
7417        android:protectionLevel="signature" />
7418
7419    <!-- @SystemApi Allows an application to turn on / off quiet mode.
7420         @hide -->
7421    <permission android:name="android.permission.MODIFY_QUIET_MODE"
7422                android:protectionLevel="signature|privileged|development|role" />
7423
7424    <!-- Allows internal management of the camera framework
7425         @hide -->
7426    <permission android:name="android.permission.MANAGE_CAMERA"
7427        android:protectionLevel="signature" />
7428
7429    <!-- Allows an application to control remote animations. See
7430         {@link ActivityOptions#makeRemoteAnimation}
7431         @hide <p>Not for use by third-party applications. -->
7432    <permission android:name="android.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS"
7433        android:protectionLevel="signature|privileged|recents" />
7434
7435    <!-- Allows an application to watch changes and/or active state of app ops.
7436         @hide <p>Not for use by third-party applications. -->
7437    <permission android:name="android.permission.WATCH_APPOPS"
7438        android:protectionLevel="signature|privileged" />
7439
7440    <!-- Allows hidden API checks to be disabled when starting a process.
7441         @hide <p>Not for use by third-party applications. -->
7442    <permission android:name="android.permission.DISABLE_HIDDEN_API_CHECKS"
7443                android:protectionLevel="signature" />
7444
7445    <!-- @hide Permission that protects the
7446        {@link android.provider.Telephony.Intents#ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL}
7447        broadcast -->
7448    <permission android:name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE"
7449        android:protectionLevel="signature|privileged" />
7450
7451    <!-- A subclass of {@link android.service.carrier.CarrierMessagingClientService} must be protected with this permission.
7452           <p>Protection level: signature -->
7453    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE"
7454        android:protectionLevel="signature" />
7455
7456    <!-- Must be required by an {@link android.service.watchdog.ExplicitHealthCheckService} to
7457         ensure that only the system can bind to it.
7458         @hide This is not a third-party API (intended for OEMs and system apps).
7459    -->
7460    <permission android:name="android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE"
7461        android:protectionLevel="signature|privileged" />
7462
7463    <!-- @SystemApi Must be required by an {@link android.service.storage.ExternalStorageService} to
7464         ensure that only the system can bind to it.
7465         @hide This is not a third-party API (intended for OEMs and system apps).
7466    -->
7467    <permission android:name="android.permission.BIND_EXTERNAL_STORAGE_SERVICE"
7468        android:protectionLevel="signature" />
7469
7470    <!-- @hide Permission that allows configuring appops.
7471     <p>Not for use by third-party applications. -->
7472    <permission android:name="android.permission.MANAGE_APPOPS"
7473                android:protectionLevel="signature" />
7474
7475    <!-- @SystemApi Permission that allows background clipboard access.
7476         @hide Not for use by third-party applications. -->
7477    <permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"
7478        android:protectionLevel="signature|role" />
7479
7480    <!-- @SystemApi Permission that allows apps to disable the clipboard access notifications.
7481         @hide
7482         <p>Not for use by third-party applications. -->
7483    <permission android:name="android.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION"
7484        android:protectionLevel="signature|installer" />
7485
7486    <!-- @hide Permission that suppresses the notification when the clipboard is accessed.
7487         <p>Not for use by third-party applications. -->
7488    <permission android:name="android.permission.SUPPRESS_CLIPBOARD_ACCESS_NOTIFICATION"
7489                android:protectionLevel="signature" />
7490
7491    <!-- @SystemApi Allows modifying accessibility state.
7492        <p> The only approved role for this permission is COMPANION_DEVICE_APP_STREAMING.
7493         @hide -->
7494    <permission android:name="android.permission.MANAGE_ACCESSIBILITY"
7495        android:protectionLevel="signature|setup|recents|role" />
7496
7497    <!-- @SystemApi Allows an app to grant a profile owner access to device identifiers.
7498         <p>Not for use by third-party applications.
7499         @deprecated
7500         @hide -->
7501    <permission android:name="android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS"
7502        android:protectionLevel="signature" />
7503
7504    <!-- @SystemApi Allows an app to mark a profile owner as managing an organization-owned device.
7505         <p>Not for use by third-party applications.
7506         @hide -->
7507    <permission android:name="android.permission.MARK_DEVICE_ORGANIZATION_OWNED"
7508                android:protectionLevel="signature|role" />
7509
7510    <!-- Allows financial apps to read filtered sms messages.
7511         Protection level: signature|appop
7512         @deprecated The API that used this permission is no longer functional.  -->
7513    <permission android:name="android.permission.SMS_FINANCIAL_TRANSACTIONS"
7514        android:protectionLevel="signature|appop" />
7515
7516    <!-- Required for apps targeting {@link android.os.Build.VERSION_CODES#Q} that want to use
7517         {@link android.app.Notification.Builder#setFullScreenIntent notification full screen
7518         intents}.
7519         <p>Protection level: normal -->
7520    <permission android:name="android.permission.USE_FULL_SCREEN_INTENT"
7521                android:label="@string/permlab_fullScreenIntent"
7522                android:description="@string/permdesc_fullScreenIntent"
7523                android:protectionLevel="normal|appop" />
7524
7525    <!-- @SystemApi Required for the privileged assistant apps targeting
7526         {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM}
7527         that receive voice trigger from a sandboxed {@link HotwordDetectionService}.
7528         <p>Protection level: signature|privileged|appop
7529         @FlaggedApi("android.permission.flags.voice_activation_permission_apis")
7530         @hide -->
7531    <permission android:name="android.permission.RECEIVE_SANDBOX_TRIGGER_AUDIO"
7532                android:protectionLevel="signature|privileged|appop" />
7533
7534    <!-- @SystemApi Allows requesting the framework broadcast the
7535         {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY} intent.
7536         @hide -->
7537    <permission android:name="android.permission.SEND_DEVICE_CUSTOMIZATION_READY"
7538        android:protectionLevel="signature|privileged" />
7539
7540    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY}
7541         intent.
7542         @hide -->
7543    <permission android:name="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY"
7544        android:protectionLevel="signature|preinstalled" />
7545
7546    <!-- @SystemApi Allows wallpaper to be rendered in ambient mode.
7547         @hide -->
7548    <permission android:name="android.permission.AMBIENT_WALLPAPER"
7549                android:protectionLevel="signature|preinstalled" />
7550
7551    <!-- @SystemApi Allows sensor privacy to be modified.
7552         @hide -->
7553    <permission android:name="android.permission.MANAGE_SENSOR_PRIVACY"
7554                android:protectionLevel="internal|role|installer" />
7555
7556    <!-- @SystemApi Allows sensor privacy changes to be observed.
7557         @hide -->
7558    <permission android:name="android.permission.OBSERVE_SENSOR_PRIVACY"
7559                android:protectionLevel="internal|role|installer" />
7560
7561    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_REVIEW_ACCESSIBILITY_SERVICES}
7562         intent.
7563         @hide -->
7564    <permission android:name="android.permission.REVIEW_ACCESSIBILITY_SERVICES"
7565                android:protectionLevel="signature" />
7566
7567    <!-- @SystemApi Allows an activity to replace the app name and icon displayed in share targets
7568         in the sharesheet for the Q-release and later.
7569         @hide  <p>Not for use by third-party applications.</p> -->
7570    <permission android:name="android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON"
7571                android:protectionLevel="signature|privileged" />
7572
7573    <!-- @SystemApi Allows an application to access shared libraries.
7574         @hide -->
7575    <permission android:name="android.permission.ACCESS_SHARED_LIBRARIES"
7576                android:protectionLevel="signature|installer" />
7577
7578    <!-- Allows an app to log compat change usage.
7579         @hide  <p>Not for use by third-party applications.</p> -->
7580    <permission android:name="android.permission.LOG_COMPAT_CHANGE"
7581                android:protectionLevel="signature|privileged" />
7582    <!-- Allows an app to read compat change config.
7583         @hide  <p>Not for use by third-party applications.</p> -->
7584    <permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"
7585                android:protectionLevel="signature|privileged" />
7586    <!-- Allows an app to override compat change config.
7587         This permission only allows to override config on debuggable builds or test-apks and is
7588         therefore a less powerful version of OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD.
7589         @hide  <p>Not for use by third-party applications.</p> -->
7590    <permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG"
7591                android:protectionLevel="signature|privileged" />
7592    <!-- @SystemApi Allows an app to override compat change config on release builds.
7593        Only ChangeIds that are annotated as @Overridable can be overridden on release builds.
7594        @hide -->
7595    <permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD"
7596                android:protectionLevel="signature|privileged" />
7597
7598    <!-- Allows input events to be monitored. Very dangerous!  @hide -->
7599    <permission android:name="android.permission.MONITOR_INPUT"
7600                android:protectionLevel="signature|recents" />
7601    <!-- @SystemApi Allows the use of FLAG_SLIPPERY, which permits touch events to slip from the
7602         current window to the window where the touch currently is on top of.  @hide -->
7603    <permission android:name="android.permission.ALLOW_SLIPPERY_TOUCHES"
7604                android:protectionLevel="signature|privileged|recents|role" />
7605    <!--  Allows the caller to change the associations between input devices and displays.
7606        Very dangerous! @hide -->
7607    <permission android:name="android.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY"
7608                android:protectionLevel="signature" />
7609
7610    <!-- Allows query of any normal app on the device, regardless of manifest declarations.
7611        <p>Protection level: normal -->
7612    <permission android:name="android.permission.QUERY_ALL_PACKAGES"
7613                android:label="@string/permlab_queryAllPackages"
7614                android:description="@string/permdesc_queryAllPackages"
7615                android:protectionLevel="normal" />
7616    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
7617
7618    <!-- @hide Allow the caller to collect debugging data from processes that otherwise
7619        would require USAGE_STATS. Before sharing this data with other apps, holders
7620        of this permission are REQUIRED to themselves check that the caller has
7621        PACKAGE_USAGE_STATS and OP_GET_USAGE_STATS. -->
7622    <permission android:name="android.permission.PEEK_DROPBOX_DATA"
7623        android:protectionLevel="signature" />
7624
7625    <!-- @SystemApi Allows an application to access TV tuner HAL
7626         <p>Not for use by third-party applications.
7627         @hide -->
7628    <permission android:name="android.permission.ACCESS_TV_TUNER"
7629        android:protectionLevel="signature|privileged|vendorPrivileged" />
7630
7631    <!-- @SystemApi Allows an application to access descrambler of TV tuner HAL
7632         <p>Not for use by third-party applications.
7633         @hide -->
7634    <permission android:name="android.permission.ACCESS_TV_DESCRAMBLER"
7635        android:protectionLevel="signature|privileged|vendorPrivileged" />
7636
7637    <!-- @SystemApi Allows an application to access shared filter of TV tuner HAL
7638         <p>Not for use by third-party applications.
7639         @hide -->
7640    <permission android:name="android.permission.ACCESS_TV_SHARED_FILTER"
7641        android:protectionLevel="signature|privileged|vendorPrivileged" />
7642
7643    <!-- Allows an application to create trusted displays. @hide @SystemApi -->
7644    <permission android:name="android.permission.ADD_TRUSTED_DISPLAY"
7645                android:protectionLevel="signature|role" />
7646
7647    <!-- Allows an application to create always-unlocked displays. @hide @SystemApi -->
7648    <permission android:name="android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY"
7649                android:protectionLevel="signature|role"/>
7650
7651    <!-- @hide @SystemApi Allows an application to access locusId events in the usage stats. -->
7652    <permission android:name="android.permission.ACCESS_LOCUS_ID_USAGE_STATS"
7653                android:protectionLevel="signature|role" />
7654
7655    <!-- @hide @SystemApi Allows an application to manage app hibernation state. -->
7656    <permission android:name="android.permission.MANAGE_APP_HIBERNATION"
7657        android:protectionLevel="signature|installer" />
7658
7659    <!-- @hide @TestApi Allows apps to reset the state of {@link com.android.server.am.AppErrors}.
7660         <p>CTS tests will use UiAutomation.adoptShellPermissionIdentity() to gain access.  -->
7661    <permission android:name="android.permission.RESET_APP_ERRORS"
7662        android:protectionLevel="signature" />
7663
7664    <!-- @hide Allows ThemeOverlayController to delay launch of Home / SetupWizard on boot, ensuring
7665         Theme Palettes and Colors are ready  -->
7666    <permission android:name="android.permission.SET_THEME_OVERLAY_CONTROLLER_READY"
7667        android:protectionLevel="signature|setup" />
7668
7669    <!-- @hide Allows an application to create/destroy input consumer. -->
7670    <permission android:name="android.permission.INPUT_CONSUMER"
7671                android:protectionLevel="signature" />
7672
7673    <!-- @hide @TestApi Allows an application to control the system's device state managed by the
7674         {@link android.service.devicestate.DeviceStateManagerService}. For example, on foldable
7675         devices this would grant access to toggle between the folded and unfolded states. -->
7676    <permission android:name="android.permission.CONTROL_DEVICE_STATE"
7677                android:protectionLevel="signature" />
7678
7679    <!-- @hide @SystemApi Must be required by a
7680        {@link android.service.displayhash.DisplayHashingService}
7681        to ensure that only the system can bind to it.
7682        This is not a third-party API (intended for OEMs and system apps).
7683    -->
7684    <permission android:name="android.permission.BIND_DISPLAY_HASHING_SERVICE"
7685        android:protectionLevel="signature" />
7686
7687    <!-- @hide @TestApi Allows an application to enable/disable toast rate limiting.
7688         <p>Not for use by third-party applications.
7689    -->
7690    <permission android:name="android.permission.MANAGE_TOAST_RATE_LIMITING"
7691                android:protectionLevel="signature" />
7692
7693    <!-- @SystemApi Allows managing the Game Mode
7694     @hide -->
7695    <permission android:name="android.permission.MANAGE_GAME_MODE"
7696                android:protectionLevel="signature|privileged" />
7697
7698    <!-- @TestApi Allows setting the game service provider, meant for tests only.
7699     @hide -->
7700    <permission android:name="android.permission.SET_GAME_SERVICE"
7701                android:protectionLevel="signature" />
7702
7703    <!-- @SystemApi Allows accessing the frame rate per second of a given application
7704     @hide -->
7705    <permission android:name="android.permission.ACCESS_FPS_COUNTER"
7706                android:protectionLevel="signature|privileged" />
7707
7708    <!-- @SystemApi Allows the GameService provider to create GameSession and call GameSession
7709                    APIs and overlay a view on top of the game's Activity.
7710     @hide -->
7711    <permission android:name="android.permission.MANAGE_GAME_ACTIVITY"
7712                android:protectionLevel="signature|privileged" />
7713
7714    <!-- @SystemApi Allows the holder to register callbacks to inform the RebootReadinessManager
7715         when they are performing reboot-blocking work.
7716         @hide -->
7717    <permission android:name="android.permission.SIGNAL_REBOOT_READINESS"
7718                android:protectionLevel="signature|privileged" />
7719
7720    <!-- @SystemApi Allows the holder to launch an Intent Resolver flow with custom presentation
7721         and/or targets.
7722         @FlaggedApi("android.nfc.enable_nfc_mainline")
7723         @hide -->
7724    <permission android:name="android.permission.SHOW_CUSTOMIZED_RESOLVER"
7725                android:protectionLevel="signature|privileged" />
7726
7727    <!-- @hide Allows an application to get a People Tile preview for a given shortcut. -->
7728    <permission android:name="android.permission.GET_PEOPLE_TILE_PREVIEW"
7729        android:protectionLevel="signature|recents" />
7730
7731    <!-- @hide @SystemApi Allows an application to retrieve whether shortcut is backed by a
7732         Conversation.
7733         TODO(b/180412052): STOPSHIP: Define a role so it can be granted to Shell and AiAi. -->
7734    <permission android:name="android.permission.READ_PEOPLE_DATA"
7735                android:protectionLevel="signature|recents|role"/>
7736
7737    <!-- @hide @SystemApi Allows a logical component within an application to
7738         temporarily renounce a set of otherwise granted permissions. -->
7739    <permission android:name="android.permission.RENOUNCE_PERMISSIONS"
7740                android:protectionLevel="signature|privileged" />
7741
7742    <!-- Allows an application to read nearby streaming policy. The policy controls
7743         whether to allow the device to stream its notifications and apps to nearby devices.
7744         Applications that are not the device owner will need this permission to call
7745         {@link android.app.admin.DevicePolicyManager#getNearbyNotificationStreamingPolicy} or
7746         {@link android.app.admin.DevicePolicyManager#getNearbyAppStreamingPolicy}. -->
7747    <permission android:name="android.permission.READ_NEARBY_STREAMING_POLICY"
7748        android:protectionLevel="normal" />
7749
7750    <!-- @SystemApi Allows the holder to set the source of the data when setting a clip on the
7751         clipboard.
7752         @hide -->
7753    <permission android:name="android.permission.SET_CLIP_SOURCE"
7754                android:protectionLevel="signature|recents" />
7755
7756    <!-- @SystemApi Allows an application to access TV tuned info
7757         <p>Not for use by third-party applications.
7758         @hide -->
7759    <permission android:name="android.permission.ACCESS_TUNED_INFO"
7760        android:protectionLevel="signature|privileged|vendorPrivileged" />
7761
7762    <!-- Allows an application to indicate via
7763         {@link android.content.pm.PackageInstaller.SessionParams#setRequireUserAction(int)}
7764         that user action should not be required for an app update.
7765         <p>Protection level: normal
7766    -->
7767    <permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"
7768                android:label="@string/permlab_updatePackagesWithoutUserAction"
7769                android:description="@string/permdesc_updatePackagesWithoutUserAction"
7770                android:protectionLevel="normal" />
7771    <uses-permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"/>
7772
7773    <!-- Allows an application to indicate via {@link
7774         android.content.pm.PackageInstaller.SessionParams#setRequestUpdateOwnership}
7775         that it has the intention of becoming the update owner.
7776         <p>Protection level: normal
7777         -->
7778    <permission android:name="android.permission.ENFORCE_UPDATE_OWNERSHIP"
7779                android:protectionLevel="normal" />
7780    <uses-permission android:name="android.permission.ENFORCE_UPDATE_OWNERSHIP" />
7781
7782
7783    <!-- Allows an application to take screenshots of layers that normally would be blacked out when
7784         a screenshot is taken. Specifically, layers that have the flag
7785         {@link android.view.SurfaceControl#SECURE} will be screenshot if the caller requests to
7786         capture secure layers. Normally those layers will be rendered black.
7787         <p>Not for use by third-party applications.
7788         @hide
7789    -->
7790    <permission android:name="android.permission.CAPTURE_BLACKOUT_CONTENT"
7791        android:protectionLevel="signature" />
7792
7793    <!-- @SystemApi Allows an application to query over global data in AppSearch.
7794           @hide -->
7795    <permission android:name="android.permission.READ_GLOBAL_APP_SEARCH_DATA"
7796                android:protectionLevel="internal|role" />
7797
7798    <!-- Allows an application to query over global data in AppSearch that's visible to the
7799         ASSISTANT role.  -->
7800    <permission android:name="android.permission.READ_ASSISTANT_APP_SEARCH_DATA"
7801        android:protectionLevel="internal|role" />
7802
7803    <!-- Allows an application to query over global data in AppSearch that's visible to the
7804         HOME role.  -->
7805    <permission android:name="android.permission.READ_HOME_APP_SEARCH_DATA"
7806        android:protectionLevel="internal|role" />
7807
7808    <!-- Allows an assistive application to perform actions on behalf of users inside of
7809         applications.
7810         <p>For now, this permission is only granted to the Assistant application selected by
7811         the user.
7812         <p>Protection level: internal|role
7813    -->
7814    <permission android:name="android.permission.EXECUTE_APP_ACTION"
7815                android:protectionLevel="internal|role" />
7816
7817    <!-- Allows an application to display its suggestions using the autofill framework.
7818         <p>For now, this permission is only granted to the Browser application.
7819         <p>Protection level: internal|role
7820    -->
7821    <permission android:name="android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS"
7822                android:protectionLevel="internal|role" />
7823
7824    <!-- @SystemApi Allows an application to create virtual devices in VirtualDeviceManager.
7825         @hide -->
7826    <permission android:name="android.permission.CREATE_VIRTUAL_DEVICE"
7827                android:protectionLevel="internal|role" />
7828
7829    <!-- @SystemApi Must be required by a safety source to send an update using the
7830             {@link android.safetycenter.SafetyCenterManager}.
7831             <p>Protection level: internal|privileged
7832             @hide
7833        -->
7834    <permission android:name="android.permission.SEND_SAFETY_CENTER_UPDATE"
7835                android:protectionLevel="internal|privileged" />
7836
7837    <!-- @SystemApi Allows an application to launch device manager setup screens.
7838         <p>Not for use by third-party applications.
7839         @hide
7840    -->
7841    <permission android:name="android.permission.LAUNCH_DEVICE_MANAGER_SETUP"
7842        android:protectionLevel="signature|role" />
7843
7844    <!-- @SystemApi Allows an application to update certain device management related system
7845         resources.
7846         @hide -->
7847    <permission android:name="android.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES"
7848                android:protectionLevel="signature|role" />
7849
7850    <!-- @SystemApi Allows an app to read whether SafetyCenter is enabled/disabled.
7851             <p>Protection level: signature|privileged
7852             @hide
7853        -->
7854    <permission android:name="android.permission.READ_SAFETY_CENTER_STATUS"
7855        android:protectionLevel="signature|privileged" />
7856
7857    <!-- @SystemApi Required to access the safety center internal APIs using the
7858             {@link android.safetycenter.SafetyCenterManager}.
7859             <p>Protection level: internal|installer|role
7860             @hide
7861        -->
7862    <permission android:name="android.permission.MANAGE_SAFETY_CENTER"
7863                android:protectionLevel="internal|installer|role" />
7864
7865    <!-- @SystemApi Allows an application to access the AmbientContextEvent service.
7866         @hide
7867    -->
7868    <permission android:name="android.permission.ACCESS_AMBIENT_CONTEXT_EVENT"
7869                android:protectionLevel="signature|privileged|role"/>
7870
7871    <!-- @SystemApi Required by a AmbientContextEventDetectionService
7872         to ensure that only the service with this permission can bind to it.
7873         @hide
7874    -->
7875    <permission android:name="android.permission.BIND_AMBIENT_CONTEXT_DETECTION_SERVICE"
7876                android:protectionLevel="signature" />
7877
7878    <!-- @SystemApi Allows an app to set keep-clear areas without restrictions on the size or
7879        number of keep-clear areas (see {@link android.view.View#setPreferKeepClearRects}).
7880        When the system arranges floating windows onscreen, it might decide to ignore keep-clear
7881        areas from windows, whose owner does not have this permission.
7882        @hide
7883    -->
7884    <permission android:name="android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS"
7885                android:protectionLevel="signature|privileged" />
7886
7887    <!-- Allows an app to set gesture exclusion without restrictions on the vertical extent of the
7888         exclusions (see {@link android.view.View#setSystemGestureExclusionRects}).
7889         @hide
7890    -->
7891    <permission android:name="android.permission.SET_UNRESTRICTED_GESTURE_EXCLUSION"
7892                android:protectionLevel="signature|privileged|recents" />
7893
7894    <!-- @SystemApi Allows TV input apps and TV apps to use TIS extension interfaces for
7895         domain-specific features.
7896         <p>Protection level: signature|privileged|vendorPrivileged
7897         <p>Not for use by third-party applications.
7898         @hide
7899    -->
7900    <permission android:name="android.permission.TIS_EXTENSION_INTERFACE"
7901        android:protectionLevel="signature|privileged|vendorPrivileged" />
7902
7903    <!-- @SystemApi Allows an application to write to the security log buffer in logd.
7904         @hide -->
7905    <permission android:name="android.permission.WRITE_SECURITY_LOG"
7906        android:protectionLevel="signature|privileged" />
7907
7908    <!-- Allows an UID to be visible to the application based on an interaction between the
7909         two apps. This permission is not intended to be held by apps.
7910         @hide @TestApi @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES) -->
7911    <permission android:name="android.permission.MAKE_UID_VISIBLE"
7912                android:protectionLevel="signature" />
7913
7914    <!-- Limits the system as the only handler of the QUERY_PACKAGE_RESTART broadcast
7915         @hide -->
7916    <permission android:name="android.permission.HANDLE_QUERY_PACKAGE_RESTART"
7917                android:protectionLevel="signature" />
7918
7919    <!-- Allows low-level access to re-mapping modifier keys.
7920         <p>Not for use by third-party applications.
7921         @hide
7922         @TestApi -->
7923    <permission android:name="android.permission.REMAP_MODIFIER_KEYS"
7924                android:protectionLevel="signature" />
7925
7926    <!-- Allows low-level access to monitor keyboard backlight changes.
7927         <p>Not for use by third-party applications.
7928         @hide -->
7929    <permission android:name="android.permission.MONITOR_KEYBOARD_BACKLIGHT"
7930                android:protectionLevel="signature" />
7931
7932    <!-- Allows low-level access to monitor sticky modifier state changes when A11Y Sticky keys
7933         feature is enabled.
7934         <p>Not for use by third-party applications.
7935         @hide -->
7936    <permission android:name="android.permission.MONITOR_STICKY_MODIFIER_STATE"
7937                android:protectionLevel="signature" />
7938
7939    <uses-permission android:name="android.permission.HANDLE_QUERY_PACKAGE_RESTART" />
7940
7941    <!-- Allows financed device kiosk apps to perform actions on the Device Lock service
7942         <p>Protection level: internal|role
7943         <p>Intended for use by the FINANCED_DEVICE_KIOSK role only.
7944    -->
7945    <permission android:name="android.permission.MANAGE_DEVICE_LOCK_STATE"
7946                android:protectionLevel="internal|role" />
7947
7948    <!-- @SystemApi Required by a WearableSensingService to
7949          ensure that only the caller with this permission can bind to it.
7950          <p> Protection level: signature
7951     @hide
7952    -->
7953    <permission android:name="android.permission.BIND_WEARABLE_SENSING_SERVICE"
7954                android:protectionLevel="signature" />
7955
7956    <!-- @SystemApi Allows an app to manage the wearable sensing service.
7957             <p>Protection level: signature|privileged
7958             @hide
7959        -->
7960    <permission android:name="android.permission.MANAGE_WEARABLE_SENSING_SERVICE"
7961                android:protectionLevel="signature|privileged" />
7962
7963    <!-- @SystemApi Allows an app to use the on-device intelligence service.
7964             <p>Protection level: signature|privileged
7965             @hide
7966         @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence")
7967        -->
7968    <permission android:name="android.permission.USE_ON_DEVICE_INTELLIGENCE"
7969        android:protectionLevel="signature|privileged" />
7970
7971
7972    <!-- @SystemApi Allows an app to bind the on-device intelligence service.
7973             <p>Protection level: signature|privileged
7974             @hide
7975         @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence")
7976        -->
7977    <permission android:name="android.permission.BIND_ON_DEVICE_INTELLIGENCE_SERVICE"
7978        android:protectionLevel="signature|privileged" />
7979
7980
7981    <!-- @SystemApi Allows an app to bind the on-device sandboxed service.
7982             <p>Protection level: signature|privileged
7983             @hide
7984         @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence")
7985        -->
7986    <permission android:name="android.permission.BIND_ON_DEVICE_SANDBOXED_INFERENCE_SERVICE"
7987        android:protectionLevel="signature"/>
7988
7989
7990    <!-- Allows applications to use the user-initiated jobs API. For more details
7991         see {@link android.app.job.JobInfo.Builder#setUserInitiated}.
7992         <p>Protection level: normal
7993     -->
7994    <permission android:name="android.permission.RUN_USER_INITIATED_JOBS"
7995                android:protectionLevel="normal"/>
7996
7997    <!-- Allows an app access to the installer provided app metadata.
7998        @SystemApi
7999        @hide
8000      -->
8001    <permission android:name="android.permission.GET_APP_METADATA"
8002                android:protectionLevel="signature|installer|verifier" />
8003
8004    <!-- @hide @SystemApi Allows an application to stage HealthConnect's remote data so that
8005         HealthConnect can later integrate it. -->
8006    <permission android:name="android.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA"
8007                android:protectionLevel="signature|knownSigner"
8008                android:knownCerts="@array/config_healthConnectRestoreKnownSigners"/>
8009
8010    <!-- @hide @TestApi Allows an application to clear HealthConnect's staged remote data for
8011         testing only. For security reasons, this is a platform-only permission. -->
8012    <permission android:name="android.permission.DELETE_STAGED_HEALTH_CONNECT_REMOTE_DATA"
8013                android:protectionLevel="signature" />
8014
8015    <!-- @hide @TestApi Allows tests running in CTS-in-sandbox mode to launch activities -->
8016    <permission android:name="android.permission.START_ACTIVITIES_FROM_SDK_SANDBOX"
8017                android:protectionLevel="signature" />
8018
8019    <!-- @SystemApi Allows the holder to call health connect migration APIs.
8020        @hide -->
8021    <permission android:name="android.permission.MIGRATE_HEALTH_CONNECT_DATA"
8022        android:protectionLevel="signature|knownSigner"
8023        android:knownCerts="@array/config_healthConnectMigrationKnownSigners" />
8024
8025    <!-- @SystemApi Allows an app to query apps in clone profile. The permission is
8026         bidirectional in nature, i.e. cloned apps would be able to query apps in root user.
8027         The permission is not meant for 3P apps as of now.
8028         <p>Protection level: signature|privileged
8029         @hide
8030    -->
8031    <permission android:name="android.permission.QUERY_CLONED_APPS"
8032                android:protectionLevel="signature|privileged" />
8033
8034    <!-- @hide @SystemApi
8035         Allows applications to capture bugreport directly without consent dialog when using the
8036         bugreporting API on userdebug/eng build.
8037         <p>The application still needs to hold {@link android.permission.DUMP} permission and be
8038         bugreport-whitelisted to be able to capture a bugreport using the bugreporting API in the
8039         first place. Then, when the corresponding app op of this permission is ALLOWED, the
8040         bugreport can be captured directly without going through the consent dialog.
8041         <p>Protection level: internal|appop
8042         <p>Intended to only be used on userdebug/eng build.
8043         <p>Not for use by third-party applications. -->
8044    <permission android:name="android.permission.CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD"
8045                android:protectionLevel="internal|appop" />
8046
8047    <!-- @SystemApi Allows to call APIs that log process lifecycle events
8048         @hide -->
8049    <permission android:name="android.permission.LOG_FOREGROUND_RESOURCE_USE"
8050                android:protectionLevel="signature|module" />
8051
8052    <!-- @hide Allows the settings app to access GPU service APIs".
8053        <p>Not for use by third-party applications.
8054        <p>Protection level: signature
8055    -->
8056    <permission android:name="android.permission.ACCESS_GPU_SERVICE"
8057                android:protectionLevel="signature" />
8058
8059    <!-- @hide Allows an application to get type of any provider uri.
8060         <p>Not for use by third-party applications.
8061         <p>Protection level: signature
8062    -->
8063    <permission android:name="android.permission.GET_ANY_PROVIDER_TYPE"
8064                android:protectionLevel="signature" />
8065
8066
8067    <!-- @hide Allows internal applications to read and synchronize non-core flags.
8068         Apps without this permission can only read a subset of flags specifically intended
8069         for use in "core", (i.e. third party apps). Apps with this permission can define their
8070         own flags, and federate those values with other system-level apps.
8071         <p>Not for use by third-party applications.
8072         <p>Protection level: signature
8073    -->
8074    <permission android:name="android.permission.SYNC_FLAGS"
8075        android:protectionLevel="signature" />
8076
8077    <!-- @hide Allows internal applications to override flags in the FeatureFlags service.
8078         <p>Not for use by third-party applications.
8079         <p>Protection level: signature
8080    -->
8081    <permission android:name="android.permission.WRITE_FLAGS"
8082        android:protectionLevel="signature" />
8083
8084    <!-- @hide @SystemApi
8085         @FlaggedApi("android.app.get_binding_uid_importance")
8086         Allows to get the importance of an UID that has a service
8087         binding to the app.
8088         <p>Protection level: signature|privileged
8089    -->
8090    <permission android:name="android.permission.GET_BINDING_UID_IMPORTANCE"
8091        android:protectionLevel="signature|privileged" />
8092
8093    <!-- @hide Allows internal applications to manage displays.
8094        <p>This means intercept internal signals about displays being (dis-)connected
8095        and being able to enable or disable the external displays.
8096        <p>Not for use by third-party applications.
8097        <p>Protection level: signature
8098    -->
8099    <permission android:name="android.permission.MANAGE_DISPLAYS"
8100        android:protectionLevel="signature" />
8101
8102    <!-- @SystemApi Allows an app to track all preparations for a complete factory reset.
8103     <p>Protection level: signature|privileged
8104     @FlaggedApi("android.permission.flags.factory_reset_prep_permission_apis")
8105     @hide -->
8106    <permission android:name="android.permission.PREPARE_FACTORY_RESET"
8107        android:protectionLevel="signature|privileged" />
8108
8109    <!-- @SystemApi Allows focused window to override the default behavior of supported system keys.
8110        The following keycodes are supported:
8111        <p> KEYCODE_STEM_PRIMARY
8112        <p>If an app is granted this permission and has a focused window, it will be allowed to
8113           receive supported key events that are otherwise handled by the system. The app can choose
8114           to consume the key events and trigger its own behavior, in which case the default key
8115           behavior will be skipped.
8116        <p>For example, KEYCODE_STEM_PRIMARY by default opens recent app launcher. If the foreground
8117           fitness app is granted this permission, it can repurpose the KEYCODE_STEM_PRIMARY button
8118           to pause/resume the current fitness session.
8119        <p>Protection level: signature|privileged
8120        @FlaggedApi("com.android.input.flags.override_key_behavior_permission_apis")
8121        @hide -->
8122    <permission android:name="android.permission.OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW"
8123        android:protectionLevel="signature|privileged" />
8124
8125    <!-- Allows internal applications to restrict display modes
8126        <p>Protection level: signature
8127        @FlaggedApi("com.android.server.display.feature.flags.enable_restrict_display_modes")
8128        @hide
8129    -->
8130    <permission android:name="android.permission.RESTRICT_DISPLAY_MODES"
8131        android:protectionLevel="signature" />
8132
8133    <!-- @hide @SystemApi
8134        @FlaggedApi("com.android.server.notification.flags.redact_otp_notifications_from_untrusted_listeners")
8135        Allows apps with a NotificationListenerService to receive notifications with sensitive
8136        information
8137        <p>Apps with a NotificationListenerService without this permission will not be able
8138        to view certain types of sensitive information contained in notifications
8139        <p>Protection level: signature|role
8140    -->
8141    <permission android:name="android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS"
8142        android:protectionLevel="signature|role" />
8143
8144    <!-- @SystemApi
8145         @FlaggedApi("android.app.bic_client")
8146         Allows app to call BackgroundInstallControlManager API to retrieve silently installed apps
8147         for all users on device.
8148         <p>Apps with a BackgroundInstallControlManager client will not be able to call any API without
8149         this permission.
8150         <p>Protection level: signature|role
8151         @hide
8152     -->
8153    <permission android:name="android.permission.GET_BACKGROUND_INSTALLED_PACKAGES"
8154        android:protectionLevel="signature|role" />
8155
8156    <!-- @SystemApi Allows an application to read the system grammatical gender.
8157         @FlaggedApi("android.app.system_terms_of_address_enabled")
8158         <p>Protection level: signature|privileged
8159         @hide
8160    -->
8161    <permission android:name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER"
8162                android:protectionLevel="signature|privileged"/>
8163
8164    <!-- @SystemApi
8165        @FlaggedApi("android.content.pm.emergency_install_permission")
8166        Allows each app store in the system image to designate another app in the system image to
8167        update the app store
8168        <p>Protection level: signature|privileged
8169        @hide
8170    -->
8171    <permission android:name="android.permission.EMERGENCY_INSTALL_PACKAGES"
8172                android:protectionLevel="signature|privileged"/>
8173
8174    <!-- Allows internal applications to override screen timeout temporarily
8175        <p>Protection level: signature
8176        <p>Not for use by third-party applications.
8177        @FlaggedApi("com.android.server.power.feature.flags.enable_early_screen_timeout_detector")
8178        @hide
8179    -->
8180    <permission android:name="android.permission.SCREEN_TIMEOUT_OVERRIDE"
8181                android:protectionLevel="signature" />
8182
8183    <!-- @SystemApi
8184        @FlaggedApi("android.security.fsverity_api")
8185        Allows app to setup fs-verity through FileIntegrityManager.
8186        <p>Protection level: signature|privileged
8187        @hide
8188    -->
8189    <permission android:name="android.permission.SETUP_FSVERITY"
8190                android:protectionLevel="signature|privileged"/>
8191
8192    <!--
8193        @TestApi
8194        Signature permission reserved for testing. This should never be used to
8195        gate any actual functionality.
8196        <p>
8197        Protection level: signature
8198        @hide
8199    -->
8200    <permission android:name="android.permission.RESERVED_FOR_TESTING_SIGNATURE"
8201                android:protectionLevel="signature"/>
8202
8203    <!-- Attribution for Geofencing service. -->
8204    <attribution android:tag="GeofencingService" android:label="@string/geofencing_service"/>
8205    <!-- Attribution for Country Detector. -->
8206    <attribution android:tag="CountryDetector" android:label="@string/country_detector"/>
8207    <!-- Attribution for Location service. -->
8208    <attribution android:tag="LocationService" android:label="@string/location_service"/>
8209    <!-- Attribution for Gnss service. -->
8210    <attribution android:tag="GnssService" android:label="@string/gnss_service"/>
8211    <!-- Attribution for Sensor Notification service. -->
8212    <attribution android:tag="SensorNotificationService"
8213             android:label="@string/sensor_notification_service"/>
8214    <!-- Attribution for Twilight service. -->
8215    <attribution android:tag="TwilightService" android:label="@string/twilight_service"/>
8216    <!-- Attribution for Gnss Time Update service. -->
8217    <attribution android:tag="GnssTimeUpdateService"
8218                 android:label="@string/gnss_time_update_service"/>
8219    <!-- Attribution for MusicRecognitionManagerService.
8220         <p>Not for use by third-party applications.</p> -->
8221    <attribution android:tag="MusicRecognitionManagerService"
8222        android:label="@string/music_recognition_manager_service"/>
8223    <!-- Attribution for Device Policy Manager service. -->
8224    <attribution android:tag="DevicePolicyManagerService"
8225        android:label="@string/device_policy_manager_service"/>
8226
8227    <application android:process="system"
8228                 android:persistent="true"
8229                 android:hasCode="false"
8230                 android:label="@string/android_system_label"
8231                 android:allowClearUserData="false"
8232                 android:backupAgent="com.android.server.backup.SystemBackupAgent"
8233                 android:killAfterRestore="false"
8234                 android:icon="@drawable/ic_launcher_android"
8235                 android:supportsRtl="true"
8236                 android:theme="@style/Theme.DeviceDefault.Light.DarkActionBar"
8237                 android:defaultToDeviceProtectedStorage="true"
8238                 android:forceQueryable="true"
8239                 android:directBootAware="true">
8240        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityShortcutChooserActivity"
8241                  android:exported="false"
8242                  android:theme="@style/Theme.DeviceDefault.Dialog.Alert.DayNight"
8243                  android:finishOnCloseSystemDialogs="true"
8244                  android:excludeFromRecents="true"
8245                  android:documentLaunchMode="never"
8246                  android:relinquishTaskIdentity="true"
8247                  android:process=":ui"
8248                  android:visibleToInstantApps="true">
8249            <intent-filter>
8250                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
8251                <category android:name="android.intent.category.DEFAULT" />
8252            </intent-filter>
8253        </activity>
8254        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityButtonChooserActivity"
8255                  android:exported="false"
8256                  android:theme="@style/Theme.DeviceDefault.Resolver"
8257                  android:finishOnCloseSystemDialogs="true"
8258                  android:excludeFromRecents="true"
8259                  android:documentLaunchMode="never"
8260                  android:relinquishTaskIdentity="true"
8261                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
8262                  android:process=":ui"
8263                  android:visibleToInstantApps="true">
8264            <intent-filter>
8265                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
8266                <category android:name="android.intent.category.DEFAULT" />
8267            </intent-filter>
8268        </activity>
8269        <activity android:name="com.android.internal.app.NfcResolverActivity"
8270                android:theme="@style/Theme.Dialog.Alert"
8271                android:finishOnCloseSystemDialogs="true"
8272                android:excludeFromRecents="true"
8273                android:multiprocess="true"
8274                android:permission="android.permission.SHOW_CUSTOMIZED_RESOLVER"
8275                android:exported="true">
8276            <intent-filter android:priority="100" >
8277                <action android:name="android.nfc.action.SHOW_NFC_RESOLVER" />
8278                <category android:name="android.intent.category.DEFAULT" />
8279            </intent-filter>
8280        </activity>
8281        <activity android:name="com.android.internal.app.IntentForwarderActivity"
8282                android:finishOnCloseSystemDialogs="true"
8283                android:theme="@style/Theme.DeviceDefault.Resolver"
8284                android:excludeFromRecents="true"
8285                android:documentLaunchMode="never"
8286                android:relinquishTaskIdentity="true"
8287                android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
8288                android:label="@string/user_owner_label"
8289                android:exported="true"
8290                android:visibleToInstantApps="true"
8291                >
8292        </activity>
8293        <activity-alias android:name="com.android.internal.app.ForwardIntentToParent"
8294                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
8295                android:exported="true"
8296                android:label="@string/user_owner_label">
8297        </activity-alias>
8298        <activity-alias android:name="com.android.internal.app.ForwardIntentToManagedProfile"
8299                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
8300                android:icon="@drawable/ic_corp_badge"
8301                android:exported="true"
8302                android:label="@string/managed_profile_label">
8303        </activity-alias>
8304        <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
8305                android:theme="@style/Theme.DeviceDefault.System.Dialog.Alert"
8306                android:label="@string/heavy_weight_switcher_title"
8307                android:finishOnCloseSystemDialogs="true"
8308                android:excludeFromRecents="true"
8309                android:process=":ui">
8310        </activity>
8311        <activity android:name="com.android.internal.app.PlatLogoActivity"
8312                android:theme="@style/Theme.NoTitleBar.Fullscreen"
8313                android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
8314                android:enableOnBackInvokedCallback="true"
8315                android:icon="@drawable/platlogo"
8316                android:process=":ui">
8317        </activity>
8318        <activity android:name="com.android.internal.app.DisableCarModeActivity"
8319                android:theme="@style/Theme.NoDisplay"
8320                android:excludeFromRecents="true"
8321                android:process=":ui">
8322        </activity>
8323
8324        <activity android:name="android.accounts.ChooseAccountActivity"
8325                android:excludeFromRecents="true"
8326                android:exported="true"
8327                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
8328                android:label="@string/choose_account_label"
8329                android:process=":ui"
8330                android:visibleToInstantApps="true">
8331        </activity>
8332
8333        <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
8334                android:excludeFromRecents="true"
8335                android:exported="true"
8336                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
8337                android:label="@string/choose_account_label"
8338                android:process=":ui"
8339                android:visibleToInstantApps="true">
8340        </activity>
8341
8342        <activity android:name="android.accounts.ChooseAccountTypeActivity"
8343                android:excludeFromRecents="true"
8344                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
8345                android:label="@string/choose_account_label"
8346                android:process=":ui"
8347                android:visibleToInstantApps="true">
8348        </activity>
8349
8350        <activity android:name="android.accounts.CantAddAccountActivity"
8351                android:excludeFromRecents="true"
8352                android:exported="true"
8353                android:theme="@style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
8354                android:process=":ui">
8355        </activity>
8356
8357        <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
8358                android:excludeFromRecents="true"
8359                android:exported="true"
8360                android:theme="@style/Theme.DeviceDefault.Light.DialogWhenLarge"
8361                android:process=":ui"
8362                android:visibleToInstantApps="true">
8363        </activity>
8364
8365        <activity android:name="android.content.SyncActivityTooManyDeletes"
8366               android:theme="@style/Theme.DeviceDefault.Light.Dialog"
8367               android:label="@string/sync_too_many_deletes"
8368               android:process=":ui">
8369        </activity>
8370
8371        <activity android:name="com.android.internal.app.ShutdownActivity"
8372            android:permission="android.permission.SHUTDOWN"
8373            android:theme="@style/Theme.NoDisplay"
8374            android:exported="true"
8375            android:excludeFromRecents="true">
8376            <intent-filter>
8377                <action android:name="com.android.internal.intent.action.REQUEST_SHUTDOWN" />
8378                <category android:name="android.intent.category.DEFAULT" />
8379            </intent-filter>
8380            <intent-filter>
8381                <action android:name="android.intent.action.REBOOT" />
8382                <category android:name="android.intent.category.DEFAULT" />
8383            </intent-filter>
8384        </activity>
8385
8386        <activity android:name="com.android.internal.app.SystemUserHomeActivity"
8387                  android:enabled="false"
8388                  android:process=":ui"
8389                  android:systemUserOnly="true"
8390                  android:exported="true"
8391                  android:theme="@style/Theme.Translucent.NoTitleBar">
8392            <intent-filter android:priority="-100">
8393                <action android:name="android.intent.action.MAIN" />
8394                <category android:name="android.intent.category.HOME" />
8395            </intent-filter>
8396        </activity>
8397
8398        <!-- Activity to prompt user if it's ok to create a new user sandbox for a
8399             specified account. -->
8400        <activity android:name="com.android.internal.app.ConfirmUserCreationActivity"
8401                android:excludeFromRecents="true"
8402                android:process=":ui"
8403                android:exported="true"
8404                android:theme="@style/Theme.Dialog.Confirmation">
8405            <intent-filter android:priority="1000">
8406                <action android:name="android.os.action.CREATE_USER" />
8407                <category android:name="android.intent.category.DEFAULT" />
8408            </intent-filter>
8409        </activity>
8410
8411        <activity android:name="com.android.internal.app.SuspendedAppActivity"
8412                  android:theme="@style/Theme.Dialog.Confirmation"
8413                  android:excludeFromRecents="true"
8414                  android:process=":ui">
8415        </activity>
8416
8417        <activity android:name="com.android.internal.app.UnlaunchableAppActivity"
8418                android:theme="@style/Theme.Dialog.Confirmation"
8419                android:excludeFromRecents="true"
8420                android:process=":ui">
8421        </activity>
8422
8423        <activity android:name="com.android.internal.app.SetScreenLockDialogActivity"
8424                  android:theme="@style/Theme.Dialog.Confirmation"
8425                  android:excludeFromRecents="true"
8426                  android:process=":ui">
8427        </activity>
8428
8429        <activity android:name="com.android.internal.app.BlockedAppActivity"
8430                android:theme="@style/Theme.Dialog.Confirmation"
8431                android:excludeFromRecents="true"
8432                android:lockTaskMode="always"
8433                android:process=":ui">
8434        </activity>
8435
8436        <activity android:name="com.android.internal.app.BlockedAppStreamingActivity"
8437            android:theme="@style/Theme.Dialog.Confirmation"
8438            android:excludeFromRecents="true"
8439            android:process=":ui">
8440        </activity>
8441
8442        <activity android:name="com.android.internal.app.LaunchAfterAuthenticationActivity"
8443                  android:theme="@style/Theme.Translucent.NoTitleBar"
8444                  android:excludeFromRecents="true"
8445                  android:process=":ui">
8446        </activity>
8447
8448        <activity android:name="com.android.settings.notification.NotificationAccessConfirmationActivity"
8449                  android:theme="@style/Theme.Dialog.Confirmation"
8450                  android:excludeFromRecents="true">
8451        </activity>
8452
8453        <activity android:name="com.android.internal.app.HarmfulAppWarningActivity"
8454                  android:theme="@style/Theme.Dialog.Confirmation"
8455                  android:excludeFromRecents="true"
8456                  android:process=":ui"
8457                  android:label="@string/harmful_app_warning_title"
8458                  android:exported="false">
8459        </activity>
8460
8461        <activity android:name="com.android.server.notification.NASLearnMoreActivity"
8462                  android:theme="@style/Theme.Dialog.Confirmation"
8463                  android:excludeFromRecents="true"
8464                  android:exported="false">
8465        </activity>
8466
8467        <activity android:name="android.service.games.GameSessionTrampolineActivity"
8468                  android:excludeFromRecents="true"
8469                  android:exported="true"
8470                  android:permission="android.permission.MANAGE_GAME_ACTIVITY"
8471                  android:theme="@style/Theme.GameSessionTrampoline">
8472        </activity>
8473
8474        <receiver android:name="com.android.server.BootReceiver"
8475                android:exported="true"
8476                android:systemUserOnly="true">
8477            <intent-filter android:priority="1000">
8478                <action android:name="android.intent.action.BOOT_COMPLETED" />
8479            </intent-filter>
8480        </receiver>
8481
8482        <receiver android:name="com.android.server.updates.CertPinInstallReceiver"
8483                android:exported="true"
8484                android:permission="android.permission.UPDATE_CONFIG">
8485            <intent-filter>
8486                <action android:name="android.intent.action.UPDATE_PINS" />
8487                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8488            </intent-filter>
8489        </receiver>
8490
8491        <receiver android:name="com.android.server.updates.IntentFirewallInstallReceiver"
8492                android:exported="true"
8493                android:permission="android.permission.UPDATE_CONFIG">
8494            <intent-filter>
8495                <action android:name="android.intent.action.UPDATE_INTENT_FIREWALL" />
8496                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8497            </intent-filter>
8498        </receiver>
8499
8500        <receiver android:name="com.android.server.updates.SmsShortCodesInstallReceiver"
8501                android:exported="true"
8502                android:permission="android.permission.UPDATE_CONFIG">
8503            <intent-filter>
8504                <action android:name="android.intent.action.UPDATE_SMS_SHORT_CODES" />
8505                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8506            </intent-filter>
8507        </receiver>
8508
8509        <receiver android:name="com.android.server.updates.NetworkWatchlistInstallReceiver"
8510                  android:exported="true"
8511                  android:permission="android.permission.UPDATE_CONFIG">
8512            <intent-filter>
8513                <action android:name="android.intent.action.UPDATE_NETWORK_WATCHLIST" />
8514                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8515            </intent-filter>
8516        </receiver>
8517
8518        <receiver android:name="com.android.server.updates.ApnDbInstallReceiver"
8519                android:exported="true"
8520                android:permission="android.permission.UPDATE_CONFIG">
8521            <intent-filter>
8522                <action android:name="com.android.internal.intent.action.UPDATE_APN_DB" />
8523                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8524            </intent-filter>
8525        </receiver>
8526
8527        <receiver android:name="com.android.server.updates.CarrierProvisioningUrlsInstallReceiver"
8528                android:exported="true"
8529                android:permission="android.permission.UPDATE_CONFIG">
8530            <intent-filter>
8531                <action android:name="android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS" />
8532                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8533            </intent-filter>
8534        </receiver>
8535
8536        <receiver android:name="com.android.server.updates.CertificateTransparencyLogInstallReceiver"
8537                android:exported="true"
8538                android:permission="android.permission.UPDATE_CONFIG">
8539            <intent-filter>
8540                <action android:name="android.intent.action.UPDATE_CT_LOGS" />
8541                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8542            </intent-filter>
8543        </receiver>
8544
8545        <receiver android:name="com.android.server.updates.LangIdInstallReceiver"
8546                android:exported="true"
8547                android:permission="android.permission.UPDATE_CONFIG">
8548            <intent-filter>
8549                <action android:name="android.intent.action.UPDATE_LANG_ID" />
8550                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8551            </intent-filter>
8552        </receiver>
8553
8554        <receiver android:name="com.android.server.updates.SmartSelectionInstallReceiver"
8555                android:exported="true"
8556                android:permission="android.permission.UPDATE_CONFIG">
8557            <intent-filter>
8558                <action android:name="android.intent.action.UPDATE_SMART_SELECTION" />
8559                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8560            </intent-filter>
8561        </receiver>
8562
8563        <receiver android:name="com.android.server.updates.ConversationActionsInstallReceiver"
8564                  android:exported="true"
8565                  android:permission="android.permission.UPDATE_CONFIG">
8566            <intent-filter>
8567                <action android:name="android.intent.action.UPDATE_CONVERSATION_ACTIONS" />
8568                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8569            </intent-filter>
8570        </receiver>
8571
8572        <receiver android:name="com.android.server.updates.CarrierIdInstallReceiver"
8573                  android:exported="true"
8574                  android:permission="android.permission.UPDATE_CONFIG">
8575            <intent-filter>
8576                <action android:name="android.os.action.UPDATE_CARRIER_ID_DB" />
8577                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8578            </intent-filter>
8579        </receiver>
8580
8581        <receiver android:name="com.android.server.updates.EmergencyNumberDbInstallReceiver"
8582                  android:exported="true"
8583                  android:permission="android.permission.UPDATE_CONFIG">
8584            <intent-filter>
8585                <action android:name="android.os.action.UPDATE_EMERGENCY_NUMBER_DB" />
8586                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8587            </intent-filter>
8588        </receiver>
8589
8590        <receiver android:name="com.android.server.MasterClearReceiver"
8591            android:exported="true"
8592            android:permission="android.permission.MASTER_CLEAR">
8593            <intent-filter
8594                    android:priority="100" >
8595                <!-- For Checkin, Settings, etc.: action=FACTORY_RESET -->
8596                <action android:name="android.intent.action.FACTORY_RESET" />
8597                <!-- As above until all the references to the deprecated MASTER_CLEAR get updated to
8598                     FACTORY_RESET. -->
8599                <action android:name="android.intent.action.MASTER_CLEAR" />
8600
8601                <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
8602                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
8603                <category android:name="android.intent.category.MASTER_CLEAR" />
8604            </intent-filter>
8605        </receiver>
8606
8607        <receiver android:name="com.android.server.WallpaperUpdateReceiver"
8608                  android:exported="true"
8609                  android:permission="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY">
8610            <intent-filter>
8611                <action android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY"/>
8612            </intent-filter>
8613        </receiver>
8614
8615        <!-- Broadcast Receiver listens to sufficient verifier broadcast from Package Manager
8616            when installing new SDK. Verification of SDK code during installation time is run
8617            to determine compatibility with privacy sandbox restrictions. -->
8618        <receiver android:name="com.android.server.sdksandbox.SdkSandboxVerifierReceiver"
8619                 android:exported="false">
8620            <intent-filter>
8621                <action android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION"/>
8622            </intent-filter>
8623        </receiver>
8624
8625        <service android:name="android.hardware.location.GeofenceHardwareService"
8626            android:permission="android.permission.LOCATION_HARDWARE"
8627            android:exported="false" />
8628
8629        <service android:name="com.android.server.MountServiceIdler"
8630                 android:exported="true"
8631                 android:permission="android.permission.BIND_JOB_SERVICE" >
8632        </service>
8633
8634        <service android:name="com.android.server.SmartStorageMaintIdler"
8635                android:exported="true"
8636                android:permission="android.permission.BIND_JOB_SERVICE" >
8637        </service>
8638
8639        <service android:name="com.android.server.ZramWriteback"
8640                 android:exported="false"
8641                 android:permission="android.permission.BIND_JOB_SERVICE" >
8642        </service>
8643
8644        <service android:name="com.android.server.backup.FullBackupJob"
8645                 android:exported="true"
8646                 android:permission="android.permission.BIND_JOB_SERVICE" >
8647        </service>
8648
8649        <service android:name="com.android.server.backup.KeyValueBackupJob"
8650                 android:permission="android.permission.BIND_JOB_SERVICE" >
8651        </service>
8652
8653        <service android:name="com.android.server.content.SyncJobService"
8654                 android:permission="android.permission.BIND_JOB_SERVICE" >
8655        </service>
8656
8657        <service android:name="com.android.server.pm.BackgroundDexOptJobService"
8658                 android:exported="true"
8659                 android:permission="android.permission.BIND_JOB_SERVICE">
8660        </service>
8661
8662        <service android:name="com.android.server.pm.DynamicCodeLoggingService"
8663                 android:permission="android.permission.BIND_JOB_SERVICE">
8664        </service>
8665
8666        <service android:name="com.android.server.selinux.SelinuxAuditLogsService"
8667                 android:permission="android.permission.BIND_JOB_SERVICE">
8668        </service>
8669
8670        <service android:name="com.android.server.compos.IsolatedCompilationJobService"
8671                 android:permission="android.permission.BIND_JOB_SERVICE">
8672        </service>
8673
8674        <service android:name="com.android.system.virtualmachine.SecretkeeperJobService"
8675                 android:permission="android.permission.BIND_JOB_SERVICE">
8676        </service>
8677
8678        <service android:name="com.android.server.PruneInstantAppsJobService"
8679                 android:permission="android.permission.BIND_JOB_SERVICE" >
8680        </service>
8681
8682        <service android:name="com.android.server.storage.DiskStatsLoggingService"
8683                 android:permission="android.permission.BIND_JOB_SERVICE" >
8684        </service>
8685
8686        <service android:name="com.android.server.PreloadsFileCacheExpirationJobService"
8687                 android:permission="android.permission.BIND_JOB_SERVICE" >
8688        </service>
8689
8690        <service android:name="com.android.server.camera.CameraStatsJobService"
8691                 android:permission="android.permission.BIND_JOB_SERVICE" >
8692        </service>
8693
8694        <service android:name="com.android.server.usage.UsageStatsIdleService"
8695                 android:permission="android.permission.BIND_JOB_SERVICE" >
8696        </service>
8697
8698        <service android:name="com.android.server.net.watchlist.ReportWatchlistJobService"
8699                 android:permission="android.permission.BIND_JOB_SERVICE" >
8700        </service>
8701
8702        <service android:name="com.android.server.display.BrightnessIdleJob"
8703                 android:permission="android.permission.BIND_JOB_SERVICE" >
8704        </service>
8705
8706        <service android:name="com.android.server.people.data.DataMaintenanceService"
8707                 android:permission="android.permission.BIND_JOB_SERVICE" >
8708        </service>
8709
8710        <service android:name="com.android.server.profcollect.ProfcollectForwardingService$ProfcollectBGJobService"
8711                 android:permission="android.permission.BIND_JOB_SERVICE" >
8712        </service>
8713
8714        <service android:name="com.android.server.pm.GentleUpdateHelper$Service"
8715            android:permission="android.permission.BIND_JOB_SERVICE" >
8716        </service>
8717
8718        <service
8719                android:name="com.android.server.autofill.AutofillCompatAccessibilityService"
8720                android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
8721                android:visibleToInstantApps="true"
8722                android:exported="true">
8723            <meta-data
8724                    android:name="android.accessibilityservice"
8725                    android:resource="@xml/autofill_compat_accessibility_service" />
8726        </service>
8727
8728        <service android:name="com.android.server.blob.BlobStoreIdleJobService"
8729                 android:permission="android.permission.BIND_JOB_SERVICE">
8730        </service>
8731
8732        <service android:name="com.android.server.companion.association.InactiveAssociationsRemovalService"
8733                 android:permission="android.permission.BIND_JOB_SERVICE">
8734        </service>
8735
8736        <service android:name="com.android.server.appsearch.contactsindexer.ContactsIndexerMaintenanceService"
8737                 android:permission="android.permission.BIND_JOB_SERVICE">
8738        </service>
8739
8740        <service android:name="com.android.server.BinaryTransparencyService$UpdateMeasurementsJobService"
8741                 android:permission="android.permission.BIND_JOB_SERVICE">
8742        </service>
8743
8744        <service android:name="com.android.server.notification.ReviewNotificationPermissionsJobService"
8745                 android:permission="android.permission.BIND_JOB_SERVICE">
8746        </service>
8747
8748        <service android:name="com.android.server.notification.NotificationHistoryJobService"
8749                 android:permission="android.permission.BIND_JOB_SERVICE" >
8750        </service>
8751
8752        <service android:name="com.android.server.notification.NotificationBitmapJobService"
8753            android:permission="android.permission.BIND_JOB_SERVICE" >
8754        </service>
8755
8756        <service android:name="com.android.server.healthconnect.HealthConnectDailyService"
8757                 android:permission="android.permission.BIND_JOB_SERVICE" >
8758        </service>
8759
8760        <service android:name="com.android.server.healthconnect.migration.MigrationBroadcastJobService"
8761            android:permission="android.permission.BIND_JOB_SERVICE">
8762        </service>
8763
8764        <service android:name="com.android.server.healthconnect.backuprestore.BackupRestore$BackupRestoreJobService"
8765            android:permission="android.permission.BIND_JOB_SERVICE">
8766        </service>
8767
8768        <service android:name="com.android.server.pm.PackageManagerShellCommandDataLoader"
8769            android:exported="false">
8770            <intent-filter>
8771                <action android:name="android.intent.action.LOAD_DATA"/>
8772            </intent-filter>
8773        </service>
8774
8775        <!-- TODO: Move to ExtServices or relevant component. -->
8776        <service android:name="android.service.selectiontoolbar.DefaultSelectionToolbarRenderService"
8777                 android:permission="android.permission.BIND_SELECTION_TOOLBAR_RENDER_SERVICE"
8778                 android:process=":ui"
8779                 android:exported="false">
8780            <intent-filter>
8781                <action android:name="android.service.selectiontoolbar.SelectionToolbarRenderService"/>
8782            </intent-filter>
8783        </service>
8784
8785        <service android:name="com.android.server.art.BackgroundDexoptJobService"
8786                 android:permission="android.permission.BIND_JOB_SERVICE" >
8787        </service>
8788
8789        <service android:name="com.android.server.companion.datatransfer.contextsync.CallMetadataSyncInCallService"
8790                 android:permission="android.permission.BIND_INCALL_SERVICE"
8791                 android:exported="true">
8792            <meta-data android:name="android.telecom.INCLUDE_SELF_MANAGED_CALLS"
8793                       android:value="true" />
8794            <intent-filter>
8795                <action android:name="android.telecom.InCallService"/>
8796            </intent-filter>
8797        </service>
8798
8799        <service android:name="com.android.server.companion.datatransfer.contextsync.CallMetadataSyncConnectionService"
8800                 android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
8801                 android:exported="true">
8802            <intent-filter>
8803                <action android:name="android.telecom.ConnectionService"/>
8804            </intent-filter>
8805        </service>
8806
8807        <provider
8808            android:name="com.android.server.textclassifier.IconsContentProvider"
8809            android:authorities="com.android.textclassifier.icons"
8810            android:singleUser="true"
8811            android:enabled="true"
8812            android:exported="true">
8813        </provider>
8814
8815        <meta-data
8816            android:name="com.android.server.patch.25239169"
8817            android:value="true" />
8818
8819    </application>
8820
8821</manifest>
8822