• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.action.AUTO_ON_STATE_CHANGED" />
158    <protected-broadcast android:name="android.bluetooth.action.CONNECTION_STATE_CHANGED" />
159    <protected-broadcast android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
160    <protected-broadcast android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
161    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
162    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
163    <protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
164    <protected-broadcast android:name="android.bluetooth.adapter.action.BLUETOOTH_ADDRESS_CHANGED" />
165    <protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
166    <protected-broadcast android:name="android.bluetooth.device.action.UUID" />
167    <protected-broadcast android:name="android.bluetooth.device.action.MAS_INSTANCE" />
168    <protected-broadcast android:name="android.bluetooth.device.action.ALIAS_CHANGED" />
169    <protected-broadcast android:name="android.bluetooth.device.action.FOUND" />
170    <protected-broadcast android:name="android.bluetooth.device.action.CLASS_CHANGED" />
171    <protected-broadcast android:name="android.bluetooth.device.action.ACL_CONNECTED" />
172    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
173    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
174    <protected-broadcast android:name="android.bluetooth.device.action.NAME_CHANGED" />
175    <protected-broadcast android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
176    <protected-broadcast android:name="android.bluetooth.device.action.NAME_FAILED" />
177    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
178    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
179    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
180    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL" />
181    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST" />
182    <protected-broadcast android:name="android.bluetooth.device.action.KEY_MISSING" />
183    <protected-broadcast android:name="android.bluetooth.device.action.ENCRYPTION_CHANGE" />
184    <protected-broadcast android:name="android.bluetooth.device.action.SDP_RECORD" />
185    <protected-broadcast android:name="android.bluetooth.device.action.BATTERY_LEVEL_CHANGED" />
186    <protected-broadcast android:name="android.bluetooth.device.action.REMOTE_ISSUE_OCCURRED" />
187    <protected-broadcast android:name="android.bluetooth.devicepicker.action.LAUNCH" />
188    <protected-broadcast android:name="android.bluetooth.devicepicker.action.DEVICE_SELECTED" />
189    <protected-broadcast
190        android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
191    <protected-broadcast
192        android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />
193    <protected-broadcast
194        android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
195    <protected-broadcast
196        android:name="android.bluetooth.headset.action.HF_INDICATORS_VALUE_CHANGED" />
197    <protected-broadcast
198        android:name="android.bluetooth.headset.profile.action.ACTIVE_DEVICE_CHANGED" />
199    <protected-broadcast
200        android:name="android.bluetooth.headsetclient.profile.action.CONNECTION_STATE_CHANGED" />
201    <protected-broadcast
202        android:name="android.bluetooth.headsetclient.profile.action.AUDIO_STATE_CHANGED" />
203    <protected-broadcast
204        android:name="android.bluetooth.headsetclient.profile.action.AG_EVENT" />
205    <protected-broadcast
206        android:name="android.bluetooth.headsetclient.profile.action.AG_CALL_CHANGED" />
207    <protected-broadcast
208        android:name="android.bluetooth.headsetclient.profile.action.RESULT" />
209    <protected-broadcast
210        android:name="android.bluetooth.headsetclient.profile.action.LAST_VTAG" />
211    <protected-broadcast
212        android:name="android.bluetooth.headsetclient.profile.action.NETWORK_SERVICE_STATE_CHANGED" />
213    <protected-broadcast
214        android:name="android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED" />
215    <protected-broadcast
216        android:name="android.bluetooth.hearingaid.profile.action.PLAYING_STATE_CHANGED" />
217    <protected-broadcast
218        android:name="android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED" />
219    <protected-broadcast android:name="android.bluetooth.action.CSIS_CONNECTION_STATE_CHANGED" />
220    <protected-broadcast android:name="android.bluetooth.action.CSIS_DEVICE_AVAILABLE" />
221    <protected-broadcast android:name="android.bluetooth.action.CSIS_SET_MEMBER_AVAILABLE" />
222    <protected-broadcast
223        android:name="android.bluetooth.volume-control.profile.action.CONNECTION_STATE_CHANGED" />
224    <protected-broadcast
225        android:name="android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED" />
226    <protected-broadcast
227        android:name="android.bluetooth.a2dp.profile.action.ACTIVE_DEVICE_CHANGED" />
228    <protected-broadcast
229        android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
230    <protected-broadcast
231        android:name="android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED" />
232    <protected-broadcast
233        android:name="android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED" />
234    <protected-broadcast
235        android:name="android.bluetooth.a2dp-sink.profile.action.PLAYING_STATE_CHANGED" />
236    <protected-broadcast
237        android:name="android.bluetooth.a2dp-sink.profile.action.AUDIO_CONFIG_CHANGED" />
238    <protected-broadcast
239        android:name="android.bluetooth.avrcp-controller.profile.action.BROWSE_CONNECTION_STATE_CHANGED" />
240    <protected-broadcast
241        android:name="android.bluetooth.avrcp-controller.profile.action.CONNECTION_STATE_CHANGED" />
242    <protected-broadcast
243        android:name="android.bluetooth.avrcp-controller.profile.action.FOLDER_LIST" />
244    <protected-broadcast
245        android:name="android.bluetooth.avrcp-controller.profile.action.PLAYER_SETTING" />
246    <protected-broadcast
247        android:name="android.bluetooth.avrcp-controller.profile.action.TRACK_EVENT" />
248    <protected-broadcast
249        android:name="android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED" />
250    <protected-broadcast
251        android:name="android.bluetooth.input.profile.action.IDLE_TIME_CHANGED" />
252    <protected-broadcast
253        android:name="android.bluetooth.input.profile.action.PROTOCOL_MODE_CHANGED" />
254    <protected-broadcast
255        android:name="android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS" />
256    <protected-broadcast
257        android:name="android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED" />
258    <protected-broadcast
259        android:name="android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED" />
260    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.CONNECTION_STATE_CHANGED" />
261    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_RECEIVED" />
262    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_SENT_SUCCESSFULLY" />
263    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELIVERED_SUCCESSFULLY" />
264    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_READ_STATUS_CHANGED" />
265    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELETED_STATUS_CHANGED" />
266    <protected-broadcast
267        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
268    <protected-broadcast
269        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
270    <protected-broadcast
271        android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" />
272    <protected-broadcast android:name="android.bluetooth.action.HAP_CONNECTION_STATE_CHANGED" />
273    <protected-broadcast android:name="android.bluetooth.action.HAP_DEVICE_AVAILABLE" />
274    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_CONNECTION_STATE_CHANGED" />
275    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_ACTIVE_DEVICE_CHANGED" />
276    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_CONF_CHANGED" />
277    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_GROUP_NODE_STATUS_CHANGED" />
278    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_GROUP_STATUS_CHANGED" />
279    <protected-broadcast
280        android:name="android.bluetooth.action.TETHERING_STATE_CHANGED" />
281    <protected-broadcast android:name="android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED" />
282    <protected-broadcast android:name="android.bluetooth.pbapclient.profile.action.CONNECTION_STATE_CHANGED" />
283    <protected-broadcast android:name="android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED" />
284    <protected-broadcast android:name="android.btopp.intent.action.INCOMING_FILE_NOTIFICATION" />
285    <protected-broadcast android:name="android.btopp.intent.action.USER_CONFIRMATION_TIMEOUT" />
286    <protected-broadcast android:name="android.btopp.intent.action.LIST" />
287    <protected-broadcast android:name="android.btopp.intent.action.OPEN_OUTBOUND" />
288    <protected-broadcast android:name="android.btopp.intent.action.HIDE_COMPLETE" />
289    <protected-broadcast android:name="android.btopp.intent.action.CONFIRM" />
290    <protected-broadcast android:name="android.btopp.intent.action.HIDE" />
291    <protected-broadcast android:name="android.btopp.intent.action.RETRY" />
292    <protected-broadcast android:name="android.btopp.intent.action.OPEN" />
293    <protected-broadcast android:name="android.btopp.intent.action.OPEN_INBOUND" />
294    <protected-broadcast android:name="android.btopp.intent.action.TRANSFER_COMPLETE" />
295    <protected-broadcast android:name="android.btopp.intent.action.ACCEPT" />
296    <protected-broadcast android:name="android.btopp.intent.action.DECLINE" />
297    <protected-broadcast android:name="com.android.bluetooth.gatt.REFRESH_BATCHED_SCAN" />
298    <protected-broadcast android:name="com.android.bluetooth.pbap.authchall" />
299    <protected-broadcast android:name="com.android.bluetooth.pbap.userconfirmtimeout" />
300    <protected-broadcast android:name="com.android.bluetooth.pbap.authresponse" />
301    <protected-broadcast android:name="com.android.bluetooth.pbap.authcancelled" />
302    <protected-broadcast android:name="com.android.bluetooth.sap.USER_CONFIRM_TIMEOUT" />
303    <protected-broadcast android:name="com.android.bluetooth.sap.action.DISCONNECT_ACTION" />
304
305    <protected-broadcast android:name="android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED" />
306
307    <protected-broadcast android:name="android.hardware.hdmi.action.OSD_MESSAGE" />
308    <protected-broadcast android:name="android.hardware.hdmi.action.ON_ACTIVE_SOURCE_RECOVERED_DISMISS_UI" />
309
310    <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" />
311    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_CHANGED" />
312    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_COMPLIANCE_CHANGED" />
313    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
314    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_DETACHED" />
315    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE" />
316    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
317    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
318
319    <protected-broadcast android:name="android.intent.action.HEADSET_PLUG" />
320    <protected-broadcast android:name="android.media.action.HDMI_AUDIO_PLUG" />
321    <protected-broadcast android:name="android.media.action.MICROPHONE_MUTE_CHANGED" />
322    <protected-broadcast android:name="android.media.action.SPEAKERPHONE_STATE_CHANGED" />
323
324    <protected-broadcast android:name="android.media.AUDIO_BECOMING_NOISY" />
325    <protected-broadcast android:name="android.media.RINGER_MODE_CHANGED" />
326    <protected-broadcast android:name="android.media.VIBRATE_SETTING_CHANGED" />
327    <protected-broadcast android:name="android.media.VOLUME_CHANGED_ACTION" />
328    <protected-broadcast android:name="android.media.MASTER_VOLUME_CHANGED_ACTION" />
329    <protected-broadcast android:name="android.media.MASTER_MUTE_CHANGED_ACTION" />
330    <protected-broadcast android:name="android.media.MASTER_MONO_CHANGED_ACTION" />
331    <protected-broadcast android:name="android.media.MASTER_BALANCE_CHANGED_ACTION" />
332    <protected-broadcast android:name="android.media.SCO_AUDIO_STATE_CHANGED" />
333    <protected-broadcast android:name="android.media.ACTION_SCO_AUDIO_STATE_UPDATED" />
334    <protected-broadcast android:name="com.android.server.audio.action.CHECK_MUSIC_ACTIVE" />
335
336    <protected-broadcast android:name="android.intent.action.MEDIA_REMOVED" />
337    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTED" />
338    <protected-broadcast android:name="android.intent.action.MEDIA_CHECKING" />
339    <protected-broadcast android:name="android.intent.action.MEDIA_NOFS" />
340    <protected-broadcast android:name="android.intent.action.MEDIA_MOUNTED" />
341    <protected-broadcast android:name="android.intent.action.MEDIA_SHARED" />
342    <protected-broadcast android:name="android.intent.action.MEDIA_UNSHARED" />
343    <protected-broadcast android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
344    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTABLE" />
345    <protected-broadcast android:name="android.intent.action.MEDIA_EJECT" />
346
347    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL" />
348    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE" />
349    <!-- @deprecated.  Only {@link android.net.ConnectivityManager.CONNECTIVITY_ACTION} is sent. -->
350    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE" />
351    <protected-broadcast android:name="android.net.conn.DATA_ACTIVITY_CHANGE" />
352    <protected-broadcast android:name="android.net.conn.RESTRICT_BACKGROUND_CHANGED" />
353    <protected-broadcast android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
354    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL_TEST_COMPLETED" />
355
356    <protected-broadcast android:name="android.net.nsd.STATE_CHANGED" />
357
358    <!-- For OMAPI -->
359    <protected-broadcast android:name="android.se.omapi.action.SECURE_ELEMENT_STATE_CHANGED" />
360
361    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
362    <protected-broadcast android:name="android.nfc.action.PREFERRED_PAYMENT_CHANGED" />
363    <protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
364    <protected-broadcast android:name="android.nfc.action.REQUIRE_UNLOCK_FOR_NFC" />
365    <protected-broadcast android:name="com.android.nfc.action.LLCP_UP" />
366    <protected-broadcast android:name="com.android.nfc.action.LLCP_DOWN" />
367    <protected-broadcast android:name="com.android.nfc.cardemulation.action.CLOSE_TAP_DIALOG" />
368    <protected-broadcast android:name="com.android.nfc.handover.action.ALLOW_CONNECT" />
369    <protected-broadcast android:name="com.android.nfc.handover.action.DENY_CONNECT" />
370    <protected-broadcast android:name="com.android.nfc.handover.action.TIMEOUT_CONNECT" />
371    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_ON_DETECTED" />
372    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED" />
373    <protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
374    <!-- For NFC to BT handover -->
375    <protected-broadcast android:name="android.btopp.intent.action.WHITELIST_DEVICE" />
376    <protected-broadcast android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER" />
377    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND" />
378    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE" />
379    <protected-broadcast android:name="com.android.nfc.handover.action.CANCEL_HANDOVER_TRANSFER" />
380
381    <protected-broadcast android:name="android.net.action.CLEAR_DNS_CACHE" />
382    <protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
383
384    <protected-broadcast android:name="android.os.UpdateLock.UPDATE_LOCK_CHANGED" />
385
386    <protected-broadcast android:name="android.intent.action.DREAMING_STARTED" />
387    <protected-broadcast android:name="android.intent.action.DREAMING_STOPPED" />
388    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
389
390    <protected-broadcast android:name="com.android.server.stats.action.TRIGGER_COLLECTION" />
391
392    <protected-broadcast android:name="com.android.server.WifiManager.action.START_SCAN" />
393    <protected-broadcast android:name="com.android.server.WifiManager.action.START_PNO" />
394    <protected-broadcast android:name="com.android.server.WifiManager.action.DELAYED_DRIVER_STOP" />
395    <protected-broadcast android:name="com.android.server.WifiManager.action.DEVICE_IDLE" />
396    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_ACCEPTED" />
397    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_DECLINED" />
398    <protected-broadcast android:name="com.android.internal.action.EUICC_FACTORY_RESET" />
399    <protected-broadcast
400        android:name="com.android.internal.action.EUICC_REMOVE_INVISIBLE_SUBSCRIPTIONS" />
401    <protected-broadcast android:name="com.android.server.usb.ACTION_OPEN_IN_APPS" />
402    <protected-broadcast android:name="com.android.server.am.DELETE_DUMPHEAP" />
403    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_WARNING" />
404    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_RAPID" />
405    <protected-broadcast android:name="com.android.server.wifi.ACTION_SHOW_SET_RANDOMIZATION_DETAILS" />
406    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_ALLOWED_APP" />
407    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISALLOWED_APP" />
408    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISMISSED" />
409    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_ALLOWED_CARRIER" />
410    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISALLOWED_CARRIER" />
411    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISMISSED" />
412    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.USER_DISMISSED_NOTIFICATION" />
413    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.CONNECT_TO_NETWORK" />
414    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_WIFI_NETWORK" />
415    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_NETWORK_AFTER_FAILURE" />
416    <protected-broadcast android:name="com.android.server.wifi.wakeup.DISMISS_NOTIFICATION" />
417    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_PREFERENCES" />
418    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_SETTINGS" />
419    <protected-broadcast android:name="com.android.server.wifi.wakeup.TURN_OFF_WIFI_WAKE" />
420    <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" />
421    <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
422    <protected-broadcast android:name="android.net.wifi.WIFI_CREDENTIAL_CHANGED" />
423    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED" />
424    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_RESOURCE_CHANGED" />
425    <protected-broadcast android:name="android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED" />
426    <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" />
427    <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" />
428    <protected-broadcast android:name="android.net.wifi.STATE_CHANGE" />
429    <protected-broadcast android:name="android.net.wifi.LINK_CONFIGURATION_CHANGED" />
430    <protected-broadcast android:name="android.net.wifi.CONFIGURED_NETWORKS_CHANGE" />
431    <protected-broadcast android:name="android.net.wifi.action.NETWORK_SETTINGS_RESET" />
432    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_DEAUTH_IMMINENT" />
433    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_ICON" />
434    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_OSU_PROVIDERS_LIST" />
435    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_SUBSCRIPTION_REMEDIATION" />
436    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW" />
437    <protected-broadcast android:name="android.net.wifi.action.REFRESH_USER_PROVISIONING" />
438    <protected-broadcast android:name="android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION" />
439    <protected-broadcast android:name="android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED" />
440    <protected-broadcast android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
441    <protected-broadcast android:name="android.net.wifi.supplicant.STATE_CHANGE" />
442    <protected-broadcast android:name="android.net.wifi.p2p.STATE_CHANGED" />
443    <protected-broadcast android:name="android.net.wifi.p2p.DISCOVERY_STATE_CHANGE" />
444    <protected-broadcast android:name="android.net.wifi.p2p.THIS_DEVICE_CHANGED" />
445    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
446    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
447    <protected-broadcast android:name="android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED" />
448    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
449    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
450    <!-- This broadcast is no longer sent in S but it should stay protected to avoid third party
451         apps broadcasting this and confusing old system apps that may not have been updated. -->
452    <protected-broadcast android:name="android.net.conn.NETWORK_CONDITIONS_MEASURED" />
453    <protected-broadcast
454            android:name="android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED" />
455    <protected-broadcast android:name="android.net.scoring.SCORE_NETWORKS" />
456    <protected-broadcast android:name="android.net.scoring.SCORER_CHANGED" />
457    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE" />
458    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" />
459    <protected-broadcast android:name="android.intent.action.AIRPLANE_MODE" />
460    <protected-broadcast android:name="android.intent.action.ADVANCED_SETTINGS" />
461    <protected-broadcast android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED" />
462    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRED_DEVICES" />
463    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRING_RESULT" />
464    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_STATUS" />
465
466    <!-- Legacy -->
467    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_START" />
468    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_END" />
469
470    <protected-broadcast android:name="com.android.server.ACTION_TRIGGER_IDLE" />
471
472    <protected-broadcast android:name="android.intent.action.HDMI_PLUGGED" />
473
474    <protected-broadcast android:name="android.intent.action.PHONE_STATE" />
475
476    <protected-broadcast android:name="android.intent.action.SUB_DEFAULT_CHANGED" />
477
478    <protected-broadcast android:name="android.location.PROVIDERS_CHANGED" />
479    <protected-broadcast android:name="android.location.MODE_CHANGED" />
480    <protected-broadcast android:name="android.location.action.GNSS_CAPABILITIES_CHANGED" />
481
482    <protected-broadcast android:name="android.net.proxy.PAC_REFRESH" />
483
484    <protected-broadcast android:name="android.telecom.action.DEFAULT_DIALER_CHANGED" />
485    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED" />
486    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_CREATED" />
487    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_LOST" />
488    <protected-broadcast android:name="android.intent.action.CONTENT_CHANGED" />
489    <protected-broadcast android:name="android.provider.Telephony.MMS_DOWNLOADED" />
490
491    <protected-broadcast
492        android:name="com.android.server.connectivityservice.CONNECTED_TO_PROVISIONING_NETWORK_ACTION" />
493
494    <!-- Defined in RestrictionsManager -->
495    <protected-broadcast android:name="android.content.action.PERMISSION_RESPONSE_RECEIVED" />
496    <protected-broadcast android:name="android.content.action.REQUEST_PERMISSION" />
497
498    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_STARTED" />
499    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
500    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_PROGRESS" />
501    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
502
503    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED" />
504    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED" />
505
506    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_DONE" />
507    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_FAILED" />
508
509    <protected-broadcast android:name="android.internal.policy.action.BURN_IN_PROTECTION" />
510    <protected-broadcast android:name="android.app.action.SYSTEM_UPDATE_POLICY_CHANGED" />
511    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
512    <protected-broadcast android:name="android.app.action.DEVICE_OWNER_CHANGED" />
513    <protected-broadcast android:name="android.app.action.MANAGED_USER_CREATED" />
514
515    <!-- Added in N -->
516    <protected-broadcast android:name="android.intent.action.ANR" />
517    <protected-broadcast android:name="android.intent.action.CALL" />
518    <protected-broadcast android:name="android.intent.action.CALL_PRIVILEGED" />
519    <protected-broadcast android:name="android.intent.action.DROPBOX_ENTRY_ADDED" />
520    <protected-broadcast android:name="android.intent.action.INPUT_METHOD_CHANGED" />
521    <protected-broadcast android:name="android.intent.action.internal_sim_state_changed" />
522    <protected-broadcast android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
523    <protected-broadcast android:name="android.intent.action.PRECISE_CALL_STATE" />
524    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_PHONE_STATE" />
525    <protected-broadcast android:name="android.intent.action.USER_INFO_CHANGED" />
526    <protected-broadcast android:name="android.intent.action.USER_UNLOCKED" />
527    <protected-broadcast android:name="android.intent.action.WALLPAPER_CHANGED" />
528
529    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_MANAGER_STATE_CHANGED" />
530    <protected-broadcast android:name="android.app.action.CHOOSE_PRIVATE_KEY_ALIAS" />
531    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
532    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
533    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
534    <protected-broadcast android:name="android.app.action.LOCK_TASK_ENTERING" />
535    <protected-broadcast android:name="android.app.action.LOCK_TASK_EXITING" />
536    <protected-broadcast android:name="android.app.action.NOTIFY_PENDING_SYSTEM_UPDATE" />
537    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_CHANGED" />
538    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_EXPIRING" />
539    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_FAILED" />
540    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_SUCCEEDED" />
541    <protected-broadcast android:name="com.android.server.ACTION_EXPIRED_PASSWORD_NOTIFICATION" />
542    <protected-broadcast android:name="com.android.server.ACTION_PROFILE_OFF_DEADLINE" />
543    <protected-broadcast android:name="com.android.server.ACTION_TURN_PROFILE_ON_NOTIFICATION" />
544
545    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_ADDED" />
546    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNLOCKED" />
547    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_REMOVED" />
548    <protected-broadcast android:name="android.app.action.MANAGED_PROFILE_PROVISIONED" />
549
550    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_STATE_CHANGED" />
551    <protected-broadcast android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT" />
552    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
553    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
554    <protected-broadcast android:name="android.content.jobscheduler.JOB_DELAY_EXPIRED" />
555    <protected-broadcast android:name="android.content.syncmanager.SYNC_ALARM" />
556    <protected-broadcast android:name="android.media.INTERNAL_RINGER_MODE_CHANGED_ACTION" />
557    <protected-broadcast android:name="android.media.STREAM_DEVICES_CHANGED_ACTION" />
558    <protected-broadcast android:name="android.media.STREAM_MUTE_CHANGED_ACTION" />
559    <protected-broadcast android:name="android.net.sip.SIP_SERVICE_UP" />
560    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
561    <protected-broadcast android:name="android.os.action.CHARGING" />
562    <protected-broadcast android:name="android.os.action.DISCHARGING" />
563    <protected-broadcast android:name="android.search.action.SEARCHABLES_CHANGED" />
564    <protected-broadcast android:name="android.security.STORAGE_CHANGED" />
565    <protected-broadcast android:name="android.security.action.TRUST_STORE_CHANGED" />
566    <protected-broadcast android:name="android.security.action.KEYCHAIN_CHANGED" />
567    <protected-broadcast android:name="android.security.action.KEY_ACCESS_CHANGED" />
568    <protected-broadcast android:name="android.telecom.action.NUISANCE_CALL_STATUS_CHANGED" />
569    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_REGISTERED" />
570    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_UNREGISTERED" />
571    <protected-broadcast android:name="android.telecom.action.POST_CALL" />
572    <protected-broadcast android:name="android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION" />
573    <protected-broadcast android:name="android.telephony.action.CARRIER_CONFIG_CHANGED" />
574    <protected-broadcast android:name="android.telephony.action.DEFAULT_SUBSCRIPTION_CHANGED" />
575    <protected-broadcast android:name="android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED" />
576    <protected-broadcast android:name="android.telephony.action.SECRET_CODE" />
577    <protected-broadcast android:name="android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION" />
578    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_PLANS_CHANGED" />
579
580    <protected-broadcast android:name="com.android.bluetooth.btservice.action.ALARM_WAKEUP" />
581    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_POLL" />
582    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_UPDATED" />
583    <protected-broadcast android:name="com.android.server.timedetector.NetworkTimeUpdateService.action.POLL" />
584    <protected-broadcast android:name="com.android.server.telecom.intent.action.CALLS_ADD_ENTRY" />
585    <protected-broadcast android:name="com.android.settings.location.MODE_CHANGING" />
586    <protected-broadcast android:name="com.android.settings.bluetooth.ACTION_DISMISS_PAIRING" />
587    <protected-broadcast android:name="com.android.settings.network.DELETE_SUBSCRIPTION" />
588    <protected-broadcast android:name="com.android.settings.network.SWITCH_TO_SUBSCRIPTION" />
589    <protected-broadcast android:name="com.android.settings.wifi.action.NETWORK_REQUEST" />
590
591    <protected-broadcast android:name="android.app.action.KEYGUARD_PRIVATE_NOTIFICATIONS_CHANGED" />
592    <protected-broadcast android:name="NotificationManagerService.TIMEOUT" />
593    <protected-broadcast android:name="com.android.server.notification.TimeToLiveHelper" />
594    <protected-broadcast android:name="NotificationHistoryDatabase.CLEANUP" />
595    <protected-broadcast android:name="ScheduleConditionProvider.EVALUATE" />
596    <protected-broadcast android:name="EventConditionProvider.EVALUATE" />
597    <protected-broadcast android:name="SnoozeHelper.EVALUATE" />
598    <protected-broadcast android:name="wifi_scan_available" />
599
600    <protected-broadcast android:name="action.cne.started" />
601    <protected-broadcast android:name="android.content.jobscheduler.JOB_DEADLINE_EXPIRED" />
602    <protected-broadcast android:name="android.intent.action.ACTION_UNSOL_RESPONSE_OEM_HOOK_RAW" />
603    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_SUPL" />
604    <protected-broadcast android:name="android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED" />
605    <protected-broadcast android:name="android.os.storage.action.VOLUME_STATE_CHANGED" />
606    <protected-broadcast android:name="android.os.storage.action.DISK_SCANNED" />
607    <protected-broadcast android:name="com.android.server.action.UPDATE_TWILIGHT_STATE" />
608    <protected-broadcast android:name="com.android.server.action.RESET_TWILIGHT_AUTO" />
609    <protected-broadcast android:name="com.android.server.device_idle.STEP_IDLE_STATE" />
610    <protected-broadcast android:name="com.android.server.device_idle.STEP_LIGHT_IDLE_STATE" />
611    <protected-broadcast android:name="com.android.server.Wifi.action.TOGGLE_PNO" />
612    <protected-broadcast android:name="intent.action.ACTION_RF_BAND_INFO" />
613    <protected-broadcast android:name="android.intent.action.MEDIA_RESOURCE_GRANTED" />
614    <protected-broadcast android:name="android.app.action.NETWORK_LOGS_AVAILABLE" />
615    <protected-broadcast android:name="android.app.action.SECURITY_LOGS_AVAILABLE" />
616    <protected-broadcast android:name="android.app.action.COMPLIANCE_ACKNOWLEDGEMENT_REQUIRED" />
617
618    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED" />
619    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED_INTERNAL" />
620    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_CHANGED" />
621    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED" />
622    <protected-broadcast android:name="android.app.action.AUTOMATIC_ZEN_RULE_STATUS_CHANGED" />
623    <protected-broadcast android:name="android.os.action.ACTION_EFFECTS_SUPPRESSOR_CHANGED" />
624    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED" />
625    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED" />
626    <protected-broadcast android:name="android.app.action.NOTIFICATION_LISTENER_ENABLED_CHANGED" />
627    <protected-broadcast android:name="android.app.action.APP_BLOCK_STATE_CHANGED" />
628
629    <protected-broadcast android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS" />
630    <protected-broadcast android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS" />
631
632    <protected-broadcast android:name="android.intent.action.DYNAMIC_SENSOR_CHANGED" />
633
634    <protected-broadcast android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
635    <protected-broadcast android:name="android.accounts.action.ACCOUNT_REMOVED" />
636    <protected-broadcast android:name="android.accounts.action.VISIBLE_ACCOUNTS_CHANGED" />
637
638    <protected-broadcast android:name="com.android.sync.SYNC_CONN_STATUS_CHANGED" />
639
640    <protected-broadcast android:name="android.net.sip.action.SIP_INCOMING_CALL" />
641    <protected-broadcast android:name="com.android.phone.SIP_ADD_PHONE" />
642    <protected-broadcast android:name="android.net.sip.action.SIP_REMOVE_PROFILE" />
643    <protected-broadcast android:name="android.net.sip.action.SIP_SERVICE_UP" />
644    <protected-broadcast android:name="android.net.sip.action.SIP_CALL_OPTION_CHANGED" />
645    <protected-broadcast android:name="android.net.sip.action.START_SIP" />
646
647    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_CONNECTED" />
648    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_DISCONNECTED" />
649
650    <protected-broadcast android:name="android.bluetooth.input.profile.action.HANDSHAKE" />
651    <protected-broadcast android:name="android.bluetooth.input.profile.action.REPORT" />
652
653    <protected-broadcast android:name="android.intent.action.TWILIGHT_CHANGED" />
654
655    <protected-broadcast android:name="com.android.server.fingerprint.ACTION_LOCKOUT_RESET" />
656    <protected-broadcast android:name="android.net.wifi.PASSPOINT_ICON_RECEIVED" />
657
658    <protected-broadcast android:name="com.android.server.notification.CountdownConditionProvider" />
659    <protected-broadcast android:name="android.server.notification.action.ENABLE_NAS" />
660    <protected-broadcast android:name="android.server.notification.action.DISABLE_NAS" />
661    <protected-broadcast android:name="android.server.notification.action.LEARNMORE_NAS" />
662
663    <protected-broadcast android:name="com.android.internal.location.ALARM_WAKEUP" />
664    <protected-broadcast android:name="com.android.internal.location.ALARM_TIMEOUT" />
665    <protected-broadcast android:name="android.intent.action.GLOBAL_BUTTON" />
666
667    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_AVAILABLE" />
668    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNAVAILABLE" />
669    <protected-broadcast android:name="com.android.server.pm.DISABLE_QUIET_MODE_AFTER_UNLOCK" />
670
671    <protected-broadcast android:name="android.intent.action.PROFILE_ACCESSIBLE" />
672    <protected-broadcast android:name="android.intent.action.PROFILE_INACCESSIBLE" />
673
674    <protected-broadcast android:name="com.android.server.retaildemo.ACTION_RESET_DEMO" />
675
676    <protected-broadcast android:name="android.intent.action.DEVICE_LOCKED_CHANGED" />
677
678    <protected-broadcast android:name="com.android.content.pm.action.CAN_INTERACT_ACROSS_PROFILES_CHANGED"/>
679
680    <!-- Added in O -->
681    <protected-broadcast android:name="android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED" />
682    <protected-broadcast android:name="com.android.server.wm.ACTION_REVOKE_SYSTEM_ALERT_WINDOW_PERMISSION" />
683    <protected-broadcast android:name="android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED" />
684
685    <protected-broadcast android:name="android.content.pm.action.SESSION_COMMITTED" />
686    <protected-broadcast android:name="android.os.action.USER_RESTRICTIONS_CHANGED" />
687    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT" />
688    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED" />
689    <protected-broadcast android:name="android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED" />
690    <protected-broadcast android:name="android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED" />
691
692    <!-- Made protected in P (was introduced in JB-MR2) -->
693    <protected-broadcast android:name="android.intent.action.GET_RESTRICTION_ENTRIES" />
694    <protected-broadcast android:name="android.telephony.euicc.action.OTA_STATUS_CHANGED" />
695
696    <!-- Added in P -->
697    <protected-broadcast android:name="android.app.action.PROFILE_OWNER_CHANGED" />
698    <protected-broadcast android:name="android.app.action.TRANSFER_OWNERSHIP_COMPLETE" />
699    <protected-broadcast android:name="android.app.action.AFFILIATED_PROFILE_TRANSFER_OWNERSHIP_COMPLETE" />
700    <protected-broadcast android:name="android.app.action.STATSD_STARTED" />
701    <protected-broadcast android:name="com.android.server.biometrics.fingerprint.ACTION_LOCKOUT_RESET" />
702    <protected-broadcast android:name="com.android.server.biometrics.face.ACTION_LOCKOUT_RESET" />
703
704    <!-- For IdleController -->
705    <protected-broadcast android:name="android.intent.action.DOCK_IDLE" />
706    <protected-broadcast android:name="android.intent.action.DOCK_ACTIVE" />
707
708    <!-- Added in Q -->
709    <protected-broadcast android:name="android.content.pm.action.SESSION_UPDATED" />
710    <protected-broadcast android:name="android.settings.action.GRAYSCALE_CHANGED" />
711
712    <!-- For CarIdlenessTracker -->
713    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_ON" />
714    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_OFF" />
715    <protected-broadcast android:name="com.android.server.jobscheduler.FORCE_IDLE" />
716    <protected-broadcast android:name="com.android.server.jobscheduler.UNFORCE_IDLE" />
717
718    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL" />
719
720    <protected-broadcast android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY" />
721
722    <!-- Added in R -->
723    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
724
725    <!-- For tether entitlement recheck-->
726    <protected-broadcast
727        android:name="com.android.server.connectivity.tethering.PROVISIONING_RECHECK_ALARM" />
728
729    <!-- Made protected in S (was added in R) -->
730    <protected-broadcast android:name="com.android.internal.intent.action.BUGREPORT_REQUESTED" />
731
732    <!-- Added in S -->
733    <protected-broadcast android:name="android.scheduling.action.REBOOT_READY" />
734    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_CONSTANTS_CHANGED" />
735    <protected-broadcast android:name="android.app.action.SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED" />
736    <protected-broadcast android:name="android.app.action.SHOW_NEW_USER_DISCLAIMER" />
737
738    <!-- Moved from packages/services/Telephony in T -->
739    <protected-broadcast android:name="android.telecom.action.CURRENT_TTY_MODE_CHANGED" />
740    <protected-broadcast android:name="android.intent.action.SERVICE_STATE" />
741    <protected-broadcast android:name="android.intent.action.RADIO_TECHNOLOGY" />
742    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED" />
743    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALL_STATE_CHANGED" />
744    <protected-broadcast android:name="android.intent.action.SIG_STR" />
745    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
746    <protected-broadcast android:name="android.intent.action.DATA_STALL_DETECTED" />
747    <protected-broadcast android:name="android.intent.action.SIM_STATE_CHANGED" />
748    <protected-broadcast android:name="android.intent.action.USER_ACTIVITY_NOTIFICATION" />
749    <protected-broadcast android:name="android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS" />
750    <protected-broadcast android:name="android.intent.action.ACTION_MDN_STATE_CHANGED" />
751    <protected-broadcast android:name="android.telephony.action.SERVICE_PROVIDERS_UPDATED" />
752    <protected-broadcast android:name="android.provider.Telephony.SIM_FULL" />
753    <protected-broadcast android:name="com.android.internal.telephony.carrier_key_download_alarm" />
754    <protected-broadcast android:name="com.android.internal.telephony.data-restart-trysetup" />
755    <protected-broadcast android:name="com.android.internal.telephony.data-stall" />
756    <protected-broadcast android:name="com.android.internal.telephony.provisioning_apn_alarm" />
757    <protected-broadcast android:name="android.intent.action.DATA_SMS_RECEIVED" />
758    <protected-broadcast android:name="android.provider.Telephony.SMS_RECEIVED" />
759    <protected-broadcast android:name="android.provider.Telephony.SMS_DELIVER" />
760    <protected-broadcast android:name="android.provider.Telephony.SMS_REJECTED" />
761    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
762    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
763    <protected-broadcast android:name="android.provider.Telephony.SMS_CB_RECEIVED" />
764    <protected-broadcast android:name="android.provider.action.SMS_EMERGENCY_CB_RECEIVED" />
765    <protected-broadcast android:name="android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED" />
766    <protected-broadcast android:name="android.provider.Telephony.SECRET_CODE" />
767    <protected-broadcast android:name="com.android.internal.stk.command" />
768    <protected-broadcast android:name="com.android.internal.stk.session_end" />
769    <protected-broadcast android:name="com.android.internal.stk.icc_status_change" />
770    <protected-broadcast android:name="com.android.internal.stk.alpha_notify" />
771    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" />
772    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
773    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE" />
774    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_RESET" />
775    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
776    <protected-broadcast android:name="com.android.internal.telephony.PROVISION" />
777    <protected-broadcast android:name="com.android.internal.telephony.ACTION_LINE1_NUMBER_ERROR_DETECTED" />
778    <protected-broadcast android:name="com.android.internal.provider.action.VOICEMAIL_SMS_RECEIVED" />
779    <protected-broadcast android:name="com.android.intent.isim_refresh" />
780    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_AVAILABLE" />
781    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_UNAVAILABLE" />
782    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_DIED" />
783    <protected-broadcast android:name="com.android.ims.ACTION_PRESENCE_CHANGED" />
784    <protected-broadcast android:name="com.android.ims.ACTION_PUBLISH_STATUS_CHANGED" />
785    <protected-broadcast android:name="com.android.ims.IMS_SERVICE_UP" />
786    <protected-broadcast android:name="com.android.ims.IMS_SERVICE_DOWN" />
787    <protected-broadcast android:name="com.android.ims.IMS_INCOMING_CALL" />
788    <protected-broadcast android:name="com.android.ims.internal.uce.UCE_SERVICE_UP" />
789    <protected-broadcast android:name="com.android.ims.internal.uce.UCE_SERVICE_DOWN" />
790    <protected-broadcast android:name="com.android.imsconnection.DISCONNECTED" />
791    <protected-broadcast android:name="com.android.intent.action.IMS_FEATURE_CHANGED" />
792    <protected-broadcast android:name="com.android.intent.action.IMS_CONFIG_CHANGED" />
793    <protected-broadcast android:name="android.telephony.ims.action.WFC_IMS_REGISTRATION_ERROR" />
794    <protected-broadcast android:name="com.android.phone.vvm.omtp.sms.REQUEST_SENT" />
795    <protected-broadcast android:name="com.android.phone.vvm.ACTION_VISUAL_VOICEMAIL_SERVICE_EVENT" />
796    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_VVM_PACKAGE_INSTALLED" />
797    <protected-broadcast android:name="com.android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO" />
798    <protected-broadcast android:name="com.android.internal.telephony.ACTION_CARRIER_CERTIFICATE_DOWNLOAD" />
799    <protected-broadcast android:name="com.android.internal.telephony.action.COUNTRY_OVERRIDE" />
800    <protected-broadcast android:name="com.android.internal.telephony.action.SILENCE_WIFI_CALLING_NOTIFICATION"/>
801    <protected-broadcast android:name="com.android.internal.telephony.OPEN_DEFAULT_SMS_APP" />
802    <protected-broadcast android:name="com.android.internal.telephony.ACTION_TEST_OVERRIDE_CARRIER_ID" />
803    <protected-broadcast android:name="android.telephony.action.SIM_CARD_STATE_CHANGED" />
804    <protected-broadcast android:name="android.telephony.action.SIM_APPLICATION_STATE_CHANGED" />
805    <protected-broadcast android:name="android.telephony.action.SIM_SLOT_STATUS_CHANGED" />
806    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED" />
807    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED" />
808    <protected-broadcast android:name="android.telephony.action.TOGGLE_PROVISION" />
809    <protected-broadcast android:name="android.telephony.action.NETWORK_COUNTRY_CHANGED" />
810    <protected-broadcast android:name="android.telephony.action.PRIMARY_SUBSCRIPTION_LIST_CHANGED" />
811    <protected-broadcast android:name="android.telephony.action.MULTI_SIM_CONFIG_CHANGED" />
812    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_RESET" />
813    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_PCO_VALUE" />
814    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
815    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_REDIRECTED" />
816    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
817    <protected-broadcast android:name="com.android.phone.settings.CARRIER_PROVISIONING" />
818    <protected-broadcast android:name="com.android.phone.settings.TRIGGER_CARRIER_PROVISIONING" />
819    <protected-broadcast android:name="com.android.internal.telephony.ACTION_VOWIFI_ENABLED" />
820    <protected-broadcast android:name="android.telephony.action.ANOMALY_REPORTED" />
821    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_INFO_RECORD_ADDED" />
822    <protected-broadcast android:name="android.intent.action.ACTION_MANAGED_ROAMING_IND" />
823    <protected-broadcast android:name="android.telephony.ims.action.RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE" />
824
825    <!-- Added in T -->
826    <protected-broadcast android:name="android.safetycenter.action.REFRESH_SAFETY_SOURCES" />
827    <protected-broadcast android:name="android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED" />
828    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_RESOURCE_UPDATED" />
829    <protected-broadcast android:name="android.intent.action.SHOW_FOREGROUND_SERVICE_MANAGER" />
830    <protected-broadcast android:name="android.service.autofill.action.DELAYED_FILL" />
831    <protected-broadcast android:name="android.app.action.PROVISIONING_COMPLETED" />
832    <protected-broadcast android:name="android.app.action.LOST_MODE_LOCATION_UPDATE" />
833
834    <!-- Added in U -->
835    <protected-broadcast android:name="android.intent.action.PROFILE_ADDED" />
836    <protected-broadcast android:name="android.intent.action.PROFILE_REMOVED" />
837    <protected-broadcast android:name="com.android.internal.telephony.cat.SMS_SENT_ACTION" />
838    <protected-broadcast android:name="com.android.internal.telephony.cat.SMS_DELIVERY_ACTION" />
839    <protected-broadcast android:name="android.companion.virtual.action.VIRTUAL_DEVICE_REMOVED" />
840    <protected-broadcast android:name="com.android.internal.intent.action.FLASH_NOTIFICATION_START_PREVIEW" />
841    <protected-broadcast android:name="com.android.internal.intent.action.FLASH_NOTIFICATION_STOP_PREVIEW" />
842    <protected-broadcast android:name="android.app.admin.action.DEVICE_FINANCING_STATE_CHANGED" />
843    <protected-broadcast android:name="android.app.admin.action.DEVICE_POLICY_SET_RESULT" />
844    <protected-broadcast android:name="android.app.admin.action.DEVICE_POLICY_CHANGED" />
845
846    <!-- Added in V -->
847    <protected-broadcast android:name="android.intent.action.PROFILE_AVAILABLE" />
848    <protected-broadcast android:name="android.intent.action.PROFILE_UNAVAILABLE" />
849    <protected-broadcast android:name="android.app.action.CONSOLIDATED_NOTIFICATION_POLICY_CHANGED" />
850    <protected-broadcast android:name="android.intent.action.MAIN_USER_LOCKSCREEN_KNOWLEDGE_FACTOR_CHANGED" />
851    <protected-broadcast android:name="com.android.uwb.uwbcountrycode.GEOCODE_RETRY" />
852    <protected-broadcast android:name="android.telephony.satellite.action.SATELLITE_SUBSCRIBER_ID_LIST_CHANGED" />
853    <protected-broadcast android:name="android.service.ondeviceintelligence.MODEL_LOADED" />
854    <protected-broadcast android:name="android.service.ondeviceintelligence.MODEL_UNLOADED" />
855    <protected-broadcast android:name="android.telephony.satellite.action.SATELLITE_START_NON_EMERGENCY_SESSION" />
856
857
858    <!-- ====================================================================== -->
859    <!--                          RUNTIME PERMISSIONS                           -->
860    <!-- ====================================================================== -->
861    <eat-comment />
862
863    <!-- Grouping for platform runtime permissions is not accessible to apps
864         @hide
865         @SystemApi
866         @TestApi
867    -->
868    <permission-group android:name="android.permission-group.UNDEFINED"
869        android:priority="100" />
870
871    <!-- ====================================================================== -->
872    <!-- Permissions for accessing user's contacts including personal profile   -->
873    <!-- ====================================================================== -->
874    <eat-comment />
875
876    <!-- Used for runtime permissions related to contacts and profiles on this
877        device. -->
878    <permission-group android:name="android.permission-group.CONTACTS"
879        android:icon="@drawable/perm_group_contacts"
880        android:label="@string/permgrouplab_contacts"
881        android:description="@string/permgroupdesc_contacts"
882        android:priority="100" />
883
884    <!-- Allows an application to read the user's contacts data.
885        <p>Protection level: dangerous
886    -->
887    <permission android:name="android.permission.READ_CONTACTS"
888        android:permissionGroup="android.permission-group.UNDEFINED"
889        android:label="@string/permlab_readContacts"
890        android:description="@string/permdesc_readContacts"
891        android:protectionLevel="dangerous" />
892    <uses-permission android:name="android.permission.READ_CONTACTS" />
893
894    <!-- Allows an application to write the user's contacts data.
895         <p>Protection level: dangerous
896    -->
897    <permission android:name="android.permission.WRITE_CONTACTS"
898        android:permissionGroup="android.permission-group.UNDEFINED"
899        android:label="@string/permlab_writeContacts"
900        android:description="@string/permdesc_writeContacts"
901      android:protectionLevel="dangerous" />
902
903    <!-- Allows an app to update the verification status of E2EE contact keys owned by other apps.
904        <p>This permission is only granted to system apps.
905        <p>Protection level: signature|privileged
906        @SystemApi
907        @hide
908        @FlaggedApi("android.provider.user_keys")
909    -->
910    <permission android:name="android.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS"
911                android:permissionGroup="android.permission-group.UNDEFINED"
912                android:label="@string/permlab_writeVerificationStateE2eeContactKeys"
913                android:description="@string/permdesc_writeVerificationStateE2eeContactKeys"
914                android:protectionLevel="signature|privileged"
915                android:featureFlag="android.provider.user_keys" />
916
917    <!-- Allows an application to set default account for new contacts.
918        <p>This permission is only granted to system applications fulfilling the Contacts app role.
919        <p>Protection level: internal|role
920        @SystemApi
921        @hide
922    -->
923    <permission android:name="android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS"
924        android:protectionLevel="internal|role"
925        android:featureFlag="!android.provider.new_default_account_api_enabled"/>
926
927    <!-- Allows an application to set default account for new contacts.
928        <p>This permission is only granted to system applications fulfilling the Contacts app role
929        and the application with known signers.
930        <p>Protection level: internal|role|knownSigner
931        @SystemApi
932        @hide
933    -->
934    <permission android:name="android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS"
935        android:protectionLevel="internal|role|knownSigner"
936        android:knownCerts="@array/config_setContactsDefaultAccountKnownSigners"
937        android:featureFlag="android.provider.new_default_account_api_enabled"/>
938
939    <!-- ====================================================================== -->
940    <!-- Permissions for accessing user's calendar                              -->
941    <!-- ====================================================================== -->
942    <eat-comment />
943
944    <!-- Used for runtime permissions related to user's calendar. -->
945    <permission-group android:name="android.permission-group.CALENDAR"
946        android:icon="@drawable/perm_group_calendar"
947        android:label="@string/permgrouplab_calendar"
948        android:description="@string/permgroupdesc_calendar"
949        android:priority="200" />
950
951    <!-- Allows an application to read the user's calendar data.
952         <p>Protection level: dangerous
953    -->
954    <permission android:name="android.permission.READ_CALENDAR"
955        android:permissionGroup="android.permission-group.UNDEFINED"
956        android:label="@string/permlab_readCalendar"
957        android:description="@string/permdesc_readCalendar"
958        android:protectionLevel="dangerous" />
959
960    <!-- Allows an application to write the user's calendar data.
961         <p>Protection level: dangerous
962    -->
963    <permission android:name="android.permission.WRITE_CALENDAR"
964        android:permissionGroup="android.permission-group.UNDEFINED"
965        android:label="@string/permlab_writeCalendar"
966        android:description="@string/permdesc_writeCalendar"
967        android:protectionLevel="dangerous" />
968
969    <!-- ====================================================================== -->
970    <!-- Permissions for accessing and modifying user's SMS messages            -->
971    <!-- ====================================================================== -->
972    <eat-comment />
973
974    <!-- Allows accessing the messages on ICC
975         @hide Used internally. -->
976    <permission android:name="android.permission.ACCESS_MESSAGES_ON_ICC"
977        android:protectionLevel="signature" />
978
979    <!-- Used for runtime permissions related to user's SMS messages. -->
980    <permission-group android:name="android.permission-group.SMS"
981        android:icon="@drawable/perm_group_sms"
982        android:label="@string/permgrouplab_sms"
983        android:description="@string/permgroupdesc_sms"
984        android:priority="300" />
985
986    <!-- Allows an application to send SMS messages.
987         <p>Protection level: dangerous
988
989         <p> This is a hard restricted permission which cannot be held by an app until
990         the installer on record allowlists the permission. For more details see
991         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
992    -->
993    <permission android:name="android.permission.SEND_SMS"
994        android:permissionGroup="android.permission-group.UNDEFINED"
995        android:label="@string/permlab_sendSms"
996        android:description="@string/permdesc_sendSms"
997        android:permissionFlags="costsMoney|hardRestricted"
998        android:protectionLevel="dangerous" />
999
1000    <!-- Allows an application to receive SMS messages.
1001         <p>Protection level: dangerous
1002
1003         <p> This is a hard restricted permission which cannot be held by an app until
1004         the installer on record allowlists the permission. For more details see
1005         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1006    -->
1007    <permission android:name="android.permission.RECEIVE_SMS"
1008        android:permissionGroup="android.permission-group.UNDEFINED"
1009        android:label="@string/permlab_receiveSms"
1010        android:description="@string/permdesc_receiveSms"
1011        android:permissionFlags="hardRestricted"
1012        android:protectionLevel="dangerous" />
1013
1014    <!-- Allows an application to read SMS messages.
1015         <p>Protection level: dangerous
1016
1017         <p> This is a hard restricted permission which cannot be held by an app until
1018         the installer on record allowlists the permission. For more details see
1019         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1020    -->
1021    <permission android:name="android.permission.READ_SMS"
1022        android:permissionGroup="android.permission-group.UNDEFINED"
1023        android:label="@string/permlab_readSms"
1024        android:description="@string/permdesc_readSms"
1025        android:permissionFlags="hardRestricted"
1026        android:protectionLevel="dangerous" />
1027
1028    <!-- Allows an application to receive WAP push messages.
1029         <p>Protection level: dangerous
1030
1031         <p> This is a hard restricted permission which cannot be held by an app until
1032         the installer on record allowlists the permission. For more details see
1033         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1034    -->
1035    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
1036        android:permissionGroup="android.permission-group.UNDEFINED"
1037        android:label="@string/permlab_receiveWapPush"
1038        android:description="@string/permdesc_receiveWapPush"
1039        android:permissionFlags="hardRestricted"
1040        android:protectionLevel="dangerous" />
1041
1042    <!-- Allows an application to monitor incoming MMS messages.
1043         <p>Protection level: dangerous
1044
1045         <p> This is a hard restricted permission which cannot be held by an app until
1046         the installer on record allowlists the permission. For more details see
1047         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1048    -->
1049    <permission android:name="android.permission.RECEIVE_MMS"
1050        android:permissionGroup="android.permission-group.UNDEFINED"
1051        android:label="@string/permlab_receiveMms"
1052        android:description="@string/permdesc_receiveMms"
1053        android:permissionFlags="hardRestricted"
1054        android:protectionLevel="dangerous" />
1055
1056    <!-- @SystemApi @TestApi Allows an application to forward cell broadcast messages to the cell
1057         broadcast module. This is required in order to bind to the cell broadcast service, and
1058         ensures that only the system can forward messages to it.
1059
1060         <p>Protection level: signature
1061
1062         @hide -->
1063    <permission android:name="android.permission.BIND_CELL_BROADCAST_SERVICE"
1064        android:label="@string/permlab_bindCellBroadcastService"
1065        android:description="@string/permdesc_bindCellBroadcastService"
1066        android:protectionLevel="signature" />
1067
1068    <!-- @SystemApi @TestApi Allows an application to read previously received cell broadcast
1069         messages and to register a content observer to get notifications when
1070         a cell broadcast has been received and added to the database. For
1071         emergency alerts, the database is updated immediately after the
1072         alert dialog and notification sound/vibration/speech are presented.
1073         The "read" column is then updated after the user dismisses the alert.
1074         This enables supplementary emergency assistance apps to start loading
1075         additional emergency information (if Internet access is available)
1076         when the alert is first received, and to delay presenting the info
1077         to the user until after the initial alert dialog is dismissed.
1078         <p>Protection level: dangerous
1079
1080         <p> This is a hard restricted permission which cannot be held by an app until
1081         the installer on record allowlists the permission. For more details see
1082         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1083
1084         @hide Pending API council approval -->
1085    <permission android:name="android.permission.READ_CELL_BROADCASTS"
1086        android:permissionGroup="android.permission-group.UNDEFINED"
1087        android:label="@string/permlab_readCellBroadcasts"
1088        android:description="@string/permdesc_readCellBroadcasts"
1089        android:permissionFlags="hardRestricted"
1090        android:protectionLevel="dangerous" />
1091
1092    <!-- @SystemApi @hide Allows an application to communicate over satellite.
1093         Only granted if the application is a system app or privileged app. -->
1094    <permission android:name="android.permission.SATELLITE_COMMUNICATION"
1095                android:protectionLevel="role|signature|privileged" />
1096
1097    <!-- ================================== -->
1098    <!-- Permissions associated with picture and sound profiles  -->
1099    <!-- ================================== -->
1100    <eat-comment />
1101
1102    <!-- @FlaggedApi(android.media.tv.flags.Flags.FLAG_APPLY_PICTURE_PROFILES)
1103         Allows an app to apply a {@link MediaQualityManager.PictureProfile} to a layer via
1104         {@link MediaCodec.PARAMETER_KEY_PICTURE_PROFILE} and, additionally, system apps via
1105         {@link SurfaceControl.Transaction#setPictureProfileHandle}.
1106         -->
1107    <permission android:name="android.permission.APPLY_PICTURE_PROFILE"
1108        android:protectionLevel="normal"
1109        android:featureFlag="android.media.tv.flags.apply_picture_profiles"/>
1110
1111    <!-- @hide
1112         Allows MediaQualityService to observe any {@link MediaQualityManager.PictureProfile}
1113         applied to any layer in the system by apps via
1114         {@link MediaCodec.PARAMETER_KEY_PICTURE_PROFILE} and by system apps via
1115         {@link SurfaceControl.Transaction#setPictureProfileHandle}.
1116         -->
1117    <permission android:name="android.permission.OBSERVE_PICTURE_PROFILES"
1118        android:protectionLevel="signature|privileged"
1119        android:featureFlag="android.media.tv.flags.apply_picture_profiles"/>
1120
1121    <!--
1122        @SystemApi
1123        @FlaggedApi("android.media.tv.flags.media_quality_fw")
1124        Allows an application to access its picture profile from the media quality database.
1125        <p> Protection level: signature|privileged|vendor privileged
1126        @hide
1127    -->
1128    <permission android:name="android.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE"
1129                android:protectionLevel="signature|privileged|vendorPrivileged"
1130                android:featureFlag="android.media.tv.flags.media_quality_fw"/>
1131
1132    <!--
1133        @SystemApi
1134        @FlaggedApi("android.media.tv.flags.media_quality_fw")
1135        Allows an application to access its sound profile from the media quality database.
1136        <p> Protection level: signature|privileged|vendor privileged
1137        @hide
1138    -->
1139    <permission android:name="android.permission.MANAGE_GLOBAL_SOUND_QUALITY_SERVICE"
1140                android:protectionLevel="signature|privileged|vendorPrivileged"
1141                android:featureFlag="android.media.tv.flags.media_quality_fw"/>
1142
1143    <!--
1144        @FlaggedApi(android.media.tv.flags.Flags.FLAG_MEDIA_QUALITY_FW)
1145        Allows an application to read the aggregated color zones on the screen for use cases like
1146        TV ambient backlight usages.
1147        <p> Protection level: normal
1148    -->
1149    <permission android:name="android.permission.READ_COLOR_ZONES"
1150                android:protectionLevel="normal"
1151                android:featureFlag="android.media.tv.flags.media_quality_fw"/>
1152
1153    <!-- ====================================================================== -->
1154    <!-- Permissions for accessing external storage                             -->
1155    <!-- ====================================================================== -->
1156    <eat-comment />
1157
1158    <!-- Used for runtime permissions related to the shared external storage. -->
1159    <permission-group android:name="android.permission-group.STORAGE"
1160        android:icon="@drawable/perm_group_storage"
1161        android:label="@string/permgrouplab_storage"
1162        android:description="@string/permgroupdesc_storage"
1163        android:priority="900" />
1164
1165    <!-- Allows an application to read from external storage.
1166      <p class="note"><strong>Note: </strong>Starting in API level 33, this permission has no
1167      effect. If your app accesses other apps' media files, request one or more of these permissions
1168      instead: <a href="#READ_MEDIA_IMAGES"><code>READ_MEDIA_IMAGES</code></a>,
1169      <a href="#READ_MEDIA_VIDEO"><code>READ_MEDIA_VIDEO</code></a>,
1170      <a href="#READ_MEDIA_AUDIO"><code>READ_MEDIA_AUDIO</code></a>. Learn more about the
1171      <a href="{@docRoot}training/data-storage/shared/media#storage-permission">storage
1172      permissions</a> that are associated with media files.</p>
1173
1174      <p>This permission is enforced starting in API level 19.  Before API level 19, this
1175      permission is not enforced and all apps still have access to read from external storage.
1176      You can test your app with the permission enforced by enabling <em>Protect USB
1177      storage</em> under <b>Developer options</b> in the Settings app on a device running Android
1178      4.1 or higher.</p>
1179      <p>Also starting in API level 19, this permission is <em>not</em> required to
1180      read or write files in your application-specific directories returned by
1181      {@link android.content.Context#getExternalFilesDir} and
1182      {@link android.content.Context#getExternalCacheDir}.</p>
1183      <p>Starting in API level 29, apps don't need to request this permission to access files in
1184      their app-specific directory on external storage, or their own files in the
1185      <a href="{@docRoot}reference/android/provider/MediaStore"><code>MediaStore</code></a>. Apps
1186      shouldn't request this permission unless they need to access other apps' files in the
1187      <code>MediaStore</code>. Read more about these changes in the
1188      <a href="{@docRoot}training/data-storage#scoped-storage">scoped storage</a> section of the
1189      developer documentation.</p>
1190      <p>If <em>both</em> your <a
1191      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1192      minSdkVersion}</a> and <a
1193      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1194      targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1195      grants your app this permission. If you don't need this permission, be sure your <a
1196      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1197      targetSdkVersion}</a> is 4 or higher.</p>
1198
1199      <p> This is a soft restricted permission which cannot be held by an app it its
1200      full form until the installer on record allowlists the permission.
1201      Specifically, if the permission is allowlisted the holder app can access
1202      external storage and the visual and aural media collections while if the
1203      permission is not allowlisted the holder app can only access to the visual
1204      and aural medial collections. Also the permission is immutably restricted
1205      meaning that the allowlist state can be specified only at install time and
1206      cannot change until the app is installed. For more details see
1207      {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1208     <p>Protection level: dangerous -->
1209    <permission android:name="android.permission.READ_EXTERNAL_STORAGE"
1210        android:permissionGroup="android.permission-group.UNDEFINED"
1211        android:label="@string/permlab_sdcardRead"
1212        android:description="@string/permdesc_sdcardRead"
1213        android:permissionFlags="softRestricted|immutablyRestricted"
1214        android:protectionLevel="dangerous" />
1215
1216    <!-- Required to be able to read audio files from shared storage.
1217     <p>Protection level: dangerous -->
1218    <permission-group android:name="android.permission-group.READ_MEDIA_AURAL"
1219                      android:icon="@drawable/perm_group_read_media_aural"
1220                      android:label="@string/permgrouplab_readMediaAural"
1221                      android:description="@string/permgroupdesc_readMediaAural"
1222                      android:priority="950" />
1223
1224    <!-- Allows an application to read audio files from external storage.
1225      <p>This permission is enforced starting in API level
1226      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1227      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read audio files from
1228      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1229      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1230      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1231      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read audio files.
1232     <p>Protection level: dangerous -->
1233    <permission android:name="android.permission.READ_MEDIA_AUDIO"
1234                android:permissionGroup="android.permission-group.UNDEFINED"
1235                android:label="@string/permlab_readMediaAudio"
1236                android:description="@string/permdesc_readMediaAudio"
1237                android:protectionLevel="dangerous" />
1238
1239    <!-- Required to be able to read image and video files from shared storage.
1240     <p>Protection level: dangerous -->
1241    <permission-group android:name="android.permission-group.READ_MEDIA_VISUAL"
1242                      android:icon="@drawable/perm_group_read_media_visual"
1243                      android:label="@string/permgrouplab_readMediaVisual"
1244                      android:description="@string/permgroupdesc_readMediaVisual"
1245                      android:priority="1000" />
1246
1247    <!-- Allows an application to read video files from external storage.
1248      <p>This permission is enforced starting in API level
1249      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1250      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read video files from
1251      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1252      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1253      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1254      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read video files.
1255   <p>Protection level: dangerous -->
1256    <permission android:name="android.permission.READ_MEDIA_VIDEO"
1257                android:permissionGroup="android.permission-group.UNDEFINED"
1258                android:label="@string/permlab_readMediaVideo"
1259                android:description="@string/permdesc_readMediaVideo"
1260                android:protectionLevel="dangerous" />
1261
1262    <!-- Allows an application to read image files from external storage.
1263      <p>This permission is enforced starting in API level
1264      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1265      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read image files from
1266      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1267      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1268      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1269      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read image files.
1270   <p>Protection level: dangerous -->
1271    <permission android:name="android.permission.READ_MEDIA_IMAGES"
1272                android:permissionGroup="android.permission-group.UNDEFINED"
1273                android:label="@string/permlab_readMediaImages"
1274                android:description="@string/permdesc_readMediaImages"
1275                android:protectionLevel="dangerous" />
1276
1277    <!-- Allows an application to read image or video files from external storage that a user has
1278      selected via the permission prompt photo picker. Apps can check this permission to verify that
1279      a user has decided to use the photo picker, instead of granting access to
1280      {@link #READ_MEDIA_IMAGES} or {@link #READ_MEDIA_VIDEO}. It does not prevent apps from
1281      accessing the standard photo picker manually. This permission should be requested alongside
1282      {@link #READ_MEDIA_IMAGES} and/or {@link #READ_MEDIA_VIDEO}, depending on which type of media
1283      is desired.
1284      <p> This permission will be automatically added to an app's manifest if the app requests
1285      {@link #READ_MEDIA_IMAGES}, {@link #READ_MEDIA_VIDEO}, or {@link #ACCESS_MEDIA_LOCATION}
1286      regardless of target SDK. If an app does not request this permission, then the grant dialog
1287      will return `PERMISSION_GRANTED` for {@link #READ_MEDIA_IMAGES} and/or
1288      {@link #READ_MEDIA_VIDEO}, but the app will only have access to the media selected by the
1289      user. This false grant state will persist until the app goes into the background.
1290   <p>Protection level: dangerous -->
1291    <permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED"
1292        android:permissionGroup="android.permission-group.UNDEFINED"
1293        android:label="@string/permlab_readVisualUserSelect"
1294        android:description="@string/permdesc_readVisualUserSelect"
1295        android:protectionLevel="dangerous" />
1296
1297    <!-- Allows an application to write to external storage.
1298         <p><strong>Note: </strong>If your app targets {@link android.os.Build.VERSION_CODES#R} or
1299         higher, this permission has no effect.
1300
1301         <p>If your app is on a device that runs API level 19 or higher, you don't need to declare
1302         this permission to read and write files in your application-specific directories returned
1303         by {@link android.content.Context#getExternalFilesDir} and
1304         {@link android.content.Context#getExternalCacheDir}.
1305
1306         <p>Learn more about how to
1307         <a href="{@docRoot}training/data-storage/shared/media#update-other-apps-files">modify media
1308         files</a> that your app doesn't own, and how to
1309         <a href="{@docRoot}training/data-storage/shared/documents-files">modify non-media files</a>
1310         that your app doesn't own.
1311
1312         <p>If your app is a file manager and needs broad access to external storage files, then
1313         the system must place your app on an allowlist so that you can successfully request the
1314         <a href="#MANAGE_EXTERNAL_STORAGE><code>MANAGE_EXTERNAL_STORAGE</code></a> permission.
1315         Learn more about the appropriate use cases for
1316         <a href="{@docRoot}training/data-storage/manage-all-files>managing all files on a storage
1317         device</a>.
1318
1319         <p>If <em>both</em> your <a
1320         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1321         minSdkVersion}</a> and <a
1322         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1323         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1324         grants your app this permission. If you don't need this permission, be sure your <a
1325         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1326         targetSdkVersion}</a> is 4 or higher.
1327         <p>Protection level: dangerous</p>
1328    -->
1329    <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
1330        android:permissionGroup="android.permission-group.UNDEFINED"
1331        android:label="@string/permlab_sdcardWrite"
1332        android:description="@string/permdesc_sdcardWrite"
1333        android:permissionFlags="softRestricted|immutablyRestricted"
1334        android:protectionLevel="dangerous" />
1335
1336    <!-- Allows an application to access any geographic locations persisted in the
1337         user's shared collection.
1338         <p>Protection level: dangerous -->
1339    <permission android:name="android.permission.ACCESS_MEDIA_LOCATION"
1340        android:permissionGroup="android.permission-group.UNDEFINED"
1341        android:label="@string/permlab_mediaLocation"
1342        android:description="@string/permdesc_mediaLocation"
1343        android:protectionLevel="dangerous" />
1344
1345    <!-- @hide @SystemApi @TestApi
1346         Allows an application to modify OBB files visible to other apps. -->
1347    <permission android:name="android.permission.WRITE_OBB"
1348        android:protectionLevel="signature|privileged" />
1349
1350    <!-- Allows an application a broad access to external storage in scoped storage.
1351         Intended to be used by few apps that need to manage files on behalf of the users.
1352         <p>Protection level: signature|appop|preinstalled -->
1353    <permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
1354        android:permissionGroup="android.permission-group.UNDEFINED"
1355        android:protectionLevel="signature|appop|preinstalled" />
1356
1357    <!-- Allows an application to modify and delete media files on this device or any connected
1358         storage device without user confirmation. Applications must already be granted the
1359         {@link #READ_EXTERNAL_STORAGE} or {@link #MANAGE_EXTERNAL_STORAGE}} permissions for this
1360         permission to take effect.
1361         <p>Even if applications are granted this permission, if applications want to modify or
1362         delete media files, they also must get the access by calling
1363         {@link android.provider.MediaStore#createWriteRequest(ContentResolver, Collection)},
1364         {@link android.provider.MediaStore#createDeleteRequest(ContentResolver, Collection)}, or
1365         {@link android.provider.MediaStore#createTrashRequest(ContentResolver, Collection, boolean)}.
1366         <p>This permission doesn't give read or write access directly. It only prevents the user
1367         confirmation dialog for these requests.
1368         <p>If applications are not granted {@link #ACCESS_MEDIA_LOCATION}, the system also pops up
1369         the user confirmation dialog for the write request.
1370         <p>Protection level: signature|appop|preinstalled -->
1371    <permission android:name="android.permission.MANAGE_MEDIA"
1372        android:protectionLevel="signature|appop|preinstalled" />
1373
1374    <!-- ====================================================================== -->
1375    <!-- Permissions for accessing the device location                          -->
1376    <!-- ====================================================================== -->
1377    <eat-comment />
1378
1379    <!-- Used for permissions that allow accessing the device location. -->
1380    <permission-group android:name="android.permission-group.LOCATION"
1381        android:icon="@drawable/perm_group_location"
1382        android:label="@string/permgrouplab_location"
1383        android:description="@string/permgroupdesc_location"
1384        android:priority="400" />
1385
1386    <!-- Allows an app to access precise location.
1387         Alternatively, you might want {@link #ACCESS_COARSE_LOCATION}.
1388         <p>Protection level: dangerous
1389    -->
1390    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
1391        android:permissionGroup="android.permission-group.UNDEFINED"
1392        android:label="@string/permlab_accessFineLocation"
1393        android:description="@string/permdesc_accessFineLocation"
1394        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
1395        android:protectionLevel="dangerous|instant" />
1396
1397    <!-- Allows an app to access approximate location.
1398         Alternatively, you might want {@link #ACCESS_FINE_LOCATION}.
1399         <p>Protection level: dangerous
1400    -->
1401    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
1402        android:permissionGroup="android.permission-group.UNDEFINED"
1403        android:label="@string/permlab_accessCoarseLocation"
1404        android:description="@string/permdesc_accessCoarseLocation"
1405        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
1406        android:protectionLevel="dangerous|instant" />
1407
1408    <!-- Allows an app to access location in the background. If you're requesting this permission,
1409         you must also request either {@link #ACCESS_COARSE_LOCATION} or
1410         {@link #ACCESS_FINE_LOCATION}. Requesting this permission by itself doesn't give you
1411         location access.
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.ACCESS_BACKGROUND_LOCATION"
1419        android:permissionGroup="android.permission-group.UNDEFINED"
1420        android:label="@string/permlab_accessBackgroundLocation"
1421        android:permissionFlags="hardRestricted"
1422        android:description="@string/permdesc_accessBackgroundLocation"
1423        android:protectionLevel="dangerous|instant" />
1424
1425    <!-- Allows an application (emergency or advanced driver-assistance app) to bypass
1426    location settings.
1427         <p>Not for use by third-party applications.
1428         @SystemApi
1429         @hide
1430    -->
1431    <permission android:name="android.permission.LOCATION_BYPASS"
1432                android:protectionLevel="signature|privileged"/>
1433
1434    <!-- ====================================================================== -->
1435    <!-- Permissions for accessing the call log                                 -->
1436    <!-- ====================================================================== -->
1437    <eat-comment />
1438
1439    <!-- Used for permissions that are associated telephony features. -->
1440    <permission-group android:name="android.permission-group.CALL_LOG"
1441        android:icon="@drawable/perm_group_call_log"
1442        android:label="@string/permgrouplab_calllog"
1443        android:description="@string/permgroupdesc_calllog"
1444        android:priority="450" />
1445
1446    <!-- Allows an application to access the IMS call service: making and
1447         modifying a call
1448        <p>Protection level: signature|privileged
1449        @hide
1450    -->
1451    <permission android:name="android.permission.ACCESS_IMS_CALL_SERVICE"
1452        android:label="@string/permlab_accessImsCallService"
1453        android:description="@string/permdesc_accessImsCallService"
1454        android:protectionLevel="signature|privileged" />
1455
1456    <!-- @SystemApi @hide Allows an application to perform IMS Single Registration related actions.
1457         Only granted if the application is a system app AND is in the Default SMS Role.
1458         The permission is revoked when the app is taken out of the Default SMS Role.
1459        <p>Protection level: internal|role
1460    -->
1461    <permission android:name="android.permission.PERFORM_IMS_SINGLE_REGISTRATION"
1462        android:protectionLevel="internal|role" />
1463
1464    <!-- Allows an application to read the user's call log.
1465         <p class="note"><strong>Note:</strong> If your app uses the
1466         {@link #READ_CONTACTS} permission and <em>both</em> your <a
1467         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1468         minSdkVersion}</a> and <a
1469         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1470         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1471         grants your app this permission. If you don't need this permission, be sure your <a
1472         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1473         targetSdkVersion}</a> is 16 or higher.</p>
1474         <p>Protection level: dangerous
1475
1476         <p> This is a hard restricted permission which cannot be held by an app until
1477         the installer on record allowlists the permission. For more details see
1478         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1479    -->
1480    <permission android:name="android.permission.READ_CALL_LOG"
1481        android:permissionGroup="android.permission-group.UNDEFINED"
1482        android:label="@string/permlab_readCallLog"
1483        android:description="@string/permdesc_readCallLog"
1484        android:permissionFlags="hardRestricted"
1485        android:protectionLevel="dangerous" />
1486
1487    <!-- Allows an application to write and read the user's call log data.
1488         <p class="note"><strong>Note:</strong> If your app uses the
1489         {@link #WRITE_CONTACTS} permission and <em>both</em> your <a
1490         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1491         minSdkVersion}</a> and <a
1492         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1493         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1494         grants your app this permission. If you don't need this permission, be sure your <a
1495         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1496         targetSdkVersion}</a> is 16 or higher.</p>
1497         <p>Protection level: dangerous
1498
1499         <p> This is a hard restricted permission which cannot be held by an app until
1500         the installer on record allowlists the permission. For more details see
1501         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1502    -->
1503    <permission android:name="android.permission.WRITE_CALL_LOG"
1504        android:permissionGroup="android.permission-group.UNDEFINED"
1505        android:label="@string/permlab_writeCallLog"
1506        android:description="@string/permdesc_writeCallLog"
1507        android:permissionFlags="hardRestricted"
1508        android:protectionLevel="dangerous" />
1509
1510    <!-- Allows an application to see the number being dialed during an outgoing
1511         call with the option to redirect the call to a different number or
1512         abort the call altogether.
1513         <p>Protection level: dangerous
1514
1515         <p> This is a hard restricted permission which cannot be held by an app until
1516         the installer on record allowlists the permission. For more details see
1517         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1518
1519         @deprecated Applications should use {@link android.telecom.CallRedirectionService} instead
1520         of the {@link android.content.Intent#ACTION_NEW_OUTGOING_CALL} broadcast.
1521    -->
1522    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
1523        android:permissionGroup="android.permission-group.UNDEFINED"
1524        android:label="@string/permlab_processOutgoingCalls"
1525        android:description="@string/permdesc_processOutgoingCalls"
1526        android:permissionFlags="hardRestricted"
1527        android:protectionLevel="dangerous" />
1528
1529    <!-- ====================================================================== -->
1530    <!-- Permissions for accessing the device telephony                         -->
1531    <!-- ====================================================================== -->
1532    <eat-comment />
1533
1534    <!-- Used for permissions that are associated telephony features. -->
1535    <permission-group android:name="android.permission-group.PHONE"
1536        android:icon="@drawable/perm_group_phone_calls"
1537        android:label="@string/permgrouplab_phone"
1538        android:description="@string/permgroupdesc_phone"
1539        android:priority="500" />
1540
1541    <!-- Allows read only access to phone state, including the current cellular network information,
1542         the status of any ongoing calls, and a list of any {@link android.telecom.PhoneAccount}s
1543         registered on the device.
1544         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1545         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1546         minSdkVersion}</a> and <a
1547         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1548         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1549         grants your app this permission. If you don't need this permission, be sure your <a
1550         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1551         targetSdkVersion}</a> is 4 or higher.
1552         <p>Protection level: dangerous
1553    -->
1554    <permission android:name="android.permission.READ_PHONE_STATE"
1555        android:permissionGroup="android.permission-group.UNDEFINED"
1556        android:label="@string/permlab_readPhoneState"
1557        android:description="@string/permdesc_readPhoneState"
1558        android:protectionLevel="dangerous" />
1559
1560    <!-- Allows read only access to phone state with a non dangerous permission,
1561         including the information like cellular network type, software version. -->
1562    <permission android:name="android.permission.READ_BASIC_PHONE_STATE"
1563            android:permissionGroup="android.permission-group.UNDEFINED"
1564            android:label="@string/permlab_readBasicPhoneState"
1565            android:description="@string/permdesc_readBasicPhoneState"
1566            android:protectionLevel="normal" />
1567
1568    <!-- Allows read access to the device's phone number(s),
1569         which is exposed to instant applications.
1570         <p>Protection level: dangerous-->
1571    <permission android:name="android.permission.READ_PHONE_NUMBERS"
1572        android:permissionGroup="android.permission-group.UNDEFINED"
1573        android:label="@string/permlab_readPhoneNumbers"
1574        android:description="@string/permdesc_readPhoneNumbers"
1575        android:protectionLevel="dangerous|instant" />
1576
1577    <!-- Allows an application to initiate a phone call without going through
1578        the Dialer user interface for the user to confirm the call.
1579        <p class="note"><b>Note:</b> An app holding this permission can also call carrier MMI
1580        codes to change settings such as call forwarding or call waiting preferences.</p>
1581        <p>Protection level: dangerous</p>
1582    -->
1583    <permission android:name="android.permission.CALL_PHONE"
1584        android:permissionGroup="android.permission-group.UNDEFINED"
1585        android:permissionFlags="costsMoney"
1586        android:label="@string/permlab_callPhone"
1587        android:description="@string/permdesc_callPhone"
1588        android:protectionLevel="dangerous" />
1589
1590    <!-- Allows an application to add voicemails into the system.
1591         <p>Protection level: dangerous
1592    -->
1593    <permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
1594        android:permissionGroup="android.permission-group.UNDEFINED"
1595        android:label="@string/permlab_addVoicemail"
1596        android:description="@string/permdesc_addVoicemail"
1597        android:protectionLevel="dangerous" />
1598
1599    <!-- Allows an application to use SIP service.
1600         <p>Protection level: dangerous
1601    -->
1602    <permission android:name="android.permission.USE_SIP"
1603        android:permissionGroup="android.permission-group.UNDEFINED"
1604        android:description="@string/permdesc_use_sip"
1605        android:label="@string/permlab_use_sip"
1606        android:protectionLevel="dangerous"/>
1607
1608    <!-- Allows the app to answer an incoming phone call.
1609         <p>Protection level: dangerous
1610    -->
1611    <permission android:name="android.permission.ANSWER_PHONE_CALLS"
1612        android:permissionGroup="android.permission-group.UNDEFINED"
1613        android:label="@string/permlab_answerPhoneCalls"
1614        android:description="@string/permdesc_answerPhoneCalls"
1615        android:protectionLevel="dangerous|runtime" />
1616
1617    <!-- Allows a calling application which manages its own calls through the self-managed
1618         {@link android.telecom.ConnectionService} APIs.  See
1619         {@link android.telecom.PhoneAccount#CAPABILITY_SELF_MANAGED} for more information on the
1620         self-managed ConnectionService APIs.
1621         <p>Protection level: normal
1622    -->
1623    <permission android:name="android.permission.MANAGE_OWN_CALLS"
1624                android:label="@string/permlab_manageOwnCalls"
1625                android:description="@string/permdesc_manageOwnCalls"
1626                android:protectionLevel="normal" />
1627
1628    <!--Allows an app which implements the
1629        {@link android.telecom.InCallService InCallService} API to be eligible to be enabled as a
1630        calling companion app. This means that the Telecom framework will bind to the app's
1631        InCallService implementation when there are calls active. The app can use the InCallService
1632        API to view information about calls on the system and control these calls.
1633        <p>Protection level: normal
1634    -->
1635    <permission android:name="android.permission.CALL_COMPANION_APP"
1636                android:label="@string/permlab_callCompanionApp"
1637                android:description="@string/permdesc_callCompanionApp"
1638                android:protectionLevel="normal" />
1639
1640    <!-- Exempt this uid from restrictions to background audio recoding
1641     <p>Protection level: signature|privileged
1642     @hide
1643     @SystemApi
1644    -->
1645    <permission android:name="android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS"
1646                android:label="@string/permlab_exemptFromAudioRecordRestrictions"
1647                android:description="@string/permdesc_exemptFromAudioRecordRestrictions"
1648                android:protectionLevel="signature|privileged|role" />
1649
1650    <!-- Allows a calling app to continue a call which was started in another app.  An example is a
1651         video calling app that wants to continue a voice call on the user's mobile network.<p>
1652         When the handover of a call from one app to another takes place, there are two devices
1653         which are involved in the handover; the initiating and receiving devices.  The initiating
1654         device is where the request to handover the call was started, and the receiving device is
1655         where the handover request is confirmed by the other party.<p>
1656         This permission protects access to the
1657         {@link android.telecom.TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)} which
1658         the receiving side of the handover uses to accept a handover.
1659         <p>Protection level: dangerous
1660    -->
1661    <permission android:name="android.permission.ACCEPT_HANDOVER"
1662                android:permissionGroup="android.permission-group.UNDEFINED"
1663                android.label="@string/permlab_acceptHandover"
1664                android:description="@string/permdesc_acceptHandovers"
1665                android:protectionLevel="dangerous" />
1666
1667    <!-- ====================================================================== -->
1668    <!-- Permissions for accessing the device microphone                        -->
1669    <!-- ====================================================================== -->
1670    <eat-comment />
1671
1672    <!-- Used for permissions that are associated with accessing
1673         microphone audio from the device. Note that phone calls also capture audio
1674         but are in a separate (more visible) permission group. -->
1675    <permission-group android:name="android.permission-group.MICROPHONE"
1676        android:icon="@drawable/perm_group_microphone"
1677        android:label="@string/permgrouplab_microphone"
1678        android:description="@string/permgroupdesc_microphone"
1679        android:priority="600" />
1680
1681    <!-- Allows an application to record audio.
1682         <p>Protection level: dangerous
1683    -->
1684    <permission android:name="android.permission.RECORD_AUDIO"
1685        android:permissionGroup="android.permission-group.UNDEFINED"
1686        android:label="@string/permlab_recordAudio"
1687        android:description="@string/permdesc_recordAudio"
1688        android:backgroundPermission="android.permission.RECORD_BACKGROUND_AUDIO"
1689        android:protectionLevel="dangerous|instant" />
1690
1691    <!-- @SystemApi @TestApi Allows an application to record audio while in the background.
1692         This permission is not intended to be held by apps.
1693         <p>Protection level: internal
1694        @hide -->
1695    <permission android:name="android.permission.RECORD_BACKGROUND_AUDIO"
1696        android:permissionGroup="android.permission-group.UNDEFINED"
1697        android:label="@string/permlab_recordBackgroundAudio"
1698        android:description="@string/permdesc_recordBackgroundAudio"
1699        android:protectionLevel="internal|role" />
1700
1701    <!-- ====================================================================== -->
1702    <!-- Permissions for activity recognition                        -->
1703    <!-- ====================================================================== -->
1704    <eat-comment />
1705
1706    <!-- Used for permissions that are associated with activity recognition. -->
1707    <permission-group android:name="android.permission-group.ACTIVITY_RECOGNITION"
1708        android:icon="@drawable/perm_group_activity_recognition"
1709        android:label="@string/permgrouplab_activityRecognition"
1710        android:description="@string/permgroupdesc_activityRecognition"
1711        android:priority="1000" />
1712
1713    <!-- Allows an application to recognize physical activity.
1714         <p>Protection level: dangerous
1715    -->
1716    <permission android:name="android.permission.ACTIVITY_RECOGNITION"
1717        android:permissionGroup="android.permission-group.UNDEFINED"
1718        android:label="@string/permlab_activityRecognition"
1719        android:description="@string/permdesc_activityRecognition"
1720        android:protectionLevel="dangerous|instant" />
1721
1722    <!-- ====================================================================== -->
1723    <!-- Permissions for accessing the vendor UCE Service                              -->
1724    <!-- ====================================================================== -->
1725
1726    <!-- @hide Allows an application to Access UCE-Presence.
1727         <p>Protection level: signature|privileged
1728         @deprecated Framework should no longer use this permission to access the vendor UCE service
1729         using AIDL, it is instead implemented by RcsCapabilityExchangeImplBase
1730    -->
1731    <permission android:name="android.permission.ACCESS_UCE_PRESENCE_SERVICE"
1732        android:permissionGroup="android.permission-group.PHONE"
1733        android:protectionLevel="signature|privileged"/>
1734
1735    <!-- @hide Allows an application to Access UCE-OPTIONS.
1736         <p>Protection level: signature|privileged
1737         @deprecated Framework should no longer use this permission to access the vendor UCE service
1738         using AIDL, it is instead implemented by RcsCapabilityExchangeImplBase
1739    -->
1740    <permission android:name="android.permission.ACCESS_UCE_OPTIONS_SERVICE"
1741        android:permissionGroup="android.permission-group.PHONE"
1742        android:protectionLevel="signature|privileged"/>
1743
1744
1745
1746    <!-- ====================================================================== -->
1747    <!-- Permissions for accessing the device camera                            -->
1748    <!-- ====================================================================== -->
1749    <eat-comment />
1750
1751    <!-- Used for permissions that are associated with accessing
1752     camera or capturing images/video from the device. -->
1753    <permission-group android:name="android.permission-group.CAMERA"
1754        android:icon="@drawable/perm_group_camera"
1755        android:label="@string/permgrouplab_camera"
1756        android:description="@string/permgroupdesc_camera"
1757        android:priority="700" />
1758
1759    <!-- Required to be able to access the camera device.
1760         <p>This will automatically enforce the
1761         <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">
1762         uses-feature</a> manifest element for <em>all</em> camera features.
1763         If you do not require all camera features or can properly operate if a camera
1764         is not available, then you must modify your manifest as appropriate in order to
1765         install on devices that don't support all camera features.</p>
1766         <p>Protection level: dangerous
1767    -->
1768    <permission android:name="android.permission.CAMERA"
1769        android:permissionGroup="android.permission-group.UNDEFINED"
1770        android:label="@string/permlab_camera"
1771        android:description="@string/permdesc_camera"
1772        android:backgroundPermission="android.permission.BACKGROUND_CAMERA"
1773        android:protectionLevel="dangerous|instant" />
1774
1775    <!-- Required to be able to discover and connect to nearby Bluetooth devices.
1776         <p>Protection level: dangerous -->
1777    <permission-group android:name="android.permission-group.NEARBY_DEVICES"
1778        android:icon="@drawable/perm_group_nearby_devices"
1779        android:label="@string/permgrouplab_nearby_devices"
1780        android:description="@string/permgroupdesc_nearby_devices"
1781        android:priority="750" />
1782
1783    <!-- @SystemApi @TestApi Required to be able to access the camera device in the background.
1784         This permission is not intended to be held by apps.
1785         <p>Protection level: internal
1786        @hide -->
1787    <permission android:name="android.permission.BACKGROUND_CAMERA"
1788            android:permissionGroup="android.permission-group.UNDEFINED"
1789            android:label="@string/permlab_backgroundCamera"
1790            android:description="@string/permdesc_backgroundCamera"
1791            android:protectionLevel="internal|role" />
1792
1793    <!-- @SystemApi Required in addition to android.permission.CAMERA to be able to access
1794           system only camera devices.
1795           <p>Protection level: system|signature|role
1796           @hide -->
1797    <permission android:name="android.permission.SYSTEM_CAMERA"
1798        android:permissionGroup="android.permission-group.UNDEFINED"
1799        android:label="@string/permlab_systemCamera"
1800        android:description="@string/permdesc_systemCamera"
1801        android:protectionLevel="system|signature|role" />
1802
1803    <!-- @SystemApi Allows receiving the camera service notifications when a camera is opened
1804            (by a certain application package) or closed.
1805        @hide -->
1806    <permission android:name="android.permission.CAMERA_OPEN_CLOSE_LISTENER"
1807        android:permissionGroup="android.permission-group.UNDEFINED"
1808        android:label="@string/permlab_cameraOpenCloseListener"
1809        android:description="@string/permdesc_cameraOpenCloseListener"
1810        android:protectionLevel="signature" />
1811
1812    <!-- @SystemApi Allows camera access by Headless System User 0 when device is running in
1813            HSUM Mode.
1814         @FlaggedApi("com.android.internal.camera.flags.camera_hsum_permission")
1815    @hide -->
1816    <permission android:name="android.permission.CAMERA_HEADLESS_SYSTEM_USER"
1817        android:permissionGroup="android.permission-group.UNDEFINED"
1818        android:label="@string/permlab_cameraHeadlessSystemUser"
1819        android:description="@string/permdesc_cameraHeadlessSystemUser"
1820        android:protectionLevel="signature"
1821        android:featureFlag="com.android.internal.camera.flags.camera_hsum_permission" />
1822
1823
1824    <!-- @SystemApi Allows camera access of allowlisted driver assistance apps
1825         to be controlled separately.
1826         <p> Not for use by third-party applications.
1827         @FlaggedApi("com.android.internal.camera.flags.camera_privacy_allowlist")
1828         @hide
1829    -->
1830    <permission android:name="android.permission.CAMERA_PRIVACY_ALLOWLIST"
1831        android:protectionLevel="signature|privileged" />
1832
1833    <!-- ====================================================================== -->
1834    <!-- Permissions for accessing the device sensors                           -->
1835    <!-- ====================================================================== -->
1836    <eat-comment />
1837
1838    <!-- Used for permissions that are associated with accessing
1839         body or environmental sensors. -->
1840    <permission-group android:name="android.permission-group.SENSORS"
1841        android:icon="@drawable/perm_group_sensors"
1842        android:label="@string/permgrouplab_sensors"
1843        android:description="@string/permgroupdesc_sensors"
1844        android:priority="800" />
1845
1846    <!-- Allows an app to access sensor data with a sampling rate greater than 200 Hz.
1847        <p>Protection level: normal
1848    -->
1849    <permission android:name="android.permission.HIGH_SAMPLING_RATE_SENSORS"
1850                android:permissionGroup="android.permission-group.SENSORS"
1851                android:label="@string/permlab_highSamplingRateSensors"
1852                android:description="@string/permdesc_highSamplingRateSensors"
1853                android:protectionLevel="normal" />
1854
1855    <!-- Allows an application to access data from sensors that the user uses to
1856         measure what is happening inside their body, such as heart rate.
1857         <p>Protection level: dangerous -->
1858    <permission android:name="android.permission.BODY_SENSORS"
1859        android:permissionGroup="android.permission-group.UNDEFINED"
1860        android:label="@string/permlab_bodySensors"
1861        android:description="@string/permdesc_bodySensors"
1862        android:backgroundPermission="android.permission.BODY_SENSORS_BACKGROUND"
1863        android:protectionLevel="dangerous" />
1864
1865    <!-- Allows an application to access data from sensors that the user uses to measure what is
1866         happening inside their body, such as heart rate. If you're requesting this permission, you
1867         must also request {@link #BODY_SENSORS}. Requesting this permission by itself doesn't give
1868         you Body sensors access.
1869         <p>Protection level: dangerous
1870
1871         <p> This is a hard restricted permission which cannot be held by an app until
1872         the installer on record allowlists the permission. For more details see
1873         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1874    -->
1875    <permission android:name="android.permission.BODY_SENSORS_BACKGROUND"
1876        android:permissionGroup="android.permission-group.UNDEFINED"
1877        android:label="@string/permlab_bodySensors_background"
1878        android:description="@string/permdesc_bodySensors_background"
1879        android:protectionLevel="dangerous"
1880        android:permissionFlags="hardRestricted" />
1881
1882    <!-- Allows an app to use fingerprint hardware.
1883         <p>Protection level: normal
1884         @deprecated Applications should request {@link
1885         android.Manifest.permission#USE_BIOMETRIC} instead
1886    -->
1887    <permission android:name="android.permission.USE_FINGERPRINT"
1888        android:permissionGroup="android.permission-group.SENSORS"
1889        android:label="@string/permlab_useFingerprint"
1890        android:description="@string/permdesc_useFingerprint"
1891        android:protectionLevel="normal" />
1892
1893    <!-- Allows an app to use device supported biometric modalities.
1894         <p>Protection level: normal
1895    -->
1896    <permission android:name="android.permission.USE_BIOMETRIC"
1897        android:permissionGroup="android.permission-group.SENSORS"
1898        android:label="@string/permlab_useBiometric"
1899        android:description="@string/permdesc_useBiometric"
1900        android:protectionLevel="normal" />
1901
1902    <!-- ====================================================================== -->
1903    <!-- Permissions for posting notifications                                  -->
1904    <!-- ====================================================================== -->
1905    <eat-comment />
1906
1907    <!-- Used for permissions that are associated with posting notifications
1908    -->
1909    <permission-group android:name="android.permission-group.NOTIFICATIONS"
1910          android:icon="@drawable/ic_notifications_alerted"
1911          android:label="@string/permgrouplab_notifications"
1912          android:description="@string/permgroupdesc_notifications"
1913          android:priority="850" />
1914
1915    <!-- Allows an app to post notifications
1916         <p>Protection level: dangerous
1917    -->
1918    <permission android:name="android.permission.POST_NOTIFICATIONS"
1919                android:permissionGroup="android.permission-group.UNDEFINED"
1920                android:label="@string/permlab_postNotification"
1921                android:description="@string/permdesc_postNotification"
1922                android:protectionLevel="dangerous|instant" />
1923    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
1924
1925    <!-- ====================================================================== -->
1926    <!-- REMOVED PERMISSIONS                                                    -->
1927    <!-- ====================================================================== -->
1928
1929    <!-- @hide We need to keep this around for backwards compatibility -->
1930    <permission android:name="android.permission.READ_PROFILE"
1931        android:protectionLevel="normal"
1932        android:permissionFlags="removed"/>
1933
1934    <!-- @hide We need to keep this around for backwards compatibility -->
1935    <permission android:name="android.permission.WRITE_PROFILE"
1936        android:protectionLevel="normal"
1937        android:permissionFlags="removed"/>
1938
1939    <!-- @hide We need to keep this around for backwards compatibility -->
1940    <permission android:name="android.permission.READ_SOCIAL_STREAM"
1941        android:protectionLevel="normal"
1942        android:permissionFlags="removed"/>
1943
1944    <!-- @hide We need to keep this around for backwards compatibility -->
1945    <permission android:name="android.permission.WRITE_SOCIAL_STREAM"
1946        android:protectionLevel="normal"
1947        android:permissionFlags="removed"/>
1948
1949    <!-- @hide We need to keep this around for backwards compatibility -->
1950    <permission android:name="android.permission.READ_USER_DICTIONARY"
1951        android:protectionLevel="normal"
1952        android:permissionFlags="removed"/>
1953
1954    <!-- @hide We need to keep this around for backwards compatibility -->
1955    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
1956        android:protectionLevel="normal"
1957        android:permissionFlags="removed"/>
1958
1959    <!-- @SystemApi @hide We need to keep this around for backwards compatibility -->
1960    <permission android:name="android.permission.WRITE_SMS"
1961        android:protectionLevel="normal"
1962        android:permissionFlags="removed"/>
1963
1964    <!-- @hide We need to keep this around for backwards compatibility -->
1965    <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
1966        android:protectionLevel="normal"
1967        android:permissionFlags="removed"/>
1968
1969    <!-- @hide We need to keep this around for backwards compatibility -->
1970    <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
1971        android:protectionLevel="normal"
1972        android:permissionFlags="removed"/>
1973
1974    <!-- @hide We need to keep this around for backwards compatibility -->
1975    <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"
1976        android:protectionLevel="normal"
1977        android:permissionFlags="removed"/>
1978
1979    <!-- @hide We need to keep this around for backwards compatibility -->
1980    <permission android:name="android.permission.MANAGE_ACCOUNTS"
1981        android:protectionLevel="normal"
1982        android:permissionFlags="removed"/>
1983
1984    <!-- @hide We need to keep this around for backwards compatibility -->
1985    <permission android:name="android.permission.USE_CREDENTIALS"
1986        android:protectionLevel="normal"
1987        android:permissionFlags="removed"/>
1988
1989    <!-- @hide We need to keep this around for backwards compatibility -->
1990    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
1991        android:protectionLevel="normal"
1992        android:permissionFlags="removed"/>
1993
1994    <!-- @hide We need to keep this around for backwards compatibility -->
1995    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
1996        android:protectionLevel="normal"
1997        android:permissionFlags="removed"/>
1998
1999    <!-- @hide We need to keep this around for backwards compatibility -->
2000    <permission android:name="android.permission.FLASHLIGHT"
2001        android:protectionLevel="normal"
2002        android:permissionFlags="removed"/>
2003
2004    <!-- ====================================================================== -->
2005    <!-- INSTALL PERMISSIONS                                                    -->
2006    <!-- ====================================================================== -->
2007
2008    <!-- ================================== -->
2009    <!-- Permissions for accessing messages -->
2010    <!-- ================================== -->
2011    <eat-comment />
2012
2013    <!-- Allows an application (Phone) to send a request to other applications
2014         to handle the respond-via-message action during incoming calls.
2015         <p>Not for use by third-party applications. -->
2016    <permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE"
2017        android:protectionLevel="signature|privileged" />
2018
2019    <!-- @SystemApi Allows an application to send SMS to premium shortcodes without user permission.
2020         <p>Not for use by third-party applications.
2021         @hide -->
2022    <permission android:name="android.permission.SEND_SMS_NO_CONFIRMATION"
2023        android:protectionLevel="signature|privileged" />
2024
2025    <!-- Allows an application to filter carrier specific sms.
2026         @hide -->
2027    <permission android:name="android.permission.CARRIER_FILTER_SMS"
2028        android:protectionLevel="signature|privileged" />
2029
2030    <!-- @SystemApi Allows an application to receive emergency cell broadcast messages,
2031         to record or display them to the user.
2032         <p>Not for use by third-party applications.
2033         @hide -->
2034    <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"
2035        android:protectionLevel="signature|privileged" />
2036
2037    <!-- @SystemApi Allows an application to monitor incoming Bluetooth MAP messages, to record
2038         or perform processing on them. -->
2039    <!-- @hide -->
2040    <permission android:name="android.permission.RECEIVE_BLUETOOTH_MAP"
2041        android:protectionLevel="signature|privileged" />
2042
2043    <!-- @SystemApi @hide Allows an application to execute contacts directory search.
2044         This should only be used by ContactsProvider.
2045         <p>Not for use by third-party applications. -->
2046    <permission android:name="android.permission.BIND_DIRECTORY_SEARCH"
2047        android:protectionLevel="signature|privileged" />
2048
2049    <!-- @SystemApi @hide Allows an application to modify the cell broadcasts configuration
2050         (i.e. enable or disable channels).
2051         <p>Not for use by third-party applications. -->
2052    <permission android:name="android.permission.MODIFY_CELL_BROADCASTS"
2053                android:protectionLevel="signature|privileged" />
2054
2055    <!-- =============================================================== -->
2056    <!-- Permissions for setting the device alarm                        -->
2057    <!-- =============================================================== -->
2058    <eat-comment />
2059
2060    <!-- Allows an application to broadcast an Intent to set an alarm for the user.
2061         <p>Protection level: normal
2062    -->
2063    <permission android:name="com.android.alarm.permission.SET_ALARM"
2064        android:label="@string/permlab_setAlarm"
2065        android:description="@string/permdesc_setAlarm"
2066        android:protectionLevel="normal" />
2067
2068    <!-- =============================================================== -->
2069    <!-- Permissions for accessing the user voicemail                    -->
2070    <!-- =============================================================== -->
2071    <eat-comment />
2072
2073    <!-- Allows an application to modify and remove existing voicemails in the system.
2074        <p>Protection level: signature|privileged|role
2075    -->
2076    <permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"
2077        android:protectionLevel="signature|privileged|role" />
2078
2079    <!-- Allows an application to read voicemails in the system.
2080         <p>Protection level: signature|privileged|role
2081    -->
2082    <permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"
2083        android:protectionLevel="signature|privileged|role" />
2084
2085    <!-- ======================================= -->
2086    <!-- Permissions for accessing location info -->
2087    <!-- ======================================= -->
2088    <eat-comment />
2089
2090    <!-- Allows an application to access extra location provider commands.
2091         <p>Protection level: normal
2092    -->
2093    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
2094        android:label="@string/permlab_accessLocationExtraCommands"
2095        android:description="@string/permdesc_accessLocationExtraCommands"
2096        android:protectionLevel="normal" />
2097
2098    <!-- Allows an application to install a location provider into the Location Manager.
2099    <p>Not for use by third-party applications. -->
2100    <permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"
2101        android:protectionLevel="signature|privileged" />
2102
2103    <!-- @SystemApi @hide Allows an application to provide location-based time zone suggestions to
2104         the system server. This is needed because the system server discovers time zone providers
2105         by exposed intent actions and metadata, without it any app could potentially register
2106         itself as time zone provider. The system server checks for this permission.
2107         <p>Not for use by third-party applications.
2108    -->
2109    <permission android:name="android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE"
2110        android:protectionLevel="signature|privileged" />
2111
2112    <!-- @SystemApi @hide Allows an application to bind to a android.service.TimeZoneProviderService
2113         for the purpose of detecting the device's time zone. This prevents arbitrary clients
2114         connecting to the time zone provider service. The system server checks that the provider's
2115         intent service explicitly sets this permission via the android:permission attribute of the
2116         service.
2117         This is only expected to be possessed by the system server outside of tests.
2118         <p>Not for use by third-party applications.
2119    -->
2120    <permission android:name="android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE"
2121        android:protectionLevel="signature" />
2122
2123    <!-- @SystemApi @hide Allows HDMI-CEC service to access device and configuration files.
2124         This should only be used by HDMI-CEC service.
2125    -->
2126    <permission android:name="android.permission.HDMI_CEC"
2127        android:protectionLevel="signature|privileged|vendorPrivileged" />
2128
2129    <!-- Allows an application to use location features in hardware,
2130         such as the geofencing api.
2131         <p>Not for use by third-party applications. -->
2132    <permission android:name="android.permission.LOCATION_HARDWARE"
2133        android:protectionLevel="signature|privileged|role" />
2134    <uses-permission android:name="android.permission.LOCATION_HARDWARE"/>
2135
2136    <!-- @SystemApi Allows an application to use the Context Hub.
2137         <p>Not for use by third-party applications.
2138         @hide
2139    -->
2140    <permission android:name="android.permission.ACCESS_CONTEXT_HUB"
2141        android:protectionLevel="signature|privileged" />
2142    <uses-permission android:name="android.permission.ACCESS_CONTEXT_HUB"/>
2143
2144    <!-- @SystemApi Allows an application to create mock location providers for testing.
2145         <p>Protection level: signature
2146         @hide
2147    -->
2148    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
2149        android:protectionLevel="signature" />
2150
2151    <!-- @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
2152         Allows automotive applications to control location
2153         suspend state for power management use cases.
2154         <p>Not for use by third-party applications.
2155    -->
2156    <permission android:name="android.permission.CONTROL_AUTOMOTIVE_GNSS"
2157        android:protectionLevel="signature|privileged" />
2158
2159    <!-- @SystemApi @hide Allows an application to bind to a
2160         android.service.PopulationDensityProviderService for the purpose of
2161         querying population density. This prevents arbitrary clients connecting
2162         to the service. The system server checks that the provider's intent
2163         service explicitly sets this permission via the android:permission
2164         attribute of the service.
2165         This is only expected to be possessed by the system server outside of
2166         tests.
2167         @FlaggedApi(android.location.flags.Flags.FLAG_POPULATION_DENSITY_PROVIDER)
2168         <p>Protection level: signature
2169    -->
2170    <permission android:name="android.permission.BIND_POPULATION_DENSITY_PROVIDER_SERVICE"
2171        android:featureFlag="android.location.flags.population_density_provider"
2172        android:protectionLevel="signature" />
2173
2174    <!-- ======================================= -->
2175    <!-- Permissions for accessing networks -->
2176    <!-- ======================================= -->
2177    <eat-comment />
2178
2179    <!-- Allows applications to open network sockets.
2180         <p>Protection level: normal
2181    -->
2182    <permission android:name="android.permission.INTERNET"
2183        android:description="@string/permdesc_createNetworkSockets"
2184        android:label="@string/permlab_createNetworkSockets"
2185        android:protectionLevel="normal|instant" />
2186
2187    <!-- Allows applications to access information about networks.
2188         <p>Protection level: normal
2189    -->
2190    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
2191        android:description="@string/permdesc_accessNetworkState"
2192        android:label="@string/permlab_accessNetworkState"
2193        android:protectionLevel="normal|instant" />
2194
2195    <!-- Allows applications to access information about Wi-Fi networks.
2196         <p>Protection level: normal
2197    -->
2198    <permission android:name="android.permission.ACCESS_WIFI_STATE"
2199        android:description="@string/permdesc_accessWifiState"
2200        android:label="@string/permlab_accessWifiState"
2201        android:protectionLevel="normal" />
2202
2203    <!-- Allows applications to change Wi-Fi connectivity state.
2204         <p>Protection level: normal
2205    -->
2206    <permission android:name="android.permission.CHANGE_WIFI_STATE"
2207        android:description="@string/permdesc_changeWifiState"
2208        android:label="@string/permlab_changeWifiState"
2209        android:protectionLevel="normal" />
2210
2211    <!-- This permission is used to let OEMs grant their trusted app access to a subset of
2212         privileged wifi APIs to improve wifi performance. Allows applications to manage
2213         Wi-Fi network selection related features such as enable or disable global auto-join,
2214         modify connectivity scan intervals, and approve Wi-Fi Direct connections.
2215         <p>Not for use by third-party applications. -->
2216    <permission android:name="android.permission.MANAGE_WIFI_NETWORK_SELECTION"
2217                android:protectionLevel="signature|privileged|knownSigner"
2218                android:knownCerts="@array/wifi_known_signers" />
2219
2220    <!-- Allows applications to get notified when a Wi-Fi interface request cannot
2221         be satisfied without tearing down one or more other interfaces, and provide a decision
2222         whether to approve the request or reject it.
2223         <p>Not for use by third-party applications. -->
2224    <permission android:name="android.permission.MANAGE_WIFI_INTERFACES"
2225                android:protectionLevel="signature|privileged|knownSigner"
2226                android:knownCerts="@array/wifi_known_signers" />
2227
2228    <!-- @SystemApi @hide Allows apps to create and manage IPsec tunnels.
2229         <p>Only granted to applications that are currently bound by the
2230         system for creating and managing IPsec-based interfaces.
2231    -->
2232    <permission android:name="android.permission.MANAGE_IPSEC_TUNNELS"
2233        android:protectionLevel="signature|appop" />
2234
2235    <!-- @SystemApi @hide Allows apps to create and manage Test Networks.
2236         <p>Granted only to shell. CTS tests will use
2237         UiAutomation.AdoptShellPermissionIdentity() to gain access.
2238    -->
2239    <permission android:name="android.permission.MANAGE_TEST_NETWORKS"
2240        android:protectionLevel="signature" />
2241
2242    <!-- Allows direct access to the <RemoteAuth>Service interfaces.
2243         @hide -->
2244    <permission android:name="android.permission.MANAGE_REMOTE_AUTH"
2245                android:protectionLevel="signature" />
2246
2247    <!-- Allows direct access to the <RemoteAuth>Service authentication methods.
2248         @hide -->
2249    <permission android:name="android.permission.USE_REMOTE_AUTH"
2250                android:protectionLevel="signature" />
2251
2252    <!-- @SystemApi @hide Allows applications to read Wi-Fi credential.
2253         <p>Not for use by third-party applications. -->
2254    <permission android:name="android.permission.READ_WIFI_CREDENTIAL"
2255        android:protectionLevel="signature|privileged" />
2256
2257    <!-- @SystemApi @hide Allows applications to change tether state and run
2258         tether carrier provisioning.
2259         <p>Not for use by third-party applications. -->
2260    <permission android:name="android.permission.TETHER_PRIVILEGED"
2261        android:protectionLevel="signature|privileged" />
2262
2263    <!-- @SystemApi @hide Allow system apps to receive broadcast
2264         when a wifi network credential is changed.
2265         <p>Not for use by third-party applications. -->
2266    <permission android:name="android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE"
2267        android:protectionLevel="signature|privileged" />
2268
2269    <!-- Allows an application to modify any wifi configuration, even if created
2270     by another application. Once reconfigured the original creator cannot make any further
2271     modifications.
2272     <p>Not for use by third-party applications. -->
2273    <permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"
2274                android:protectionLevel="signature|privileged|knownSigner"
2275                android:knownCerts="@array/wifi_known_signers" />
2276
2277    <!-- @deprecated Allows applications to act as network scorers. @hide @SystemApi-->
2278    <permission android:name="android.permission.SCORE_NETWORKS"
2279        android:protectionLevel="signature|privileged" />
2280
2281    <!-- @deprecated Allows applications to request network
2282         recommendations and scores from the NetworkScoreService.
2283         @SystemApi
2284         <p>Not for use by third-party applications. @hide -->
2285    <permission android:name="android.permission.REQUEST_NETWORK_SCORES"
2286        android:protectionLevel="signature|setup" />
2287
2288    <!-- Allows applications to restart the Wi-Fi subsystem.
2289     @SystemApi
2290     <p>Not for use by third-party applications. @hide -->
2291    <permission android:name="android.permission.RESTART_WIFI_SUBSYSTEM"
2292                android:protectionLevel="signature|privileged" />
2293
2294    <!-- @SystemApi @hide Allows applications to toggle airplane mode.
2295         <p>Not for use by third-party or privileged applications.
2296    -->
2297    <permission android:name="android.permission.NETWORK_AIRPLANE_MODE"
2298        android:protectionLevel="signature" />
2299
2300    <!-- Allows network stack services (Connectivity and Wifi) to coordinate
2301         <p>Not for use by third-party or privileged applications.
2302         @SystemApi @TestApi
2303         @hide This should only be used by Connectivity and Wifi Services.
2304    -->
2305    <permission android:name="android.permission.NETWORK_STACK"
2306        android:protectionLevel="signature" />
2307
2308    <!-- @SystemApi @hide Allows an application to observe network policy changes. -->
2309    <permission android:name="android.permission.OBSERVE_NETWORK_POLICY"
2310                android:protectionLevel="signature" />
2311
2312    <!-- @SystemApi @hide Allows applications to register network factory or agent -->
2313    <permission android:name="android.permission.NETWORK_FACTORY"
2314                android:protectionLevel="signature|role" />
2315
2316    <!-- @SystemApi @hide Allows applications to access network stats provider -->
2317    <permission android:name="android.permission.NETWORK_STATS_PROVIDER"
2318                android:protectionLevel="signature" />
2319
2320    <!-- Allows Settings and SystemUI to call methods in Networking services
2321         <p>Not for use by third-party or privileged applications.
2322         @SystemApi @TestApi
2323         @hide This should only be used by Settings and SystemUI.
2324    -->
2325    <permission android:name="android.permission.NETWORK_SETTINGS"
2326        android:protectionLevel="signature" />
2327
2328    <!-- Allows holder to request bluetooth/wifi scan bypassing global "use location" setting and
2329         location permissions.
2330         <p>Not for use by third-party or privileged applications.
2331         @SystemApi
2332         @hide
2333    -->
2334    <permission android:name="android.permission.RADIO_SCAN_WITHOUT_LOCATION"
2335                android:protectionLevel="signature|companion" />
2336
2337    <!-- Allows SetupWizard to call methods in Networking services
2338         <p>Not for use by any other third-party or privileged applications.
2339         @SystemApi
2340         @hide This should only be used by SetupWizard.
2341    -->
2342    <permission android:name="android.permission.NETWORK_SETUP_WIZARD"
2343        android:protectionLevel="signature|setup" />
2344
2345    <!-- Allows Managed Provisioning to call methods in Networking services
2346         <p>Not for use by any other third-party or privileged applications.
2347         @SystemApi
2348         @hide This should only be used by ManagedProvisioning app.
2349    -->
2350    <permission android:name="android.permission.NETWORK_MANAGED_PROVISIONING"
2351        android:protectionLevel="signature|role" />
2352
2353    <!-- Allows Carrier Provisioning to call methods in Networking services
2354         <p>Not for use by any other third-party or privileged applications.
2355         @SystemApi
2356         @hide This should only be used by CarrierProvisioning.
2357    -->
2358    <permission android:name="android.permission.NETWORK_CARRIER_PROVISIONING"
2359        android:protectionLevel="signature|privileged" />
2360
2361    <!-- #SystemApi @hide Allows applications to access information about LoWPAN interfaces.
2362         <p>Not for use by third-party applications. -->
2363    <permission android:name="android.permission.ACCESS_LOWPAN_STATE"
2364        android:protectionLevel="signature|privileged" />
2365
2366    <!-- #SystemApi @hide Allows applications to change LoWPAN connectivity state.
2367         <p>Not for use by third-party applications. -->
2368    <permission android:name="android.permission.CHANGE_LOWPAN_STATE"
2369        android:protectionLevel="signature|privileged" />
2370
2371    <!-- #SystemApi @hide Allows applications to read LoWPAN credential.
2372         <p>Not for use by third-party applications. -->
2373    <permission android:name="android.permission.READ_LOWPAN_CREDENTIAL"
2374        android:protectionLevel="signature|privileged" />
2375
2376    <!-- #SystemApi @hide Allows a service to register or unregister
2377         new LoWPAN interfaces.
2378         <p>Not for use by third-party applications. -->
2379    <permission android:name="android.permission.MANAGE_LOWPAN_INTERFACES"
2380        android:protectionLevel="signature|privileged" />
2381
2382    <!-- @SystemApi @hide Allows changing Thread network state and access to Thread network
2383        credentials such as Network Key and PSKc.
2384        <p>Not for use by third-party applications.
2385        @FlaggedApi("com.android.net.thread.platform.flags.thread_enabled_platform") -->
2386    <permission android:name="android.permission.THREAD_NETWORK_PRIVILEGED"
2387                android:protectionLevel="signature|privileged" />
2388
2389    <!-- @hide Allows access to Thread network APIs or shell commands ("cmd thread_network") which
2390        are only for testing. -->
2391    <permission android:name="android.permission.THREAD_NETWORK_TESTING"
2392                android:protectionLevel="signature" />
2393
2394    <!-- #SystemApi @hide Allows an app to bypass Private DNS.
2395         <p>Not for use by third-party applications.
2396         TODO: publish as system API in next API release. -->
2397    <permission android:name="android.permission.NETWORK_BYPASS_PRIVATE_DNS"
2398        android:protectionLevel="signature" />
2399
2400    <!-- @SystemApi @hide Allows device mobility state to be set so that Wifi scan interval can
2401         be increased when the device is stationary in order to save power.
2402         <p>Not for use by third-party applications. -->
2403    <permission android:name="android.permission.WIFI_SET_DEVICE_MOBILITY_STATE"
2404        android:protectionLevel="signature|privileged" />
2405
2406    <!-- @SystemApi @hide Allows privileged system APK to update Wifi usability stats and score.
2407         <p>Not for use by third-party applications. -->
2408    <permission android:name="android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE"
2409        android:protectionLevel="signature|privileged" />
2410
2411    <!-- @SystemApi @hide Allows applications to update Wifi/Cellular coex channels to avoid.
2412             <p>Not for use by third-party applications. -->
2413    <permission android:name="android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS"
2414        android:protectionLevel="signature|role" />
2415
2416    <!-- @SystemApi @hide Allows applications to access Wifi/Cellular coex channels being avoided.
2417         <p>Not for use by third-party applications. -->
2418    <permission android:name="android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS"
2419        android:protectionLevel="signature|role" />
2420
2421    <!-- @SystemApi @hide Allows system APK to manage country code.
2422             <p>Not for use by third-party applications. -->
2423    <permission android:name="android.permission.MANAGE_WIFI_COUNTRY_CODE"
2424        android:protectionLevel="signature" />
2425
2426    <!-- @SystemApi @hide Allows an application to manage an automotive device's application network
2427         preference as it relates to OEM_PAID and OEM_PRIVATE capable networks.
2428         <p>Not for use by third-party or privileged applications. -->
2429    <permission android:name="android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE"
2430        android:protectionLevel="signature" />
2431
2432    <!-- @SystemApi @hide Allows an application to manage ethernet networks.
2433         <p>Not for use by third-party or privileged applications. -->
2434    <permission android:name="android.permission.MANAGE_ETHERNET_NETWORKS"
2435        android:protectionLevel="signature" />
2436
2437    <!-- Allows system apps to call methods to register itself as a mDNS offload engine.
2438        <p>Not for use by third-party or privileged applications.
2439        @SystemApi
2440        @FlaggedApi("android.net.platform.flags.register_nsd_offload_engine")
2441        @hide This should only be used by system apps.
2442    -->
2443    <permission android:name="android.permission.REGISTER_NSD_OFFLOAD_ENGINE"
2444        android:protectionLevel="signature"
2445        android:featureFlag="android.net.platform.flags.register_nsd_offload_engine" />
2446
2447    <!-- ======================================= -->
2448    <!-- Permissions for short range, peripheral networks -->
2449    <!-- ======================================= -->
2450    <eat-comment />
2451
2452    <!-- Allows applications to connect to paired bluetooth devices.
2453         <p>Protection level: normal
2454    -->
2455    <permission android:name="android.permission.BLUETOOTH"
2456        android:description="@string/permdesc_bluetooth"
2457        android:label="@string/permlab_bluetooth"
2458        android:protectionLevel="normal" />
2459
2460    <!-- Required to be able to discover and pair nearby Bluetooth devices.
2461         <p>Protection level: dangerous -->
2462    <permission android:name="android.permission.BLUETOOTH_SCAN"
2463        android:permissionGroup="android.permission-group.UNDEFINED"
2464        android:description="@string/permdesc_bluetooth_scan"
2465        android:label="@string/permlab_bluetooth_scan"
2466        android:protectionLevel="dangerous" />
2467
2468    <!-- Required to be able to connect to paired Bluetooth devices.
2469         <p>Protection level: dangerous -->
2470    <permission android:name="android.permission.BLUETOOTH_CONNECT"
2471        android:permissionGroup="android.permission-group.UNDEFINED"
2472        android:description="@string/permdesc_bluetooth_connect"
2473        android:label="@string/permlab_bluetooth_connect"
2474        android:protectionLevel="dangerous" />
2475
2476    <!-- Required to be able to advertise to nearby Bluetooth devices.
2477         <p>Protection level: dangerous -->
2478    <permission android:name="android.permission.BLUETOOTH_ADVERTISE"
2479        android:permissionGroup="android.permission-group.UNDEFINED"
2480        android:description="@string/permdesc_bluetooth_advertise"
2481        android:label="@string/permlab_bluetooth_advertise"
2482        android:protectionLevel="dangerous" />
2483
2484    <!-- Required to be able to range to devices using ultra-wideband.
2485         <p>Protection level: dangerous -->
2486    <permission android:name="android.permission.UWB_RANGING"
2487        android:permissionGroup="android.permission-group.UNDEFINED"
2488        android:description="@string/permdesc_uwb_ranging"
2489        android:label="@string/permlab_uwb_ranging"
2490        android:protectionLevel="dangerous" />
2491
2492    <!-- Required to be able to advertise and connect to nearby devices via Wi-Fi.
2493         <p>Protection level: dangerous -->
2494    <permission android:name="android.permission.NEARBY_WIFI_DEVICES"
2495                android:permissionGroup="android.permission-group.UNDEFINED"
2496                android:description="@string/permdesc_nearby_wifi_devices"
2497                android:label="@string/permlab_nearby_wifi_devices"
2498                android:protectionLevel="dangerous" />
2499
2500    <!-- Required to be able to range to devices using generic ranging module.
2501         @FlaggedApi("android.permission.flags.ranging_permission_enabled")
2502         <p>Protection level: dangerous -->
2503    <permission android:name="android.permission.RANGING"
2504        android:permissionGroup="android.permission-group.UNDEFINED"
2505        android:description="@string/permdesc_ranging"
2506        android:label="@string/permlab_ranging"
2507        android:protectionLevel="dangerous"
2508        android:featureFlag="android.permission.flags.ranging_permission_enabled"/>
2509
2510    <!-- @SystemApi @TestApi Allows an application to suspend other apps, which will prevent the
2511         user from using them until they are unsuspended.
2512         @hide
2513    -->
2514    <permission android:name="android.permission.SUSPEND_APPS"
2515        android:protectionLevel="signature|role|verifier" />
2516
2517    <!-- @SystemApi
2518         @hide
2519         @FlaggedApi("android.content.pm.quarantined_enabled")
2520         Allows an application to quarantine other apps, which will prevent
2521         them from running without explicit user action.
2522    -->
2523    <permission android:name="android.permission.QUARANTINE_APPS"
2524        android:protectionLevel="signature|verifier"
2525        android:featureFlag="android.content.pm.quarantined_enabled" />
2526
2527    <!-- Allows applications to discover and pair bluetooth devices.
2528         <p>Protection level: normal
2529    -->
2530    <permission android:name="android.permission.BLUETOOTH_ADMIN"
2531        android:description="@string/permdesc_bluetoothAdmin"
2532        android:label="@string/permlab_bluetoothAdmin"
2533        android:protectionLevel="normal" />
2534
2535    <!-- Allows applications to pair bluetooth devices without user interaction, and to
2536         allow or disallow phonebook access or message access.
2537         <p>Not for use by third-party applications. -->
2538    <permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
2539        android:protectionLevel="signature|privileged" />
2540
2541    <!-- @SystemApi Control access to email providers exclusively for Bluetooth
2542         @hide
2543    -->
2544    <permission android:name="android.permission.BLUETOOTH_MAP"
2545        android:protectionLevel="signature|role" />
2546
2547    <!-- Allows bluetooth stack to access files
2548         This should only be granted to the Bluetooth apk.
2549         @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
2550    -->
2551    <permission android:name="android.permission.BLUETOOTH_STACK"
2552        android:protectionLevel="signature|role" />
2553
2554    <!-- Allows uhid write access for creating virtual input devices
2555         @hide
2556    -->
2557    <permission android:name="android.permission.VIRTUAL_INPUT_DEVICE"
2558        android:protectionLevel="signature" />
2559
2560    <!-- Allows applications to perform I/O operations over NFC.
2561         <p>Protection level: normal
2562    -->
2563    <permission android:name="android.permission.NFC"
2564        android:description="@string/permdesc_nfc"
2565        android:label="@string/permlab_nfc"
2566        android:protectionLevel="normal" />
2567
2568    <!-- Allows applications to receive NFC transaction events.
2569         <p>Protection level: normal
2570    -->
2571    <permission android:name="android.permission.NFC_TRANSACTION_EVENT"
2572        android:description="@string/permdesc_nfcTransactionEvent"
2573        android:label="@string/permlab_nfcTransactionEvent"
2574      android:protectionLevel="normal" />
2575
2576    <!-- Allows applications to receive NFC preferred payment service information.
2577         <p>Protection level: normal
2578    -->
2579    <permission android:name="android.permission.NFC_PREFERRED_PAYMENT_INFO"
2580        android:description="@string/permdesc_preferredPaymentInfo"
2581        android:label="@string/permlab_preferredPaymentInfo"
2582        android:protectionLevel="normal" />
2583
2584    <!-- @SystemApi Allows access to set NFC controller always on states.
2585         <p>Protection level: signature|privileged
2586         @hide -->
2587    <permission android:name="android.permission.NFC_SET_CONTROLLER_ALWAYS_ON"
2588        android:protectionLevel="signature|privileged" />
2589
2590    <!-- @SystemApi Allows an internal user to use privileged SecureElement APIs.
2591         Applications holding this permission can access OMAPI reset system API
2592         and bypass OMAPI AccessControlEnforcer.
2593         <p>Not for use by third-party applications.
2594         @hide -->
2595    <permission android:name="android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION"
2596        android:protectionLevel="signature|privileged" />
2597
2598    <!-- @deprecated This permission used to allow too broad access to sensitive methods and all its
2599         uses have been replaced by a more appropriate permission. Most uses have been replaced with
2600         a NETWORK_STACK or NETWORK_SETTINGS check. Please look up the documentation of the
2601         individual functions to figure out what permission now protects the individual function.
2602         @SystemApi Allows an internal user to use privileged ConnectivityManager APIs.
2603         @hide -->
2604    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
2605        android:protectionLevel="signature|privileged" />
2606
2607    <!-- @SystemApi Allows an internal user to use restricted Networks.
2608         @hide -->
2609    <permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"
2610        android:protectionLevel="signature|privileged" />
2611    <uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>
2612
2613    <!-- @SystemApi Allows an internal user to set signal strength in NetworkRequest. This kind of
2614         request will wake up device when signal strength meets the given value.
2615         @hide -->
2616    <permission android:name="android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP"
2617                android:protectionLevel="signature|privileged" />
2618
2619    <!-- @SystemApi Allows a system application to access hardware packet offload capabilities.
2620         @hide -->
2621    <permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD"
2622        android:protectionLevel="signature|privileged" />
2623
2624    <!-- @SystemApi
2625         @hide -->
2626    <permission android:name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"
2627        android:protectionLevel="signature|privileged" />
2628
2629    <!-- @SystemApi Allows access to the loop radio (Android@Home mesh network) device.
2630         @hide -->
2631    <permission android:name="android.permission.LOOP_RADIO"
2632        android:protectionLevel="signature|privileged" />
2633
2634    <!-- Allows sending and receiving handover transfer status from Wifi and Bluetooth
2635         @hide -->
2636    <permission android:name="android.permission.NFC_HANDOVER_STATUS"
2637        android:protectionLevel="signature|privileged" />
2638
2639    <!-- @SystemApi Allows internal management of Bluetooth state when on wireless consent mode.
2640         <p>Not for use by third-party applications.
2641         @hide -->
2642    <permission android:name="android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED"
2643        android:protectionLevel="signature" />
2644
2645    <!-- @hide Allows the device to be reset, clearing all data and enables Test Harness Mode. -->
2646    <permission android:name="android.permission.ENABLE_TEST_HARNESS_MODE"
2647        android:protectionLevel="signature" />
2648
2649    <!-- @SystemApi Allows access to ultra wideband device.
2650     <p>Not for use by third-party applications.
2651     @hide -->
2652    <permission android:name="android.permission.UWB_PRIVILEGED"
2653                android:protectionLevel="signature|privileged" />
2654
2655    <!-- ================================== -->
2656    <!-- Permissions for accessing accounts -->
2657    <!-- ================================== -->
2658    <eat-comment />
2659
2660    <!-- Allows access to the list of accounts in the Accounts Service.
2661
2662    <p class="note"><strong>Note:</strong> Beginning with Android 6.0 (API level
2663    23), if an app shares the signature of the authenticator that manages an
2664    account, it does not need <code>"GET_ACCOUNTS"</code> permission to read
2665    information about that account. On Android 5.1 and lower, all apps need
2666    <code>"GET_ACCOUNTS"</code> permission to read information about any
2667    account.</p>
2668
2669    <p>Protection level: dangerous
2670    -->
2671    <permission android:name="android.permission.GET_ACCOUNTS"
2672        android:permissionGroup="android.permission-group.UNDEFINED"
2673        android:protectionLevel="dangerous"
2674        android:description="@string/permdesc_getAccounts"
2675        android:label="@string/permlab_getAccounts" />
2676    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
2677
2678    <!-- @SystemApi Allows access to remove an account.
2679         @FlaggedApi(android.app.admin.flags.Flags.FLAG_SPLIT_CREATE_MANAGED_PROFILE_ENABLED)
2680         <p>Not for use by third-party applications.
2681         @hide -->
2682    <permission android:name="android.permission.REMOVE_ACCOUNTS"
2683        android:protectionLevel="signature|role"
2684        android:featureFlag="android.app.admin.flags.split_create_managed_profile_enabled" />
2685
2686    <!-- @SystemApi Allows access to copy an account to another user.
2687         @FlaggedApi(android.app.admin.flags.Flags.FLAG_SPLIT_CREATE_MANAGED_PROFILE_ENABLED)
2688         <p>Not for use by third-party applications.
2689         @hide -->
2690    <permission android:name="android.permission.COPY_ACCOUNTS"
2691        android:protectionLevel="signature|role"
2692        android:featureFlag="android.app.admin.flags.split_create_managed_profile_enabled" />
2693
2694    <!-- Allows applications to call into AccountAuthenticators.
2695    <p>Not for use by third-party applications. -->
2696    <permission android:name="android.permission.ACCOUNT_MANAGER"
2697        android:protectionLevel="signature" />
2698
2699    <!-- ================================== -->
2700    <!-- Permissions for accessing hardware that may effect battery life-->
2701    <!-- ================================== -->
2702    <eat-comment />
2703
2704    <!-- Allows applications to enter Wi-Fi Multicast mode.
2705         <p>Protection level: normal
2706    -->
2707    <permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
2708        android:description="@string/permdesc_changeWifiMulticastState"
2709        android:label="@string/permlab_changeWifiMulticastState"
2710        android:protectionLevel="normal" />
2711
2712    <!-- Allows access to the vibrator.
2713         <p>Protection level: normal
2714    -->
2715    <permission android:name="android.permission.VIBRATE"
2716        android:label="@string/permlab_vibrate"
2717        android:description="@string/permdesc_vibrate"
2718        android:protectionLevel="normal|instant" />
2719
2720    <!-- Allows access to the vibrator always-on settings.
2721         <p>Protection level: signature
2722         @hide
2723    -->
2724    <permission android:name="android.permission.VIBRATE_ALWAYS_ON"
2725        android:protectionLevel="signature" />
2726
2727    <!-- Allows access to system-only haptic feedback constants.
2728         <p>Protection level: signature
2729         @hide
2730    -->
2731    <permission android:name="android.permission.VIBRATE_SYSTEM_CONSTANTS"
2732        android:protectionLevel="signature" />
2733
2734    <!-- @SystemApi Allows access to perform vendor effects in the vibrator.
2735         <p>Protection level: signature
2736         @FlaggedApi(android.os.vibrator.Flags.FLAG_VENDOR_VIBRATION_EFFECTS)
2737         @hide
2738    -->
2739    <permission android:name="android.permission.VIBRATE_VENDOR_EFFECTS"
2740        android:protectionLevel="signature|privileged"
2741        android:featureFlag="android.os.vibrator.vendor_vibration_effects" />
2742
2743    <!-- @SystemApi Allows access to start a vendor vibration session.
2744         <p>Protection level: signature
2745        @FlaggedApi(android.os.vibrator.Flags.FLAG_VENDOR_VIBRATION_EFFECTS)
2746        @hide
2747    -->
2748    <permission android:name="android.permission.START_VIBRATION_SESSIONS"
2749        android:protectionLevel="signature|privileged"
2750        android:featureFlag="android.os.vibrator.vendor_vibration_effects" />
2751
2752    <!-- @SystemApi Allows access to the vibrator state.
2753         <p>Protection level: signature
2754         @hide
2755    -->
2756    <permission android:name="android.permission.ACCESS_VIBRATOR_STATE"
2757        android:label="@string/permdesc_vibrator_state"
2758        android:description="@string/permdesc_vibrator_state"
2759        android:protectionLevel="signature|privileged" />
2760
2761    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
2762         from dimming.
2763         <p>Protection level: normal
2764    -->
2765    <permission android:name="android.permission.WAKE_LOCK"
2766        android:label="@string/permlab_wakeLock"
2767        android:description="@string/permdesc_wakeLock"
2768        android:protectionLevel="normal|instant" />
2769
2770    <!-- Allows using the device's IR transmitter, if available.
2771         <p>Protection level: normal
2772    -->
2773    <permission android:name="android.permission.TRANSMIT_IR"
2774        android:label="@string/permlab_transmitIr"
2775        android:description="@string/permdesc_transmitIr"
2776        android:protectionLevel="normal" />
2777
2778    <!-- Allows an app to turn on the screen on, e.g. with
2779         {@link android.os.PowerManager#ACQUIRE_CAUSES_WAKEUP}.
2780         <p>Intended to only be used by home automation apps.
2781    -->
2782    <permission android:name="android.permission.TURN_SCREEN_ON"
2783        android:label="@string/permlab_turnScreenOn"
2784        android:description="@string/permdesc_turnScreenOn"
2785        android:protectionLevel="signature|privileged|appop" />
2786
2787    <!-- ==================================================== -->
2788    <!-- Permissions related to changing audio settings   -->
2789    <!-- ==================================================== -->
2790    <eat-comment />
2791
2792    <!-- Allows an application to modify global audio settings.
2793         <p>Protection level: normal
2794    -->
2795    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
2796        android:label="@string/permlab_modifyAudioSettings"
2797        android:description="@string/permdesc_modifyAudioSettings"
2798        android:protectionLevel="normal" />
2799
2800    <!-- ==================================================== -->
2801    <!-- Permissions related to screen capture   -->
2802    <!-- ==================================================== -->
2803    <eat-comment />
2804
2805    <!-- Allows an application to capture screen content to perform a screenshot using the intent
2806         action {@link android.content.Intent#ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE}.
2807         <p>Protection level: internal|role
2808         <p>Intended for use by ROLE_NOTES only.
2809    -->
2810    <permission android:name="android.permission.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE"
2811        android:protectionLevel="internal|role" />
2812
2813    <!-- Allows an application to get notified when a screen capture of its windows is attempted.
2814         <p>Protection level: normal
2815    -->
2816    <permission android:name="android.permission.DETECT_SCREEN_CAPTURE"
2817                android:label="@string/permlab_detectScreenCapture"
2818                android:description="@string/permdesc_detectScreenCapture"
2819                android:protectionLevel="normal" />
2820
2821    <!-- Allows an application to get notified when it is being recorded.
2822         <p>Protection level: normal
2823         @FlaggedApi("com.android.window.flags.screen_recording_callbacks")
2824    -->
2825    <permission android:name="android.permission.DETECT_SCREEN_RECORDING"
2826                android:protectionLevel="normal"
2827                android:featureFlag="com.android.window.flags.screen_recording_callbacks" />
2828
2829    <!-- ======================================== -->
2830    <!-- Permissions for factory reset protection -->
2831    <!-- ======================================== -->
2832    <eat-comment />
2833
2834    <!-- @SystemApi Allows an application to set a factory reset protection (FRP) policy.
2835         <p>Not for use by third-party applications.
2836         @hide
2837    -->
2838    <permission android:name="android.permission.MANAGE_FACTORY_RESET_PROTECTION"
2839        android:protectionLevel="signature|privileged"/>
2840
2841    <!-- ======================================== -->
2842    <!-- Permissions for lost mode -->
2843    <!-- ======================================== -->
2844    <eat-comment />
2845
2846    <!-- @SystemApi Allows an application to trigger lost mode on an organization-owned device.
2847         <p>Not for use by third-party applications.
2848         @hide
2849    -->
2850    <permission android:name="android.permission.TRIGGER_LOST_MODE"
2851        android:protectionLevel="signature|role"/>
2852
2853    <!-- ================================== -->
2854    <!-- Permissions for accessing hardware -->
2855    <!-- ================================== -->
2856    <eat-comment />
2857
2858    <!-- @SystemApi Allows an application to manage preferences and permissions for USB devices
2859         @hide -->
2860    <permission android:name="android.permission.MANAGE_USB"
2861        android:protectionLevel="signature|privileged" />
2862
2863    <!-- @SystemApi Allows an application to manage Android Debug Bridge settings.
2864         <p>Not for use by third-party applications.
2865         @hide -->
2866    <permission android:name="android.permission.MANAGE_DEBUGGING"
2867        android:protectionLevel="signature|privileged" />
2868
2869    <!-- @SystemApi Allows an application to access the MTP USB kernel driver.
2870         For use only by the device side MTP implementation.
2871         @hide -->
2872    <permission android:name="android.permission.ACCESS_MTP"
2873        android:protectionLevel="signature|privileged" />
2874
2875    <!-- @SystemApi Allows access to hardware peripherals.  Intended only for hardware testing.
2876         <p>Not for use by third-party applications.
2877         @hide
2878    -->
2879    <permission android:name="android.permission.HARDWARE_TEST"
2880        android:protectionLevel="signature" />
2881
2882    <!-- @hide Allows an application to manage DynamicSystem image -->
2883    <permission android:name="android.permission.MANAGE_DYNAMIC_SYSTEM"
2884        android:protectionLevel="signature" />
2885
2886    <!-- @SystemApi Allows an application to install a DynamicSystem image and get status updates.
2887         @hide -->
2888    <permission android:name="android.permission.INSTALL_DYNAMIC_SYSTEM"
2889        android:protectionLevel="signature|privileged" />
2890
2891    <!-- @SystemApi Allows access to Broadcast Radio
2892         @hide This is not a third-party API (intended for system apps).-->
2893    <permission android:name="android.permission.ACCESS_BROADCAST_RADIO"
2894        android:protectionLevel="signature|privileged" />
2895
2896    <!-- @deprecated @SystemApi Allows access to FM
2897         @hide This is not a third-party API (intended for system apps).-->
2898    <permission android:name="android.permission.ACCESS_FM_RADIO"
2899        android:protectionLevel="signature|privileged" />
2900
2901    <!-- Allows access to configure network interfaces, configure/use IPSec, etc.
2902         @hide -->
2903    <permission android:name="android.permission.NET_ADMIN"
2904        android:protectionLevel="signature|role" />
2905
2906    <!-- Allows registration for remote audio playback. @hide -->
2907    <permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK"
2908        android:protectionLevel="signature" />
2909
2910    <!-- Allows TvInputService to access underlying TV input hardware such as
2911         built-in tuners and HDMI-in's.
2912         <p>This should only be used by OEM's TvInputService's.
2913         @hide @SystemApi -->
2914    <permission android:name="android.permission.TV_INPUT_HARDWARE"
2915        android:protectionLevel="signature|privileged|vendorPrivileged" />
2916
2917    <!-- Allows to capture a frame of TV input hardware such as
2918         built-in tuners and HDMI-in's.
2919         <p>Not for use by third-party applications.
2920         @hide @SystemApi -->
2921    <permission android:name="android.permission.CAPTURE_TV_INPUT"
2922        android:protectionLevel="signature|privileged" />
2923
2924    <!-- @hide Allows TvInputService to access DVB device.
2925   <p>Not for use by third-party applications. -->
2926    <permission android:name="android.permission.DVB_DEVICE"
2927        android:protectionLevel="signature|privileged" />
2928
2929    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by carrier state
2930         @hide <p>Not for use by third-party applications. -->
2931    <permission android:name="android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE"
2932        android:protectionLevel="signature|privileged" />
2933
2934    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by user state
2935         @hide <p>Not for use by third-party applications. -->
2936    <permission android:name="android.permission.MANAGE_USER_OEM_UNLOCK_STATE"
2937        android:protectionLevel="signature|privileged" />
2938
2939    <!-- @SystemApi Allows reading the OEM unlock state
2940         @hide <p>Not for use by third-party applications. -->
2941    <permission android:name="android.permission.READ_OEM_UNLOCK_STATE"
2942        android:protectionLevel="signature|privileged" />
2943
2944    <!-- @hide Allows enabling/disabling OEM unlock
2945   <p>Not for use by third-party applications. -->
2946    <permission android:name="android.permission.OEM_UNLOCK_STATE"
2947        android:protectionLevel="signature" />
2948
2949    <!-- @SystemApi Allows configuration of factory reset protection
2950         @FlaggedApi("android.security.frp_enforcement")
2951         @hide <p>Not for use by third-party applications. -->
2952    <permission android:name="android.permission.CONFIGURE_FACTORY_RESET_PROTECTION"
2953        android:protectionLevel="signature|privileged" />
2954
2955    <!-- @SystemApi @hide Allows querying state of PersistentDataBlock
2956   <p>Not for use by third-party applications. -->
2957    <permission android:name="android.permission.ACCESS_PDB_STATE"
2958        android:protectionLevel="signature|role" />
2959
2960    <!-- Allows testing if a passwords is forbidden by the admins.
2961         @hide <p>Not for use by third-party applications. -->
2962    <permission android:name="android.permission.TEST_BLACKLISTED_PASSWORD"
2963        android:protectionLevel="signature" />
2964
2965    <!-- @hide Allows system update service to notify device owner about pending updates.
2966   <p>Not for use by third-party applications. -->
2967    <permission android:name="android.permission.NOTIFY_PENDING_SYSTEM_UPDATE"
2968        android:protectionLevel="signature|privileged" />
2969
2970    <!-- =========================================== -->
2971    <!-- Permissions associated with camera and image capture -->
2972    <!-- =========================================== -->
2973    <eat-comment />
2974
2975    <!-- @SystemApi Allows disabling the transmit-indicator LED that is normally on when
2976         a camera is in use by an application.
2977         @hide -->
2978    <permission android:name="android.permission.CAMERA_DISABLE_TRANSMIT_LED"
2979        android:protectionLevel="signature|privileged" />
2980
2981    <!-- Allows sending the camera service notifications about system-wide events.
2982        @hide -->
2983    <permission android:name="android.permission.CAMERA_SEND_SYSTEM_EVENTS"
2984        android:protectionLevel="signature|privileged" />
2985
2986    <!-- Allows injecting the external camera to replace the internal camera.
2987        @hide -->
2988    <permission android:name="android.permission.CAMERA_INJECT_EXTERNAL_CAMERA"
2989        android:protectionLevel="signature" />
2990
2991    <!-- =========================================== -->
2992    <!-- Permissions associated with telephony state -->
2993    <!-- =========================================== -->
2994    <eat-comment />
2995
2996    <!-- @SystemApi Allows granting runtime permissions to telephony related components.
2997         @hide -->
2998    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS"
2999        android:protectionLevel="signature" />
3000
3001    <!-- Allows modification of the telephony state - power on, mmi, etc.
3002         Does not include placing calls.
3003         <p>Not for use by third-party applications. -->
3004    <permission android:name="android.permission.MODIFY_PHONE_STATE"
3005        android:protectionLevel="signature|privileged|role" />
3006
3007    <!-- Allows read only access to precise phone state.
3008         Allows reading of detailed information about phone state for special-use applications
3009         such as dialers, carrier applications, or ims applications. -->
3010    <permission android:name="android.permission.READ_PRECISE_PHONE_STATE"
3011        android:protectionLevel="signature|privileged" />
3012
3013    <!-- @SystemApi @TestApi Allows read access to privileged phone state.
3014         @hide Used internally. -->
3015    <permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
3016        android:protectionLevel="signature|privileged|role" />
3017
3018    <!-- Allows to read device identifiers and use ICC based authentication like EAP-AKA.
3019         Often required in authentication to access the carrier's server and manage services
3020         of the subscriber.
3021         <p>Protection level: signature|appop -->
3022    <permission android:name="android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER"
3023        android:protectionLevel="signature|appop" />
3024
3025    <!-- @SystemApi Allows read access to emergency number information for ongoing calls or SMS
3026         sessions.
3027         @hide Used internally. -->
3028    <permission android:name="android.permission.READ_ACTIVE_EMERGENCY_SESSION"
3029        android:protectionLevel="signature" />
3030
3031    <!-- Allows listen permission to always reported system signal strength.
3032         @hide Used internally. -->
3033    <permission android:name="android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH"
3034        android:protectionLevel="signature|role" />
3035
3036    <!-- @SystemApi Protects the ability to register any PhoneAccount with
3037         PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION. This capability indicates that the PhoneAccount
3038         corresponds to a device SIM.
3039         @hide -->
3040    <permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION"
3041        android:protectionLevel="signature|privileged" />
3042
3043    <!-- @SystemApi Protects the ability to register any PhoneAccount with
3044         PhoneAccount#CAPABILITY_CALL_PROVIDER.
3045         @hide -->
3046    <permission android:name="android.permission.REGISTER_CALL_PROVIDER"
3047        android:protectionLevel="signature|privileged" />
3048
3049    <!-- @SystemApi Protects the ability to register any PhoneAccount with
3050         PhoneAccount#CAPABILITY_CONNECTION_MANAGER
3051         @hide -->
3052    <permission android:name="android.permission.REGISTER_CONNECTION_MANAGER"
3053        android:protectionLevel="signature|privileged" />
3054
3055    <!-- Must be required by a {@link android.telecom.InCallService},
3056         to ensure that only the system can bind to it.
3057         <p>Protection level: signature|privileged
3058    -->
3059    <permission android:name="android.permission.BIND_INCALL_SERVICE"
3060        android:protectionLevel="signature|privileged" />
3061
3062    <!-- Must be required by a {@link android.telecom.CallStreamingService},
3063         to ensure that only the system can bind to it.
3064         <p>Protection level: signature
3065         @SystemApi @hide-->
3066    <permission android:name="android.permission.BIND_CALL_STREAMING_SERVICE"
3067        android:protectionLevel="signature" />
3068
3069    <!-- Allows to query ongoing call details and manage ongoing calls
3070     <p>Protection level: signature|appop -->
3071    <permission android:name="android.permission.MANAGE_ONGOING_CALLS"
3072        android:protectionLevel="signature|appop"
3073        android:label="@string/permlab_manageOngoingCalls"
3074        android:description="@string/permdesc_manageOngoingCalls" />
3075
3076    <!-- Allows the app to request network scans from telephony.
3077         <p>Not for use by third-party applications.
3078         @SystemApi @hide-->
3079    <permission android:name="android.permission.NETWORK_SCAN"
3080        android:protectionLevel="signature|privileged" />
3081
3082    <!-- Must be required by a link {@link android.telephony.VisualVoicemailService} to ensure that
3083         only the system can bind to it.
3084         <p>Protection level: signature|privileged
3085    -->
3086    <permission
3087      android:name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
3088      android:protectionLevel="signature|privileged"/>
3089
3090    <!-- Must be required by a {@link android.telecom.CallScreeningService},
3091         to ensure that only the system can bind to it.
3092         <p>Protection level: signature|privileged
3093    -->
3094    <permission android:name="android.permission.BIND_SCREENING_SERVICE"
3095        android:protectionLevel="signature|privileged" />
3096
3097    <!-- Must be required by a {@link android.telecom.PhoneAccountSuggestionService},
3098         to ensure that only the system can bind to it.
3099         <p>Protection level: signature
3100         @SystemApi
3101         @hide
3102    -->
3103    <permission android:name="android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE"
3104        android:protectionLevel="signature" />
3105
3106    <!-- Must be required by a {@link android.telecom.CallDiagnosticService},
3107         to ensure that only the system can bind to it.
3108         <p>Protection level: signature
3109         @SystemApi
3110         @hide
3111    -->
3112    <permission android:name="android.permission.BIND_CALL_DIAGNOSTIC_SERVICE"
3113        android:protectionLevel="signature" />
3114
3115    <!-- Must be required by a {@link android.telecom.CallRedirectionService},
3116         to ensure that only the system can bind to it.
3117         <p>Protection level: signature|privileged
3118    -->
3119    <permission android:name="android.permission.BIND_CALL_REDIRECTION_SERVICE"
3120                android:protectionLevel="signature|privileged" />
3121
3122    <!-- Must be required by a {@link android.telecom.ConnectionService},
3123         to ensure that only the system can bind to it.
3124         @deprecated {@link android.telecom.ConnectionService}s should require
3125                 android.permission.BIND_TELECOM_CONNECTION_SERVICE instead.
3126         @SystemApi
3127         @hide -->
3128    <permission android:name="android.permission.BIND_CONNECTION_SERVICE"
3129        android:protectionLevel="signature|privileged" />
3130
3131    <!-- Must be required by a {@link android.telecom.ConnectionService},
3132         to ensure that only the system can bind to it.
3133         <p>Protection level: signature|privileged
3134    -->
3135    <permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
3136        android:protectionLevel="signature|privileged" />
3137
3138    <!-- @SystemApi Allows an application to control the in-call experience.
3139         @hide -->
3140    <permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"
3141        android:protectionLevel="signature|privileged|role" />
3142
3143    <!-- Allows an application to receive STK related commands.
3144         @hide -->
3145    <permission android:name="android.permission.RECEIVE_STK_COMMANDS"
3146        android:protectionLevel="signature|privileged" />
3147
3148      <!-- Allows an application to send EMBMS download intents to apps
3149           @hide -->
3150    <permission android:name="android.permission.SEND_EMBMS_INTENTS"
3151        android:protectionLevel="signature|privileged" />
3152
3153
3154    <!-- Allows internal management of the sensor framework
3155         @hide -->
3156    <permission android:name="android.permission.MANAGE_SENSORS"
3157        android:protectionLevel="signature" />
3158
3159    <!-- Must be required by a DomainSelectionService to ensure that only the
3160         system can bind to it.
3161         <p>Protection level: signature
3162         @SystemApi
3163         @hide
3164         @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service")
3165    -->
3166    <permission android:name="android.permission.BIND_DOMAIN_SELECTION_SERVICE"
3167        android:protectionLevel="signature" />
3168
3169    <!-- Must be required by an ImsService to ensure that only the
3170         system can bind to it.
3171         <p>Protection level: signature|privileged|vendorPrivileged
3172         @SystemApi
3173         @hide
3174    -->
3175    <permission android:name="android.permission.BIND_IMS_SERVICE"
3176        android:protectionLevel="signature|privileged|vendorPrivileged" />
3177
3178    <!-- Must be required by a SatelliteService to ensure that only the
3179         system can bind to it.
3180         <p>Protection level: signature|privileged|vendorPrivileged
3181         @SystemApi
3182         @hide
3183    -->
3184    <permission android:name="android.permission.BIND_SATELLITE_SERVICE"
3185        android:protectionLevel="signature|privileged|vendorPrivileged" />
3186
3187    <!-- Must be required by a SatelliteGatewayService to ensure that only the
3188         system can bind to it.
3189         <p>Protection level: signature
3190         @hide
3191    -->
3192    <permission android:name="android.permission.BIND_SATELLITE_GATEWAY_SERVICE"
3193        android:protectionLevel="signature" />
3194
3195    <!-- Must be required by a telephony data service to ensure that only the
3196         system can bind to it.
3197         <p>Protection level: signature
3198         @SystemApi
3199         @hide
3200    -->
3201    <permission android:name="android.permission.BIND_TELEPHONY_DATA_SERVICE"
3202        android:protectionLevel="signature" />
3203
3204    <!-- Must be required by a NetworkService to ensure that only the
3205         system can bind to it.
3206         <p>Protection level: signature
3207         @SystemApi
3208         @hide
3209    -->
3210    <permission android:name="android.permission.BIND_TELEPHONY_NETWORK_SERVICE"
3211                android:protectionLevel="signature" />
3212
3213    <!-- @SystemApi Allows an application to manage embedded subscriptions (those on a eUICC)
3214         through EuiccManager APIs.
3215         <p>Protection level: signature|privileged|development
3216         @hide
3217    -->
3218    <permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
3219                android:protectionLevel="signature|privileged|development" />
3220
3221    <!-- @SystemApi Must be required by an EuiccService to ensure that only the system can bind to
3222         it.
3223         <p>Protection level: signature
3224         @hide
3225    -->
3226    <permission android:name="android.permission.BIND_EUICC_SERVICE"
3227                android:protectionLevel="signature" />
3228
3229    <!-- Required for reading information about carrier apps from SystemConfigManager.
3230         <p>Protection level: signature
3231         @SystemApi
3232         @hide
3233    -->
3234    <permission android:name="android.permission.READ_CARRIER_APP_INFO"
3235        android:protectionLevel="signature" />
3236
3237    <!-- Must be required by an GbaService to ensure that only the
3238         system can bind to it.
3239         <p>Protection level: signature
3240         @SystemApi
3241         @hide
3242    -->
3243    <permission android:name="android.permission.BIND_GBA_SERVICE"
3244        android:protectionLevel="signature" />
3245
3246    <!-- Required for an Application to access APIs related to RCS User Capability Exchange.
3247         <p> This permission is only granted to system applications fulfilling the SMS, Dialer, and
3248         Contacts app roles.
3249         <p>Protection level: internal|role
3250         @SystemApi
3251         @hide -->
3252    <permission android:name="android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE"
3253        android:protectionLevel="internal|role" />
3254
3255    <!-- Used to provide the Telecom framework with access to the last known call ID.
3256         <p>Protection level: signature
3257         @SystemApi
3258         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
3259         @hide
3260    -->
3261    <permission android:name="android.permission.ACCESS_LAST_KNOWN_CELL_ID"
3262        android:protectionLevel="signature"
3263        android:label="@string/permlab_accessLastKnownCellId"
3264        android:description="@string/permdesc_accessLastKnownCellId"/>
3265
3266    <!-- ================================== -->
3267    <!-- Permissions for sdcard interaction -->
3268    <!-- ================================== -->
3269    <eat-comment />
3270
3271    <!-- @SystemApi @TestApi Allows an application to write to internal media storage
3272         @deprecated This permission is no longer honored in the system and no longer adds
3273         the media_rw gid as a supplementary gid to the holder. Use the
3274         android.permission.MANAGE_EXTERNAL_STORAGE instead.
3275         @hide  -->
3276    <permission android:name="android.permission.WRITE_MEDIA_STORAGE"
3277        android:protectionLevel="signature|privileged" />
3278
3279    <!-- Allows an application to manage access to documents, usually as part
3280         of a document picker.
3281         <p>This permission should <em>only</em> be requested by the platform
3282         document management app.  This permission cannot be granted to
3283         third-party apps.
3284    -->
3285    <permission android:name="android.permission.MANAGE_DOCUMENTS"
3286        android:protectionLevel="signature|role" />
3287
3288    <!-- Allows an application to manage access to crates, usually as part
3289         of a crates picker.
3290         <p>This permission should <em>only</em> be requested by the platform
3291         management app.  This permission cannot be granted to
3292         third-party apps.
3293         @hide
3294         @TestApi
3295    -->
3296    <permission android:name="android.permission.MANAGE_CRATES"
3297                android:protectionLevel="signature" />
3298
3299    <!-- @hide Allows an application to cache content.
3300         <p>Not for use by third-party applications.
3301    -->
3302    <permission android:name="android.permission.CACHE_CONTENT"
3303        android:protectionLevel="signature|role" />
3304
3305    <!-- @SystemApi @hide
3306         Allows an application to aggressively allocate disk space.
3307         <p>Not for use by third-party applications.
3308    -->
3309    <permission android:name="android.permission.ALLOCATE_AGGRESSIVE"
3310        android:protectionLevel="signature|privileged" />
3311
3312    <!-- @SystemApi @hide
3313         Allows an application to use reserved disk space.
3314         <p>Not for use by third-party applications.  Should only be requested by
3315         apps that provide core system functionality, to ensure system stability
3316         when disk is otherwise completely full.
3317    -->
3318    <permission android:name="android.permission.USE_RESERVED_DISK"
3319        android:protectionLevel="signature|privileged" />
3320
3321    <!-- ================================== -->
3322    <!-- Permissions for screenlock         -->
3323    <!-- ================================== -->
3324    <eat-comment />
3325
3326    <!-- Allows applications to disable the keyguard if it is not secure.
3327         <p>Protection level: normal
3328    -->
3329    <permission android:name="android.permission.DISABLE_KEYGUARD"
3330        android:description="@string/permdesc_disableKeyguard"
3331        android:label="@string/permlab_disableKeyguard"
3332        android:protectionLevel="normal" />
3333
3334    <!-- Allows an application to request the screen lock complexity and prompt users to update the
3335     screen lock to a certain complexity level.
3336     <p>Protection level: normal
3337    -->
3338    <permission android:name="android.permission.REQUEST_PASSWORD_COMPLEXITY"
3339                android:label="@string/permlab_requestPasswordComplexity"
3340                android:description="@string/permdesc_requestPasswordComplexity"
3341                android:protectionLevel="normal" />
3342
3343    <!-- ================================== -->
3344    <!-- Permissions to access other installed applications  -->
3345    <!-- ================================== -->
3346    <eat-comment />
3347
3348    <!-- @deprecated No longer enforced. -->
3349    <permission android:name="android.permission.GET_TASKS"
3350        android:label="@string/permlab_getTasks"
3351        android:description="@string/permdesc_getTasks"
3352        android:protectionLevel="normal" />
3353
3354    <!-- New version of GET_TASKS that apps can request, since GET_TASKS doesn't really
3355         give access to task information.  We need this new one because there are
3356         many existing apps that use add libraries and such that have validation
3357         code to ensure the app has requested the GET_TASKS permission by seeing
3358         if it has been granted the permission...  if it hasn't, it kills the app
3359         with a message about being upset.  So we need to have it continue to look
3360         like the app is getting that permission, even though it will never be
3361         checked, and new privileged apps can now request this one for real access.
3362         @hide
3363         @SystemApi -->
3364    <permission android:name="android.permission.REAL_GET_TASKS"
3365        android:protectionLevel="signature|privileged" />
3366
3367    <!-- @SystemApi Allows an application to start a task from a ActivityManager#RecentTaskInfo.
3368         @hide -->
3369    <permission android:name="android.permission.START_TASKS_FROM_RECENTS"
3370        android:protectionLevel="signature|privileged|recents" />
3371
3372    <!-- @SystemApi @hide Allows an application to call APIs that allow it to do interactions
3373         across the users on the device, using singleton services and
3374         user-targeted broadcasts.  This permission is not available to
3375         third party applications. -->
3376    <permission android:name="android.permission.INTERACT_ACROSS_USERS"
3377        android:protectionLevel="signature|privileged|development|role" />
3378
3379    <!-- @SystemApi Fuller form of {@link android.Manifest.permission#INTERACT_ACROSS_USERS}
3380         that removes restrictions on where broadcasts can be sent and allows other
3381         types of interactions
3382         @hide -->
3383    <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
3384        android:protectionLevel="signature|installer|module|role" />
3385    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
3386
3387    <!-- Allows interaction across profiles in the same profile group. -->
3388    <permission android:name="android.permission.INTERACT_ACROSS_PROFILES"
3389        android:protectionLevel="signature|appop" />
3390
3391    <!-- Allows applications to access profiles with
3392        {@code android.content.pm.UserProperties#PROFILE_API_VISIBILITY_HIDDEN} user property, e.g.
3393        {@link android.os.UserManager#USER_TYPE_PROFILE_PRIVATE}.
3394        <p>Protection level: normal
3395        @FlaggedApi("android.multiuser.enable_permission_to_access_hidden_profiles") -->
3396    <permission android:name="android.permission.ACCESS_HIDDEN_PROFILES"
3397        android:label="@string/permlab_accessHiddenProfile"
3398        android:description="@string/permdesc_accessHiddenProfile"
3399        android:protectionLevel="normal" />
3400
3401    <!-- @SystemApi @hide Allows privileged applications to get details about profiles with
3402        {@code android.content.pm.UserProperties#PROFILE_API_VISIBILITY_HIDDEN} user property, e.g.
3403        {@link android.os.UserManager#USER_TYPE_PROFILE_PRIVATE}. Removes extra requirements such
3404        as having {@link android.app.role.RoleManager#ROLE_HOME} role for LauncherApps APIs.
3405        @FlaggedApi("android.multiuser.enable_permission_to_access_hidden_profiles") -->
3406    <permission
3407        android:name="android.permission.ACCESS_HIDDEN_PROFILES_FULL"
3408        android:protectionLevel="signature|privileged" />
3409
3410    <!-- @SystemApi @hide Allows starting activities across profiles in the same profile group. -->
3411    <permission android:name="android.permission.START_CROSS_PROFILE_ACTIVITIES"
3412                android:protectionLevel="signature|role" />
3413
3414    <!-- @SystemApi Allows configuring apps to have the INTERACT_ACROSS_PROFILES permission so that
3415         they can interact across profiles in the same profile group.
3416         @hide -->
3417    <permission android:name="android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES"
3418        android:protectionLevel="signature|role" />
3419
3420    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query and manage
3421         users on the device. This permission is not available to
3422         third party applications. -->
3423    <permission android:name="android.permission.MANAGE_USERS"
3424        android:protectionLevel="signature|privileged" />
3425
3426    <!-- @SystemApi @hide Allows an application to create, remove users and get the list of
3427         users on the device. Applications holding this permission can create users (including
3428         normal, restricted, guest, managed, and demo users) and can optionally endow them with the
3429         ephemeral property. For creating users with other kinds of properties,
3430         {@link android.Manifest.permission#MANAGE_USERS} is needed.
3431         This permission is not available to third party applications. -->
3432    <permission android:name="android.permission.CREATE_USERS"
3433        android:protectionLevel="signature" />
3434
3435    <!-- @SystemApi @hide Allows an application to set user association
3436         with a certain subscription. Used by Enterprise to associate a
3437         subscription with a work or personal profile. -->
3438    <permission android:name="android.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION"
3439                android:protectionLevel="signature" />
3440
3441    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query users on the
3442         device. -->
3443    <permission android:name="android.permission.QUERY_USERS"
3444                android:protectionLevel="signature|privileged|role" />
3445
3446    <!-- Allows an application to access data blobs across users. -->
3447    <permission android:name="android.permission.ACCESS_BLOBS_ACROSS_USERS"
3448        android:protectionLevel="signature|privileged|development|role" />
3449
3450    <!-- @SystemApi @hide Allows an application to set the profile owners and the device owner.
3451         This permission is not available to third party applications.-->
3452    <permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"
3453        android:protectionLevel="signature|role"
3454        android:label="@string/permlab_manageProfileAndDeviceOwners"
3455        android:description="@string/permdesc_manageProfileAndDeviceOwners" />
3456
3457    <!-- @SystemApi @hide Allows an application to query device policies set by any admin on
3458         the device.-->
3459    <permission android:name="android.permission.QUERY_ADMIN_POLICY"
3460                android:protectionLevel="signature|role" />
3461
3462    <!-- @SystemApi @hide Allows an application to exempt apps from platform restrictions.-->
3463    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS"
3464                android:protectionLevel="internal|role" />
3465
3466    <!-- Allows an application to manage device policy relating to time.
3467        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3468        APIs protected by this permission on users different to the calling user.
3469        <p>Protection level: internal|role
3470        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3471    -->
3472    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_TIME"
3473                android:protectionLevel="internal|role" />
3474
3475    <!-- Allows an application to set the grant state of runtime permissions on packages.
3476        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3477        APIs protected by this permission on users different to the calling user.
3478        <p>Protection level: internal|role
3479        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3480    -->
3481    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS"
3482                android:protectionLevel="internal|role" />
3483
3484    <!-- Allows an application to manage the identity of the managing organization.
3485        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3486        APIs protected by this permission on users different to the calling user.
3487        <p>Protection level: internal|role
3488        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3489    -->
3490    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY"
3491                android:protectionLevel="internal|role" />
3492
3493    <!-- Allows an application to set support messages for when a user action is affected by an
3494        active policy.
3495        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3496        APIs protected by this permission on users different to the calling user.
3497        <p>Protection level: internal|role
3498        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3499    -->
3500    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE"
3501                android:protectionLevel="internal|role" />
3502
3503    <!-- Allows an application to manage backup service policy.
3504        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3505        APIs protected by this permission on users different to the calling user.
3506        <p>Protection level: internal|role
3507        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3508    -->
3509    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BACKUP_SERVICE"
3510                android:protectionLevel="internal|role" />
3511
3512    <!-- Allows an application to manage lock task policy.
3513        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3514        APIs protected by this permission on users different to the calling user.
3515        <p>Protection level: internal|role
3516        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3517    -->
3518    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK"
3519                android:protectionLevel="internal|role" />
3520
3521    <!-- Allows an application to manage policy regarding modifying applications.
3522        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3523        APIs protected by this permission on users different to the calling user.
3524        <p>Protection level: internal|role
3525        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3526    -->
3527    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL"
3528                android:protectionLevel="internal|role" />
3529
3530    <!-- Allows an application to manage installing from unknown sources policy.
3531        <p>MANAGE_SECURITY_CRITICAL_DEVICE_POLICY_ACROSS_USERS is required to call APIs protected
3532        by this permission on users different to the calling user.
3533        <p>Protection level: internal|role
3534        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3535    -->
3536    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES"
3537                android:protectionLevel="internal|role" />
3538
3539    <!-- Allows an application to manage application restrictions.
3540        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3541        APIs protected by this permission on users different to the calling user.
3542        <p>Protection level: internal|role
3543        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3544    -->
3545    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_RESTRICTIONS"
3546                android:protectionLevel="internal|role" />
3547
3548    <!-- Allows an application to manage calling policy.
3549        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3550        APIs protected by this permission on users different to the calling user.
3551        <p>Protection level: internal|role
3552        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3553    -->
3554    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CALLS"
3555                android:protectionLevel="internal|role" />
3556
3557    <!-- Allows an application to manage debugging features policy.
3558        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3559        APIs protected by this permission on users different to the calling user.
3560        <p>Protection level: internal|role
3561        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3562    -->
3563    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES"
3564                android:protectionLevel="internal|role" />
3565
3566    <!-- Allows an application to manage policy preventing users from modifying users.
3567        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3568        APIs protected by this permission on users different to the calling user
3569        <p>Protection level: internal|role
3570        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3571    -->
3572    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MODIFY_USERS"
3573                android:protectionLevel="internal|role" />
3574
3575    <!-- Allows an application to manage safe boot policy.
3576        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3577        APIs protected by this permission on users different to the calling user.
3578        <p>Protection level: internal|role
3579        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3580    -->
3581    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SAFE_BOOT"
3582                android:protectionLevel="internal|role" />
3583
3584    <!-- Allows an application to set policy related to restricting a user's ability to use or
3585    enable and disable the microphone.
3586        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3587        APIs protected by this permission on users different to the calling user.
3588        <p>Protection level: internal|role
3589        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3590    -->
3591    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MICROPHONE"
3592                android:protectionLevel="internal|role" />
3593
3594    <!-- Allows an application to set policy related to restricting a user's ability to use or
3595    enable and disable the camera.
3596        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3597        APIs protected by this permission on users different to the calling user.
3598        <p>Protection level: internal|role
3599        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3600    -->
3601    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CAMERA"
3602                android:protectionLevel="internal|role" />
3603
3604    <!-- Allows an application to manage policy related to keyguard.
3605        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL} is
3606        required to call APIs protected by this permission on users different to the calling user.
3607        <p>Protection level: internal|role
3608        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3609    -->
3610    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_KEYGUARD"
3611                android:protectionLevel="internal|role" />
3612
3613    <!-- Allows an application to set policy related to account management.
3614        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3615        APIs protected by this permission on users different to the calling user.
3616        <p>Protection level: internal|role
3617        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3618    -->
3619    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT"
3620                android:protectionLevel="internal|role" />
3621
3622    <!-- Allows an application to set policy related to hiding and suspending packages.
3623        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3624        APIs protected by this permission on users different to the calling user.
3625        <p>Protection level: internal|role
3626        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3627    -->
3628    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PACKAGE_STATE"
3629                android:protectionLevel="internal|role" />
3630
3631    <!-- Allows an application to force set a new device unlock password or a managed profile
3632    challenge on current user.
3633        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3634        APIs protected by this permission on users different to the calling user.
3635        <p>Protection level: internal|role
3636        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3637    -->
3638    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RESET_PASSWORD"
3639                android:protectionLevel="internal|role" />
3640
3641    <!-- Allows an application to set policy related to the status bar.
3642        <p>Protection level: internal|role
3643        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3644    -->
3645    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_STATUS_BAR"
3646                android:protectionLevel="internal|role" />
3647
3648    <!-- Allows an application to set policy related to bluetooth.
3649        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3650        APIs protected by this permission on users different to the calling user.
3651        <p>Protection level: internal|role
3652        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3653    -->
3654    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BLUETOOTH"
3655                android:protectionLevel="internal|role" />
3656
3657    <!-- Allows an application to set policy related to fun.
3658        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3659        APIs protected by this permission on users different to the calling user.
3660        <p>Protection level: internal|role
3661        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3662    -->
3663    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_FUN"
3664                android:protectionLevel="internal|role" />
3665
3666    <!-- Allows an application to set policy related to airplane mode.
3667        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3668        APIs protected by this permission on users different to the calling user.
3669        <p>Protection level: internal|role
3670        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3671    -->
3672    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AIRPLANE_MODE"
3673                android:protectionLevel="internal|role" />
3674
3675    <!-- Allows an application to set policy related to mobile networks.
3676        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3677        APIs protected by this permission on users different to the calling user.
3678        <p>Protection level: internal|role
3679        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3680    -->
3681    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MOBILE_NETWORK"
3682                android:protectionLevel="internal|role" />
3683
3684    <!-- Allows an application to set policy related to physical media.
3685        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3686        APIs protected by this permission on users different to the calling user.
3687        <p>Protection level: internal|role
3688        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3689    -->
3690    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA"
3691                android:protectionLevel="internal|role" />
3692
3693    <!-- Allows an application to set policy related to sms.
3694        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3695        APIs protected by this permission on users different to the calling user.
3696        <p>Protection level: internal|role
3697        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3698    -->
3699    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SMS"
3700                android:protectionLevel="internal|role" />
3701
3702    <!-- Allows an application to set policy related to usb file transfers.
3703        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3704        APIs protected by this permission on users different to the calling user.
3705        <p>Protection level: internal|role
3706        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3707    -->
3708    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER"
3709                android:protectionLevel="internal|role" />
3710
3711    <!-- Allows an application to set policy related to lock credentials.
3712        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL} is
3713        required to call APIs protected by this permission on users different to the calling user.
3714        <p>Protection level: internal|role
3715        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3716    -->
3717    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS"
3718                android:protectionLevel="internal|role" />
3719
3720    <!-- Allows an application to set policy related to Wifi.
3721        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3722        required to call APIs protected by this permission on users different to the calling user.
3723        <p>Protection level: internal|role
3724        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3725    -->
3726    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIFI"
3727                android:protectionLevel="internal|role" />
3728
3729    <!-- Allows an application to set policy related to screen capture.
3730        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3731        required to call APIs protected by this permission on users different to the calling user.
3732        <p>Protection level: internal|role
3733        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3734    -->
3735    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SCREEN_CAPTURE"
3736                android:protectionLevel="internal|role" />
3737
3738    <!-- Allows an application to set policy related to input methods.
3739        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3740        required to call APIs protected by this permission on users different to the calling user.
3741        <p>Protection level: internal|role
3742        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3743    -->
3744    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_INPUT_METHODS"
3745                android:protectionLevel="internal|role" />
3746
3747    <!-- Allows an application to set policy related to restricting the user from configuring
3748     private DNS.
3749        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3750        required to call APIs protected by this permission on users different to the calling user.
3751        <p>Protection level: internal|role
3752        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3753    -->
3754    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS"
3755                android:protectionLevel="internal|role" />
3756
3757    <!-- Allows an application to set policy related to the default sms application.
3758        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3759        required to call APIs protected by this permission on users different to the calling user.
3760        <p>Protection level: internal|role
3761        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3762    -->
3763    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEFAULT_SMS"
3764                android:protectionLevel="internal|role" />
3765
3766    <!-- Allows an application to set policy related to profiles.
3767        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3768        required to call APIs protected by this permission on users different to the calling user.
3769        <p>Protection level: internal|role
3770        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3771    -->
3772    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROFILES"
3773                android:protectionLevel="internal|role" />
3774
3775    <!-- Allows an application to set policy related to interacting with profiles (e.g. Disallowing
3776    cross-profile copy and paste).
3777        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3778        required to call APIs protected by this permission on users different to the calling user.
3779        <p>Protection level: internal|role
3780        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3781    -->
3782    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROFILE_INTERACTION"
3783                android:protectionLevel="internal|role" />
3784
3785    <!-- Allows an application to set policy related to VPNs.
3786        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3787        required to call APIs protected by this permission on users different to the calling user.
3788        <p>Protection level: internal|role
3789        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3790    -->
3791    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_VPN"
3792                android:protectionLevel="internal|role" />
3793
3794    <!-- Allows an application to set policy related to audio output.
3795        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3796        required to call APIs protected by this permission on users different to the calling user.
3797        <p>Protection level: internal|role
3798        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3799    -->
3800    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUDIO_OUTPUT"
3801                android:protectionLevel="internal|role" />
3802
3803    <!-- Allows an application to set policy related to the display.
3804        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3805        required to call APIs protected by this permission on users different to the calling user.
3806        <p>Protection level: internal|role
3807        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3808    -->
3809    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DISPLAY"
3810                android:protectionLevel="internal|role" />
3811
3812    <!-- Allows an application to set policy related to location.
3813        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3814        required to call APIs protected by this permission on users different to the calling user.
3815        <p>Protection level: internal|role
3816        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3817    -->
3818    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCATION"
3819                android:protectionLevel="internal|role" />
3820
3821    <!-- Allows an application to set policy related to factory reset.
3822        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3823        required to call APIs protected by this permission on users different to the calling user.
3824        <p>Protection level: internal|role
3825        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3826    -->
3827    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_FACTORY_RESET"
3828                android:protectionLevel="internal|role" />
3829
3830    <!-- Allows an application to set policy related to the wallpaper.
3831        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3832        required to call APIs protected by this permission on users different to the calling user.
3833        <p>Protection level: internal|role
3834        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3835    -->
3836    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WALLPAPER"
3837                android:protectionLevel="internal|role" />
3838
3839    <!-- Allows an application to set policy related to the usage of the contents of the screen.
3840        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3841        required to call APIs protected by this permission on users different to the calling user.
3842        <p>Protection level: internal|role
3843        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3844    -->
3845    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SCREEN_CONTENT"
3846                android:protectionLevel="internal|role" />
3847
3848    <!-- Allows an application to set policy related to system dialogs.
3849        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3850        required to call APIs protected by this permission on users different to the calling user.
3851        <p>Protection level: internal|role
3852        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3853    -->
3854    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS"
3855                android:protectionLevel="internal|role" />
3856
3857    <!-- Allows an application to set policy related to users running in the background.
3858        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3859        required to call APIs protected by this permission on users different to the calling user.
3860        <p>Protection level: internal|role
3861        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3862    -->
3863    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND"
3864                android:protectionLevel="internal|role" />
3865
3866    <!-- Allows an application to set policy related to printing.
3867        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3868        required to call APIs protected by this permission on users different to the calling user.
3869        <p>Protection level: internal|role
3870        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3871    -->
3872    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PRINTING"
3873                android:protectionLevel="internal|role" />
3874
3875    <!-- Allows an application to set policy related to nearby communications (e.g. Beam and
3876    nearby streaming).
3877        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3878        required to call APIs protected by this permission on users different to the calling user.
3879        <p>Protection level: internal|role
3880        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3881    -->
3882    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION"
3883                android:protectionLevel="internal|role" />
3884
3885    <!-- Allows an application to set policy related to <a
3886    href="https://www.threadgroup.org">Thread</a> network.
3887        <p>Protection level: internal|role
3888        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3889        @FlaggedApi("com.android.net.thread.platform.flags.thread_user_restriction_enabled")
3890    -->
3891    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_THREAD_NETWORK"
3892                android:protectionLevel="internal|role" />
3893
3894    <!-- Allows an application to set policy related to sending assist content to a
3895        privileged app such as the Assistant app.
3896        <p>Protection level: internal|role
3897        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3898    -->
3899    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT"
3900        android:protectionLevel="internal|role" />
3901
3902    <!-- Allows an application to set policy related to windows.
3903        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3904        required to call APIs protected by this permission on users different to the calling user.
3905        <p>Protection level: internal|role
3906        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3907    -->
3908    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WINDOWS"
3909                android:protectionLevel="internal|role" />
3910
3911    <!-- Allows an application to set policy related to locale.
3912        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3913        required to call APIs protected by this permission on users different to the calling user.
3914        <p>Protection level: internal|role
3915        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3916    -->
3917    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCALE"
3918                android:protectionLevel="internal|role" />
3919
3920    <!-- Allows an application to set policy related to autofill.
3921        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3922        required to call APIs protected by this permission on users different to the calling user.
3923        <p>Protection level: internal|role
3924        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3925    -->
3926    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUTOFILL"
3927                android:protectionLevel="internal|role" />
3928
3929    <!-- Allows an application to set policy related to users.
3930        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3931        required to call APIs protected by this permission on users different to the calling user.
3932        <p>Protection level: internal|role
3933        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3934    -->
3935    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USERS"
3936                android:protectionLevel="internal|role" />
3937
3938    <!-- Allows an application to set policy related to certificates.
3939        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3940        required to call APIs protected by this permission on users different to the calling user.
3941        <p>Protection level: internal|role
3942        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3943    -->
3944    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES"
3945                android:protectionLevel="internal|role" />
3946
3947    <!-- Allows an application to set policy related to override APNs.
3948        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3949        required to call APIs protected by this permission on users different to the calling user.
3950        <p>Protection level: internal|role
3951        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3952    -->
3953    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_OVERRIDE_APN"
3954                android:protectionLevel="internal|role" />
3955
3956    <!-- Allows an application to set policy related to security logging.
3957        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3958        required to call APIs protected by this permission on users different to the calling user.
3959        <p>Protection level: internal|role
3960        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3961    -->
3962    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SECURITY_LOGGING"
3963                android:protectionLevel="internal|role" />
3964
3965    <!-- Allows an application to use audit logging API.
3966        @hide
3967        @SystemApi
3968    -->
3969    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING"
3970        android:protectionLevel="internal|role" />
3971
3972    <!-- Allows an application to set policy related to system updates.
3973        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3974        required to call APIs protected by this permission on users different to the calling user.
3975        <p>Protection level: internal|role
3976        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3977    -->
3978    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_UPDATES"
3979                android:protectionLevel="internal|role" />
3980
3981    <!-- Allows an application query system updates.
3982        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3983        required to call APIs protected by this permission on users different to the calling user.
3984        <p>Protection level: internal|role
3985        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3986    -->
3987    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES"
3988                android:protectionLevel="internal|role" />
3989
3990    <!-- Allows an application to set policy related to private DNS.
3991        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3992        required to call APIs protected by this permission on users different to the calling user.
3993        <p>Protection level: internal|role
3994        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3995    -->
3996    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PRIVATE_DNS"
3997                android:protectionLevel="internal|role" />
3998
3999    <!-- Allows an application to set policy related to settings.
4000        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
4001        required to call APIs protected by this permission on users different to the calling user.
4002        <p>Protection level: internal|role
4003        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4004    -->
4005    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SETTINGS"
4006                android:protectionLevel="internal|role" />
4007
4008    <!-- Allows an application to set policy related to network logging.
4009        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
4010        required to call APIs protected by this permission on users different to the calling user.
4011        <p>Protection level: internal|role
4012        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4013    -->
4014    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_NETWORK_LOGGING"
4015                android:protectionLevel="internal|role" />
4016
4017    <!-- Allows an application to set policy related to usb data signalling.
4018        <p>Protection level: internal|role
4019        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4020    -->
4021    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING"
4022                android:protectionLevel="internal|role" />
4023
4024    <!-- Allows an application to set policy related to suspending personal apps.
4025        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
4026        required to call APIs protected by this permission on users different to the calling user.
4027        <p>Protection level: internal|role
4028        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4029    -->
4030    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS"
4031                android:protectionLevel="internal|role" />
4032
4033    <!-- Allows an application to set policy related to keeping uninstalled packages.
4034        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
4035        required to call APIs protected by this permission on users different to the calling user.
4036        <p>Protection level: internal|role
4037        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4038    -->
4039    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES"
4040                android:protectionLevel="internal|role" />
4041
4042    <!-- Allows an application to manage policy related to accessibility.
4043        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to
4044        call APIs protected by this permission on users different to the calling user.
4045        <p>Protection level: internal|role
4046        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4047    -->
4048    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACCESSIBILITY"
4049                android:protectionLevel="internal|role" />
4050
4051    <!-- Allows an application to manage policy related to common criteria mode.
4052        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4053        APIs protected by this permission on users different to the calling user.
4054        <p>Protection level: internal|role
4055        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4056    -->
4057    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE"
4058                android:protectionLevel="internal|role" />
4059
4060    <!-- Allows an application to manage policy related to metered data.
4061        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4062        APIs protected by this permission on users different to the calling user.
4063        <p>Protection level: internal|role
4064        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4065    -->
4066    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_METERED_DATA"
4067                android:protectionLevel="internal|role" />
4068
4069    <!-- Allows an application to set a network-independent global HTTP proxy.
4070        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4071        APIs protected by this permission on users different to the calling user.
4072        <p>Protection level: internal|role
4073        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4074    -->
4075    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROXY"
4076                android:protectionLevel="internal|role" />
4077
4078    <!-- Allows an application to request bugreports with user consent.
4079        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4080        APIs protected by this permission on users different to the calling user.
4081        <p>Protection level: internal|role
4082        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4083    -->
4084    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BUGREPORT"
4085                android:protectionLevel="internal|role" />
4086
4087    <!-- Allows an application to manage policy related to application user data.
4088        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4089        APIs protected by this permission on users different to the calling user.
4090        <p>Protection level: internal|role
4091        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4092    -->
4093    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_USER_DATA"
4094                android:protectionLevel="internal|role" />
4095
4096    <!-- Allows an application to lock a profile or the device with the appropriate cross-user
4097    permission.
4098        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4099        APIs protected by this permission on users different to the calling user.
4100        <p>Protection level: internal|role
4101        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4102    -->
4103    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK"
4104                android:protectionLevel="internal|role" />
4105
4106    <!-- Allows an application to query the device stolen state.
4107        @FlaggedApi("android.app.admin.flags.device_theft_api_enabled")
4108        @hide
4109        @SystemApi
4110    -->
4111    <permission android:name="android.permission.QUERY_DEVICE_STOLEN_STATE"
4112                android:protectionLevel="internal|role" />
4113
4114    <!-- Allows an application to manage policy related to system apps.
4115        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4116        APIs protected by this permission on users different to the calling user.
4117        <p>Protection level: internal|role
4118        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4119    -->
4120    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_APPS"
4121                android:protectionLevel="internal|role" />
4122
4123    <!-- Allows an application to manage policy related to wiping data.
4124        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
4125        APIs protected by this permission on users different to the calling user.
4126        <p>Protection level: internal|role
4127        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4128    -->
4129    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIPE_DATA"
4130                android:protectionLevel="internal|role" />
4131
4132    <!-- Allows an application to manage policy related to the Memory Tagging Extension (MTE).
4133        <p>Protection level: internal|role
4134        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4135    -->
4136    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MTE"
4137                android:protectionLevel="internal|role" />
4138
4139    <!-- Allows an application to manage policy related to device identifiers.
4140        <p>Protection level: internal|role
4141        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4142    -->
4143    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS"
4144                android:protectionLevel="internal|role" />
4145
4146    <!-- Allows an application to manage policy related to content protection.
4147        <p>Protection level: internal|role
4148        @FlaggedApi("android.view.contentprotection.flags.manage_device_policy_enabled")
4149    -->
4150    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION"
4151                android:protectionLevel="internal|role" />
4152
4153    <!-- Allows an application to manage policy related to AppFunctions.
4154        <p>Protection level: internal|role
4155        @FlaggedApi(android.app.appfunctions.flags.Flags.FLAG_ENABLE_APP_FUNCTION_MANAGER)
4156    -->
4157    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_FUNCTIONS"
4158        android:featureFlag="android.app.appfunctions.flags.enable_app_function_manager"
4159        android:protectionLevel="internal|role" />
4160
4161    <!-- Allows an application to set policy related to subscriptions downloaded by an admin.
4162        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4163        APIs protected by this permission on users different to the calling user.
4164        <p>Protection level: internal|role
4165        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4166    -->
4167    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS"
4168        android:protectionLevel="internal|role" />
4169
4170    <!-- Allows an application to manage policy related to block package uninstallation.
4171        <p>Protection level: internal|role
4172        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4173    -->
4174    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL"
4175        android:protectionLevel="internal|role" />
4176
4177    <!-- Allows an application to manage policy related to camera toggle.
4178        <p>Protection level: internal|role
4179        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4180    -->
4181    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CAMERA_TOGGLE"
4182        android:protectionLevel="internal|role" />
4183
4184    <!-- Allows an application to manage policy related to microphone toggle.
4185        <p>Protection level: internal|role
4186        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4187    -->
4188    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE"
4189        android:protectionLevel="internal|role" />
4190
4191    <!-- Allows an application to set device policies outside the current user
4192        that are critical for securing data within the current user.
4193        <p>Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_*
4194        permissions across all users on the device provided they are required for securing data
4195        within the current user.
4196        <p>Protection level: internal|role
4197        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4198    -->
4199    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL"
4200                android:protectionLevel="internal|role" />
4201
4202    <!-- Allows an application to set device policies outside the current user
4203        that are required for securing device ownership without accessing user data.
4204        <p>Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_*
4205        permissions across all users on the device provided they do not grant access to user data.
4206        <p>Protection level: internal|role
4207        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4208    -->
4209    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS"
4210                android:protectionLevel="internal|role" />
4211
4212    <!-- Allows an application to set device policies outside the current user.
4213        <p>Fuller form of {@link android.Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS}
4214             that removes the restriction on accessing user data.
4215        <p>Holding this permission allows the use of any other held MANAGE_DEVICE_POLICY_*
4216            permissions across all users on the device.
4217        <p>Protection level: internal|role
4218        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4219    -->
4220    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL"
4221                android:protectionLevel="internal|role" />
4222
4223    <!-- Allows the holder to manage and retrieve max storage limit for admin policies. This
4224        permission is only grantable on rooted devices.
4225        @TestAPI
4226        @hide -->
4227    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_STORAGE_LIMIT"
4228                android:protectionLevel="internal" />
4229
4230    <!-- Allows an application to access EnhancedConfirmationManager.
4231        @SystemApi
4232        @FlaggedApi("android.permission.flags.enhanced_confirmation_mode_apis_enabled")
4233        @hide This is not a third-party API (intended for OEMs and system apps). -->
4234    <permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES"
4235                android:protectionLevel="signature|installer" />
4236    <uses-permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES" />
4237
4238    <!-- Allows an application to modify the device's advanced protection mode status, and query
4239         the list of enabled features
4240        @FlaggedApi(android.security.Flags.FLAG_AAPM_API)
4241        @SystemApi
4242        @hide -->
4243    <permission android:name="android.permission.MANAGE_ADVANCED_PROTECTION_MODE"
4244        android:protectionLevel="signature|privileged"
4245        android:featureFlag="android.security.aapm_api"/>
4246    <uses-permission android:name="android.permission.MANAGE_ADVANCED_PROTECTION_MODE"
4247        android:featureFlag="android.security.aapm_api"/>
4248
4249    <!-- Allows an application to query the device's advanced protection mode status.
4250        @FlaggedApi(android.security.Flags.FLAG_AAPM_API) -->
4251    <permission android:name="android.permission.QUERY_ADVANCED_PROTECTION_MODE"
4252        android:protectionLevel="normal"
4253        android:featureFlag="android.security.aapm_api"/>
4254    <uses-permission android:name="android.permission.QUERY_ADVANCED_PROTECTION_MODE"
4255        android:featureFlag="android.security.aapm_api"/>
4256
4257    <!-- Allows an application to read the state of the IntrusionDetectionService
4258         @FlaggedApi(android.security.Flags.FLAG_AFL_API)
4259         @SystemApi
4260         @hide -->
4261    <permission android:name="android.permission.READ_INTRUSION_DETECTION_STATE"
4262        android:featureFlag="android.security.afl_api"
4263        android:protectionLevel="signature|privileged" />
4264    <uses-permission android:name="android.permission.READ_INTRUSION_DETECTION_STATE"
4265        android:featureFlag="android.security.afl_api"/>
4266
4267    <!-- Allows an application to change the state of the IntrusionDetectionService
4268         @FlaggedApi(android.security.Flags.FLAG_AFL_API)
4269         @SystemApi
4270         @hide -->
4271    <permission android:name="android.permission.MANAGE_INTRUSION_DETECTION_STATE"
4272        android:featureFlag="android.security.afl_api"
4273        android:protectionLevel="signature|privileged" />
4274    <uses-permission android:name="android.permission.MANAGE_INTRUSION_DETECTION_STATE"
4275        android:featureFlag="android.security.afl_api"/>
4276
4277    <!-- Must be required by any IntrusionDetectionEventTransportService to ensure that
4278         only the system can bind to it.
4279         @FlaggedApi(android.security.Flags.FLAG_AFL_API)
4280         @SystemApi
4281         @hide -->
4282    <permission android:name="android.permission.BIND_INTRUSION_DETECTION_EVENT_TRANSPORT_SERVICE"
4283        android:featureFlag="android.security.afl_api"
4284        android:protectionLevel="signature" />
4285    <uses-permission android:name="android.permission.BIND_INTRUSION_DETECTION_EVENT_TRANSPORT_SERVICE"
4286        android:featureFlag="android.security.afl_api"/>
4287
4288    <!-- @SystemApi @hide Allows an application to set a device owner on retail demo devices.-->
4289    <permission android:name="android.permission.PROVISION_DEMO_DEVICE"
4290                android:protectionLevel="signature|setup|knownSigner"
4291                android:knownCerts="@array/demo_device_provisioning_known_signers" />
4292
4293    <!-- @TestApi @hide Allows an application to reset the record of previous system update freeze
4294         periods. -->
4295    <permission android:name="android.permission.CLEAR_FREEZE_PERIOD"
4296                android:protectionLevel="signature" />
4297
4298    <!-- @TestApi @hide Allows an application to force available DevicePolicyManager logs to
4299         DPC. -->
4300    <permission android:name="android.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS"
4301                android:protectionLevel="signature" />
4302
4303    <!-- Allows an application to get full detailed information about
4304         recently running tasks, with full fidelity to the real state.
4305         @hide -->
4306    <permission android:name="android.permission.GET_DETAILED_TASKS"
4307        android:protectionLevel="signature" />
4308
4309    <!-- Allows an application to change the Z-order of tasks.
4310         <p>Protection level: normal
4311    -->
4312    <permission android:name="android.permission.REORDER_TASKS"
4313        android:label="@string/permlab_reorderTasks"
4314        android:description="@string/permdesc_reorderTasks"
4315        android:protectionLevel="normal" />
4316
4317    <!-- @SystemApi @TestApi @hide Allows an application to change to remove/kill tasks -->
4318    <permission android:name="android.permission.REMOVE_TASKS"
4319        android:protectionLevel="signature|recents|role" />
4320
4321    <!-- @deprecated Use MANAGE_ACTIVITY_TASKS instead.
4322         @SystemApi @TestApi @hide Allows an application to create/manage/remove stacks -->
4323    <permission android:name="android.permission.MANAGE_ACTIVITY_STACKS"
4324        android:protectionLevel="signature" />
4325
4326    <!-- @SystemApi @TestApi @hide Allows an application to create/manage/remove tasks -->
4327    <permission android:name="android.permission.MANAGE_ACTIVITY_TASKS"
4328        android:protectionLevel="signature|recents" />
4329
4330    <!-- @SystemApi @TestApi @hide Allows an application to embed other activities -->
4331    <permission android:name="android.permission.ACTIVITY_EMBEDDING"
4332                android:protectionLevel="signature|privileged" />
4333
4334    <!-- Allows an application to embed any other apps in untrusted embedding mode without the need
4335         for the embedded app to consent.
4336         <p>For now, this permission is only granted to the Assistant application selected by
4337         the user.
4338         {@see https://developer.android.com/guide/topics/large-screens/activity-embedding#trust_model}
4339         @SystemApi
4340         @FlaggedApi("com.android.window.flags.untrusted_embedding_any_app_permission")
4341         @hide
4342        -->
4343    <permission android:name="android.permission.EMBED_ANY_APP_IN_UNTRUSTED_MODE"
4344                android:protectionLevel="internal|role" />
4345
4346    <!-- Allows an application to start any activity, regardless of permission
4347         protection or exported state.
4348         @hide -->
4349    <permission android:name="android.permission.START_ANY_ACTIVITY"
4350        android:protectionLevel="signature" />
4351
4352    <!-- @SystemApi @hide Allows an application to start activities from background -->
4353    <permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"
4354        android:protectionLevel="signature|privileged|vendorPrivileged|oem|verifier|role" />
4355
4356    <!-- Allows an application to start foreground services from the background at any time.
4357         <em>This permission is not for use by third-party applications</em>,
4358         with the only exception being if the app is the default SMS app.
4359         Otherwise, it's only usable by privileged apps, app verifier app, and apps with
4360         any of the EMERGENCY or SYSTEM GALLERY roles.
4361         -->
4362    <permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"
4363                android:protectionLevel="signature|privileged|vendorPrivileged|oem|verifier|role"/>
4364
4365    <!-- Allows an application to request interactive options when sending a broadcast.
4366         @hide -->
4367    <permission android:name="android.permission.BROADCAST_OPTION_INTERACTIVE"
4368                android:protectionLevel="signature|privileged" />
4369
4370    <!-- @SystemApi Must be required by activities that handle the intent action
4371         {@link Intent#ACTION_SEND_SHOW_SUSPENDED_APP_DETAILS}. This is for use by apps that
4372         hold {@link Manifest.permission#SUSPEND_APPS} to interact with the system.
4373         <p>Not for use by third-party applications.
4374         @hide -->
4375    <permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS"
4376                android:protectionLevel="signature" />
4377    <uses-permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS" />
4378
4379    <!-- Allows an application to start an activity as another app, provided that app has been
4380         granted a permissionToken from the ActivityManagerService.
4381         @hide -->
4382    <permission android:name="android.permission.START_ACTIVITY_AS_CALLER"
4383        android:protectionLevel="signature" />
4384
4385    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
4386        API is no longer supported. -->
4387    <permission android:name="android.permission.RESTART_PACKAGES"
4388        android:label="@string/permlab_killBackgroundProcesses"
4389        android:description="@string/permdesc_killBackgroundProcesses"
4390        android:protectionLevel="normal" />
4391
4392    <!-- Allows an application to call
4393        {@link android.app.ActivityManager#killBackgroundProcesses}.
4394        <p>As of Android version {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE},
4395        the {@link android.app.ActivityManager#killBackgroundProcesses} is no longer available to
4396        third party applications. For backwards compatibility, the background processes of the
4397        caller's own package will still be killed when calling this API. If the caller has
4398        the system permission {@code KILL_ALL_BACKGROUND_PROCESSES}, other processes will be
4399        killed too.
4400
4401         <p>Protection level: normal
4402    -->
4403    <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
4404        android:label="@string/permlab_killBackgroundProcesses"
4405        android:description="@string/permdesc_killBackgroundProcesses"
4406        android:protectionLevel="normal" />
4407
4408    <!-- @SystemApi @hide Allows an application to call
4409        {@link android.app.ActivityManager#killBackgroundProcesses}
4410        to kill background processes of other apps.
4411         <p>Not for use by third-party applications.
4412    -->
4413    <permission android:name="android.permission.KILL_ALL_BACKGROUND_PROCESSES"
4414        android:label="@string/permlab_killBackgroundProcesses"
4415        android:description="@string/permdesc_killBackgroundProcesses"
4416        android:protectionLevel="signature|privileged" />
4417
4418    <!-- @SystemApi @hide Allows an application to query process states and current
4419         OOM adjustment scores.
4420         <p>Not for use by third-party applications. -->
4421    <permission android:name="android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"
4422        android:protectionLevel="signature|privileged|development" />
4423
4424    <!-- Allows use of PendingIntent.getIntent(), .
4425         @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
4426         -->
4427    <permission android:name="android.permission.GET_INTENT_SENDER_INTENT"
4428        android:protectionLevel="signature" />
4429
4430    <!-- ================================== -->
4431    <!-- Permissions affecting the display of other applications  -->
4432    <!-- ================================== -->
4433    <eat-comment />
4434
4435    <!-- Allows an app to create windows using the type
4436         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
4437         shown on top of all other apps.  Very few apps
4438         should use this permission; these windows are intended for
4439         system-level interaction with the user.
4440
4441         <p class="note"><strong>Note:</strong> If the app
4442         targets API level 23 or higher, the app user must explicitly grant
4443         this permission to the app through a permission management screen. The app requests
4444         the user's approval by sending an intent with action
4445         {@link android.provider.Settings#ACTION_MANAGE_OVERLAY_PERMISSION}.
4446         The app can check whether it has this authorization by calling
4447         {@link android.provider.Settings#canDrawOverlays
4448         Settings.canDrawOverlays()}.
4449         <p>Protection level: signature|setup|appop|installer|pre23|development -->
4450    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
4451        android:label="@string/permlab_systemAlertWindow"
4452        android:description="@string/permdesc_systemAlertWindow"
4453        android:protectionLevel="signature|setup|appop|installer|pre23|development" />
4454
4455    <!-- @SystemApi @hide Allows an application to create windows using the type
4456         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
4457         shown on top of all other apps.
4458
4459         Allows an application to use
4460         {@link android.view.WindowManager.LayoutsParams#setSystemApplicationOverlay(boolean)}
4461         to create overlays that will stay visible, even if another window is requesting overlays to
4462         be hidden through {@link android.view.Window#setHideOverlayWindows(boolean)}.
4463
4464         <p>Not for use by third-party applications. -->
4465    <permission android:name="android.permission.SYSTEM_APPLICATION_OVERLAY"
4466                android:protectionLevel="signature|recents|role|installer"/>
4467
4468    <!-- @deprecated Use {@link android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
4469         @hide
4470    -->
4471    <permission android:name="android.permission.RUN_IN_BACKGROUND"
4472        android:label="@string/permlab_runInBackground"
4473        android:description="@string/permdesc_runInBackground"
4474        android:protectionLevel="signature" />
4475
4476    <!-- @deprecated Use
4477        {@link android.Manifest.permission#REQUEST_COMPANION_USE_DATA_IN_BACKGROUND}
4478         @hide
4479    -->
4480    <permission android:name="android.permission.USE_DATA_IN_BACKGROUND"
4481        android:label="@string/permlab_useDataInBackground"
4482        android:description="@string/permdesc_useDataInBackground"
4483        android:protectionLevel="signature" />
4484
4485    <!-- @hide Allows an application to set display offsets for the screen.
4486         This permission is not available to third party applications. -->
4487    <permission android:name="android.permission.SET_DISPLAY_OFFSET"
4488        android:protectionLevel="signature|privileged" />
4489
4490    <!-- Allows a companion app to run in the background. This permission implies
4491         {@link android.Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND},
4492         and allows to start a foreground service from the background.
4493         If an app does not have to run in the background, but only needs to start a foreground
4494         service from the background, consider using
4495         {@link android.Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND},
4496         which is less powerful.
4497         <p>Protection level: normal
4498    -->
4499    <permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"
4500                android:label="@string/permlab_runInBackground"
4501                android:description="@string/permdesc_runInBackground"
4502                android:protectionLevel="normal" />
4503
4504    <!-- Allows a companion app to start a foreground service from the background.
4505         {@see android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
4506         <p>Protection level: normal
4507         -->
4508    <permission android:name="android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND"
4509                android:label="@string/permlab_startForegroundServicesFromBackground"
4510                android:description="@string/permdesc_startForegroundServicesFromBackground"
4511                android:protectionLevel="normal"/>
4512
4513    <!-- Allows a companion app to use data in the background.
4514         <p>Protection level: normal
4515    -->
4516    <permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"
4517                android:label="@string/permlab_useDataInBackground"
4518                android:description="@string/permdesc_useDataInBackground"
4519                android:protectionLevel="normal" />
4520
4521    <!-- Allows app to request to be associated with a device via
4522         {@link android.companion.CompanionDeviceManager}
4523         as a "watch"
4524         <p>Protection level: normal
4525     -->
4526    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_WATCH"
4527                android:label="@string/permlab_companionProfileWatch"
4528                android:description="@string/permdesc_companionProfileWatch"
4529                android:protectionLevel="normal" />
4530
4531    <!-- Allows app to request to be associated with a device via
4532         {@link android.companion.CompanionDeviceManager}
4533         as "glasses"
4534         <p>Protection level: normal
4535     -->
4536    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_GLASSES"
4537        android:protectionLevel="normal" />
4538
4539    <!-- Allows application to request to be associated with a virtual device capable of streaming
4540         Android applications
4541         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_APP_STREAMING})
4542         by {@link android.companion.CompanionDeviceManager}.
4543         <p>Not for use by third-party applications.
4544    -->
4545    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_APP_STREAMING"
4546                android:protectionLevel="signature|privileged" />
4547
4548    <!-- Allows application to request to stream content from an Android host to a nearby device
4549         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_NEARBY_DEVICE_STREAMING})
4550         by {@link android.companion.CompanionDeviceManager}.
4551         <p>Not for use by third-party applications.
4552    -->
4553    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING"
4554        android:protectionLevel="signature|privileged" />
4555
4556    <!-- Allows application to request to stream content from an Android host to a nearby device
4557         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_VIRTUAL_DEVICE})
4558         by {@link android.companion.CompanionDeviceManager}.
4559         <p>Not for use by third-party applications.
4560         @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_ENABLE_LIMITED_VDM_ROLE)
4561    -->
4562    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_VIRTUAL_DEVICE"
4563        android:protectionLevel="signature|privileged"
4564        android:featureFlag="android.companion.virtualdevice.flags.enable_limited_vdm_role" />
4565
4566    <!-- Allows application to request to be associated with a vehicle head unit capable of
4567         automotive projection
4568         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_AUTOMOTIVE_PROJECTION})
4569         by {@link android.companion.CompanionDeviceManager}.
4570         <p>Not for use by third-party applications.
4571    -->
4572    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION"
4573                android:protectionLevel="internal|role" />
4574
4575    <!-- Allows application to request to be associated with a computer to share functionality
4576         and/or data with other devices, such as notifications, photos and media
4577         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_COMPUTER})
4578         by {@link android.companion.CompanionDeviceManager}.
4579         <p>Not for use by third-party applications.
4580    -->
4581    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_COMPUTER"
4582                android:protectionLevel="signature|privileged" />
4583
4584    <!-- Allows an application to create a "self-managed" association.
4585    -->
4586    <permission android:name="android.permission.REQUEST_COMPANION_SELF_MANAGED"
4587                android:protectionLevel="signature|privileged" />
4588
4589    <!-- Allows a companion app to associate to Wi-Fi.
4590         <p>Only for use by a single pre-approved app.
4591         @hide
4592         @SystemApi
4593    -->
4594    <permission android:name="android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS"
4595                android:protectionLevel="signature|privileged" />
4596
4597    <!-- Allows an app to read and listen to projection state.
4598         @hide
4599         @SystemApi
4600    -->
4601    <permission android:name="android.permission.READ_PROJECTION_STATE"
4602                android:protectionLevel="signature" />
4603
4604    <!-- Allows an app to set and release automotive projection.
4605         @hide
4606         @SystemApi
4607    -->
4608    <permission android:name="android.permission.TOGGLE_AUTOMOTIVE_PROJECTION"
4609                android:protectionLevel="internal|role" />
4610
4611    <!-- Allows an app to prevent non-system-overlay windows from being drawn on top of it -->
4612    <permission android:name="android.permission.HIDE_OVERLAY_WINDOWS"
4613                android:label="@string/permlab_hideOverlayWindows"
4614                android:description="@string/permdesc_hideOverlayWindows"
4615                android:protectionLevel="normal" />
4616
4617    <!-- Allows an app to enter Picture-in-Picture mode when the user is not explicitly requesting
4618        it. This includes using {@link PictureInPictureParams.Builder#setAutoEnterEnabled} as well
4619        as lifecycle methods such as {@link Activity#onUserLeaveHint} and {@link Activity#onPause}
4620        to enter PiP when the user leaves the app.
4621        This permission should only be used for certain PiP
4622        <a href="{@docRoot}training/tv/get-started/multitasking#usage-types">usage types</a>.
4623        @FlaggedApi(android.app.Flags.FLAG_ENABLE_TV_IMPLICIT_ENTER_PIP_RESTRICTION)
4624     -->
4625    <permission android:name="android.permission.TV_IMPLICIT_ENTER_PIP"
4626        android:protectionLevel="normal"
4627        android:featureFlag="android.app.enable_tv_implicit_enter_pip_restriction" />
4628
4629    <!-- ================================== -->
4630    <!-- Permissions affecting the system wallpaper -->
4631    <!-- ================================== -->
4632    <eat-comment />
4633
4634    <!-- Allows applications to set the wallpaper.
4635         <p>Protection level: normal
4636     -->
4637    <permission android:name="android.permission.SET_WALLPAPER"
4638        android:label="@string/permlab_setWallpaper"
4639        android:description="@string/permdesc_setWallpaper"
4640        android:protectionLevel="normal" />
4641
4642    <!-- Allows applications to set the wallpaper hints.
4643         <p>Protection level: normal
4644    -->
4645    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
4646        android:label="@string/permlab_setWallpaperHints"
4647        android:description="@string/permdesc_setWallpaperHints"
4648        android:protectionLevel="normal" />
4649
4650    <!-- Allow the app to read the system and lock wallpaper images.
4651        <p>Not for use by third-party applications.
4652        @hide
4653        @SystemApi
4654    -->
4655    <permission android:name="android.permission.READ_WALLPAPER_INTERNAL"
4656        android:protectionLevel="signature|privileged" />
4657
4658    <!-- Allow apps to always update wallpaper by sending data.
4659        @SystemApi
4660        @hide
4661        @FlaggedApi("com.android.window.flags.always_update_wallpaper_permission")
4662    -->
4663    <permission android:name="android.permission.ALWAYS_UPDATE_WALLPAPER"
4664        android:protectionLevel="internal|role" />
4665
4666    <!-- ===================================================== -->
4667    <!-- Permissions for changing the system clock / time zone -->
4668    <!-- ===================================================== -->
4669    <eat-comment />
4670
4671    <!-- Allows applications to set the system time directly.
4672         <p>Not for use by third-party applications. -->
4673    <permission android:name="android.permission.SET_TIME"
4674        android:protectionLevel="signature|privileged|role" />
4675
4676    <!-- Allows applications to set the system time zone directly.
4677         <p>Not for use by third-party applications.
4678    -->
4679    <permission android:name="android.permission.SET_TIME_ZONE"
4680        android:label="@string/permlab_setTimeZone"
4681        android:description="@string/permdesc_setTimeZone"
4682        android:protectionLevel="signature|privileged|role" />
4683
4684    <!-- Allows telephony to suggest the time / time zone.
4685         <p>Not for use by third-party applications.
4686         @hide
4687     -->
4688    <permission android:name="android.permission.SUGGEST_TELEPHONY_TIME_AND_ZONE"
4689        android:protectionLevel="signature" />
4690
4691    <!-- Allows applications like settings to suggest the user's manually chosen time / time zone.
4692         <p>Not for use by third-party applications.
4693         @hide
4694    -->
4695    <permission android:name="android.permission.SUGGEST_MANUAL_TIME_AND_ZONE"
4696        android:protectionLevel="signature" />
4697
4698    <!-- Allows system clock time suggestions from an external clock / time source to be made.
4699         The nature of "external" could be highly form-factor specific. Example, times
4700         obtained via the VHAL for Android Auto OS.
4701         <p>Not for use by third-party applications.
4702         @SystemApi @hide
4703    -->
4704    <permission android:name="android.permission.SUGGEST_EXTERNAL_TIME"
4705        android:protectionLevel="signature|privileged" />
4706
4707    <!-- Allows applications like settings to manage configuration associated with automatic time
4708         and time zone detection.
4709         <p>Not for use by third-party applications.
4710         @SystemApi @hide
4711    -->
4712    <permission android:name="android.permission.MANAGE_TIME_AND_ZONE_DETECTION"
4713        android:protectionLevel="signature|privileged" />
4714
4715    <!-- ==================================================== -->
4716    <!-- Permissions related to changing status bar   -->
4717    <!-- ==================================================== -->
4718    <eat-comment />
4719
4720    <!-- Allows an application to expand or collapse the status bar.
4721         <p>Protection level: normal
4722    -->
4723    <permission android:name="android.permission.EXPAND_STATUS_BAR"
4724        android:label="@string/permlab_expandStatusBar"
4725        android:description="@string/permdesc_expandStatusBar"
4726        android:protectionLevel="normal" />
4727
4728    <!-- ============================================================== -->
4729    <!-- Permissions related to adding/removing shortcuts from Launcher -->
4730    <!-- ============================================================== -->
4731    <eat-comment />
4732
4733    <!-- Allows an application to install a shortcut in Launcher.
4734         <p>In Android O (API level 26) and higher, the <code>INSTALL_SHORTCUT</code> broadcast no
4735         longer has any effect on your app because it's a private, implicit
4736         broadcast. Instead, you should create an app shortcut by using the
4737         {@link android.content.pm.ShortcutManager#requestPinShortcut requestPinShortcut()}
4738         method from the {@link android.content.pm.ShortcutManager} class.
4739         <p>Protection level: normal
4740    -->
4741    <permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
4742        android:label="@string/permlab_install_shortcut"
4743        android:description="@string/permdesc_install_shortcut"
4744        android:protectionLevel="normal"/>
4745
4746    <!-- <p class="caution"><strong>Don't use this permission in your app.</strong><br>This
4747         permission is no longer supported.
4748    -->
4749    <permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"
4750        android:label="@string/permlab_uninstall_shortcut"
4751        android:description="@string/permdesc_uninstall_shortcut"
4752        android:protectionLevel="normal"/>
4753
4754    <!-- ==================================================== -->
4755    <!-- Permissions related to accessing sync settings   -->
4756    <!-- ==================================================== -->
4757    <eat-comment />
4758
4759    <!-- Allows applications to read the sync settings.
4760         <p>Protection level: normal
4761    -->
4762    <permission android:name="android.permission.READ_SYNC_SETTINGS"
4763        android:description="@string/permdesc_readSyncSettings"
4764        android:label="@string/permlab_readSyncSettings"
4765        android:protectionLevel="normal" />
4766
4767    <!-- Allows applications to write the sync settings.
4768         <p>Protection level: normal
4769    -->
4770    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
4771        android:description="@string/permdesc_writeSyncSettings"
4772        android:label="@string/permlab_writeSyncSettings"
4773        android:protectionLevel="normal" />
4774
4775    <!-- Allows applications to read the sync stats.
4776         <p>Protection level: normal
4777    -->
4778    <permission android:name="android.permission.READ_SYNC_STATS"
4779        android:description="@string/permdesc_readSyncStats"
4780        android:label="@string/permlab_readSyncStats"
4781        android:protectionLevel="normal" />
4782
4783    <!-- ============================================ -->
4784    <!-- Permissions for low-level system interaction -->
4785    <!-- ============================================ -->
4786    <eat-comment />
4787
4788    <!-- @SystemApi @hide Change the screen compatibility mode of applications -->
4789    <permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
4790        android:protectionLevel="signature" />
4791
4792    <!-- Allows an application to modify the current configuration, such
4793         as locale.
4794         <p>Protection level: signature|privileged|development -->
4795    <permission android:name="android.permission.CHANGE_CONFIGURATION"
4796        android:protectionLevel="signature|privileged|development|role" />
4797
4798    <!-- Allows an application to read or write the system settings.
4799
4800        <p class="note"><strong>Note:</strong> If the app targets API level 23
4801        or higher, the app user
4802        must explicitly grant this permission to the app through a permission management screen.
4803        The app requests the user's approval by sending an intent with action
4804        {@link android.provider.Settings#ACTION_MANAGE_WRITE_SETTINGS}. The app
4805        can check whether it has this authorization by calling {@link
4806        android.provider.Settings.System#canWrite Settings.System.canWrite()}.
4807
4808        <p>Protection level: signature|preinstalled|appop|pre23
4809    -->
4810    <permission android:name="android.permission.WRITE_SETTINGS"
4811        android:label="@string/permlab_writeSettings"
4812        android:description="@string/permdesc_writeSettings"
4813        android:protectionLevel="signature|preinstalled|appop|pre23|role" />
4814
4815    <!-- Allows an application to modify the Google service map.
4816    <p>Not for use by third-party applications. -->
4817    <permission android:name="android.permission.WRITE_GSERVICES"
4818        android:protectionLevel="signature|privileged" />
4819
4820    <!-- @SystemApi @TestApi @hide Allows an application to modify config settings.
4821    <p>Not for use by third-party applications. -->
4822    <permission android:name="android.permission.WRITE_DEVICE_CONFIG"
4823        android:protectionLevel="signature|verifier|configurator"/>
4824
4825    <!-- @SystemApi @TestApi @hide Allows an application to modify only allowlisted settings.
4826    <p>Not for use by third-party applications. -->
4827    <permission android:name="android.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG"
4828        android:protectionLevel="signature|verifier|configurator"/>
4829
4830    <!-- @SystemApi @TestApi @hide Allows an application to read/write sync disabled mode config.
4831    <p>Not for use by third-party applications. -->
4832    <permission android:name="android.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG"
4833        android:protectionLevel="signature|verifier|configurator"/>
4834
4835    <!-- @SystemApi @hide Allows an application to read config settings.
4836    <p>Not for use by third-party applications. -->
4837    <permission android:name="android.permission.READ_DEVICE_CONFIG"
4838        android:protectionLevel="signature|preinstalled" />
4839
4840    <!-- @SystemApi @hide Allows applications like settings to read system-owned
4841     application-specific locale configs.
4842     <p>Not for use by third-party applications. -->
4843    <permission android:name="android.permission.READ_APP_SPECIFIC_LOCALES"
4844                android:protectionLevel="signature|installer" />
4845
4846    <!-- @hide Allows applications to set an application-specific {@link LocaleConfig}.
4847    <p>Not for use by third-party applications. -->
4848    <permission android:name="android.permission.SET_APP_SPECIFIC_LOCALECONFIG"
4849        android:protectionLevel="signature" />
4850
4851    <!-- @SystemApi @hide Allows an application to monitor {@link android.provider.Settings.Config} access.
4852    <p>Not for use by third-party applications. -->
4853    <permission android:name="android.permission.MONITOR_DEVICE_CONFIG_ACCESS"
4854        android:protectionLevel="signature"/>
4855
4856    <!-- @SystemApi @TestApi Allows an application to call
4857        {@link android.app.ActivityManager#forceStopPackage}.
4858        @hide -->
4859    <permission android:name="android.permission.FORCE_STOP_PACKAGES"
4860        android:protectionLevel="signature|privileged" />
4861
4862    <!-- @SystemApi @hide Allows an application to retrieve the content of the active window
4863         An active window is the window that has fired an accessibility event. -->
4864    <permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"
4865        android:protectionLevel="signature|privileged" />
4866
4867    <!-- Modify the global animation scaling factor.
4868    <p>Not for use by third-party applications. -->
4869    <permission android:name="android.permission.SET_ANIMATION_SCALE"
4870        android:protectionLevel="signature|privileged|development" />
4871
4872    <!-- @deprecated This functionality will be removed in the future; please do
4873         not use. Allow an application to make its activities persistent. -->
4874    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
4875        android:label="@string/permlab_persistentActivity"
4876        android:description="@string/permdesc_persistentActivity"
4877        android:protectionLevel="normal" />
4878
4879    <!-- Allows an application to find out the space used by any package.
4880         <p>Protection level: normal
4881    -->
4882    <permission android:name="android.permission.GET_PACKAGE_SIZE"
4883        android:label="@string/permlab_getPackageSize"
4884        android:description="@string/permdesc_getPackageSize"
4885        android:protectionLevel="normal" />
4886
4887    <!-- @deprecated No longer useful, see
4888         {@link android.content.pm.PackageManager#addPackageToPreferred}
4889         for details. -->
4890    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
4891        android:protectionLevel="signature|installer|verifier" />
4892
4893    <!-- Allows an application to receive the
4894         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
4895         broadcast after the system finishes booting.  If you don't
4896         request this permission, you will not receive the broadcast at
4897         that time.  Though holding this permission does not have any
4898         security implications, it can have a negative impact on the
4899         user experience by increasing the amount of time it takes the
4900         system to start and allowing applications to have themselves
4901         running without the user being aware of them.  As such, you must
4902         explicitly declare your use of this facility to make that visible
4903         to the user.
4904         <p>Protection level: normal
4905    -->
4906    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
4907        android:label="@string/permlab_receiveBootCompleted"
4908        android:description="@string/permdesc_receiveBootCompleted"
4909        android:protectionLevel="normal" />
4910
4911    <!-- Allows an application to broadcast sticky intents.  These are
4912         broadcasts whose data is held by the system after being finished,
4913         so that clients can quickly retrieve that data without having
4914         to wait for the next broadcast.
4915         <p>Protection level: normal
4916    -->
4917    <permission android:name="android.permission.BROADCAST_STICKY"
4918        android:label="@string/permlab_broadcastSticky"
4919        android:description="@string/permdesc_broadcastSticky"
4920        android:protectionLevel="normal" />
4921
4922    <!-- Allows mounting and unmounting file systems for removable storage.
4923    <p>Not for use by third-party applications.-->
4924    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
4925        android:protectionLevel="signature|privileged" />
4926
4927    <!-- Allows formatting file systems for removable storage.
4928    <p>Not for use by third-party applications. -->
4929    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
4930        android:protectionLevel="signature|privileged" />
4931
4932    <!-- @hide -->
4933    <permission android:name="android.permission.STORAGE_INTERNAL"
4934        android:protectionLevel="signature" />
4935
4936    <!-- Allows access to ASEC non-destructive API calls
4937         @hide  -->
4938    <permission android:name="android.permission.ASEC_ACCESS"
4939        android:protectionLevel="signature" />
4940
4941    <!-- Allows creation of ASEC volumes
4942         @hide  -->
4943    <permission android:name="android.permission.ASEC_CREATE"
4944        android:protectionLevel="signature" />
4945
4946    <!-- Allows destruction of ASEC volumes
4947         @hide  -->
4948    <permission android:name="android.permission.ASEC_DESTROY"
4949        android:protectionLevel="signature" />
4950
4951    <!-- Allows mount / unmount of ASEC volumes
4952         @hide  -->
4953    <permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"
4954        android:protectionLevel="signature" />
4955
4956    <!-- Allows rename of ASEC volumes
4957         @hide  -->
4958    <permission android:name="android.permission.ASEC_RENAME"
4959        android:protectionLevel="signature" />
4960
4961    <!-- Allows applications to write the apn settings and read sensitive fields of
4962         an existing apn settings like user and password.
4963    <p>Not for use by third-party applications. -->
4964    <permission android:name="android.permission.WRITE_APN_SETTINGS"
4965        android:protectionLevel="signature|privileged" />
4966
4967    <!-- Allows applications to change network connectivity state.
4968         <p>Protection level: normal
4969    -->
4970    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
4971        android:description="@string/permdesc_changeNetworkState"
4972        android:label="@string/permlab_changeNetworkState"
4973        android:protectionLevel="normal" />
4974
4975    <!-- Allows an application to clear the caches of all installed
4976         applications on the device.
4977         <p>Protection level: signature|privileged
4978    -->
4979    <permission android:name="android.permission.CLEAR_APP_CACHE"
4980        android:protectionLevel="signature|privileged" />
4981
4982    <!-- @SystemApi Allows an application to use any media decoder when decoding for playback
4983         @hide -->
4984    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
4985        android:protectionLevel="signature|privileged" />
4986
4987    <!-- @SystemApi Allows an application to install and/or uninstall CA certificates on
4988         behalf of the user.
4989         @hide -->
4990    <permission android:name="android.permission.MANAGE_CA_CERTIFICATES"
4991        android:protectionLevel="signature|privileged" />
4992
4993    <!-- @SystemApi Allows an application to do certain operations needed for
4994         interacting with the recovery (system update) system.
4995         @hide -->
4996    <permission android:name="android.permission.RECOVERY"
4997        android:protectionLevel="signature|privileged" />
4998
4999    <!-- @SystemApi Allows an application to do certain operations needed for
5000         resume on reboot feature.
5001         @hide -->
5002    <permission android:name="android.permission.BIND_RESUME_ON_REBOOT_SERVICE"
5003        android:protectionLevel="signature" />
5004
5005    <!-- @SystemApi Allows an application to read system update info.
5006         @hide -->
5007    <permission android:name="android.permission.READ_SYSTEM_UPDATE_INFO"
5008        android:protectionLevel="signature|privileged" />
5009
5010    <!-- Allows the system to bind to an application's task services
5011         @hide -->
5012    <permission android:name="android.permission.BIND_JOB_SERVICE"
5013        android:protectionLevel="signature" />
5014    <uses-permission android:name="android.permission.BIND_JOB_SERVICE"/>
5015
5016    <!-- Allows an application to initiate configuration updates
5017         <p>An application requesting this permission is responsible for
5018         verifying the source and integrity of any update before passing
5019         it off to the various individual installer components
5020         @hide -->
5021    <permission android:name="android.permission.UPDATE_CONFIG"
5022        android:protectionLevel="signature|privileged" />
5023
5024    <!-- Allows an application to query the current time zone rules state
5025         on device.
5026         @SystemApi @hide
5027         @deprecated Vestigial permission declaration. No longer used. -->
5028    <permission android:name="android.permission.QUERY_TIME_ZONE_RULES"
5029                android:protectionLevel="signature|privileged" />
5030
5031    <!-- Allows a time zone rule updater application to request
5032         the system installs / uninstalls timezone rules.
5033         <p>An application requesting this permission is responsible for
5034         verifying the source and integrity of the update before passing
5035         it off to the installer components.
5036         @SystemApi @hide
5037         @deprecated Vestigial permission declaration. No longer used. -->
5038    <permission android:name="android.permission.UPDATE_TIME_ZONE_RULES"
5039        android:protectionLevel="signature|privileged" />
5040
5041    <!-- Allows the system to reset throttling in shortcut manager.
5042         @hide -->
5043    <permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING"
5044        android:protectionLevel="signature" />
5045
5046    <!-- Allows the system to bind to the discovered Network Recommendation Service.
5047         @SystemApi @hide -->
5048    <permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"
5049        android:protectionLevel="signature" />
5050    <uses-permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"/>
5051
5052    <!-- Allows an application to enable, disable and change priority of
5053         runtime resource overlays.
5054         @hide -->
5055    <permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES"
5056        android:protectionLevel="signature|privileged" />
5057
5058    <!-- Allows an application to set, update and remove the credential management app.
5059         @hide -->
5060    <permission android:name="android.permission.MANAGE_CREDENTIAL_MANAGEMENT_APP"
5061        android:protectionLevel="signature" />
5062
5063    <!-- Allows a font updater application to request that the system installs/uninstalls/updates
5064         font files. @SystemApi @hide -->
5065    <permission android:name="android.permission.UPDATE_FONTS"
5066        android:protectionLevel="signature|privileged" />
5067
5068    <!-- Allows an application to use the AttestationVerificationService.
5069         @hide -->
5070    <permission android:name="android.permission.USE_ATTESTATION_VERIFICATION_SERVICE"
5071                android:protectionLevel="signature" />
5072
5073    <!-- Allows an application to export a AttestationVerificationService to verify attestations on
5074         behalf of AttestationVerificationManager for system-defined attestation profiles.
5075         @hide -->
5076    <permission android:name="android.permission.VERIFY_ATTESTATION"
5077                android:protectionLevel="signature" />
5078
5079    <!-- Must be required by any AttestationVerificationService to ensure that only the system can
5080         bind to it.
5081         @hide -->
5082    <permission android:name="android.permission.BIND_ATTESTATION_VERIFICATION_SERVICE"
5083                android:protectionLevel="signature" />
5084
5085    <!-- Allows the caller to generate keymint keys with the INCLUDE_UNIQUE_ID tag, which
5086         uniquely identifies the device via the attestation certificate.
5087         @hide @TestApi -->
5088    <permission android:name="android.permission.REQUEST_UNIQUE_ID_ATTESTATION"
5089         android:protectionLevel="signature" />
5090
5091    <!-- Allows an application to use the RemoteKeyProvisioningService.
5092         @hide -->
5093    <permission android:name="android.permission.BIND_RKP_SERVICE"
5094                android:protectionLevel="signature" />
5095
5096    <!-- Allows an application to get enabled credential manager providers.
5097         @hide -->
5098    <permission android:name="android.permission.LIST_ENABLED_CREDENTIAL_PROVIDERS"
5099        android:protectionLevel="signature|privileged" />
5100
5101    <!-- Allows a system application to be registered with credential manager without
5102         having to be enabled by the user.
5103         @hide @SystemApi -->
5104    <permission android:name="android.permission.PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE"
5105                android:protectionLevel="signature|privileged" />
5106
5107    <!-- Allows specifying candidate credential providers to be queried in Credential Manager
5108    get flows, or to be preferred as a default in the Credential Manager create flows.
5109     <p>Protection level: normal -->
5110    <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS"
5111                android:protectionLevel="normal" />
5112
5113    <!-- Allows a browser to invoke credential manager APIs on behalf of another RP.
5114        <p>Protection level: normal -->
5115    <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ORIGIN"
5116        android:protectionLevel="normal" />
5117
5118    <!-- Allows a browser to invoke the set of query apis to get metadata about credential
5119         candidates prepared during the CredentialManager.prepareGetCredential API.
5120        <p>Protection level: normal -->
5121    <permission android:name="android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS"
5122                android:protectionLevel="normal" />
5123
5124    <!-- Allows permission to use Credential Manager UI for providing and saving credentials
5125         @hide -->
5126    <permission android:name="android.permission.LAUNCH_CREDENTIAL_SELECTOR"
5127        android:protectionLevel="signature" />
5128
5129    <!-- Allows an application to be able to store and retrieve credentials from a remote
5130         device.
5131    <p>Protection level: signature|privileged|role -->
5132    <permission android:name="android.permission.PROVIDE_REMOTE_CREDENTIALS"
5133                android:protectionLevel="signature|privileged|role" />
5134
5135    <!-- @FlaggedApi(com.android.settingslib.flags.Flags.FLAG_SETTINGS_CATALYST)
5136         Allows an application to access the Settings Preference services to read settings exposed
5137         by the system Settings app and system apps that contribute settings surfaced by the
5138         Settings app.
5139         <p>This allows the calling application to read settings values through the host
5140         application, agnostic of underlying storage. -->
5141    <permission android:name="android.permission.READ_SYSTEM_PREFERENCES"
5142        android:protectionLevel="signature|privileged|role"
5143        android:featureFlag="com.android.settingslib.flags.settings_catalyst" />
5144
5145    <!-- @FlaggedApi(com.android.settingslib.flags.Flags.FLAG_WRITE_SYSTEM_PREFERENCE_PERMISSION_ENABLED)
5146         Allows an application to access the Settings Preference services to write settings
5147         values exposed by the system Settings app and system apps that contribute settings surfaced
5148         in the Settings app.
5149         <p>This allows the calling application to write settings values
5150         through the host application, agnostic of underlying storage.
5151         <p>Protection Level: signature|privileged|appop -->
5152    <permission android:name="android.permission.WRITE_SYSTEM_PREFERENCES"
5153        android:protectionLevel="signature|privileged|appop"
5154        android:featureFlag="com.android.settingslib.flags.write_system_preference_permission_enabled" />
5155
5156    <!-- ========================================= -->
5157    <!-- Permissions for special development tools -->
5158    <!-- ========================================= -->
5159    <eat-comment />
5160
5161    <!-- Allows an application to read or write the secure system settings.
5162    <p>Not for use by third-party applications. -->
5163    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
5164        android:protectionLevel="signature|privileged|development|role|installer" />
5165
5166    <!-- Allows an application to retrieve state dump information from system services.
5167    <p>Not for use by third-party applications. -->
5168    <permission android:name="android.permission.DUMP"
5169        android:protectionLevel="signature|privileged|development" />
5170
5171    <!-- Allows an application to start tracing for InputMethod and WindowManager.
5172    <p>Not for use by third-party applications.
5173    @hide -->
5174    <permission android:name="android.permission.CONTROL_UI_TRACING"
5175        android:protectionLevel="signature|privileged|development" />
5176
5177    <!-- Allows an application to read the low-level system log files.
5178    <p>Not for use by third-party applications, because
5179    Log entries can contain the user's private information. -->
5180    <permission android:name="android.permission.READ_LOGS"
5181        android:protectionLevel="signature|privileged|development" />
5182
5183    <!-- Allows an application to read the update_engine logs
5184    <p>Not for use by third-party applications.
5185    @FlaggedApi("com.android.update_engine.minor_changes_2025q4") -->
5186    <permission android:name="android.permission.READ_UPDATE_ENGINE_LOGS"
5187        android:protectionLevel="signature|privileged|development"
5188        android:featureFlag="com.android.update_engine.minor_changes_2025q4" />
5189
5190    <!-- Configure an application for debugging.
5191    <p>Not for use by third-party applications. -->
5192    <permission android:name="android.permission.SET_DEBUG_APP"
5193        android:protectionLevel="signature|privileged|development" />
5194
5195    <!-- Allows an application to access the data in Dropbox.
5196    <p>Not for use by third-party applications.
5197    @FlaggedApi("com.android.server.feature.flags.enable_read_dropbox_permission") -->
5198    <permission android:name="android.permission.READ_DROPBOX_DATA"
5199        android:protectionLevel="signature|privileged|development" />
5200
5201    <!-- Allows an application to set the maximum number of (not needed)
5202         application processes that can be running.
5203         <p>Not for use by third-party applications. -->
5204    <permission android:name="android.permission.SET_PROCESS_LIMIT"
5205        android:protectionLevel="signature|privileged|development" />
5206
5207    <!-- Allows an application to control whether activities are immediately
5208         finished when put in the background.
5209         <p>Not for use by third-party applications. -->
5210    <permission android:name="android.permission.SET_ALWAYS_FINISH"
5211        android:protectionLevel="signature|privileged|development" />
5212
5213    <!-- Allow an application to request that a signal be sent to all persistent processes.
5214    <p>Not for use by third-party applications. -->
5215    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
5216        android:protectionLevel="signature|privileged|development" />
5217
5218    <!-- @hide @SystemApi Must be required by a
5219         {@link com.android.service.tracing.TraceReportService}, to ensure that only the system
5220         can bind to it.
5221        <p>Not for use by third-party applications. -->
5222    <permission android:name="android.permission.BIND_TRACE_REPORT_SERVICE"
5223                android:protectionLevel="signature" />
5224
5225    <!-- @hide @SystemApi @TestApi
5226         Allow an application to approve incident and bug reports to be
5227         shared off-device.  There can be only one application installed on the
5228         device with this permission, and since this is a privileged permission, it
5229         must be in priv-app.
5230        <p>Not for use by third-party applications. -->
5231    <permission android:name="android.permission.APPROVE_INCIDENT_REPORTS"
5232        android:protectionLevel="signature|incidentReportApprover" />
5233
5234    <!-- @hide Allow an application to approve an incident or bug report approval from
5235        the system. -->
5236    <permission android:name="android.permission.REQUEST_INCIDENT_REPORT_APPROVAL"
5237        android:protectionLevel="signature|privileged" />
5238
5239    <!-- ==================================== -->
5240    <!-- Permissions for XR perception data   -->
5241    <!-- ==================================== -->
5242    <eat-comment />
5243
5244    <!-- Used for permissions that are associated with accessing XR
5245         tracked information about the person using the device and the
5246         environment around them.
5247
5248         @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES) -->
5249    <permission-group android:name="android.permission-group.XR_TRACKING"
5250                      android:label="@string/permgrouplab_xr_tracking"
5251                      android:description="@string/permgroupdesc_xr_tracking"
5252                      android:priority="100"
5253                      android:featureFlag="android.xr.xr_manifest_entries" />
5254
5255    <!-- Allows an application to get approximate eye gaze.
5256
5257         <p>Protection level: dangerous
5258
5259         @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES) -->
5260    <permission android:name="android.permission.EYE_TRACKING_COARSE"
5261                android:protectionLevel="dangerous"
5262                android:permissionGroup="android.permission-group.UNDEFINED"
5263                android:label="@string/permlab_eye_tracking_coarse"
5264                android:description="@string/permdesc_eye_tracking_coarse"
5265                android:featureFlag="android.xr.xr_manifest_entries" />
5266
5267    <!-- Allows an application to get face tracking data.
5268
5269         <p>Protection level: dangerous
5270
5271         @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES) -->
5272    <permission android:name="android.permission.FACE_TRACKING"
5273                android:protectionLevel="dangerous"
5274                android:permissionGroup="android.permission-group.UNDEFINED"
5275                android:label="@string/permlab_face_tracking"
5276                android:description="@string/permdesc_face_tracking"
5277                android:featureFlag="android.xr.xr_manifest_entries" />
5278
5279    <!-- Allows an application to get hand tracking data.
5280
5281         <p>Protection level: dangerous
5282
5283         @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES) -->
5284    <permission android:name="android.permission.HAND_TRACKING"
5285                android:protectionLevel="dangerous"
5286                android:permissionGroup="android.permission-group.UNDEFINED"
5287                android:label="@string/permlab_hand_tracking"
5288                android:description="@string/permdesc_hand_tracking"
5289                android:featureFlag="android.xr.xr_manifest_entries" />
5290
5291    <!-- Allows an application to get data derived by sensing the
5292         user's environment.
5293
5294         <p>Protection level: dangerous
5295
5296         @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES) -->
5297    <permission android:name="android.permission.SCENE_UNDERSTANDING_COARSE"
5298                android:protectionLevel="dangerous"
5299                android:permissionGroup="android.permission-group.UNDEFINED"
5300                android:description="@string/permdesc_scene_understanding_coarse"
5301                android:label="@string/permlab_scene_understanding_coarse"
5302                android:featureFlag="android.xr.xr_manifest_entries" />
5303
5304    <!-- Used for permissions that are associated with accessing
5305         particularly sensitive XR tracking data.
5306
5307         @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES) -->
5308    <permission-group android:name="android.permission-group.XR_TRACKING_SENSITIVE"
5309                      android:label="@string/permgrouplab_xr_tracking_sensitive"
5310                      android:description="@string/permgroupdesc_xr_tracking_sensitive"
5311                      android:priority="100"
5312                      android:featureFlag="android.xr.xr_manifest_entries" />
5313
5314    <!-- Allows an application to get precise eye gaze data.
5315
5316         <p>Protection level: dangerous
5317
5318         @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES) -->
5319    <permission android:name="android.permission.EYE_TRACKING_FINE"
5320                android:protectionLevel="dangerous"
5321                android:permissionGroup="android.permission-group.UNDEFINED"
5322                android:label="@string/permlab_eye_tracking_fine"
5323                android:description="@string/permdesc_eye_tracking_fine"
5324                android:featureFlag="android.xr.xr_manifest_entries" />
5325
5326    <!-- Allows an application to get head tracking data.  Unmanaged
5327         activities (OpenXR activities with the manifest property
5328         "android.window.PROPERTY_XR_ACTIVITY_START_MODE" set to
5329         "XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED") do not require
5330         this permission to get head tracking data.
5331
5332         {@see https://developer.android.com/develop/xr/get-started#property_activity_xr_start_mode_property}
5333
5334         <p>Protection level: dangerous
5335
5336         @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES) -->
5337    <permission android:name="android.permission.HEAD_TRACKING"
5338                android:protectionLevel="dangerous"
5339                android:permissionGroup="android.permission-group.UNDEFINED"
5340                android:label="@string/permlab_head_tracking"
5341                android:description="@string/permdesc_head_tracking"
5342                android:featureFlag="android.xr.xr_manifest_entries" />
5343
5344    <!-- Allows an application to get highly precise data derived by sensing the
5345         user's environment, such as a depth map.
5346
5347         <p>Protection level: dangerous
5348
5349         @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES) -->
5350    <permission android:name="android.permission.SCENE_UNDERSTANDING_FINE"
5351                android:protectionLevel="dangerous"
5352                android:permissionGroup="android.permission-group.UNDEFINED"
5353                android:description="@string/permdesc_scene_understanding_fine"
5354                android:label="@string/permlab_scene_understanding_fine"
5355                android:featureFlag="android.xr.xr_manifest_entries" />
5356
5357    <!-- Allows an application to trigger Eye Calibration, which
5358         calibrates for IPD (inter-pupillary distance) adjustment and
5359         eye tracking.
5360
5361         <p>Protection level: signature|privileged
5362
5363         @SystemApi
5364         @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES)
5365         @hide -->
5366    <permission android:name="android.permission.EYE_CALIBRATION"
5367                android:protectionLevel="signature|privileged"
5368                android:featureFlag="android.xr.xr_manifest_entries" />
5369
5370    <!-- Allows an application to trigger Face Tracking Calibration.
5371
5372         <p>Protection level: signature|privileged
5373
5374         @SystemApi
5375         @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES)
5376         @hide -->
5377    <permission android:name="android.permission.FACE_TRACKING_CALIBRATION"
5378                android:protectionLevel="signature|privileged"
5379                android:featureFlag="android.xr.xr_manifest_entries" />
5380
5381    <!-- Allows an application to import an anchor created and
5382         exported by another application.
5383
5384         <p>Protection level: signature|privileged
5385
5386         @SystemApi
5387         @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES)
5388         @hide -->
5389    <permission android:name="android.permission.IMPORT_XR_ANCHOR"
5390                android:protectionLevel="signature|privileged"
5391                android:featureFlag="android.xr.xr_manifest_entries" />
5392
5393    <!-- Allows an application to access XR tracking data while in the
5394         background. Without this permission, XR tracking data such as
5395         head tracking, hand tracking, eye tracking, or face tracking
5396         is only available to an activity it is in the
5397         foreground. With this permission, such data is also available
5398         to services and to activities that are in the background.
5399
5400         <p>This permission must be granted in addition to the
5401         corresponding permission such as {@link #HEAD_TRACKING} or
5402         {@link #FACE_TRACKING} for the data being accessed.
5403
5404         <p>Protection level: signature|privileged
5405
5406         @SystemApi
5407         @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES)
5408         @hide -->
5409    <permission android:name="android.permission.XR_TRACKING_IN_BACKGROUND"
5410                android:protectionLevel="signature|privileged"
5411                android:description="@string/permdesc_xr_tracking_in_background"
5412                android:label="@string/permlab_xr_tracking_in_background"
5413                android:featureFlag="android.xr.xr_manifest_entries" />
5414
5415    <!-- ==================================== -->
5416    <!-- Private permissions                  -->
5417    <!-- ==================================== -->
5418    <eat-comment />
5419
5420    <!-- Allows access to the list of accounts in the Accounts Service.
5421         <p>Protection level: signature|privileged -->
5422    <permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"
5423        android:protectionLevel="signature|privileged" />
5424
5425    <!-- Allows but does not guarantee access to user passwords at the conclusion of add account
5426    @hide -->
5427    <permission android:name="android.permission.GET_PASSWORD"
5428        android:protectionLevel="signature" />
5429
5430    <!-- Allows applications to RW to diagnostic resources.
5431    <p>Not for use by third-party applications. -->
5432    <permission android:name="android.permission.DIAGNOSTIC"
5433        android:protectionLevel="signature" />
5434
5435    <!-- Allows an application to open, close, or disable the status bar
5436         and its icons.
5437         <p>Not for use by third-party applications. -->
5438    <permission android:name="android.permission.STATUS_BAR"
5439        android:protectionLevel="signature|privileged|recents" />
5440
5441    <!-- Allows an application to trigger bugreport via shell using the bugreport API.
5442        <p>Not for use by third-party applications.
5443        @hide
5444    -->
5445    <permission android:name="android.permission.TRIGGER_SHELL_BUGREPORT"
5446        android:protectionLevel="signature" />
5447
5448    <!-- Allows an application to trigger profcollect report upload via shell.
5449        <p>Not for use by third-party applications.
5450        @hide
5451    -->
5452    <permission android:name="android.permission.TRIGGER_SHELL_PROFCOLLECT_UPLOAD"
5453        android:protectionLevel="signature" />
5454
5455    <!-- Allows an application to be the status bar.  Currently used only by SystemUI.apk
5456        @hide
5457        @SystemApi -->
5458    <permission android:name="android.permission.STATUS_BAR_SERVICE"
5459        android:protectionLevel="signature|recents" />
5460
5461    <!-- Allows an application to bind to third party quick settings tiles.
5462         <p>Should only be requested by the System, should be required by
5463         TileService declarations.-->
5464    <permission android:name="android.permission.BIND_QUICK_SETTINGS_TILE"
5465        android:protectionLevel="signature|recents" />
5466
5467    <!-- Allows SystemUI to request third party controls.
5468         <p>Should only be requested by the System and required by
5469         {@link android.service.controls.ControlsProviderService} declarations.
5470    -->
5471    <permission android:name="android.permission.BIND_CONTROLS"
5472        android:protectionLevel="signature" />
5473
5474    <!-- @SystemApi Allows an application to force a BACK operation on whatever is the
5475         top activity.
5476         <p>Not for use by third-party applications.
5477         @hide
5478    -->
5479    <permission android:name="android.permission.FORCE_BACK"
5480        android:protectionLevel="signature" />
5481
5482    <!-- Allows an application to update device statistics.
5483    <p>Not for use by third-party applications. -->
5484    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
5485        android:protectionLevel="signature|privileged|role" />
5486
5487    <!-- @SystemApi @hide Allows an application to collect application operation statistics.
5488         Not for use by third party apps. -->
5489    <permission android:name="android.permission.GET_APP_OPS_STATS"
5490        android:protectionLevel="signature|privileged|development" />
5491
5492    <!-- @SystemApi @hide Allows an application to collect historical application operation
5493         statistics.
5494         <p>Not for use by third party applications.
5495    -->
5496    <permission android:name="android.permission.GET_HISTORICAL_APP_OPS_STATS"
5497        android:protectionLevel="internal|role" />
5498
5499    <!-- @SystemApi Allows an application to update application operation statistics. Not for
5500         use by third party apps.
5501         @hide -->
5502    <permission android:name="android.permission.UPDATE_APP_OPS_STATS"
5503        android:protectionLevel="signature|privileged|installer|role" />
5504
5505    <!-- @SystemApi Allows an application to update the user app op restrictions.
5506         Not for use by third party apps.
5507         @hide -->
5508    <permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS"
5509        android:protectionLevel="signature|installer" />
5510
5511    <!-- @TestApi Allows an application to update the user app op modes.
5512         Not for use by third party apps.
5513         @hide -->
5514    <permission android:name="android.permission.MANAGE_APP_OPS_MODES"
5515        android:protectionLevel="signature|installer|verifier|role" />
5516
5517    <!-- @SystemApi Allows an application to open windows that are for use by parts
5518         of the system user interface.
5519         <p>Not for use by third-party applications.
5520         @hide
5521    -->
5522    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
5523        android:protectionLevel="signature|module|recents" />
5524
5525    <!-- Allows an application to avoid all toast rate limiting restrictions.
5526         <p>Not for use by third-party applications.
5527         @hide
5528    -->
5529    <permission android:name="android.permission.UNLIMITED_TOASTS"
5530                android:protectionLevel="signature" />
5531    <uses-permission android:name="android.permission.UNLIMITED_TOASTS" />
5532
5533    <!-- @SystemApi Allows an application to use
5534         {@link android.view.WindowManager.LayoutsParams#SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS}
5535         to hide non-system-overlay windows.
5536         <p>Not for use by third-party applications.
5537         @deprecated Use {@link android.Manifest.permission#HIDE_OVERLAY_WINDOWS} instead
5538         @hide
5539    -->
5540    <permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"
5541                android:protectionLevel="signature|preinstalled" />
5542
5543    <!-- @SystemApi Allows an application to manage (create, destroy,
5544         Z-order) application tokens in the window manager.
5545         <p>Not for use by third-party applications.
5546         @hide
5547    -->
5548    <permission android:name="android.permission.MANAGE_APP_TOKENS"
5549        android:protectionLevel="signature" />
5550
5551    <!-- Allows System UI to register listeners for events from Window Manager.
5552         @hide -->
5553    <permission android:name="android.permission.REGISTER_WINDOW_MANAGER_LISTENERS"
5554        android:protectionLevel="signature" />
5555
5556    <!-- @hide Allows the application to temporarily freeze the screen for a
5557         full-screen transition. -->
5558    <permission android:name="android.permission.FREEZE_SCREEN"
5559        android:protectionLevel="signature" />
5560
5561    <!-- @SystemApi Allows an application to inject user events (keys, touch, trackball)
5562         into the event stream and deliver them to ANY window.  Without this
5563         permission, you can only deliver events to windows in your own process.
5564         <p>Not for use by third-party applications.
5565         @hide
5566    -->
5567    <permission android:name="android.permission.INJECT_EVENTS"
5568        android:protectionLevel="signature" />
5569
5570    <!-- @hide Allows an application to register an input filter which filters the stream
5571         of user events (keys, touch, trackball) before they are dispatched to any window. -->
5572    <permission android:name="android.permission.FILTER_EVENTS"
5573        android:protectionLevel="signature" />
5574
5575    <!-- @hide Allows an application to retrieve the window token from the accessibility manager. -->
5576    <permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN"
5577        android:protectionLevel="signature" />
5578
5579    <!-- @hide Allows an application to modify accessibility information from another app. -->
5580    <permission android:name="android.permission.MODIFY_ACCESSIBILITY_DATA"
5581                android:protectionLevel="signature" />
5582
5583    <!-- @hide Allows an application to perform accessibility operations (e.g. send events) on
5584         behalf of another package. -->
5585    <permission android:name="android.permission.ACT_AS_PACKAGE_FOR_ACCESSIBILITY"
5586                android:protectionLevel="signature" />
5587
5588    <!-- @hide Allows an application to change the accessibility volume. -->
5589    <permission android:name="android.permission.CHANGE_ACCESSIBILITY_VOLUME"
5590                android:protectionLevel="signature" />
5591
5592    <!-- @TestApi Allows an accessibility service to observe motion events
5593         without consuming them.
5594         @hide -->
5595    <permission android:name="android.permission.ACCESSIBILITY_MOTION_EVENT_OBSERVING"
5596                android:protectionLevel="signature" />
5597
5598    <!-- @hide Allows an application to collect frame statistics -->
5599    <permission android:name="android.permission.FRAME_STATS"
5600         android:protectionLevel="signature" />
5601
5602    <!-- @hide Allows an application to temporary enable accessibility on the device. -->
5603    <permission android:name="android.permission.TEMPORARY_ENABLE_ACCESSIBILITY"
5604        android:protectionLevel="signature" />
5605
5606    <!-- @SystemApi Allows an application to launch detail settings activity of a particular
5607         accessibility service.
5608         <p>Not for use by third-party applications.
5609         @hide -->
5610    <permission android:name="android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS"
5611        android:protectionLevel="signature|installer" />
5612
5613    <!-- @SystemApi Allows an application to watch and control how activities are
5614         started globally in the system.  Only for is in debugging
5615         (usually the monkey command).
5616         <p>Not for use by third-party applications.
5617         @hide
5618    -->
5619    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
5620        android:protectionLevel="signature" />
5621
5622    <!-- @SystemApi Allows an application to call the activity manager shutdown() API
5623         to put the higher-level system there into a shutdown state.
5624         @hide -->
5625    <permission android:name="android.permission.SHUTDOWN"
5626        android:protectionLevel="signature|privileged|role" />
5627
5628    <!-- @SystemApi Allows an application to tell the activity manager to temporarily
5629         stop application switches, putting it into a special mode that
5630         prevents applications from immediately switching away from some
5631         critical UI such as the home screen.
5632         @hide -->
5633    <permission android:name="android.permission.STOP_APP_SWITCHES"
5634        android:protectionLevel="signature|privileged|recents" />
5635
5636    <!-- @SystemApi Allows an application to retrieve private information about
5637         the current top activity, such as any assist context it can provide.
5638         <p>Not for use by third-party applications.
5639         @hide
5640    -->
5641    <permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"
5642        android:protectionLevel="signature|recents" />
5643
5644    <!-- @SystemApi Allows an application to set the system audio caption and its UI
5645     enabled state.
5646     <p>Not for use by third-party applications.
5647     @hide -->
5648    <permission android:name="android.permission.SET_SYSTEM_AUDIO_CAPTION"
5649                android:protectionLevel="signature|role" />
5650
5651    <!-- Allows an application to retrieve the current state of keys and
5652         switches.
5653         <p>Not for use by third-party applications.
5654         @deprecated The API that used this permission has been removed. -->
5655    <permission android:name="android.permission.READ_INPUT_STATE"
5656        android:protectionLevel="signature" />
5657
5658    <!-- Must be required by an {@link android.inputmethodservice.InputMethodService},
5659         to ensure that only the system can bind to it.
5660         <p>Protection level: signature
5661    -->
5662    <permission android:name="android.permission.BIND_INPUT_METHOD"
5663        android:protectionLevel="signature" />
5664
5665    <!-- Allows access to Test APIs defined in {@link android.view.inputmethod.InputMethodManager}.
5666         @hide
5667         @TestApi -->
5668    <permission android:name="android.permission.TEST_INPUT_METHOD"
5669        android:protectionLevel="signature" />
5670
5671    <!-- Must be required by an {@link android.media.midi.MidiDeviceService},
5672         to ensure that only the system can bind to it.
5673         <p>Protection level: signature
5674    -->
5675    <permission android:name="android.permission.BIND_MIDI_DEVICE_SERVICE"
5676        android:protectionLevel="signature" />
5677
5678    <!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
5679         to ensure that only the system can bind to it.
5680         <p>Protection level: signature
5681    -->
5682    <permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
5683        android:protectionLevel="signature" />
5684
5685    <!-- Must be required by a {@link android.printservice.PrintService},
5686         to ensure that only the system can bind to it.
5687         <p>Protection level: signature
5688    -->
5689    <permission android:name="android.permission.BIND_PRINT_SERVICE"
5690        android:protectionLevel="signature" />
5691
5692    <!-- Must be required by a {@link android.printservice.recommendation.RecommendationService},
5693     to ensure that only the system can bind to it.
5694     @hide
5695     @SystemApi
5696     <p>Protection level: signature
5697    -->
5698    <permission android:name="android.permission.BIND_PRINT_RECOMMENDATION_SERVICE"
5699            android:protectionLevel="signature" />
5700
5701    <!-- Allows applications to get the installed and enabled print services.
5702         @hide
5703         @SystemApi
5704         <p>Protection level: signature|preinstalled
5705    -->
5706    <permission android:name="android.permission.READ_PRINT_SERVICES"
5707        android:protectionLevel="signature|preinstalled" />
5708
5709    <!-- Allows applications to get the currently recommended print services for printers.
5710         @hide
5711         @SystemApi
5712         <p>Protection level: signature|preinstalled
5713    -->
5714    <permission android:name="android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS"
5715        android:protectionLevel="signature|preinstalled" />
5716
5717    <!-- Must be required by a {@link android.nfc.cardemulation.HostApduService}
5718         or {@link android.nfc.cardemulation.OffHostApduService} to ensure that only
5719         the system can bind to it.
5720         <p>Protection level: signature
5721    -->
5722    <permission android:name="android.permission.BIND_NFC_SERVICE"
5723        android:protectionLevel="signature|module" />
5724
5725    <!-- Must be required by a {@link android.service.quickaccesswallet.QuickAccessWalletService}
5726         to ensure that only the system can bind to it.
5727         <p>Protection level: signature
5728    -->
5729    <permission android:name="android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE"
5730                android:protectionLevel="signature" />
5731
5732    <!-- Must be required by the PrintSpooler to ensure that only the system can bind to it.
5733         @hide -->
5734    <permission android:name="android.permission.BIND_PRINT_SPOOLER_SERVICE"
5735        android:protectionLevel="signature" />
5736
5737    <!-- Must be required by the CompanionDeviceManager to ensure that only the system can bind to it.
5738         @hide -->
5739    <permission android:name="android.permission.BIND_COMPANION_DEVICE_MANAGER_SERVICE"
5740        android:protectionLevel="signature" />
5741
5742    <!-- Must be required by any
5743         {@link android.companion.CompanionDeviceService}s
5744         to ensure that only the system can bind to it. -->
5745    <permission android:name="android.permission.BIND_COMPANION_DEVICE_SERVICE"
5746                android:protectionLevel="signature" />
5747
5748    <!-- @SystemApi Must be required by the RuntimePermissionPresenterService to ensure
5749         that only the system can bind to it.
5750         @hide -->
5751    <permission android:name="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE"
5752        android:protectionLevel="signature" />
5753
5754    <!-- Must be required by a TextService (e.g. SpellCheckerService)
5755         to ensure that only the system can bind to it.
5756         <p>Protection level: signature
5757    -->
5758    <permission android:name="android.permission.BIND_TEXT_SERVICE"
5759        android:protectionLevel="signature" />
5760
5761    <!-- @SystemApi Must be required by a AttentionService
5762         to ensure that only the system can bind to it.
5763         <p>Protection level: signature
5764         @hide
5765    -->
5766    <permission android:name="android.permission.BIND_ATTENTION_SERVICE"
5767                android:protectionLevel="signature" />
5768    <uses-permission android:name="android.permission.BIND_ATTENTION_SERVICE" />
5769
5770    <!-- @SystemApi Must be required by a RotationResolverService
5771         to ensure that only the system can bind to it.
5772         <p>Protection level: signature
5773         @hide
5774    -->
5775    <permission android:name="android.permission.BIND_ROTATION_RESOLVER_SERVICE"
5776        android:protectionLevel="signature" />
5777    <uses-permission android:name="android.permission.BIND_ROTATION_RESOLVER_SERVICE" />
5778
5779    <!-- Must be required by a {@link android.net.VpnService},
5780         to ensure that only the system can bind to it.
5781         <p>Protection level: signature
5782    -->
5783    <permission android:name="android.permission.BIND_VPN_SERVICE"
5784        android:protectionLevel="signature" />
5785
5786    <!-- Must be required by a {@link android.service.wallpaper.WallpaperService},
5787         to ensure that only the system can bind to it.
5788         <p>Protection level: signature|privileged
5789    -->
5790    <permission android:name="android.permission.BIND_WALLPAPER"
5791        android:protectionLevel="signature|privileged" />
5792
5793
5794    <!-- Must be required by a game service to ensure that only the
5795         system can bind to it.
5796         <p>Protection level: signature
5797         @hide
5798    -->
5799    <permission android:name="android.permission.BIND_GAME_SERVICE"
5800                android:protectionLevel="signature" />
5801
5802    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService},
5803         to ensure that only the system can bind to it.
5804         <p>Protection level: signature
5805    -->
5806    <permission android:name="android.permission.BIND_VOICE_INTERACTION"
5807        android:protectionLevel="signature" />
5808
5809    <!-- @SystemApi Must be required by a {@link android.service.voice.HotwordDetectionService},
5810         to ensure that only the system can bind to it.
5811         <p>Protection level: signature
5812         @hide This is not a third-party API (intended for OEMs and system apps).
5813    -->
5814    <permission android:name="android.permission.BIND_HOTWORD_DETECTION_SERVICE"
5815        android:protectionLevel="signature" />
5816
5817    <!-- @SystemApi Allows an application to manage hotword detection and visual query detection
5818         on the device.
5819         <p>Protection level: internal|preinstalled
5820         @hide This is not a third-party API (intended for OEMs and system apps).
5821    -->
5822    <permission android:name="android.permission.MANAGE_HOTWORD_DETECTION"
5823                android:protectionLevel="internal|preinstalled" />
5824
5825    <!-- @SystemApi Must be required by a {@link android.service.voice.VisualQueryDetectionService},
5826         to ensure that only the system can bind to it.
5827         <p>Protection level: signature
5828         @hide This is not a third-party API (intended for OEMs and system apps).
5829    -->
5830    <permission android:name="android.permission.BIND_VISUAL_QUERY_DETECTION_SERVICE"
5831        android:protectionLevel="signature" />
5832
5833    <!-- Allows an application to subscribe to device locked and keyguard locked (i.e., showing)
5834        state.
5835         <p>Protection level: signature|module|role
5836         <p>Intended for use by ROLE_ASSISTANT, VDM, and signature apps only.
5837    -->
5838    <permission android:name="android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE"
5839                android:protectionLevel="signature|module|role"
5840                android:featureFlag="!android.security.subscribe_to_keyguard_locked_state_perm_priv_flag"/>
5841
5842    <!-- Allows an application to subscribe to device locked and keyguard locked (i.e., showing)
5843        state.
5844         <p>Protection level: signature|privileged|module|role
5845         <p>Intended for use by ROLE_ASSISTANT, VDM, and signature / privileged apps only.
5846    -->
5847    <permission android:name="android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE"
5848                android:protectionLevel="signature|privileged|module|role"
5849                android:featureFlag="android.security.subscribe_to_keyguard_locked_state_perm_priv_flag"/>
5850
5851    <!-- Must be required by a {@link android.service.autofill.AutofillService},
5852         to ensure that only the system can bind to it.
5853         <p>Protection level: signature
5854    -->
5855    <permission android:name="android.permission.BIND_AUTOFILL_SERVICE"
5856        android:protectionLevel="signature" />
5857
5858    <!-- Must be required by a
5859         {@link android.service.assist.classification.FieldClassificationService},
5860         to ensure that only the system can bind to it.
5861         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5862         <p>Protection level: signature
5863    -->
5864    <permission android:name="android.permission.BIND_FIELD_CLASSIFICATION_SERVICE"
5865                android:protectionLevel="signature" />
5866
5867    <!-- Must be required by a CredentialProviderService to ensure that only the
5868         system can bind to it.
5869         <p>Protection level: signature
5870    -->
5871    <permission android:name="android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE"
5872                android:protectionLevel="signature" />
5873
5874   <!-- Alternative version of android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE.
5875        This permission was renamed during the O previews but it was supported on the final O
5876        release, so we need to carry it over.
5877        <p>Protection level: signature
5878        @hide
5879    -->
5880    <permission android:name="android.permission.BIND_AUTOFILL"
5881        android:protectionLevel="signature" />
5882
5883    <!-- Must be required by an {@link android.service.autofill.AutofillFieldClassificationService}
5884         to ensure that only the system can bind to it.
5885         @hide This is not a third-party API (intended for OEMs and system apps).
5886    -->
5887    <permission android:name="android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE"
5888                android:protectionLevel="signature" />
5889
5890    <!-- Must be required by an {@link android.service.autofill.InlineSuggestionRenderService}
5891         to ensure that only the system can bind to it.
5892         @hide This is not a third-party API (intended for OEMs and system apps).
5893    -->
5894    <permission android:name="android.permission.BIND_INLINE_SUGGESTION_RENDER_SERVICE"
5895                android:protectionLevel="signature" />
5896
5897    <!-- Must be required by a android.service.textclassifier.TextClassifierService,
5898         to ensure that only the system can bind to it.
5899         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5900         <p>Protection level: signature
5901    -->
5902    <permission android:name="android.permission.BIND_TEXTCLASSIFIER_SERVICE"
5903                android:protectionLevel="signature" />
5904
5905    <!-- Must be required by a
5906         {@link android.service.remotelockscreenvalidation.RemoteLockscreenValidationService}
5907         to ensure that only the system can bind to it.
5908         @SystemApi @hide This is not a third-party API
5909         <p>Protection level: signature
5910    -->
5911    <permission android:name="android.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE"
5912        android:protectionLevel="signature" />
5913
5914    <!-- Must be required by a android.service.selectiontoolbar.SelectionToolbarRenderService,
5915          to ensure that only the system can bind to it.
5916          @hide This is not a third-party API (intended for OEMs and system apps).
5917          <p>Protection level: signature
5918    -->
5919    <permission android:name="android.permission.BIND_SELECTION_TOOLBAR_RENDER_SERVICE"
5920                android:protectionLevel="signature" />
5921
5922    <!-- Must be required by a android.service.contentcapture.ContentCaptureService,
5923         to ensure that only the system can bind to it.
5924         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5925         <p>Protection level: signature
5926    -->
5927    <permission android:name="android.permission.BIND_CONTENT_CAPTURE_SERVICE"
5928                android:protectionLevel="signature" />
5929
5930    <!-- Must be required by a android.service.translation.TranslationService,
5931         to ensure that only the system can bind to it.
5932         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5933         <p>Protection level: signature
5934     -->
5935    <permission android:name="android.permission.BIND_TRANSLATION_SERVICE"
5936                android:protectionLevel="signature" />
5937
5938    <!-- @SystemApi Allows apps to use ui translation functions.
5939         <p>Protection level: signature|privileged
5940         @hide Not for use by third-party applications.
5941    -->
5942    <permission android:name="android.permission.MANAGE_UI_TRANSLATION"
5943                android:protectionLevel="signature|privileged|role" />
5944
5945    <!-- Must be required by a android.service.contentsuggestions.ContentSuggestionsService,
5946         to ensure that only the system can bind to it.
5947         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5948         <p>Protection level: signature
5949    -->
5950    <permission android:name="android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE"
5951                android:protectionLevel="signature" />
5952
5953    <!-- Must be required by a
5954         android.service.wallpapereffectsgeneration.WallpaperEffectsGenerationService,
5955         to ensure that only the system can bind to it.
5956         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5957         <p>Protection level: signature
5958   -->
5959    <permission android:name="android.permission.BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE"
5960        android:protectionLevel="signature" />
5961
5962
5963    <!-- Must be declared by a android.service.musicrecognition.MusicRecognitionService,
5964         to ensure that only the system can bind to it.
5965         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5966         <p>Protection level: signature
5967    -->
5968    <permission android:name="android.permission.BIND_MUSIC_RECOGNITION_SERVICE"
5969        android:protectionLevel="signature" />
5970
5971    <!-- Must be required by a android.service.autofill.augmented.AugmentedAutofillService,
5972         to ensure that only the system can bind to it.
5973         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5974         <p>Protection level: signature
5975    -->
5976    <permission android:name="android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE"
5977                android:protectionLevel="signature" />
5978
5979    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService} implementation
5980         to enroll its own sound models. This is a more restrictive permission than the higher-level
5981         permission KEYPHRASE_ENROLLMENT_APPLICATION. For the caller to enroll sound models with
5982         this permission, it must hold the permission and be the active VoiceInteractionService in
5983         the system.
5984         {@see Settings.Secure.VOICE_INTERACTION_SERVICE}
5985         @hide @SystemApi Intended for OEM and system apps.
5986         <p>Protection level: signature|privileged
5987    -->
5988    <permission android:name="android.permission.MANAGE_VOICE_KEYPHRASES"
5989        android:protectionLevel="signature|privileged" />
5990
5991    <!-- Must be required by a keyphrase enrollment application, to enroll sound models. This is
5992         treated as a higher-level permission to MANAGE_VOICE_KEYPHRASES as a caller can enroll
5993         sound models at any time. This permission should be reserved for system enrollment
5994         applications detected by {@link android.hardware.soundtrigger.KeyphraseEnrollmentInfo}
5995         only.
5996         @hide @SystemApi Intended for OEM and system apps.
5997         <p>Protection level: signature|privileged
5998    -->
5999    <permission android:name="android.permission.KEYPHRASE_ENROLLMENT_APPLICATION"
6000        android:protectionLevel="signature|privileged" />
6001
6002    <!-- Must be required by a {@link com.android.media.remotedisplay.RemoteDisplayProvider},
6003         to ensure that only the system can bind to it.
6004         @hide -->
6005    <permission android:name="android.permission.BIND_REMOTE_DISPLAY"
6006        android:protectionLevel="signature" />
6007
6008    <!-- Must be required by a android.media.tv.ad.TvAdService to ensure that only the system can
6009         bind to it.
6010         <p>Protection level: signature|privileged
6011         @FlaggedApi("android.media.tv.flags.enable_ad_service_fw")
6012    -->
6013    <permission android:name="android.permission.BIND_TV_AD_SERVICE"
6014                android:protectionLevel="signature|privileged" />
6015
6016    <!-- Must be required by a {@link android.media.tv.TvInputService}
6017         to ensure that only the system can bind to it.
6018         <p>Protection level: signature|privileged
6019    -->
6020    <permission android:name="android.permission.BIND_TV_INPUT"
6021        android:protectionLevel="signature|privileged" />
6022
6023    <!-- This permission is required among systems services to always keep the
6024         binding with TvInputManagerService.
6025         <p>This should only be used by the OEM TvInputService.
6026         @FlaggedApi("android.media.tv.flags.tif_unbind_inactive_tis")
6027         <p>Protection level: signature|privileged|vendorPrivileged
6028         @hide
6029    -->
6030    <permission android:name="android.permission.ALWAYS_BOUND_TV_INPUT"
6031        android:protectionLevel="signature|privileged|vendorPrivileged"
6032        android:featureFlag="android.media.tv.flags.tif_unbind_inactive_tis"/>
6033
6034    <!-- Must be required by a {@link android.media.tv.interactive.TvInteractiveAppService}
6035         to ensure that only the system can bind to it.
6036         <p>Protection level: signature|privileged
6037    -->
6038    <permission android:name="android.permission.BIND_TV_INTERACTIVE_APP"
6039                android:protectionLevel="signature|privileged" />
6040
6041    <!-- @SystemApi
6042         Must be required by a {@link com.android.media.tv.remoteprovider.TvRemoteProvider}
6043         to ensure that only the system can bind to it.
6044         <p>Protection level: signature|privileged
6045         <p>Not for use by third-party applications. </p>
6046         @hide  -->
6047    <permission android:name="android.permission.BIND_TV_REMOTE_SERVICE"
6048        android:protectionLevel="signature|privileged" />
6049
6050    <!-- @SystemApi
6051         Must be required for a virtual remote controller for TV.
6052         <p>Protection level: signature|privileged
6053         <p>Not for use by third-party applications. </p>
6054         @hide  -->
6055    <permission android:name="android.permission.TV_VIRTUAL_REMOTE_CONTROLLER"
6056        android:protectionLevel="signature|privileged" />
6057
6058    <!-- Allows an application to change HDMI CEC active source.
6059         <p>Not for use by third-party applications.
6060         @hide -->
6061    <permission android:name="android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE"
6062        android:protectionLevel="signature|privileged" />
6063
6064    <!-- @SystemApi Allows an application to modify parental controls
6065         <p>Not for use by third-party applications.
6066         @hide -->
6067    <permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS"
6068        android:protectionLevel="signature|privileged" />
6069
6070    <!-- @SystemApi Allows an application to read TvContentRatingSystemInfo
6071         <p>Not for use by third-party applications.
6072         @hide -->
6073    <permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS"
6074        android:protectionLevel="signature|privileged" />
6075
6076    <!-- Allows an application to notify TV inputs by sending broadcasts.
6077         <p>Protection level: signature|privileged
6078         <p>Not for use by third-party applications.
6079         @hide @SystemApi -->
6080    <permission android:name="android.permission.NOTIFY_TV_INPUTS"
6081         android:protectionLevel="signature|privileged" />
6082
6083    <!-- This permission is required among systems services when accessing
6084         tuner resource management related APIs or information.
6085         <p>Protection level: signature|privileged|vendorPrivileged
6086         <p>This should only be used by the OEM TvInputService.
6087         @hide -->
6088    <permission android:name="android.permission.TUNER_RESOURCE_ACCESS"
6089         android:protectionLevel="signature|privileged|vendorPrivileged" />
6090
6091    <!-- @SystemApi This permission is required by Media Resource Manager Service when
6092         system services create MediaCodecs on behalf of other processes and apps.
6093         <p>Protection level: signature|privileged|vendorPrivileged
6094         <p>Not for use by third-party applications.
6095         @hide -->
6096    <permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID"
6097         android:protectionLevel="signature|privileged|vendorPrivileged" />
6098    <uses-permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID" />
6099
6100    <!-- This permission is required by Media Resource Observer Service when
6101         accessing its registerObserver Api.
6102         <p>Protection level: signature|privileged
6103         <p>Not for use by third-party applications.
6104         @hide -->
6105    <permission android:name="android.permission.REGISTER_MEDIA_RESOURCE_OBSERVER"
6106         android:protectionLevel="signature|privileged" />
6107
6108    <!-- Must be required by a {@link android.media.routing.MediaRouteService}
6109         to ensure that only the system can interact with it.
6110         @hide -->
6111    <permission android:name="android.permission.BIND_ROUTE_PROVIDER"
6112        android:protectionLevel="signature" />
6113
6114    <!-- Must be required by device administration receiver, to ensure that only the
6115         system can interact with it.
6116         <p>Protection level: signature
6117    -->
6118    <permission android:name="android.permission.BIND_DEVICE_ADMIN"
6119        android:protectionLevel="signature|role" />
6120
6121    <!-- @SystemApi Required to add or remove another application as a device admin.
6122         <p>Not for use by third-party applications.
6123         @hide -->
6124    <permission android:name="android.permission.MANAGE_DEVICE_ADMINS"
6125        android:protectionLevel="signature|role" />
6126
6127    <!-- @SystemApi Allows an app to reset the device password.
6128         <p>Not for use by third-party applications.
6129         @hide -->
6130    <permission android:name="android.permission.RESET_PASSWORD"
6131        android:protectionLevel="signature|privileged" />
6132
6133    <!-- @SystemApi Allows an app to lock the device.
6134         <p>Not for use by third-party applications.
6135         @hide -->
6136    <permission android:name="android.permission.LOCK_DEVICE"
6137        android:protectionLevel="signature|privileged" />
6138
6139    <!-- @SystemApi Allows low-level access to setting the orientation (actually
6140         rotation) of the screen.
6141         <p>Not for use by third-party applications.
6142         @hide
6143    -->
6144    <permission android:name="android.permission.SET_ORIENTATION"
6145        android:protectionLevel="signature|recents" />
6146
6147    <!-- @SystemApi Allows low-level access to setting the pointer speed.
6148         <p>Not for use by third-party applications.
6149         @hide
6150    -->
6151    <permission android:name="android.permission.SET_POINTER_SPEED"
6152        android:protectionLevel="signature" />
6153
6154    <!-- Allows low-level access to setting input device calibration.
6155         <p>Not for use by normal applications.
6156         @hide -->
6157    <permission android:name="android.permission.SET_INPUT_CALIBRATION"
6158        android:protectionLevel="signature" />
6159
6160    <!-- Allows low-level access to setting the keyboard layout.
6161         <p>Not for use by third-party applications.
6162         @hide
6163         @TestApi -->
6164    <permission android:name="android.permission.SET_KEYBOARD_LAYOUT"
6165        android:protectionLevel="signature" />
6166
6167    <!-- Allows an app to schedule a prioritized alarm that can be used to perform
6168         background work even when the device is in doze.
6169         <p>Not for use by third-party applications.
6170         @hide
6171         @SystemApi
6172     -->
6173    <permission android:name="android.permission.SCHEDULE_PRIORITIZED_ALARM"
6174                android:protectionLevel="signature|privileged"/>
6175
6176    <!-- Allows applications to use exact alarm APIs.
6177         <p>This is a special access permission that can be revoked by the system or the user.
6178         It should only be used to enable <b>user-facing features</b> that require exact alarms.
6179         For more details, please go through the associated
6180          <a href="{@docRoot}training/scheduling/alarms#exact">developer docs</a>.
6181         <p>Apps need to target API {@link android.os.Build.VERSION_CODES#S} or above to be able to
6182         request this permission. Note that apps targeting lower API levels do not need this
6183         permission to use exact alarm APIs.
6184         <p>Apps that hold this permission and target API
6185         {@link android.os.Build.VERSION_CODES#TIRAMISU} and below always stay in the
6186         {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_WORKING_SET WORKING_SET} or
6187         lower standby bucket.
6188         <p>If your app relies on exact alarms for core functionality, it can instead request
6189         {@link android.Manifest.permission#USE_EXACT_ALARM} once it targets API
6190         {@link android.os.Build.VERSION_CODES#TIRAMISU}. All apps using exact alarms for secondary
6191         features (which should still be user facing) should continue using this permission.
6192         <p>Protection level: signature|privileged|appop
6193     -->
6194    <permission android:name="android.permission.SCHEDULE_EXACT_ALARM"
6195        android:label="@string/permlab_schedule_exact_alarm"
6196        android:description="@string/permdesc_schedule_exact_alarm"
6197        android:protectionLevel="signature|privileged|appop"/>
6198
6199    <!-- Allows apps to use exact alarms just like with {@link
6200         android.Manifest.permission#SCHEDULE_EXACT_ALARM} but without needing to request this
6201         permission from the user.
6202         <p><b> This is only intended for use by apps that rely on exact alarms for their core
6203         functionality.</b> You should continue using {@code SCHEDULE_EXACT_ALARM} if your app needs
6204         exact alarms for a secondary feature that users may or may not use within your app.
6205         <p> Keep in mind that this is a powerful permission and app stores may enforce policies to
6206         audit and review the use of this permission. Such audits may involve removal from the app
6207         store if the app is found to be misusing this permission.
6208         <p> Apps need to target API {@link android.os.Build.VERSION_CODES#TIRAMISU} or above to be
6209         able to request this permission. Note that only one of {@code USE_EXACT_ALARM} or
6210         {@code SCHEDULE_EXACT_ALARM} should be requested on a device. If your app is already using
6211         {@code SCHEDULE_EXACT_ALARM} on older SDKs but needs {@code USE_EXACT_ALARM} on SDK 33 and
6212         above, then {@code SCHEDULE_EXACT_ALARM} should be declared with a max-sdk attribute, like:
6213         <pre>
6214         &lt;uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"
6215         &Tab; android:maxSdkVersion="32" /&gt;
6216         </pre>
6217         <p>Apps that hold this permission, always stay in the
6218         {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_WORKING_SET WORKING_SET} or
6219         lower standby bucket.
6220    -->
6221    <permission android:name="android.permission.USE_EXACT_ALARM"
6222                android:label="@string/permlab_use_exact_alarm"
6223                android:description="@string/permdesc_use_exact_alarm"
6224                android:protectionLevel="normal"/>
6225
6226    <!-- Allows an application to query tablet mode state and monitor changes
6227         in it.
6228         <p>Not for use by third-party applications.
6229         @hide -->
6230    <permission android:name="android.permission.TABLET_MODE"
6231        android:protectionLevel="signature" />
6232
6233    <!-- Allows an application to request installing packages. Apps
6234         targeting APIs greater than 25 must hold this permission in
6235         order to use {@link android.content.Intent#ACTION_INSTALL_PACKAGE}.
6236         <p>Protection level: signature
6237    -->
6238    <permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"
6239        android:label="@string/permlab_requestInstallPackages"
6240        android:description="@string/permdesc_requestInstallPackages"
6241        android:protectionLevel="signature|appop" />
6242
6243    <!-- Allows an application to request deleting packages. Apps
6244         targeting APIs {@link android.os.Build.VERSION_CODES#P} or greater must hold this
6245         permission in order to use {@link android.content.Intent#ACTION_UNINSTALL_PACKAGE} or
6246         {@link android.content.pm.PackageInstaller#uninstall}.
6247         <p>Protection level: normal
6248    -->
6249    <permission android:name="android.permission.REQUEST_DELETE_PACKAGES"
6250        android:label="@string/permlab_requestDeletePackages"
6251        android:description="@string/permdesc_requestDeletePackages"
6252        android:protectionLevel="normal" />
6253
6254    <!-- Allows an application to install packages.
6255    <p>Not for use by third-party applications. -->
6256    <permission android:name="android.permission.INSTALL_PACKAGES"
6257      android:protectionLevel="signature|privileged" />
6258
6259    <!-- @SystemApi Allows an application to install self updates. This is a limited version
6260         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
6261        <p>Not for use by third-party applications.
6262        @hide
6263    -->
6264    <permission android:name="android.permission.INSTALL_SELF_UPDATES"
6265        android:protectionLevel="signature|privileged" />
6266
6267    <!-- @SystemApi Allows an application to install updates. This is a limited version
6268         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
6269        <p>Not for use by third-party applications.
6270        @hide
6271    -->
6272    <permission android:name="android.permission.INSTALL_PACKAGE_UPDATES"
6273        android:protectionLevel="signature|privileged" />
6274
6275    <!-- @SystemApi Allows an application to install existing system packages. This is a limited
6276         version of {@link android.Manifest.permission#INSTALL_PACKAGES}.
6277         <p>Not for use by third-party applications.
6278         TODO(b/80204953): remove this permission once we have a long-term solution.
6279         @hide
6280    -->
6281    <permission android:name="com.android.permission.INSTALL_EXISTING_PACKAGES"
6282        android:protectionLevel="signature|privileged|role" />
6283
6284    <!-- Allows an application to use the package installer v2 APIs.
6285         <p>The package installer v2 APIs are still a work in progress and we're
6286         currently validating they work in all scenarios.
6287         <p>Not for use by third-party applications.
6288         @hide
6289    -->
6290    <permission android:name="com.android.permission.USE_INSTALLER_V2"
6291        android:protectionLevel="signature|privileged" />
6292
6293    <!-- @TestApi Allows a testOnly application to get installed.
6294        <p>Not for use by third-party applications.
6295        @hide
6296    -->
6297    <permission android:name="android.permission.INSTALL_TEST_ONLY_PACKAGE"
6298                android:protectionLevel="signature" />
6299
6300    <!-- @SystemApi Allows an application to install DPCs only, an application is
6301         considered a DPC if it has a {@link android.app.admin.DeviceAdminReceiver}
6302         protected by {@link android.Manifest.permission#BIND_DEVICE_ADMIN).
6303         This is a limited version of
6304         {@link android.Manifest.permission#INSTALL_PACKAGES}.
6305         @hide
6306    -->
6307    <permission android:name="android.permission.INSTALL_DPC_PACKAGES"
6308                android:protectionLevel="signature|role" />
6309
6310    <!-- @SystemApi Allows an application to read resolved paths to the APKs (Base and any splits)
6311         of a session based install.
6312         <p>Not for use by third-party applications.
6313         @hide
6314         @FlaggedApi("android.content.pm.get_resolved_apk_path")
6315    -->
6316    <permission android:name="android.permission.READ_INSTALLED_SESSION_PATHS"
6317                android:protectionLevel="signature|installer" />
6318    <uses-permission android:name="android.permission.READ_INSTALLED_SESSION_PATHS" />
6319
6320    <!-- Allows an application to use System Data Loaders.
6321         <p>Not for use by third-party applications.
6322         @hide
6323    -->
6324    <permission android:name="com.android.permission.USE_SYSTEM_DATA_LOADERS"
6325                android:protectionLevel="signature" />
6326
6327    <!-- @SystemApi @TestApi Allows an application to clear user data.
6328         <p>Not for use by third-party applications
6329         @hide
6330    -->
6331    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
6332        android:protectionLevel="signature|installer" />
6333
6334    <!-- @hide Allows an application to get the URI permissions
6335         granted to another application.
6336         <p>Not for use by third-party applications
6337    -->
6338    <permission android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS"
6339        android:protectionLevel="signature" />
6340
6341    <!-- @hide Allows an application to clear the URI permissions
6342         granted to another application.
6343         <p>Not for use by third-party applications
6344    -->
6345    <permission
6346        android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS"
6347        android:protectionLevel="signature" />
6348
6349    <!-- @hide
6350         Allows an application to change the status of Scoped Access Directory requests granted or
6351         rejected by the user.
6352         <p>This permission should <em>only</em> be requested by the platform
6353         settings app.  This permission cannot be granted to third-party apps.
6354         <p>Protection level: signature
6355    -->
6356    <permission
6357         android:name="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS"
6358         android:protectionLevel="signature" />
6359
6360    <!-- @hide
6361         Allows an application to change the status of a persistable URI permission granted
6362         to another application.
6363         <p>This permission should <em>only</em> be requested by the platform
6364         settings app.  This permission cannot be granted to third-party apps.
6365         <p>Protection level: signature
6366    -->
6367    <permission android:name="android.permission.FORCE_PERSISTABLE_URI_PERMISSIONS"
6368        android:protectionLevel="signature" />
6369
6370    <!-- Old permission for deleting an app's cache files, no longer used,
6371         but signals for us to quietly ignore calls instead of throwing an exception.
6372         <p>Protection level: signature|privileged -->
6373    <permission android:name="android.permission.DELETE_CACHE_FILES"
6374        android:protectionLevel="signature|privileged" />
6375
6376    <!-- Allows an application to delete cache files.
6377         @hide -->
6378    <permission android:name="android.permission.INTERNAL_DELETE_CACHE_FILES"
6379        android:protectionLevel="signature" />
6380
6381    <!-- Allows an application to delete packages.
6382         <p>Not for use by third-party applications.
6383         <p>Starting in {@link android.os.Build.VERSION_CODES#N}, user confirmation is requested
6384         when the application deleting the package is not the same application that installed the
6385         package. -->
6386    <permission android:name="android.permission.DELETE_PACKAGES"
6387        android:protectionLevel="signature|privileged|role" />
6388
6389    <!-- @SystemApi Allows an application to move location of installed package.
6390         @hide -->
6391    <permission android:name="android.permission.MOVE_PACKAGE"
6392        android:protectionLevel="signature|privileged" />
6393
6394    <!-- @TestApi Allows an application to keep uninstalled packages as apks.
6395         @hide -->
6396    <permission android:name="android.permission.KEEP_UNINSTALLED_PACKAGES"
6397        android:protectionLevel="signature" />
6398
6399    <!-- Allows an application to change whether an application component (other than its own) is
6400         enabled or not.
6401         <p>Not for use by third-party applications. -->
6402    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
6403        android:protectionLevel="signature|privileged|role" />
6404
6405    <!-- @SystemApi @TestApi iAllows an application to grant specific permissions.
6406         @hide -->
6407    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS"
6408        android:protectionLevel="signature|installer|verifier" />
6409
6410    <!-- @SystemApi Allows an application to launch the settings page which manages various
6411         permissions.
6412         @hide -->
6413    <permission android:name="android.permission.LAUNCH_PERMISSION_SETTINGS"
6414                android:protectionLevel="signature|privileged" />
6415
6416    <!-- @SystemApi Allows an app that has this permission and the permissions to install packages
6417         to request certain runtime permissions to be granted at installation.
6418         @hide -->
6419    <permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS"
6420        android:protectionLevel="signature|installer|verifier" />
6421
6422    <!-- @SystemApi Allows an application to revoke specific permissions.
6423        @hide -->
6424    <permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS"
6425         android:protectionLevel="signature|installer|verifier" />
6426
6427   <!-- @TestApi Allows an application to revoke the POST_NOTIFICATIONS permission from an app
6428        without killing the app. Only granted to the shell.
6429        @hide -->
6430    <permission android:name="android.permission.REVOKE_POST_NOTIFICATIONS_WITHOUT_KILL"
6431        android:protectionLevel="signature" />
6432
6433    <!-- @SystemApi Allows the system to read runtime permission state.
6434        @hide -->
6435    <permission android:name="android.permission.GET_RUNTIME_PERMISSIONS"
6436                android:protectionLevel="signature" />
6437
6438    <!-- @SystemApi Allows the system to restore runtime permission state. This might grant
6439    permissions, hence this is a more scoped, less powerful variant of GRANT_RUNTIME_PERMISSIONS.
6440    Among other restrictions this cannot override user choices.
6441    @hide -->
6442    <permission android:name="android.permission.RESTORE_RUNTIME_PERMISSIONS"
6443                android:protectionLevel="signature" />
6444
6445    <!-- @SystemApi @TestApi Allows an application to change policy_fixed permissions.
6446    @hide -->
6447    <permission android:name="android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY"
6448                android:protectionLevel="signature|installer" />
6449
6450    <!-- @SystemApi @TestApi Allows an application to upgrade runtime permissions.
6451    @hide -->
6452    <permission android:name="android.permission.UPGRADE_RUNTIME_PERMISSIONS"
6453                android:protectionLevel="signature" />
6454
6455    <!-- @SystemApi Allows an application to allowlist restricted permissions
6456         on any of the allowlists.
6457    @hide -->
6458    <permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS"
6459                android:protectionLevel="signature|installer" />
6460
6461    <!-- @SystemApi Allows an application to an exempt an app from having its permission be
6462        auto-revoked when unused for an extended period of time.
6463        @hide -->
6464    <permission android:name="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS"
6465        android:protectionLevel="signature|installer" />
6466
6467    <!-- @hide Allows an application to observe permission changes. -->
6468    <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"
6469        android:protectionLevel="signature|privileged" />
6470
6471    <!-- @SystemApi Allows an application to start and stop one time permission sessions
6472    @hide -->
6473    <permission android:name="android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS"
6474                android:protectionLevel="signature|installer" />
6475
6476    <!-- @SystemApi Allows an application to manage the holders of a role.
6477         @hide -->
6478    <permission android:name="android.permission.MANAGE_ROLE_HOLDERS"
6479                android:protectionLevel="signature|installer|module" />
6480    <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />
6481
6482    <!-- @SystemApi Allows an application to manage the holders of roles associated with default
6483         applications.
6484         @hide -->
6485    <permission android:name="android.permission.MANAGE_DEFAULT_APPLICATIONS"
6486                android:protectionLevel="signature|role" />
6487
6488    <!-- @SystemApi Allows an application to bypass role qualification. This allows switching role
6489         holders to otherwise non eligible holders. Only the shell is allowed to do this, the
6490         qualification for the shell role itself cannot be bypassed, and each role needs to
6491         explicitly allow bypassing qualification in its definition. The bypass state will not be
6492         persisted across reboot.
6493     @hide -->
6494    <permission android:name="android.permission.BYPASS_ROLE_QUALIFICATION"
6495                android:protectionLevel="internal|role" />
6496
6497    <!-- @SystemApi Allows an application to observe role holder changes.
6498         @hide -->
6499    <permission android:name="android.permission.OBSERVE_ROLE_HOLDERS"
6500                android:protectionLevel="signature|installer|module" />
6501
6502    <!-- Allows an application to manage the companion devices.
6503         @hide -->
6504    <permission android:name="android.permission.MANAGE_COMPANION_DEVICES"
6505                android:protectionLevel="module|signature|role" />
6506
6507    <!-- Allows an application to subscribe to notifications about the presence status change
6508         of their associated companion device
6509         -->
6510    <permission android:name="android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE"
6511                android:label="@string/permlab_observeCompanionDevicePresence"
6512                android:description="@string/permdesc_observeCompanionDevicePresence"
6513                android:protectionLevel="normal" />
6514
6515    <!-- Allows an application to subscribe to notifications about the nearby devices' presence
6516         status change base on the UUIDs.
6517         <p>Not for use by third-party applications.</p>
6518         @FlaggedApi("android.companion.device_presence")
6519    -->
6520    <permission android:name="android.permission.REQUEST_OBSERVE_DEVICE_UUID_PRESENCE"
6521                android:protectionLevel="signature|privileged" />
6522
6523    <!-- Allows an application to deliver companion messages to system
6524         -->
6525    <permission android:name="android.permission.DELIVER_COMPANION_MESSAGES"
6526                android:label="@string/permlab_deliverCompanionMessages"
6527                android:description="@string/permdesc_deliverCompanionMessages"
6528                android:protectionLevel="normal" />
6529
6530    <!-- Allows an application to send and receive messages via CDM transports.
6531         @hide -->
6532    <permission android:name="android.permission.USE_COMPANION_TRANSPORTS"
6533        android:protectionLevel="signature" />
6534
6535    <!-- Allows an application to create new companion device associations.
6536         @SystemApi
6537         @hide -->
6538    <permission android:name="android.permission.ASSOCIATE_COMPANION_DEVICES"
6539        android:protectionLevel="internal|role" />
6540
6541    <!-- @SystemApi Allows an application to use SurfaceFlinger's low level features.
6542         <p>Not for use by third-party applications.
6543         @hide
6544    -->
6545    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
6546        android:protectionLevel="signature" />
6547
6548    <!-- @SystemApi Allows an application to rotate a surface by arbitrary degree.
6549         This is a sub-feature of ACCESS_SURFACE_FLINGER and can be granted in a more concrete way.
6550         <p>Not for use by third-party applications.
6551         @hide
6552    -->
6553    <permission android:name="android.permission.ROTATE_SURFACE_FLINGER"
6554        android:protectionLevel="signature|recents" />
6555
6556    <!-- Allows an application to provide hints to SurfaceFlinger that can influence
6557         its wakes up time to compose the next frame. This is a subset of the capabilities granted
6558         by {@link #ACCESS_SURFACE_FLINGER}.
6559         <p>Not for use by third-party applications.
6560         @hide
6561    -->
6562    <permission android:name="android.permission.WAKEUP_SURFACE_FLINGER"
6563        android:protectionLevel="signature|recents" />
6564
6565    <!-- Allows an application to take screen shots and more generally
6566         get access to the frame buffer data.
6567         <p>Not for use by third-party applications.
6568          @hide
6569          @removed -->
6570    <permission android:name="android.permission.READ_FRAME_BUFFER"
6571        android:protectionLevel="signature|recents" />
6572
6573      <!-- Allows an application to change the touch mode state.
6574           Without this permission, an app can only change the touch mode
6575           if it currently has focus.
6576           @hide -->
6577    <permission android:name="android.permission.MODIFY_TOUCH_MODE_STATE"
6578        android:protectionLevel="signature" />
6579
6580    <!-- Allows an application to use InputFlinger's low level features.
6581         @hide -->
6582    <permission android:name="android.permission.ACCESS_INPUT_FLINGER"
6583        android:protectionLevel="signature" />
6584
6585    <!-- Allows an application to disable/enable input devices.
6586         Could be used to prevent unwanted touch events
6587         on a touchscreen, for example during swimming or rain.
6588         @hide -->
6589    <permission android:name="android.permission.DISABLE_INPUT_DEVICE"
6590        android:protectionLevel="signature" />
6591
6592    <!-- Allows an application to configure and connect to Wifi displays -->
6593    <permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY"
6594        android:protectionLevel="signature|knownSigner"
6595        android:knownCerts="@array/wifi_known_signers" />
6596
6597    <!-- Allows an application to control low-level features of Wifi displays
6598         such as opening an RTSP socket.  This permission should only be used
6599         by the display manager.
6600         @hide -->
6601    <permission android:name="android.permission.CONTROL_WIFI_DISPLAY"
6602        android:protectionLevel="signature" />
6603
6604    <!-- Allows an application to control the color modes set for displays system-wide.
6605         <p>Not for use by third-party applications.</p>
6606         @hide -->
6607    <permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE"
6608        android:protectionLevel="signature" />
6609
6610    <!-- Allows an application to control the lights on the device.
6611         @hide
6612         @SystemApi
6613         @TestApi -->
6614    <permission android:name="android.permission.CONTROL_DEVICE_LIGHTS"
6615        android:protectionLevel="signature|privileged" />
6616
6617    <!-- Allows an application to control the color saturation of the display.
6618         @hide
6619         @SystemApi -->
6620    <permission android:name="android.permission.CONTROL_DISPLAY_SATURATION"
6621        android:protectionLevel="signature|privileged" />
6622
6623    <!-- Allows an application to control display color transformations.
6624         <p>Not for use by third-party applications.</p>
6625         @hide
6626         @SystemApi -->
6627    <permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS"
6628        android:protectionLevel="signature|privileged" />
6629
6630    <!-- Allows an application to collect usage information about brightness slider changes.
6631         <p>Not for use by third-party applications.</p>
6632         @hide
6633         @SystemApi
6634         @TestApi -->
6635    <permission android:name="android.permission.BRIGHTNESS_SLIDER_USAGE"
6636        android:protectionLevel="signature|privileged|development" />
6637
6638    <!-- Allows an application to collect ambient light stats.
6639         <p>Not for use by third party applications.</p>
6640         @hide
6641         @SystemApi -->
6642    <permission android:name="android.permission.ACCESS_AMBIENT_LIGHT_STATS"
6643        android:protectionLevel="signature|privileged|development" />
6644
6645    <!-- Allows an application to modify the display brightness configuration
6646         @hide
6647         @SystemApi
6648         @TestApi -->
6649    <permission android:name="android.permission.CONFIGURE_DISPLAY_BRIGHTNESS"
6650        android:protectionLevel="signature|privileged|development" />
6651
6652    <!-- Allows an application to control the system's display brightness
6653         @hide -->
6654    <permission android:name="android.permission.CONTROL_DISPLAY_BRIGHTNESS"
6655        android:protectionLevel="signature" />
6656
6657    <!-- Allows an application to override the display mode requests
6658         so the app requested mode will be selected and user settings and display
6659         policies will be ignored.
6660         @hide
6661         @TestApi -->
6662    <permission android:name="android.permission.OVERRIDE_DISPLAY_MODE_REQUESTS"
6663                android:protectionLevel="signature" />
6664
6665    <!-- Allows an application to modify the refresh rate switching type. This
6666         matches Setting.Secure.MATCH_CONTENT_FRAME_RATE.
6667         @hide
6668         @TestApi -->
6669    <permission android:name="android.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE"
6670                android:protectionLevel="signature" />
6671
6672    <!-- Allows an application to modify the user preferred display mode.
6673         @hide
6674         @TestApi -->
6675    <permission android:name="android.permission.MODIFY_USER_PREFERRED_DISPLAY_MODE"
6676                android:protectionLevel="signature" />
6677
6678    <!-- Allows an application to modify the HDR conversion mode.
6679         @hide
6680         @TestApi -->
6681    <permission android:name="android.permission.MODIFY_HDR_CONVERSION_MODE"
6682                android:protectionLevel="signature" />
6683
6684    <!-- @SystemApi Allows an application to control VPN.
6685         <p>Not for use by third-party applications.</p>
6686         @hide -->
6687    <permission android:name="android.permission.CONTROL_VPN"
6688        android:protectionLevel="signature|privileged" />
6689    <uses-permission android:name="android.permission.CONTROL_VPN" />
6690
6691    <!-- Allows an application to access and modify always-on VPN configuration.
6692         <p>Not for use by third-party or privileged applications.
6693         @hide -->
6694    <permission android:name="android.permission.CONTROL_ALWAYS_ON_VPN"
6695        android:protectionLevel="signature" />
6696
6697    <!-- @SystemApi Allows an application to capture the audio from tuner input devices types,
6698     such as FM_TUNER.
6699
6700     <p>Not for use by third-party applications.</p>
6701     @hide -->
6702    <permission android:name="android.permission.CAPTURE_TUNER_AUDIO_INPUT"
6703                android:protectionLevel="signature|privileged" />
6704
6705    <!-- Allows an application to capture audio output.
6706         Use the {@code CAPTURE_MEDIA_OUTPUT} permission if only the {@code USAGE_UNKNOWN}),
6707         {@code USAGE_MEDIA}) or {@code USAGE_GAME}) usages are intended to be captured.
6708         <p>Not for use by third-party applications.</p> -->
6709    <permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"
6710        android:protectionLevel="signature|privileged|role" />
6711
6712    <!-- @SystemApi Allows an application to capture the audio played by other apps
6713         that have set an allow capture policy of
6714         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}.
6715
6716         Without this permission, only audio with an allow capture policy of
6717         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_ALL} can be used.
6718
6719         There are strong restriction listed at
6720         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
6721         on what an app can do with the captured audio.
6722
6723         See {@code CAPTURE_AUDIO_OUTPUT} for capturing audio use cases other than media playback.
6724
6725         <p>Not for use by third-party applications.</p>
6726         @hide -->
6727    <permission android:name="android.permission.CAPTURE_MEDIA_OUTPUT"
6728        android:protectionLevel="signature|privileged|role" />
6729
6730    <!-- @SystemApi Allows an application to capture the audio played by other apps
6731        with the {@code USAGE_VOICE_COMMUNICATION} usage.
6732
6733        The application may opt out of capturing by setting an allow capture policy of
6734        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_NONE}.
6735
6736        There are strong restriction listed at
6737        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
6738        on what an app can do with the captured audio.
6739
6740        See {@code CAPTURE_AUDIO_OUTPUT} and {@code CAPTURE_MEDIA_OUTPUT} for capturing
6741        audio use cases other than voice communication playback.
6742
6743        <p>Not for use by third-party applications.</p>
6744        @hide -->
6745    <permission android:name="android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT"
6746        android:protectionLevel="signature|privileged|role" />
6747
6748    <!-- @SystemApi Allows an application to bypass concurrency restrictions while
6749        recording audio. For example, apps with this permission can continue to record
6750        while a voice call is active.</p>
6751     @FlaggedApi(android.media.audio.Flags.FLAG_CONCURRENT_AUDIO_RECORD_BYPASS_PERMISSION)
6752     @hide -->
6753    <permission android:name="android.permission.BYPASS_CONCURRENT_RECORD_AUDIO_RESTRICTION"
6754        android:featureFlag="android.media.audio.concurrent_audio_record_bypass_permission"
6755        android:protectionLevel="signature|privileged" />
6756
6757    <!-- @SystemApi Allows an application to capture audio for hotword detection.
6758         <p>Not for use by third-party applications.</p>
6759         @hide -->
6760    <permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD"
6761        android:protectionLevel="signature|privileged|role" />
6762
6763    <!-- @SystemApi Allows an application to access the ultrasound content.
6764         <p>Not for use by third-party applications.</p>
6765         @hide -->
6766    <permission android:name="android.permission.ACCESS_ULTRASOUND"
6767        android:protectionLevel="signature|privileged" />
6768
6769    <!-- Puts an application in the chain of trust for sound trigger
6770         operations. Being in the chain of trust allows an application to
6771         delegate an identity of a separate entity to the sound trigger system
6772         and vouch for the authenticity of this identity.
6773         <p>Not for use by third-party applications.</p>
6774         @hide -->
6775    <permission android:name="android.permission.SOUNDTRIGGER_DELEGATE_IDENTITY"
6776        android:protectionLevel="signature|privileged" />
6777
6778    <!-- @SystemApi Allows an application to modify audio routing and override policy decisions.
6779         <p>Not for use by third-party applications.</p>
6780         @hide -->
6781    <permission android:name="android.permission.MODIFY_AUDIO_ROUTING"
6782        android:protectionLevel="signature|privileged|role" />
6783
6784    <!--@SystemApi Allows an application to modify system audio settings that shouldn't be
6785        controllable by external apps, such as volume settings or volume behaviors for audio
6786        devices, regardless of their connection status.
6787        <p>Not for use by third-party applications.
6788        @hide -->
6789    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED"
6790                android:protectionLevel="signature|privileged" />
6791
6792    <!-- @SystemApi Allows an application to access the uplink and downlink audio of an ongoing
6793        call.
6794         <p>Not for use by third-party applications.</p>
6795         @hide -->
6796    <permission android:name="android.permission.CALL_AUDIO_INTERCEPTION"
6797                android:protectionLevel="signature|privileged|role" />
6798
6799    <!-- @TestApi Allows an application to query audio related state.
6800         @hide -->
6801    <permission android:name="android.permission.QUERY_AUDIO_STATE"
6802                android:protectionLevel="signature|role" />
6803
6804    <!-- Allows an application to modify what effects are applied to all audio
6805         (matching certain criteria) from any application.
6806         <p>Not for use by third-party applications.</p>
6807         @hide -->
6808    <permission android:name="android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS"
6809        android:protectionLevel="signature|privileged" />
6810
6811    <!-- @SystemApi Allows an application to disable system sound effects when the user exits one of
6812         the application's activities.
6813         <p>Not for use by third-party applications.</p>
6814         @hide -->
6815    <permission android:name="android.permission.DISABLE_SYSTEM_SOUND_EFFECTS"
6816        android:protectionLevel="signature|privileged" />
6817
6818    <!-- @SystemApi Allows an application to provide remote displays.
6819         <p>Not for use by third-party applications.</p>
6820         @hide -->
6821    <permission android:name="android.permission.REMOTE_DISPLAY_PROVIDER"
6822        android:protectionLevel="signature|privileged" />
6823
6824    <!-- Allows an application to capture video output.
6825         <p>Not for use by third-party applications.</p>
6826          @hide
6827          @removed -->
6828    <permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"
6829        android:protectionLevel="signature" />
6830
6831    <!-- Allows an application to capture secure video output.
6832         <p>Not for use by third-party applications.</p>
6833          @hide
6834          @removed -->
6835    <permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT"
6836        android:protectionLevel="signature|role" />
6837
6838    <!-- Allows an application to know what content is playing and control its playback.
6839         <p>Not for use by third-party applications due to privacy of media consumption</p>  -->
6840    <permission android:name="android.permission.MEDIA_CONTENT_CONTROL"
6841        android:protectionLevel="signature|privileged" />
6842
6843    <!-- Allows an application to control the routing of media apps.
6844         <p>Only for use by role COMPANION_DEVICE_WATCH</p>
6845         @FlaggedApi("com.android.media.flags.enable_privileged_routing_for_media_routing_control")
6846         -->
6847    <permission android:name="android.permission.MEDIA_ROUTING_CONTROL"
6848                android:protectionLevel="signature|appop" />
6849
6850    <!-- @SystemApi @hide Allows an application to set the volume key long-press listener.
6851         <p>When it's set, the application will receive the volume key long-press event
6852         instead of changing volume.</p>
6853         <p>Not for use by third-party applications</p> -->
6854    <permission android:name="android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER"
6855        android:protectionLevel="signature|privileged|development" />
6856
6857    <!-- @SystemApi @hide Allows an application to set media key event listener.
6858         <p>When it's set, the application will receive the media key event before
6859         any other media sessions. If the event is handled by the listener, other sessions
6860         cannot get the event.</p>
6861         <p>Not for use by third-party applications</p> -->
6862    <permission android:name="android.permission.SET_MEDIA_KEY_LISTENER"
6863        android:protectionLevel="signature|privileged|development" />
6864
6865    <!-- @SystemApi Required to be able to disable the device (very dangerous!).
6866         <p>Not for use by third-party applications.
6867         @hide
6868    -->
6869    <permission android:name="android.permission.BRICK"
6870        android:protectionLevel="signature" />
6871
6872    <!-- Required to be able to reboot the device.
6873    <p>Not for use by third-party applications. -->
6874    <permission android:name="android.permission.REBOOT"
6875        android:protectionLevel="signature|privileged" />
6876
6877   <!-- @SystemApi Allows low-level access to power management.
6878        <p>Not for use by third-party applications.
6879        @hide
6880    -->
6881   <permission android:name="android.permission.DEVICE_POWER"
6882        android:protectionLevel="signature|role" />
6883
6884    <!-- Allows toggling battery saver on the system.
6885         Superseded by DEVICE_POWER permission. @hide @SystemApi
6886    -->
6887    <permission android:name="android.permission.POWER_SAVER"
6888        android:protectionLevel="signature|privileged" />
6889
6890    <!-- Allows providing the system with battery predictions.
6891         Superseded by DEVICE_POWER permission. @hide @SystemApi
6892    -->
6893    <permission android:name="android.permission.BATTERY_PREDICTION"
6894        android:protectionLevel="signature|privileged" />
6895
6896   <!-- Allows access to the PowerManager.userActivity function.
6897   <p>Not for use by third-party applications. @hide @SystemApi -->
6898    <permission android:name="android.permission.USER_ACTIVITY"
6899        android:protectionLevel="signature|privileged" />
6900
6901    <!-- @hide @SystemApi Allows an application to manage Low Power Standby settings.
6902         <p>Not for use by third-party applications. -->
6903    <permission android:name="android.permission.MANAGE_LOW_POWER_STANDBY"
6904                android:protectionLevel="signature|privileged" />
6905
6906    <!-- @hide @SystemApi Allows an application to request ports to remain open during
6907         Low Power Standby.
6908         <p>Not for use by third-party applications. -->
6909    <permission android:name="android.permission.SET_LOW_POWER_STANDBY_PORTS"
6910        android:protectionLevel="signature|privileged" />
6911
6912   <!-- @hide Allows low-level access to tun tap driver -->
6913    <permission android:name="android.permission.NET_TUNNELING"
6914        android:protectionLevel="signature|role" />
6915
6916    <!-- Run as a manufacturer test application, running as the root user.
6917         Only available when the device is running in manufacturer test mode.
6918         <p>Not for use by third-party applications.
6919    -->
6920    <permission android:name="android.permission.FACTORY_TEST"
6921        android:protectionLevel="signature" />
6922
6923    <!-- @hide @TestApi @SystemApi Allows an application to broadcast the intent {@link
6924         android.content.Intent#ACTION_CLOSE_SYSTEM_DIALOGS}.
6925         <p>Not for use by third-party applications.
6926    -->
6927    <permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS"
6928        android:protectionLevel="signature|privileged|recents" />
6929    <uses-permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS" />
6930
6931    <!-- Allows an application to broadcast a notification that an application
6932         package has been removed.
6933         <p>Not for use by third-party applications.
6934    -->
6935    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
6936        android:protectionLevel="signature" />
6937
6938    <!-- Allows an application to broadcast an SMS receipt notification.
6939         <p>Not for use by third-party applications.
6940    -->
6941    <permission android:name="android.permission.BROADCAST_SMS"
6942        android:protectionLevel="signature" />
6943
6944    <!-- Allows an application to broadcast a WAP PUSH receipt notification.
6945         <p>Not for use by third-party applications.
6946    -->
6947    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
6948        android:protectionLevel="signature" />
6949
6950    <!-- @SystemApi Allows an application to broadcast privileged networking requests.
6951         <p>Not for use by third-party applications.
6952         @hide
6953         @deprecated Use {@link android.Manifest.permission#REQUEST_NETWORK_SCORES} instead
6954    -->
6955    <permission android:name="android.permission.BROADCAST_NETWORK_PRIVILEGED"
6956        android:protectionLevel="signature|privileged" />
6957
6958    <!-- Not for use by third-party applications. -->
6959    <permission android:name="android.permission.MASTER_CLEAR"
6960        android:protectionLevel="signature|privileged|role" />
6961
6962    <!-- Allows an application to call any phone number, including emergency
6963         numbers, without going through the Dialer user interface for the user
6964         to confirm the call being placed.
6965         <p>Not for use by third-party applications. -->
6966    <permission android:name="android.permission.CALL_PRIVILEGED"
6967        android:protectionLevel="signature|privileged" />
6968    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
6969
6970    <!-- @SystemApi Allows an application to perform CDMA OTA provisioning @hide -->
6971    <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"
6972        android:protectionLevel="signature|privileged|role" />
6973
6974    <!-- @SystemApi Allows an application to perform SIM Activation @hide -->
6975    <permission android:name="android.permission.PERFORM_SIM_ACTIVATION"
6976        android:protectionLevel="signature|privileged" />
6977
6978    <!-- Allows enabling/disabling location update notifications from
6979         the radio.
6980         <p>Not for use by third-party applications. -->
6981    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
6982        android:protectionLevel="signature|privileged" />
6983
6984    <!-- Allows read/write access to the "properties" table in the checkin
6985         database, to change values that get uploaded.
6986         <p>Not for use by third-party applications. -->
6987    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
6988        android:protectionLevel="signature|privileged" />
6989
6990    <!-- Allows an application to collect component usage
6991         statistics
6992         <p>Declaring the permission implies intention to use the API and the user of the
6993         device can grant permission through the Settings application.
6994         <p>Protection level: signature|privileged|development|appop|retailDemo -->
6995    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
6996        android:protectionLevel="signature|privileged|development|appop|retailDemo" />
6997    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
6998
6999    <!-- @SystemApi @hide
7000         @FlaggedApi("android.app.usage.report_usage_stats_permission")
7001         Allows trusted system components to report events to UsageStatsManager -->
7002    <permission android:name="android.permission.REPORT_USAGE_STATS"
7003                android:protectionLevel="signature|module" />
7004
7005    <!-- Allows an application to query broadcast response stats (see
7006         {@link android.app.usage.BroadcastResponseStats}).
7007         @SystemApi
7008         @hide
7009    -->
7010    <permission android:name="android.permission.ACCESS_BROADCAST_RESPONSE_STATS"
7011        android:protectionLevel="signature|privileged|development" />
7012
7013    <!-- Allows a data loader to read a package's access logs. The access logs contain the
7014         set of pages referenced over time.
7015         <p>Declaring the permission implies intention to use the API and the user of the
7016         device can grant permission through the Settings application.
7017         <p>Protection level: signature|privileged|appop
7018         <p>A data loader has to be the one which provides data to install an app.
7019         <p>A data loader has to have both permission:LOADER_USAGE_STATS AND
7020         appop:LOADER_USAGE_STATS allowed to be able to access the read logs. -->
7021    <permission android:name="android.permission.LOADER_USAGE_STATS"
7022        android:protectionLevel="signature|privileged|appop" />
7023    <uses-permission android:name="android.permission.LOADER_USAGE_STATS" />
7024
7025    <!-- @hide @SystemApi Allows an application to observe usage time of apps. The app can register
7026         for callbacks when apps reach a certain usage time limit, etc. -->
7027    <permission android:name="android.permission.OBSERVE_APP_USAGE"
7028        android:protectionLevel="signature|privileged|role" />
7029
7030    <!-- @hide @TestApi @SystemApi Allows an application to change the app idle state of an app.
7031         <p>Not for use by third-party applications. -->
7032    <permission android:name="android.permission.CHANGE_APP_IDLE_STATE"
7033        android:protectionLevel="signature|privileged" />
7034
7035    <!-- @hide @SystemApi Allows an application to change the estimated launch time of an app.
7036         <p>Not for use by third-party applications. -->
7037    <permission android:name="android.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE"
7038        android:protectionLevel="signature|privileged" />
7039
7040    <!-- @hide @SystemApi Allows an application to temporarily allowlist an inactive app to
7041         access the network and acquire wakelocks.
7042         <p>Not for use by third-party applications. -->
7043    <permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"
7044        android:protectionLevel="signature|privileged" />
7045
7046    <!-- Permission an application must hold in order to use
7047         {@link android.provider.Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS}.
7048         <p>Protection level: normal -->
7049    <permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
7050        android:label="@string/permlab_requestIgnoreBatteryOptimizations"
7051        android:description="@string/permdesc_requestIgnoreBatteryOptimizations"
7052        android:protectionLevel="normal" />
7053
7054    <!-- Allows an application to collect battery statistics
7055         <p>Protection level: signature|privileged|development -->
7056    <permission android:name="android.permission.BATTERY_STATS"
7057        android:protectionLevel="signature|privileged|development" />
7058
7059    <!-- @SystemApi @hide Allows an application to collect high-precision PowerMonitor readings
7060         <p>Protection level: signature|privileged|development
7061         @FlaggedApi(android.permission.flags.Flags.FLAG_FINE_POWER_MONITOR_PERMISSION) -->
7062    <permission android:name="android.permission.ACCESS_FINE_POWER_MONITORS"
7063        android:protectionLevel="signature|privileged|development"
7064        android:featureFlag="android.permission.flags.fine_power_monitor_permission" />
7065
7066    <!--Allows an application to manage statscompanion.
7067    <p>Not for use by third-party applications.
7068         @hide -->
7069    <permission android:name="android.permission.STATSCOMPANION"
7070        android:protectionLevel="signature" />
7071
7072    <!--@SystemApi @hide Allows an application to register stats pull atom callbacks.
7073    <p>Not for use by third-party applications.-->
7074    <permission android:name="android.permission.REGISTER_STATS_PULL_ATOM"
7075                android:protectionLevel="signature|privileged" />
7076
7077    <!-- @SystemApi @hide Allows an application to read restricted stats from statsd.
7078         <p>Not for use by third-party applications. -->
7079    <permission android:name="android.permission.READ_RESTRICTED_STATS"
7080                android:protectionLevel="internal|privileged" />
7081
7082    <!-- @SystemApi Allows an application to control the backup and restore process.
7083    <p>Not for use by third-party applications.
7084         @hide pending API council -->
7085    <permission android:name="android.permission.BACKUP"
7086        android:protectionLevel="signature|privileged" />
7087
7088    <!-- @SystemApi Allows an application to make modifications to device settings such that these
7089         modifications will be overridden by settings restore..
7090    <p>Not for use by third-party applications.
7091         @hide -->
7092    <permission android:name="android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE"
7093                android:protectionLevel="signature|setup" />
7094
7095    <!-- @SystemApi Allows application to manage
7096         {@link android.security.keystore.recovery.RecoveryController}.
7097         <p>Not for use by third-party applications.
7098         @hide -->
7099    <permission android:name="android.permission.RECOVER_KEYSTORE"
7100        android:protectionLevel="signature|privileged" />
7101
7102    <!-- Allows a package to launch the secure full-backup confirmation UI.
7103         ONLY the system process may hold this permission.
7104         @hide -->
7105    <permission android:name="android.permission.CONFIRM_FULL_BACKUP"
7106        android:protectionLevel="signature" />
7107
7108    <!-- Must be required by a {@link android.widget.RemoteViewsService},
7109         to ensure that only the system can bind to it.
7110         <p>Protection level: signature|privileged -->
7111    <permission android:name="android.permission.BIND_REMOTEVIEWS"
7112        android:protectionLevel="signature|privileged" />
7113
7114    <!-- Allows an application to tell the AppWidget service which application
7115         can access AppWidget's data.  The normal user flow is that a user
7116         picks an AppWidget to go into a particular host, thereby giving that
7117         host application access to the private data from the AppWidget app.
7118         An application that has this permission should honor that contract.
7119         <p>Not for use by third-party applications. -->
7120    <permission android:name="android.permission.BIND_APPWIDGET"
7121        android:protectionLevel="signature|privileged" />
7122
7123    <!-- @hide Allows sysui to manage user grants of slice permissions. -->
7124    <permission android:name="android.permission.MANAGE_SLICE_PERMISSIONS"
7125        android:protectionLevel="signature" />
7126
7127    <!-- @SystemApi Private permission, to restrict who can bring up a dialog to add a new
7128         keyguard widget
7129         @hide -->
7130    <permission android:name="android.permission.BIND_KEYGUARD_APPWIDGET"
7131        android:protectionLevel="signature|privileged" />
7132
7133    <!-- @SystemApi Internal permission allowing an application to query/set which
7134         applications can bind AppWidgets.
7135         @hide -->
7136    <permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"
7137        android:protectionLevel="signature|privileged" />
7138
7139    <!-- Allows applications to change the background data setting.
7140    <p>Not for use by third-party applications.
7141         @hide pending API council -->
7142    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
7143        android:protectionLevel="signature" />
7144
7145    <!-- This permission can be used on content providers to allow the global
7146         search system to access their data.  Typically it used when the
7147         provider has some permissions protecting it (which global search
7148         would not be expected to hold), and added as a read-only permission
7149         to the path in the provider where global search queries are
7150         performed.  This permission can not be held by regular applications;
7151         it is used by applications to protect themselves from everyone else
7152         besides global search.
7153         <p>Protection level: signature|privileged -->
7154    <permission android:name="android.permission.GLOBAL_SEARCH"
7155        android:protectionLevel="signature|privileged" />
7156
7157    <!-- Internal permission protecting access to the global search
7158         system: ensures that only the system can access the provider
7159         to perform queries (since this otherwise provides unrestricted
7160         access to a variety of content providers), and to write the
7161         search statistics (to keep applications from gaming the source
7162         ranking).
7163         @hide -->
7164    <permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"
7165        android:protectionLevel="signature" />
7166
7167    <!-- @SystemApi Internal permission to allows an application to read indexable data.
7168        @hide -->
7169    <permission android:name="android.permission.READ_SEARCH_INDEXABLES"
7170        android:protectionLevel="signature|privileged" />
7171
7172    <!-- @SystemApi Internal permission to allows an application to bind to suggestion service.
7173        @hide -->
7174    <permission android:name="android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE"
7175                android:protectionLevel="signature" />
7176
7177    <!-- @hide Internal permission to allows an application to access card content provider. -->
7178    <permission android:name="android.permission.WRITE_SETTINGS_HOMEPAGE_DATA"
7179                android:protectionLevel="signature|privileged" />
7180
7181    <!-- An application needs this permission for
7182         {@link android.provider.Settings#ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY} to show its
7183         {@link android.app.Activity} embedded in Settings app. -->
7184    <permission android:name="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK"
7185                android:protectionLevel="signature|preinstalled" />
7186
7187    <!-- @SystemApi {@link android.app.Activity} should require this permission to ensure that only
7188         the settings app can embed it in a multi pane window.
7189         @hide -->
7190    <permission android:name="android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS"
7191                android:protectionLevel="signature" />
7192
7193    <!-- @SystemApi Allows applications to set a live wallpaper.
7194         @hide XXX Change to signature once the picker is moved to its
7195         own apk as Ghod Intended. -->
7196    <permission android:name="android.permission.SET_WALLPAPER_COMPONENT"
7197        android:protectionLevel="signature|privileged" />
7198
7199    <!-- @SystemApi Allows applications to set the wallpaper dim amount.
7200         @hide. -->
7201    <permission android:name="android.permission.SET_WALLPAPER_DIM_AMOUNT"
7202        android:protectionLevel="signature|privileged" />
7203
7204    <!-- @SystemApi Allows applications to read dream settings and dream state.
7205         @hide -->
7206    <permission android:name="android.permission.READ_DREAM_STATE"
7207        android:protectionLevel="signature|privileged" />
7208
7209    <!-- @SystemApi Allows applications to write dream settings, and start or stop dreaming.
7210         @hide -->
7211    <permission android:name="android.permission.WRITE_DREAM_STATE"
7212        android:protectionLevel="signature|privileged" />
7213
7214    <!-- @hide Allows applications to read whether ambient display is suppressed. -->
7215    <permission android:name="android.permission.READ_DREAM_SUPPRESSION"
7216        android:protectionLevel="signature" />
7217
7218    <!-- @SystemApi Allow an application to read and write the cache partition.
7219         @hide -->
7220    <permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
7221        android:protectionLevel="signature|privileged" />
7222
7223    <!-- Must be required by default container service so that only
7224         the system can bind to it and use it to copy
7225         protected data to secure containers or files
7226         accessible to the system.
7227         @hide -->
7228    <permission android:name="android.permission.COPY_PROTECTED_DATA"
7229        android:protectionLevel="signature" />
7230
7231    <!-- @SystemApi Internal permission protecting access to the encryption methods
7232        @hide
7233    -->
7234    <permission android:name="android.permission.CRYPT_KEEPER"
7235        android:protectionLevel="signature|privileged|role" />
7236
7237    <!-- @SystemApi Allows an application to read historical network usage for
7238         specific networks and applications. @hide -->
7239    <permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"
7240        android:protectionLevel="signature|privileged" />
7241
7242    <!-- Allows an application to manage network policies (such as warning and disable
7243         limits) and to define application-specific rules. @hide -->
7244    <permission android:name="android.permission.MANAGE_NETWORK_POLICY"
7245        android:protectionLevel="signature" />
7246
7247    <!-- @SystemApi @hide @deprecated use UPDATE_DEVICE_STATS instead -->
7248    <permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"
7249        android:protectionLevel="signature|privileged" />
7250
7251    <!-- @SystemApi @hide Allows an application to manage carrier subscription plans. -->
7252    <permission android:name="android.permission.MANAGE_SUBSCRIPTION_PLANS"
7253        android:protectionLevel="signature|privileged" />
7254
7255    <!-- @SystemApi @hide Allows for reading subscription plan fields for status and end date.
7256         @FlaggedApi(com.android.internal.telephony.flags.Flags.FLAG_SUBSCRIPTION_PLAN_ALLOW_STATUS_AND_END_DATE)
7257    -->
7258    <permission android:name="android.permission.READ_SUBSCRIPTION_PLANS"
7259        android:protectionLevel="signature|privileged"
7260        android:featureFlag="com.android.internal.telephony.flags.subscription_plan_allow_status_and_end_date" />
7261
7262    <!-- C2DM permission.
7263         @hide Used internally.
7264     -->
7265    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
7266          android:protectionLevel="signature" />
7267    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
7268
7269    <!-- @SystemApi @hide Package verifier needs to have this permission before the PackageManager will
7270         trust it to verify packages.
7271    -->
7272    <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
7273        android:protectionLevel="signature|privileged" />
7274
7275    <!-- Must be required by package verifier receiver, to ensure that only the
7276         system can interact with it.
7277         @hide
7278    -->
7279    <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
7280        android:protectionLevel="signature" />
7281
7282    <!-- @hide Rollback manager needs to have this permission before the PackageManager will
7283         trust it to enable rollback.
7284    -->
7285    <permission android:name="android.permission.PACKAGE_ROLLBACK_AGENT"
7286        android:protectionLevel="signature" />
7287
7288    <!-- @SystemApi @TestApi @hide Allows managing apk level rollbacks. -->
7289    <permission android:name="android.permission.MANAGE_ROLLBACKS"
7290        android:protectionLevel="signature|privileged" />
7291
7292    <!-- @TestApi @hide Allows testing apk level rollbacks. -->
7293    <permission android:name="android.permission.TEST_MANAGE_ROLLBACKS"
7294        android:protectionLevel="signature" />
7295
7296    <!-- @SystemApi @hide Allows an application to mark other applications as harmful -->
7297    <permission android:name="android.permission.SET_HARMFUL_APP_WARNINGS"
7298        android:protectionLevel="signature|verifier" />
7299
7300    <!-- @SystemApi @hide Intent filter verifier needs to have this permission before the
7301         PackageManager will trust it to verify intent filters.
7302    -->
7303    <permission android:name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"
7304        android:protectionLevel="signature|privileged" />
7305
7306    <!-- Must be required by intent filter verifier rintent-filtereceiver, to ensure that only the
7307         system can interact with it.
7308         @hide
7309    -->
7310    <permission android:name="android.permission.BIND_INTENT_FILTER_VERIFIER"
7311        android:protectionLevel="signature" />
7312
7313    <!-- @SystemApi @hide Domain verification agent package needs to have this permission before the
7314         system will trust it to verify domains.
7315
7316         TODO(159952358): STOPSHIP: This must be updated to the new "internal" protectionLevel
7317    -->
7318    <permission android:name="android.permission.DOMAIN_VERIFICATION_AGENT"
7319        android:protectionLevel="internal|privileged" />
7320
7321    <!-- @SystemApi @hide Must be required by the domain verification agent's intent
7322         BroadcastReceiver, to ensure that only the system can interact with it.
7323    -->
7324    <permission android:name="android.permission.BIND_DOMAIN_VERIFICATION_AGENT"
7325        android:protectionLevel="signature" />
7326
7327    <!-- @SystemApi @hide Allows an app like Settings to update the user's grants to what domains
7328         an app is allowed to automatically open.
7329    -->
7330    <permission android:name="android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION"
7331        android:protectionLevel="signature" />
7332
7333    <!-- @SystemApi Allows applications to access serial ports via the SerialManager.
7334         @hide -->
7335    <permission android:name="android.permission.SERIAL_PORT"
7336        android:protectionLevel="signature|privileged" />
7337
7338    <!-- Allows the holder to access content providers from outside an ApplicationThread.
7339         This permission is enforced by the ActivityManagerService on the corresponding APIs,
7340         in particular ActivityManagerService#getContentProviderExternal(String) and
7341         ActivityManagerService#removeContentProviderExternal(String).
7342         @hide
7343    -->
7344    <permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
7345        android:protectionLevel="signature" />
7346
7347    <!-- @SystemApi Allows an application to hold an UpdateLock, recommending that a headless
7348         OTA reboot *not* occur while the lock is held.
7349         @hide -->
7350    <permission android:name="android.permission.UPDATE_LOCK"
7351        android:protectionLevel="signature|privileged" />
7352
7353    <!-- @SystemApi Allows an application the opportunity to become a
7354         {@link android.service.notification.NotificationAssistantService}.
7355         User permission is still required before access is granted.
7356         @hide -->
7357    <permission android:name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE"
7358                android:protectionLevel="signature|privileged|role" />
7359
7360    <!-- @SystemApi @TestApi Allows an application to read the current set of notifications, including
7361         any metadata and intents attached.
7362         @hide -->
7363    <permission android:name="android.permission.ACCESS_NOTIFICATIONS"
7364        android:protectionLevel="signature|privileged|appop" />
7365
7366    <!-- Marker permission for applications that wish to access notification policy. This permission
7367        is not supported on managed profiles.
7368         <p>Protection level: normal
7369    -->
7370    <permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"
7371        android:description="@string/permdesc_access_notification_policy"
7372        android:label="@string/permlab_access_notification_policy"
7373        android:protectionLevel="normal" />
7374
7375    <!-- Allows modification of do not disturb rules and policies. Only allowed for system
7376        processes.
7377        @hide -->
7378    <permission android:name="android.permission.MANAGE_NOTIFICATIONS"
7379                android:protectionLevel="signature" />
7380
7381    <!-- @SystemApi @TestApi Allows adding/removing enabled notification listener components.
7382        @hide -->
7383    <permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS"
7384                android:protectionLevel="signature|installer" />
7385    <uses-permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS" />
7386
7387    <!-- @SystemApi Allows notifications to be colorized
7388         <p>Not for use by third-party applications. @hide -->
7389    <permission android:name="android.permission.USE_COLORIZED_NOTIFICATIONS"
7390                android:protectionLevel="signature|setup|role" />
7391
7392    <!-- Allows access to keyguard secure storage.  Only allowed for system processes.
7393        @hide -->
7394    <permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
7395        android:protectionLevel="signature|setup" />
7396
7397    <!-- Allows applications to set the initial lockscreen state.
7398         <p>Not for use by third-party applications. @hide -->
7399    <permission android:name="android.permission.SET_INITIAL_LOCK"
7400        android:protectionLevel="signature|setup"/>
7401
7402    <!-- @TestApi Allows applications to set and verify lockscreen credentials.
7403        @hide -->
7404    <permission android:name="android.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS"
7405                android:protectionLevel="signature"/>
7406
7407    <!-- @SystemApi Allows application to verify lockscreen credentials provided by a remote device.
7408         @hide -->
7409    <permission android:name="android.permission.CHECK_REMOTE_LOCKSCREEN"
7410        android:protectionLevel="signature|privileged" />
7411
7412    <!-- Allows managing (adding, removing) fingerprint templates. Reserved for the system. @hide -->
7413    <permission android:name="android.permission.MANAGE_FINGERPRINT"
7414        android:protectionLevel="signature|privileged" />
7415
7416    <!-- Allows managing (adding, removing) face templates. Reserved for the system. @hide -->
7417    <permission android:name="android.permission.MANAGE_FACE"
7418        android:protectionLevel="signature|privileged" />
7419
7420    <!-- Allows an app to reset fingerprint attempt counter. Reserved for the system. @hide -->
7421    <permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT"
7422        android:protectionLevel="signature" />
7423
7424    <!-- Allows access to TestApis for various components in the biometric stack, including
7425         FingerprintService, FaceService, BiometricService. Used by com.android.server.biometrics
7426         CTS tests. @hide @TestApi -->
7427    <permission android:name="android.permission.TEST_BIOMETRIC"
7428        android:protectionLevel="signature" />
7429
7430    <!-- Allows direct access to the <Biometric>Service interfaces. Reserved for the system. @hide -->
7431    <permission android:name="android.permission.MANAGE_BIOMETRIC"
7432        android:protectionLevel="signature" />
7433
7434    <!-- Allows direct access to the <Biometric>Service authentication methods. Reserved for the system. @hide -->
7435    <permission android:name="android.permission.USE_BIOMETRIC_INTERNAL"
7436        android:protectionLevel="signature" />
7437
7438    <!-- Allows the system to control the BiometricDialog (SystemUI). Reserved for the system. @hide -->
7439    <permission android:name="android.permission.MANAGE_BIOMETRIC_DIALOG"
7440                android:protectionLevel="signature" />
7441
7442    <!-- Allows an application to set the advanced features on BiometricDialog (SystemUI), including
7443         logo, logo description, and content view with more options button.
7444         <p>Not for use by third-party applications.
7445    -->
7446    <permission android:name="android.permission.SET_BIOMETRIC_DIALOG_ADVANCED"
7447                android:protectionLevel="signature|privileged" />
7448
7449    <!-- Allows an application to control keyguard.  Only allowed for system processes.
7450        @hide -->
7451    <permission android:name="android.permission.CONTROL_KEYGUARD"
7452        android:protectionLevel="signature" />
7453
7454    <!-- @SystemApi Allows an application to control keyguard features like secure notifications.
7455         @hide -->
7456    <permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS"
7457        android:protectionLevel="signature|privileged" />
7458
7459    <!-- @SystemApi Allows an application to manage weak escrow token on the device. This permission
7460         is not available to third party applications.
7461         @hide -->
7462    <permission android:name="android.permission.MANAGE_WEAK_ESCROW_TOKEN"
7463        android:protectionLevel="signature|privileged" />
7464
7465    <!-- Allows an application to listen to trust changes.  Only allowed for system processes.
7466        @hide -->
7467    <permission android:name="android.permission.TRUST_LISTENER"
7468        android:protectionLevel="signature" />
7469
7470    <!-- @SystemApi Allows an application to provide a trust agent.
7471         @hide For security reasons, this is a platform-only permission. -->
7472    <permission android:name="android.permission.PROVIDE_TRUST_AGENT"
7473        android:protectionLevel="signature|privileged" />
7474
7475    <!-- @SystemApi Allows an application to show a message
7476         on the keyguard when asking to dismiss it.
7477         @hide For security reasons, this is a platform-only permission. -->
7478    <permission android:name="android.permission.SHOW_KEYGUARD_MESSAGE"
7479        android:protectionLevel="signature|privileged" />
7480
7481    <!-- Allows an application to launch the trust agent settings activity.
7482        @hide -->
7483    <permission android:name="android.permission.LAUNCH_TRUST_AGENT_SETTINGS"
7484        android:protectionLevel="signature|privileged" />
7485
7486    <!-- @SystemApi Must be required by an {@link
7487        android.service.trust.TrustAgentService},
7488        to ensure that only the system can bind to it.
7489        @hide -->
7490    <permission android:name="android.permission.BIND_TRUST_AGENT"
7491        android:protectionLevel="signature" />
7492
7493    <!-- Must be required by an {@link
7494         android.service.notification.NotificationListenerService},
7495         to ensure that only the system can bind to it.
7496         <p>Protection level: signature
7497    -->
7498    <permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
7499        android:protectionLevel="signature" />
7500
7501    <!-- @SystemApi Must be required by an {@link
7502         android.service.notification.NotificationAssistantService} to ensure that only the system
7503         can bind to it.
7504         <p>Protection level: signature
7505         @hide
7506    -->
7507    <permission android:name="android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE"
7508        android:protectionLevel="signature" />
7509
7510    <!-- Must be required by a {@link
7511         android.service.chooser.ChooserTargetService}, to ensure that
7512         only the system can bind to it.
7513         <p>Protection level: signature
7514
7515         @deprecated For publishing direct share targets, please follow the instructions in
7516         https://developer.android.com/training/sharing/receive.html#providing-direct-share-targets
7517         instead.
7518    -->
7519    <permission android:name="android.permission.BIND_CHOOSER_TARGET_SERVICE"
7520        android:protectionLevel="signature" />
7521
7522    <!-- @SystemApi Must be held by services that extend
7523         {@link android.service.resolver.ResolverRankerService}.
7524         <p>Protection level: signature|privileged
7525         @hide
7526    -->
7527    <permission android:name="android.permission.PROVIDE_RESOLVER_RANKER_SERVICE"
7528                android:protectionLevel="signature|privileged" />
7529
7530    <!-- @SystemApi Must be required by services that extend
7531         {@link android.service.resolver.ResolverRankerService}, to ensure that only the system can
7532         bind to them.
7533         <p>Protection level: signature
7534         @hide
7535    -->
7536    <permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE"
7537        android:protectionLevel="signature" />
7538
7539    <!-- Must be required by a {@link
7540         android.service.notification.ConditionProviderService},
7541         to ensure that only the system can bind to it.
7542         <p>Protection level: signature
7543         -->
7544    <permission android:name="android.permission.BIND_CONDITION_PROVIDER_SERVICE"
7545        android:protectionLevel="signature" />
7546
7547    <!-- Must be required by an {@link android.service.dreams.DreamService},
7548         to ensure that only the system can bind to it.
7549         <p>Protection level: signature
7550    -->
7551    <permission android:name="android.permission.BIND_DREAM_SERVICE"
7552        android:protectionLevel="signature" />
7553
7554    <!-- Must be required by an {@link android.app.usage.CacheQuotaService} to ensure that only the
7555         system can bind to it.
7556         @hide This is not a third-party API (intended for OEMs and system apps).
7557    -->
7558    <permission android:name="android.permission.BIND_CACHE_QUOTA_SERVICE"
7559                android:protectionLevel="signature" />
7560
7561    <!-- @SystemApi Allows an application to call into a carrier setup flow. It is up to the
7562         carrier setup application to enforce that this permission is required
7563         @hide This is not a third-party API (intended for OEMs and system apps). -->
7564    <permission android:name="android.permission.INVOKE_CARRIER_SETUP"
7565        android:protectionLevel="signature|privileged" />
7566
7567    <!-- @SystemApi Allows an application to listen for network condition observations.
7568         @hide This is not a third-party API (intended for system apps). -->
7569    <permission android:name="android.permission.ACCESS_NETWORK_CONDITIONS"
7570        android:protectionLevel="signature|privileged" />
7571
7572    <!-- @SystemApi Allows an application to provision and access DRM certificates
7573         @hide This is not a third-party API (intended for system apps). -->
7574    <permission android:name="android.permission.ACCESS_DRM_CERTIFICATES"
7575        android:protectionLevel="signature|privileged" />
7576
7577    <!-- Api Allows an application to manage media projection sessions.
7578         @hide This is not a third-party API (intended for system apps). -->
7579    <permission android:name="android.permission.MANAGE_MEDIA_PROJECTION"
7580        android:protectionLevel="signature" />
7581
7582    <!-- @hide @TestApi Allows an application to record sensitive content during media
7583         projection. This is intended for on device screen recording system app.
7584         @FlaggedApi("android.permission.flags.sensitive_notification_app_protection") -->
7585    <permission android:name="android.permission.RECORD_SENSITIVE_CONTENT"
7586        android:protectionLevel="signature"
7587        android:featureFlag="android.permission.flags.sensitive_notification_app_protection"/>
7588
7589    <!-- @SystemApi Allows an application to read install sessions
7590         @hide This is not a third-party API (intended for system apps). -->
7591    <permission android:name="android.permission.READ_INSTALL_SESSIONS"
7592        android:label="@string/permlab_readInstallSessions"
7593        android:description="@string/permdesc_readInstallSessions"
7594        android:protectionLevel="normal"/>
7595
7596    <!-- @SystemApi Allows an application to remove DRM certificates
7597         @hide This is not a third-party API (intended for system apps). -->
7598    <permission android:name="android.permission.REMOVE_DRM_CERTIFICATES"
7599        android:protectionLevel="signature|privileged" />
7600
7601    <!-- @deprecated Use {@link android.Manifest.permission#BIND_CARRIER_SERVICES} instead -->
7602    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE"
7603        android:protectionLevel="signature|privileged" />
7604
7605    <!-- Allows an application to interact with the currently active
7606         {@link android.service.voice.VoiceInteractionService}.
7607         @hide -->
7608    <permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE"
7609        android:protectionLevel="signature" />
7610
7611    <!-- The system process that is allowed to bind to services in carrier apps will
7612         have this permission. Carrier apps should use this permission to protect
7613         their services that only the system is allowed to bind to.
7614         <p>Protection level: signature|privileged
7615    -->
7616    <permission android:name="android.permission.BIND_CARRIER_SERVICES"
7617        android:label="@string/permlab_bindCarrierServices"
7618        android:description="@string/permdesc_bindCarrierServices"
7619        android:protectionLevel="signature|privileged" />
7620
7621    <!--
7622        Allows the holder to start the permission usage screen for an app.
7623        <p>Protection level: signature|installer
7624    -->
7625    <permission android:name="android.permission.START_VIEW_PERMISSION_USAGE"
7626        android:label="@string/permlab_startViewPermissionUsage"
7627        android:description="@string/permdesc_startViewPermissionUsage"
7628        android:protectionLevel="signature|installer|module" />
7629
7630    <!--
7631        @SystemApi
7632        Allows the holder to start the screen to review permission decisions.
7633        <p>Protection level: signature|installer
7634        @hide -->
7635    <permission android:name="android.permission.START_REVIEW_PERMISSION_DECISIONS"
7636        android:label="@string/permlab_startReviewPermissionDecisions"
7637        android:description="@string/permdesc_startReviewPermissionDecisions"
7638        android:protectionLevel="signature|installer" />
7639
7640    <!--
7641        Allows the holder to start the screen with a list of app features.
7642        <p>Protection level: signature|installer
7643    -->
7644    <permission android:name="android.permission.START_VIEW_APP_FEATURES"
7645                android:label="@string/permlab_startViewAppFeatures"
7646                android:description="@string/permdesc_startViewAppFeatures"
7647                android:protectionLevel="signature|installer" />
7648
7649    <!-- Allows an application to query whether DO_NOT_ASK_CREDENTIALS_ON_BOOT
7650         flag is set.
7651         @hide -->
7652    <permission android:name="android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT"
7653                android:protectionLevel="signature" />
7654
7655    <!-- @SystemApi Allows applications to kill UIDs.
7656        <p>This permission can be granted to the SYSTEM_SUPERVISOR role used for parental
7657        controls.
7658        <p>Not for use by third-party applications.
7659         @hide -->
7660    <permission android:name="android.permission.KILL_UID"
7661                android:protectionLevel="signature|installer|role" />
7662
7663    <!-- @SystemApi Allows applications to read the local WiFi and Bluetooth MAC address.
7664        @hide -->
7665    <permission android:name="android.permission.LOCAL_MAC_ADDRESS"
7666                android:protectionLevel="signature|privileged" />
7667    <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"/>
7668
7669    <!-- @SystemApi Allows access to MAC addresses of WiFi and Bluetooth peer devices.
7670        @hide -->
7671    <permission android:name="android.permission.PEERS_MAC_ADDRESS"
7672                android:protectionLevel="signature|setup|role" />
7673
7674    <!-- Allows the Nfc stack to dispatch Nfc messages to applications. Applications
7675        can use this permission to ensure incoming Nfc messages are from the Nfc stack
7676        and not simulated by another application.
7677        @hide -->
7678    <permission android:name="android.permission.DISPATCH_NFC_MESSAGE"
7679                android:protectionLevel="signature|privileged" />
7680
7681    <!-- @SystemApi Allows changing day / night mode when system is configured with
7682         config_lockDayNightMode set to true. If requesting app does not have permission,
7683         it will be ignored.
7684        @hide -->
7685    <permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"
7686      android:protectionLevel="signature|privileged|role" />
7687
7688    <!-- @SystemApi Allows entering or exiting car mode using a specified priority.
7689        This permission is required to use UiModeManager while specifying a priority for the calling
7690        app.  A device manufacturer uses this permission to prioritize the apps which can
7691        potentially request to enter car-mode on a device to help establish the correct behavior
7692        where multiple such apps are active at the same time.
7693        @hide -->
7694    <permission android:name="android.permission.ENTER_CAR_MODE_PRIORITIZED"
7695                android:protectionLevel="signature|privileged" />
7696
7697    <!-- @SystemApi Required to receive ACTION_ENTER_CAR_MODE_PRIVILEGED or
7698        ACTION_EXIT_CAR_MODE_PRIVILEGED.
7699        @hide -->
7700    <permission android:name="android.permission.HANDLE_CAR_MODE_CHANGES"
7701                android:protectionLevel="signature|privileged" />
7702
7703    <!-- @SystemApi Allows the holder to send category_car notifications.
7704        @hide -->
7705    <permission
7706        android:name="android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS"
7707        android:protectionLevel="signature|privileged" />
7708
7709    <!-- The system process is explicitly the only one allowed to launch the
7710         confirmation UI for full backup/restore -->
7711    <uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
7712
7713    <!-- @SystemApi Allows the holder to access and manage instant applications on the device.
7714         @hide -->
7715    <permission android:name="android.permission.ACCESS_INSTANT_APPS"
7716            android:protectionLevel="signature|installer|verifier|role" />
7717    <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS"/>
7718
7719    <!-- Allows the holder to view the instant applications on the device.
7720    @hide -->
7721    <permission android:name="android.permission.VIEW_INSTANT_APPS"
7722                android:protectionLevel="signature|preinstalled" />
7723
7724    <!-- Allows the holder to manage whether the system can bind to services
7725         provided by instant apps. This permission is intended to protect
7726         test/development fucntionality and should be used only in such cases.
7727    @hide -->
7728    <permission android:name="android.permission.MANAGE_BIND_INSTANT_SERVICE"
7729                android:protectionLevel="signature" />
7730
7731    <!-- Allows receiving the usage of media resource e.g. video/audio codec and
7732         graphic memory.
7733         @hide -->
7734    <permission android:name="android.permission.RECEIVE_MEDIA_RESOURCE_USAGE"
7735                android:protectionLevel="signature|privileged" />
7736
7737    <!-- Must be required by system/priv apps when accessing the sound trigger
7738         APIs given by {@link SoundTriggerManager}.
7739         @hide
7740         @SystemApi -->
7741    <permission android:name="android.permission.MANAGE_SOUND_TRIGGER"
7742        android:protectionLevel="signature|privileged|role" />
7743
7744    <!-- Must be required by system/priv apps to run sound trigger recognition sessions while in
7745         battery saver mode.
7746         @hide
7747         @SystemApi -->
7748    <permission android:name="android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER"
7749                android:protectionLevel="signature|privileged" />
7750
7751    <!-- Must be required by system/priv apps implementing sound trigger detection services
7752         @hide
7753         @SystemApi -->
7754    <permission android:name="android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE"
7755        android:protectionLevel="signature" />
7756
7757    <!-- @SystemApi Allows trusted applications to dispatch managed provisioning message to Managed
7758         Provisioning app. If requesting app does not have permission, it will be ignored.
7759         @hide -->
7760    <permission android:name="android.permission.DISPATCH_PROVISIONING_MESSAGE"
7761                android:protectionLevel="signature|privileged" />
7762
7763    <!-- Allows the holder to read blocked numbers. See
7764         {@link android.provider.BlockedNumberContract}.
7765         @SystemApi
7766         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
7767         @hide -->
7768    <permission android:name="android.permission.READ_BLOCKED_NUMBERS"
7769                android:protectionLevel="signature"
7770                android:featureFlag="!android.permission.flags.grant_read_blocked_numbers_to_system_ui_intelligence" />
7771
7772    <!-- Allows the holder to read blocked numbers. See
7773         {@link android.provider.BlockedNumberContract}.
7774         @SystemApi
7775         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
7776         @hide -->
7777    <permission android:name="android.permission.READ_BLOCKED_NUMBERS"
7778                android:protectionLevel="signature|role"
7779                android:featureFlag="android.permission.flags.grant_read_blocked_numbers_to_system_ui_intelligence" />
7780
7781    <!-- Allows the holder to write blocked numbers. See
7782         {@link android.provider.BlockedNumberContract}.
7783         @SystemApi
7784         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
7785         @hide -->
7786    <permission android:name="android.permission.WRITE_BLOCKED_NUMBERS"
7787                android:protectionLevel="signature" />
7788
7789    <!-- Must be required by an {@link android.service.vr.VrListenerService}, to ensure that only
7790         the system can bind to it.
7791         <p>Protection level: signature -->
7792    <permission android:name="android.permission.BIND_VR_LISTENER_SERVICE"
7793        android:protectionLevel="signature" />
7794
7795    <!-- Must be required by system apps when accessing restricted VR APIs.
7796         @hide
7797         @SystemApi
7798         <p>Protection level: signature -->
7799    <permission android:name="android.permission.RESTRICTED_VR_ACCESS"
7800        android:protectionLevel="signature|preinstalled" />
7801
7802    <!-- Required to make calls to {@link android.service.vr.IVrManager}.
7803         @hide -->
7804    <permission android:name="android.permission.ACCESS_VR_MANAGER"
7805            android:protectionLevel="signature" />
7806
7807    <!-- Required to access VR-Mode state and state change events via {android.app.VrStateCallback}
7808         @hide -->
7809    <permission android:name="android.permission.ACCESS_VR_STATE"
7810        android:protectionLevel="signature|preinstalled" />
7811
7812    <!-- Allows an application to allowlist tasks during lock task mode
7813         @hide <p>Not for use by third-party applications.</p> -->
7814    <permission android:name="android.permission.UPDATE_LOCK_TASK_PACKAGES"
7815        android:protectionLevel="signature|setup" />
7816
7817    <!-- @SystemApi Allows an application to replace the app name displayed alongside notifications
7818         in the N-release and later.
7819         @hide  <p>Not for use by third-party applications.</p> -->
7820    <permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"
7821                android:protectionLevel="signature|privileged" />
7822
7823    <!-- @SystemApi Allows an application to show notifications before the device is provisioned.
7824         @hide  <p>Not for use by third-party applications.</p> -->
7825    <permission android:name="android.permission.NOTIFICATION_DURING_SETUP"
7826                android:protectionLevel="signature|privileged" />
7827
7828    <!-- @SystemApi Allows an application to manage auto-fill sessions.
7829         @hide  <p>Not for use by third-party applications.</p> -->
7830    <permission android:name="android.permission.MANAGE_AUTO_FILL"
7831        android:protectionLevel="signature" />
7832
7833    <!-- @SystemApi Allows an application to manage the content capture service.
7834         @hide  <p>Not for use by third-party applications.</p> -->
7835    <permission android:name="android.permission.MANAGE_CONTENT_CAPTURE"
7836        android:protectionLevel="signature" />
7837
7838    <!-- @SystemApi Allows an application to manager the rotation resolver service.
7839         @hide <p>Not for use by third-party applications.</p> -->
7840    <permission android:name="android.permission.MANAGE_ROTATION_RESOLVER"
7841        android:protectionLevel="signature"/>
7842
7843    <!-- @SystemApi Allows an application to manage the cloudsearch service.
7844          @hide  <p>Not for use by third-party applications.</p> -->
7845    <permission android:name="android.permission.MANAGE_CLOUDSEARCH"
7846        android:protectionLevel="signature|privileged|role" />
7847
7848    <!-- @SystemApi Allows an application to manage the music recognition service.
7849         @hide  <p>Not for use by third-party applications.</p> -->
7850    <permission android:name="android.permission.MANAGE_MUSIC_RECOGNITION"
7851        android:protectionLevel="signature|privileged|role" />
7852
7853    <!-- @SystemApi Allows an application to manage speech recognition service.
7854     @hide  <p>Not for use by third-party applications.</p> -->
7855    <permission android:name="android.permission.MANAGE_SPEECH_RECOGNITION"
7856        android:protectionLevel="signature" />
7857
7858    <!-- @SystemApi Allows an application to interact with the content suggestions service.
7859         @hide  <p>Not for use by third-party applications.</p> -->
7860    <permission android:name="android.permission.MANAGE_CONTENT_SUGGESTIONS"
7861        android:protectionLevel="signature|role" />
7862
7863    <!-- @SystemApi Allows an application to manage the app predictions service.
7864         @hide  <p>Not for use by third-party applications.</p> -->
7865    <permission android:name="android.permission.MANAGE_APP_PREDICTIONS"
7866        android:protectionLevel="signature|role" />
7867
7868    <!-- @SystemApi Allows an application to manage the search ui service.
7869     @hide  <p>Not for use by third-party applications.</p> -->
7870    <permission android:name="android.permission.MANAGE_SEARCH_UI"
7871        android:protectionLevel="signature|role" />
7872
7873    <!-- @SystemApi Allows an application to manage the smartspace service.
7874     @hide  <p>Not for use by third-party applications.</p> -->
7875    <permission android:name="android.permission.MANAGE_SMARTSPACE"
7876        android:protectionLevel="signature" />
7877
7878    <!-- @SystemApi Allows an application to access the smartspace service as a client.
7879     @FlaggedApi(android.app.smartspace.flags.Flags.FLAG_ACCESS_SMARTSPACE)
7880     @hide  <p>Not for use by third-party applications.</p> -->
7881    <permission android:name="android.permission.ACCESS_SMARTSPACE"
7882        android:protectionLevel="signature|privileged|development" />
7883
7884    <!-- @SystemApi Allows a system application to start a contextual search.
7885     Other applications can start a contextual search only if they have a
7886     foreground activity.
7887     @hide  <p>Not for use by third-party applications.</p> -->
7888    <permission android:name="android.permission.ACCESS_CONTEXTUAL_SEARCH"
7889        android:protectionLevel="signature|privileged" />
7890
7891    <!-- @SystemApi Allows an application to manage the wallpaper effects
7892     generation service.
7893     @hide  <p>Not for use by third-party applications.</p> -->
7894    <permission android:name="android.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION"
7895        android:protectionLevel="signature|privileged" />
7896
7897    <!-- Allows an app to set the theme overlay in /vendor/overlay
7898         being used.
7899         @hide  <p>Not for use by third-party applications.</p> -->
7900    <permission android:name="android.permission.MODIFY_THEME_OVERLAY"
7901                android:protectionLevel="signature" />
7902
7903    <!-- Allows an instant app to create foreground services.
7904         <p>Protection level: signature|development|instant|appop -->
7905    <permission android:name="android.permission.INSTANT_APP_FOREGROUND_SERVICE"
7906        android:protectionLevel="signature|development|instant|appop" />
7907
7908    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7909         Service.startForeground}.
7910         <p>Protection level: normal
7911    -->
7912    <permission android:name="android.permission.FOREGROUND_SERVICE"
7913        android:description="@string/permdesc_foregroundService"
7914        android:label="@string/permlab_foregroundService"
7915        android:protectionLevel="normal|instant" />
7916
7917    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7918         Service.startForeground} with the type "camera".
7919         <p>Protection level: normal|instant
7920    -->
7921    <permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"
7922        android:description="@string/permdesc_foregroundServiceCamera"
7923        android:label="@string/permlab_foregroundServiceCamera"
7924        android:protectionLevel="normal|instant" />
7925
7926    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7927         Service.startForeground} with the type "connectedDevice".
7928         <p>Protection level: normal|instant
7929    -->
7930    <permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE"
7931        android:description="@string/permdesc_foregroundServiceConnectedDevice"
7932        android:label="@string/permlab_foregroundServiceConnectedDevice"
7933        android:protectionLevel="normal|instant" />
7934
7935    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7936         Service.startForeground} with the type "dataSync".
7937         <p>Protection level: normal|instant
7938    -->
7939    <permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"
7940        android:description="@string/permdesc_foregroundServiceDataSync"
7941        android:label="@string/permlab_foregroundServiceDataSync"
7942        android:protectionLevel="normal|instant" />
7943
7944    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7945         Service.startForeground} with the type "location".
7946         <p>Protection level: normal|instant
7947    -->
7948    <permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION"
7949        android:description="@string/permdesc_foregroundServiceLocation"
7950        android:label="@string/permlab_foregroundServiceLocation"
7951        android:protectionLevel="normal|instant" />
7952
7953    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7954         Service.startForeground} with the type "mediaPlayback".
7955         <p>Protection level: normal|instant
7956    -->
7957    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"
7958        android:description="@string/permdesc_foregroundServiceMediaPlayback"
7959        android:label="@string/permlab_foregroundServiceMediaPlayback"
7960        android:protectionLevel="normal|instant" />
7961
7962    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7963         Service.startForeground} with the type "mediaProjection".
7964         <p>Protection level: normal|instant
7965    -->
7966    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION"
7967        android:description="@string/permdesc_foregroundServiceMediaProjection"
7968        android:label="@string/permlab_foregroundServiceMediaProjection"
7969        android:protectionLevel="normal|instant" />
7970
7971    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7972         Service.startForeground} with the type "microphone".
7973         <p>Protection level: normal|instant
7974    -->
7975    <permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE"
7976        android:description="@string/permdesc_foregroundServiceMicrophone"
7977        android:label="@string/permlab_foregroundServiceMicrophone"
7978        android:protectionLevel="normal|instant" />
7979
7980    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7981         Service.startForeground} with the type "phoneCall".
7982         <p>Protection level: normal|instant
7983    -->
7984    <permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL"
7985        android:description="@string/permdesc_foregroundServicePhoneCall"
7986        android:label="@string/permlab_foregroundServicePhoneCall"
7987        android:protectionLevel="normal|instant" />
7988
7989    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7990         Service.startForeground} with the type "health".
7991         <p>Protection level: normal|instant
7992    -->
7993    <permission android:name="android.permission.FOREGROUND_SERVICE_HEALTH"
7994        android:description="@string/permdesc_foregroundServiceHealth"
7995        android:label="@string/permlab_foregroundServiceHealth"
7996        android:protectionLevel="normal|instant" />
7997
7998    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7999         Service.startForeground} with the type "remoteMessaging".
8000         <p>Protection level: normal|instant
8001    -->
8002    <permission android:name="android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING"
8003        android:description="@string/permdesc_foregroundServiceRemoteMessaging"
8004        android:label="@string/permlab_foregroundServiceRemoteMessaging"
8005        android:protectionLevel="normal|instant" />
8006
8007    <!-- Allows a regular application to use {@link android.app.Service#startForeground
8008         Service.startForeground} with the type "systemExempted".
8009         Apps are allowed to use this type only in the use cases listed in
8010         {@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED}.
8011         <p>Protection level: normal|instant
8012    -->
8013    <permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED"
8014        android:description="@string/permdesc_foregroundServiceSystemExempted"
8015        android:label="@string/permlab_foregroundServiceSystemExempted"
8016        android:protectionLevel="normal|instant" />
8017
8018    <!-- Allows a regular application to use {@link android.app.Service#startForeground
8019         Service.startForeground} with the type "fileManagement".
8020         <p>Protection level: normal|instant
8021         @hide
8022    -->
8023    <permission android:name="android.permission.FOREGROUND_SERVICE_FILE_MANAGEMENT"
8024        android:description="@string/permdesc_foregroundServiceFileManagement"
8025        android:label="@string/permlab_foregroundServiceFileManagement"
8026        android:protectionLevel="normal|instant" />
8027
8028    <!-- @FlaggedApi("android.content.pm.introduce_media_processing_type")
8029         Allows a regular application to use {@link android.app.Service#startForeground
8030         Service.startForeground} with the type "mediaProcessing".
8031         <p>Protection level: normal|instant
8032    -->
8033    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROCESSING"
8034                android:description="@string/permdesc_foregroundServiceMediaProcessing"
8035                android:label="@string/permlab_foregroundServiceMediaProcessing"
8036                android:protectionLevel="normal|instant" />
8037
8038    <!-- Allows a regular application to use {@link android.app.Service#startForeground
8039         Service.startForeground} with the type "specialUse".
8040         <p>Protection level: normal|appop|instant
8041    -->
8042    <permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"
8043        android:description="@string/permdesc_foregroundServiceSpecialUse"
8044        android:label="@string/permlab_foregroundServiceSpecialUse"
8045        android:protectionLevel="normal|appop|instant" />
8046
8047    <!-- @SystemApi Allows to access all app shortcuts.
8048         @hide -->
8049    <permission android:name="android.permission.ACCESS_SHORTCUTS"
8050        android:protectionLevel="signature|role|recents" />
8051
8052    <!-- @SystemApi Allows unlimited calls to shortcut mutation APIs.
8053         @hide -->
8054    <permission android:name="android.permission.UNLIMITED_SHORTCUTS_API_CALLS"
8055        android:protectionLevel="signature|role" />
8056
8057    <!-- @SystemApi Allows an application to read the runtime profiles of other apps.
8058         @hide <p>Not for use by third-party applications. -->
8059    <permission android:name="android.permission.READ_RUNTIME_PROFILES"
8060                android:protectionLevel="signature|privileged" />
8061
8062    <!-- @hide Allows audio policy management. -->
8063    <permission android:name="android.permission.MANAGE_AUDIO_POLICY"
8064        android:protectionLevel="signature" />
8065
8066    <!-- @SystemApi Allows an application to turn on / off quiet mode.
8067         @hide -->
8068    <permission android:name="android.permission.MODIFY_QUIET_MODE"
8069                android:protectionLevel="signature|privileged|development|role" />
8070
8071    <!-- Allows internal management of the camera framework
8072         @hide -->
8073    <permission android:name="android.permission.MANAGE_CAMERA"
8074        android:protectionLevel="signature" />
8075
8076    <!-- Allows an application to control remote animations. See
8077         {@link ActivityOptions#makeRemoteAnimation}
8078         @hide <p>Not for use by third-party applications. -->
8079    <permission android:name="android.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS"
8080        android:protectionLevel="signature|privileged|recents" />
8081
8082    <!-- Allows an application to watch changes and/or active state of app ops.
8083         @hide <p>Not for use by third-party applications. -->
8084    <permission android:name="android.permission.WATCH_APPOPS"
8085        android:protectionLevel="signature|privileged" />
8086
8087    <!-- Allows hidden API checks to be disabled when starting a process.
8088         @hide <p>Not for use by third-party applications. -->
8089    <permission android:name="android.permission.DISABLE_HIDDEN_API_CHECKS"
8090                android:protectionLevel="signature" />
8091
8092    <!-- @hide Permission that protects the
8093        {@link android.provider.Telephony.Intents#ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL}
8094        broadcast -->
8095    <permission android:name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE"
8096        android:protectionLevel="signature|privileged" />
8097
8098    <!-- A subclass of {@link android.service.carrier.CarrierMessagingClientService} must be protected with this permission.
8099           <p>Protection level: signature -->
8100    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE"
8101        android:protectionLevel="signature" />
8102
8103    <!-- @FlaggedApi(android.crashrecovery.flags.Flags.FLAG_ENABLE_CRASHRECOVERY) @SystemApi
8104         Must be required by an {@link android.service.watchdog.ExplicitHealthCheckService} to
8105         ensure that only the system can bind to it.
8106         @hide This is not a third-party API (intended for OEMs and system apps).
8107    -->
8108    <permission android:name="android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE"
8109        android:protectionLevel="signature|privileged" />
8110
8111    <!-- @SystemApi Must be required by an {@link android.service.storage.ExternalStorageService} to
8112         ensure that only the system can bind to it.
8113         @hide This is not a third-party API (intended for OEMs and system apps).
8114    -->
8115    <permission android:name="android.permission.BIND_EXTERNAL_STORAGE_SERVICE"
8116        android:protectionLevel="signature" />
8117
8118    <!-- @hide Permission that allows configuring appops.
8119     <p>Not for use by third-party applications. -->
8120    <permission android:name="android.permission.MANAGE_APPOPS"
8121                android:protectionLevel="signature" />
8122
8123    <!-- @SystemApi Permission that allows background clipboard access.
8124         @hide Not for use by third-party applications. -->
8125    <permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"
8126        android:protectionLevel="signature|role" />
8127
8128    <!-- @SystemApi Permission that allows apps to disable the clipboard access notifications.
8129         @hide
8130         <p>Not for use by third-party applications. -->
8131    <permission android:name="android.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION"
8132        android:protectionLevel="signature|installer" />
8133
8134    <!-- @hide Permission that suppresses the notification when the clipboard is accessed.
8135         <p>Not for use by third-party applications. -->
8136    <permission android:name="android.permission.SUPPRESS_CLIPBOARD_ACCESS_NOTIFICATION"
8137                android:protectionLevel="signature" />
8138
8139    <!-- @SystemApi Allows modifying accessibility state.
8140        <p> The only approved role for this permission is COMPANION_DEVICE_APP_STREAMING.
8141         @hide -->
8142    <permission android:name="android.permission.MANAGE_ACCESSIBILITY"
8143        android:protectionLevel="signature|setup|recents|role" />
8144
8145    <!-- @SystemApi Allows an app to grant a profile owner access to device identifiers.
8146         <p>Not for use by third-party applications.
8147         @deprecated
8148         @hide -->
8149    <permission android:name="android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS"
8150        android:protectionLevel="signature" />
8151
8152    <!-- @SystemApi Allows an app to mark a profile owner as managing an organization-owned device.
8153         <p>Not for use by third-party applications.
8154         @hide -->
8155    <permission android:name="android.permission.MARK_DEVICE_ORGANIZATION_OWNED"
8156                android:protectionLevel="signature|role" />
8157
8158    <!-- Allows financial apps to read filtered sms messages.
8159         Protection level: signature|appop
8160         @deprecated The API that used this permission is no longer functional.  -->
8161    <permission android:name="android.permission.SMS_FINANCIAL_TRANSACTIONS"
8162        android:protectionLevel="signature|appop" />
8163
8164    <!-- Required for apps targeting {@link android.os.Build.VERSION_CODES#Q} that want to use
8165         {@link android.app.Notification.Builder#setFullScreenIntent notification full screen
8166         intents}.
8167         <p>Protection level: normal -->
8168    <permission android:name="android.permission.USE_FULL_SCREEN_INTENT"
8169                android:label="@string/permlab_fullScreenIntent"
8170                android:description="@string/permdesc_fullScreenIntent"
8171                android:protectionLevel="normal|appop" />
8172
8173    <!-- @SystemApi Required for the privileged assistant apps targeting
8174         {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM}
8175         that receive voice trigger from a sandboxed {@link HotwordDetectionService}.
8176         <p>Protection level: signature|privileged|appop
8177         @FlaggedApi("android.permission.flags.voice_activation_permission_apis")
8178         @hide -->
8179    <permission android:name="android.permission.RECEIVE_SANDBOX_TRIGGER_AUDIO"
8180                android:protectionLevel="signature|privileged|appop" />
8181
8182    <!-- @SystemApi Allows requesting the framework broadcast the
8183         {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY} intent.
8184         @hide -->
8185    <permission android:name="android.permission.SEND_DEVICE_CUSTOMIZATION_READY"
8186        android:protectionLevel="signature|privileged" />
8187
8188    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY}
8189         intent.
8190         @hide -->
8191    <permission android:name="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY"
8192        android:protectionLevel="signature|preinstalled" />
8193
8194    <!-- @SystemApi Allows wallpaper to be rendered in ambient mode.
8195         @hide -->
8196    <permission android:name="android.permission.AMBIENT_WALLPAPER"
8197                android:protectionLevel="signature|preinstalled" />
8198
8199    <!-- @SystemApi Allows sensor privacy to be modified.
8200         @hide -->
8201    <permission android:name="android.permission.MANAGE_SENSOR_PRIVACY"
8202                android:protectionLevel="internal|role|installer" />
8203
8204    <!-- @SystemApi Allows sensor privacy changes to be observed.
8205         @hide -->
8206    <permission android:name="android.permission.OBSERVE_SENSOR_PRIVACY"
8207                android:protectionLevel="internal|role|installer" />
8208
8209    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_REVIEW_ACCESSIBILITY_SERVICES}
8210         intent.
8211         @hide -->
8212    <permission android:name="android.permission.REVIEW_ACCESSIBILITY_SERVICES"
8213                android:protectionLevel="signature" />
8214
8215    <!-- @SystemApi Allows an activity to replace the app name and icon displayed in share targets
8216         in the sharesheet for the Q-release and later.
8217         @hide  <p>Not for use by third-party applications.</p> -->
8218    <permission android:name="android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON"
8219                android:protectionLevel="signature|privileged" />
8220
8221    <!-- @SystemApi Allows an application to access shared libraries.
8222         @hide -->
8223    <permission android:name="android.permission.ACCESS_SHARED_LIBRARIES"
8224        android:protectionLevel="signature|installer"
8225        android:featureFlag="!android.content.pm.sdk_dependency_installer" />
8226
8227    <!-- @SystemApi Allows an application to access shared libraries.
8228         @hide -->
8229    <permission android:name="android.permission.ACCESS_SHARED_LIBRARIES"
8230                android:protectionLevel="signature|installer|role"
8231        android:featureFlag="android.content.pm.sdk_dependency_installer" />
8232
8233    <!-- @SystemApi Permission held by the system to allow binding to the dependency installer role
8234         holder.
8235         @FlaggedApi(android.content.pm.Flags.FLAG_SDK_DEPENDENCY_INSTALLER)
8236         @hide -->
8237    <permission android:name="android.permission.BIND_DEPENDENCY_INSTALLER"
8238        android:protectionLevel="signature"
8239        android:featureFlag="android.content.pm.sdk_dependency_installer" />
8240
8241    <!-- @SystemApi Allows an application to install shared libraries of types
8242         {@link android.content.pm.SharedLibraryInfo#TYPE_STATIC} or
8243         {@link android.content.pm.SharedLibraryInfo#TYPE_SDK_PACKAGE}.
8244         @FlaggedApi(android.content.pm.Flags.FLAG_SDK_DEPENDENCY_INSTALLER)
8245         @hide -->
8246    <permission android:name="android.permission.INSTALL_DEPENDENCY_SHARED_LIBRARIES"
8247        android:protectionLevel="signature|role"
8248        android:featureFlag="android.content.pm.sdk_dependency_installer" />
8249
8250    <!-- Allows an app to log compat change usage.
8251         @hide  <p>Not for use by third-party applications.</p> -->
8252    <permission android:name="android.permission.LOG_COMPAT_CHANGE"
8253                android:protectionLevel="signature|privileged" />
8254    <!-- Allows an app to read compat change config.
8255         @hide  <p>Not for use by third-party applications.</p> -->
8256    <permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"
8257                android:protectionLevel="signature|privileged" />
8258    <!-- Allows an app to override compat change config.
8259         This permission only allows to override config on debuggable builds or test-apks and is
8260         therefore a less powerful version of OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD.
8261         @hide  <p>Not for use by third-party applications.</p> -->
8262    <permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG"
8263                android:protectionLevel="signature|privileged" />
8264    <!-- @SystemApi Allows an app to override compat change config on release builds.
8265        Only ChangeIds that are annotated as @Overridable can be overridden on release builds.
8266        @hide -->
8267    <permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD"
8268                android:protectionLevel="signature|privileged" />
8269
8270    <!-- Allows input events to be monitored. Very dangerous!  @hide -->
8271    <permission android:name="android.permission.MONITOR_INPUT"
8272                android:protectionLevel="signature|recents" />
8273    <!-- @SystemApi Allows the use of FLAG_SLIPPERY, which permits touch events to slip from the
8274         current window to the window where the touch currently is on top of.  @hide -->
8275    <permission android:name="android.permission.ALLOW_SLIPPERY_TOUCHES"
8276                android:protectionLevel="signature|privileged|recents|role" />
8277    <!--  Allows the caller to change the associations between input devices and displays.
8278        Very dangerous! @hide -->
8279    <permission android:name="android.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY"
8280                android:protectionLevel="signature" />
8281
8282    <!-- Allows query of any normal app on the device, regardless of manifest declarations.
8283        <p>Protection level: normal -->
8284    <permission android:name="android.permission.QUERY_ALL_PACKAGES"
8285                android:label="@string/permlab_queryAllPackages"
8286                android:description="@string/permdesc_queryAllPackages"
8287                android:protectionLevel="normal" />
8288    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
8289
8290    <!-- @hide Allow the caller to collect debugging data from processes that otherwise
8291        would require USAGE_STATS. Before sharing this data with other apps, holders
8292        of this permission are REQUIRED to themselves check that the caller has
8293        PACKAGE_USAGE_STATS and OP_GET_USAGE_STATS. -->
8294    <permission android:name="android.permission.PEEK_DROPBOX_DATA"
8295        android:protectionLevel="signature" />
8296
8297    <!-- @SystemApi Allows an application to access TV tuner HAL
8298         <p>Not for use by third-party applications.
8299         @hide -->
8300    <permission android:name="android.permission.ACCESS_TV_TUNER"
8301        android:protectionLevel="signature|privileged|vendorPrivileged" />
8302
8303    <!-- @SystemApi Allows an application to access descrambler of TV tuner HAL
8304         <p>Not for use by third-party applications.
8305         @hide -->
8306    <permission android:name="android.permission.ACCESS_TV_DESCRAMBLER"
8307        android:protectionLevel="signature|privileged|vendorPrivileged" />
8308
8309    <!-- @SystemApi Allows an application to access shared filter of TV tuner HAL
8310         <p>Not for use by third-party applications.
8311         @hide -->
8312    <permission android:name="android.permission.ACCESS_TV_SHARED_FILTER"
8313        android:protectionLevel="signature|privileged|vendorPrivileged" />
8314
8315    <!-- Allows an application to create trusted displays. @hide @SystemApi -->
8316    <permission android:name="android.permission.ADD_TRUSTED_DISPLAY"
8317                android:protectionLevel="signature|role" />
8318
8319    <!-- Allows an application to create always-unlocked displays. @hide @SystemApi -->
8320    <permission android:name="android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY"
8321                android:protectionLevel="signature|role"/>
8322
8323    <!-- Allows an application to create displays that mirror other displays' content.
8324         @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_ENABLE_LIMITED_VDM_ROLE)
8325         @hide @SystemApi -->
8326    <permission android:name="android.permission.ADD_MIRROR_DISPLAY"
8327        android:protectionLevel="internal|role"
8328        android:featureFlag="android.companion.virtualdevice.flags.enable_limited_vdm_role" />
8329
8330    <!-- @hide @SystemApi Allows an application to access locusId events in the usage stats. -->
8331    <permission android:name="android.permission.ACCESS_LOCUS_ID_USAGE_STATS"
8332                android:protectionLevel="signature|role" />
8333
8334    <!-- @hide @SystemApi Allows an application to manage app hibernation state. -->
8335    <permission android:name="android.permission.MANAGE_APP_HIBERNATION"
8336        android:protectionLevel="signature|installer" />
8337
8338    <!-- @hide @TestApi Allows apps to reset the state of {@link com.android.server.am.AppErrors}.
8339         <p>CTS tests will use UiAutomation.adoptShellPermissionIdentity() to gain access.  -->
8340    <permission android:name="android.permission.RESET_APP_ERRORS"
8341        android:protectionLevel="signature" />
8342
8343    <!-- @hide Allows ThemeOverlayController to delay launch of Home / SetupWizard on boot, ensuring
8344         Theme Palettes and Colors are ready  -->
8345    <permission android:name="android.permission.SET_THEME_OVERLAY_CONTROLLER_READY"
8346        android:protectionLevel="signature|setup" />
8347
8348    <!-- @hide Allows an application to create/destroy input consumer. -->
8349    <permission android:name="android.permission.INPUT_CONSUMER"
8350                android:protectionLevel="signature" />
8351
8352    <!-- @hide @TestApi Allows an application to control the system's device state managed by the
8353         {@link android.service.devicestate.DeviceStateManagerService}. For example, on foldable
8354         devices this would grant access to toggle between the folded and unfolded states. -->
8355    <permission android:name="android.permission.CONTROL_DEVICE_STATE"
8356                android:protectionLevel="signature" />
8357
8358    <!-- @hide @SystemApi Must be required by a
8359        {@link android.service.displayhash.DisplayHashingService}
8360        to ensure that only the system can bind to it.
8361        This is not a third-party API (intended for OEMs and system apps).
8362    -->
8363    <permission android:name="android.permission.BIND_DISPLAY_HASHING_SERVICE"
8364        android:protectionLevel="signature" />
8365
8366    <!-- @hide @TestApi Allows an application to enable/disable toast rate limiting.
8367         <p>Not for use by third-party applications.
8368    -->
8369    <permission android:name="android.permission.MANAGE_TOAST_RATE_LIMITING"
8370                android:protectionLevel="signature" />
8371
8372    <!-- @SystemApi Allows managing the Game Mode
8373     @hide -->
8374    <permission android:name="android.permission.MANAGE_GAME_MODE"
8375                android:protectionLevel="signature|privileged" />
8376
8377    <!-- @TestApi Allows setting the game service provider, meant for tests only.
8378     @hide -->
8379    <permission android:name="android.permission.SET_GAME_SERVICE"
8380                android:protectionLevel="signature" />
8381
8382    <!-- @SystemApi Allows accessing the frame rate per second of a given application
8383     @hide -->
8384    <permission android:name="android.permission.ACCESS_FPS_COUNTER"
8385                android:protectionLevel="signature|privileged" />
8386
8387    <!-- @SystemApi Allows the GameService provider to create GameSession and call GameSession
8388                    APIs and overlay a view on top of the game's Activity.
8389     @hide -->
8390    <permission android:name="android.permission.MANAGE_GAME_ACTIVITY"
8391                android:protectionLevel="signature|privileged" />
8392
8393    <!-- @SystemApi Allows the holder to register callbacks to inform the RebootReadinessManager
8394         when they are performing reboot-blocking work.
8395         @hide -->
8396    <permission android:name="android.permission.SIGNAL_REBOOT_READINESS"
8397                android:protectionLevel="signature|privileged" />
8398
8399    <!-- @SystemApi Allows the holder to launch an Intent Resolver flow with custom presentation
8400         and/or targets.
8401         @FlaggedApi("android.nfc.enable_nfc_mainline")
8402         @hide -->
8403    <permission android:name="android.permission.SHOW_CUSTOMIZED_RESOLVER"
8404                android:protectionLevel="signature|privileged" />
8405
8406    <!-- @hide Allows an application to get a People Tile preview for a given shortcut. -->
8407    <permission android:name="android.permission.GET_PEOPLE_TILE_PREVIEW"
8408        android:protectionLevel="signature|recents" />
8409
8410    <!-- @hide @SystemApi Allows an application to retrieve whether shortcut is backed by a
8411         Conversation.
8412         TODO(b/180412052): STOPSHIP: Define a role so it can be granted to Shell and AiAi. -->
8413    <permission android:name="android.permission.READ_PEOPLE_DATA"
8414                android:protectionLevel="signature|recents|role"/>
8415
8416    <!-- @hide @SystemApi Allows a logical component within an application to
8417         temporarily renounce a set of otherwise granted permissions. -->
8418    <permission android:name="android.permission.RENOUNCE_PERMISSIONS"
8419                android:protectionLevel="signature|privileged" />
8420
8421    <!-- Allows an application to read nearby streaming policy. The policy controls
8422         whether to allow the device to stream its notifications and apps to nearby devices.
8423         Applications that are not the device owner will need this permission to call
8424         {@link android.app.admin.DevicePolicyManager#getNearbyNotificationStreamingPolicy} or
8425         {@link android.app.admin.DevicePolicyManager#getNearbyAppStreamingPolicy}. -->
8426    <permission android:name="android.permission.READ_NEARBY_STREAMING_POLICY"
8427        android:protectionLevel="normal" />
8428
8429    <!-- @SystemApi Allows the holder to set the source of the data when setting a clip on the
8430         clipboard.
8431         @hide -->
8432    <permission android:name="android.permission.SET_CLIP_SOURCE"
8433                android:protectionLevel="signature|recents" />
8434
8435    <!-- @SystemApi Allows an application to access TV tuned info
8436         <p>Not for use by third-party applications.
8437         @hide -->
8438    <permission android:name="android.permission.ACCESS_TUNED_INFO"
8439        android:protectionLevel="signature|privileged|vendorPrivileged" />
8440
8441    <!-- Allows an application to indicate via
8442         {@link android.content.pm.PackageInstaller.SessionParams#setRequireUserAction(int)}
8443         that user action should not be required for an app update.
8444         <p>Protection level: normal
8445    -->
8446    <permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"
8447                android:label="@string/permlab_updatePackagesWithoutUserAction"
8448                android:description="@string/permdesc_updatePackagesWithoutUserAction"
8449                android:protectionLevel="normal" />
8450    <uses-permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"/>
8451
8452    <!-- Allows an application to indicate via {@link
8453         android.content.pm.PackageInstaller.SessionParams#setRequestUpdateOwnership}
8454         that it has the intention of becoming the update owner.
8455         <p>Protection level: normal
8456         -->
8457    <permission android:name="android.permission.ENFORCE_UPDATE_OWNERSHIP"
8458                android:protectionLevel="normal" />
8459    <uses-permission android:name="android.permission.ENFORCE_UPDATE_OWNERSHIP" />
8460
8461
8462    <!-- Allows an application to take screenshots of layers that normally would be blacked out when
8463         a screenshot is taken. Specifically, layers that have the flag
8464         {@link android.view.SurfaceControl#SECURE} will be screenshot if the caller requests to
8465         capture secure layers. Normally those layers will be rendered black.
8466         <p>Not for use by third-party applications.
8467         @hide
8468    -->
8469    <permission android:name="android.permission.CAPTURE_BLACKOUT_CONTENT"
8470        android:protectionLevel="signature" />
8471
8472    <!-- @SystemApi Allows an application to query over global data in AppSearch.
8473           @hide -->
8474    <permission android:name="android.permission.READ_GLOBAL_APP_SEARCH_DATA"
8475                android:protectionLevel="internal|role" />
8476
8477    <!-- Allows an application to query over global data in AppSearch that's visible to the
8478         ASSISTANT role.  -->
8479    <permission android:name="android.permission.READ_ASSISTANT_APP_SEARCH_DATA"
8480        android:protectionLevel="internal|role" />
8481
8482    <!-- Allows an application to query over global data in AppSearch that's visible to the
8483         HOME role.  -->
8484    <permission android:name="android.permission.READ_HOME_APP_SEARCH_DATA"
8485        android:protectionLevel="internal|role" />
8486
8487    <!-- Allows an assistive application to perform actions on behalf of users inside of
8488         applications.
8489         <p>For now, this permission is only granted to the Assistant application selected by
8490         the user.
8491         <p>Protection level: internal|role
8492    -->
8493    <permission android:name="android.permission.EXECUTE_APP_ACTION"
8494                android:protectionLevel="internal|role" />
8495
8496    <!-- Must be required by an {@link android.app.appfunctions.AppFunctionService},
8497         to ensure that only the system can bind to it.
8498         <p>Protection level: signature
8499         @FlaggedApi("android.app.appfunctions.flags.enable_app_function_manager")  -->
8500    <permission android:name="android.permission.BIND_APP_FUNCTION_SERVICE"
8501        android:featureFlag="android.app.appfunctions.flags.enable_app_function_manager"
8502        android:protectionLevel="signature" />
8503
8504    <!-- Allows an application to perform actions on behalf of users inside of
8505         applications.
8506         <p>This permission is currently only granted to privileged system apps.
8507         <p>Protection level: internal|privileged
8508         @FlaggedApi(android.app.appfunctions.flags.Flags.FLAG_ENABLE_APP_FUNCTION_MANAGER)  -->
8509    <permission android:name="android.permission.EXECUTE_APP_FUNCTIONS"
8510        android:featureFlag="android.app.appfunctions.flags.enable_app_function_manager"
8511        android:protectionLevel="internal|privileged" />
8512
8513    <!-- Allows an application to display its suggestions using the autofill framework.
8514         <p>For now, this permission is only granted to the Browser application.
8515         <p>Protection level: internal|role
8516    -->
8517    <permission android:name="android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS"
8518                android:protectionLevel="internal|role" />
8519
8520    <!-- @SystemApi Allows an application to create virtual devices in VirtualDeviceManager.
8521         @hide -->
8522    <permission android:name="android.permission.CREATE_VIRTUAL_DEVICE"
8523                android:protectionLevel="internal|role" />
8524
8525    <!-- @SystemApi Must be required by a safety source to send an update using the
8526             {@link android.safetycenter.SafetyCenterManager}.
8527             <p>Protection level: internal|privileged
8528             @hide
8529        -->
8530    <permission android:name="android.permission.SEND_SAFETY_CENTER_UPDATE"
8531                android:protectionLevel="internal|privileged" />
8532
8533    <!-- @SystemApi Allows an application to launch device manager setup screens.
8534         <p>Not for use by third-party applications.
8535         @hide
8536    -->
8537    <permission android:name="android.permission.LAUNCH_DEVICE_MANAGER_SETUP"
8538        android:protectionLevel="signature|role" />
8539
8540    <!-- @SystemApi Allows an application to update certain device management related system
8541         resources.
8542         @hide -->
8543    <permission android:name="android.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES"
8544                android:protectionLevel="signature|role" />
8545
8546    <!-- @SystemApi Allows an app to read whether SafetyCenter is enabled/disabled.
8547             <p>Protection level: signature|privileged
8548             @hide
8549        -->
8550    <permission android:name="android.permission.READ_SAFETY_CENTER_STATUS"
8551        android:protectionLevel="signature|privileged" />
8552
8553    <!-- @SystemApi Required to access the safety center internal APIs using the
8554             {@link android.safetycenter.SafetyCenterManager}.
8555             <p>Protection level: internal|installer|role
8556             @hide
8557        -->
8558    <permission android:name="android.permission.MANAGE_SAFETY_CENTER"
8559                android:protectionLevel="internal|installer|role" />
8560
8561    <!-- @SystemApi Allows an application to access the AmbientContextEvent service.
8562         @hide
8563    -->
8564    <permission android:name="android.permission.ACCESS_AMBIENT_CONTEXT_EVENT"
8565                android:protectionLevel="signature|privileged|role"/>
8566
8567    <!-- @SystemApi Required by a AmbientContextEventDetectionService
8568         to ensure that only the service with this permission can bind to it.
8569         @hide
8570    -->
8571    <permission android:name="android.permission.BIND_AMBIENT_CONTEXT_DETECTION_SERVICE"
8572                android:protectionLevel="signature" />
8573
8574    <!-- @SystemApi Allows an app to set keep-clear areas without restrictions on the size or
8575        number of keep-clear areas (see {@link android.view.View#setPreferKeepClearRects}).
8576        When the system arranges floating windows onscreen, it might decide to ignore keep-clear
8577        areas from windows, whose owner does not have this permission.
8578        @hide
8579    -->
8580    <permission android:name="android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS"
8581                android:protectionLevel="signature|privileged" />
8582
8583    <!-- Allows an app to set gesture exclusion without restrictions on the vertical extent of the
8584         exclusions (see {@link android.view.View#setSystemGestureExclusionRects}).
8585         @hide
8586    -->
8587    <permission android:name="android.permission.SET_UNRESTRICTED_GESTURE_EXCLUSION"
8588                android:protectionLevel="signature|privileged|recents" />
8589
8590    <!-- @SystemApi Allows TV input apps and TV apps to use TIS extension interfaces for
8591         domain-specific features.
8592         <p>Protection level: signature|privileged|vendorPrivileged
8593         <p>Not for use by third-party applications.
8594         @hide
8595    -->
8596    <permission android:name="android.permission.TIS_EXTENSION_INTERFACE"
8597        android:protectionLevel="signature|privileged|vendorPrivileged" />
8598
8599    <!-- @SystemApi Allows an application to write to the security log buffer in logd.
8600         @hide -->
8601    <permission android:name="android.permission.WRITE_SECURITY_LOG"
8602        android:protectionLevel="signature|privileged" />
8603
8604    <!-- Allows an UID to be visible to the application based on an interaction between the
8605         two apps. This permission is not intended to be held by apps.
8606         @hide @TestApi @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES) -->
8607    <permission android:name="android.permission.MAKE_UID_VISIBLE"
8608                android:protectionLevel="signature" />
8609
8610    <!-- Limits the system as the only handler of the QUERY_PACKAGE_RESTART broadcast
8611         @hide -->
8612    <permission android:name="android.permission.HANDLE_QUERY_PACKAGE_RESTART"
8613                android:protectionLevel="signature" />
8614
8615    <!-- Allows low-level access to re-mapping modifier keys.
8616         <p>Not for use by third-party applications.
8617         @hide
8618         @TestApi -->
8619    <permission android:name="android.permission.REMAP_MODIFIER_KEYS"
8620                android:protectionLevel="signature" />
8621
8622    <!-- Allows low-level access to monitor keyboard backlight changes.
8623         <p>Not for use by third-party applications.
8624         @hide -->
8625    <permission android:name="android.permission.MONITOR_KEYBOARD_BACKLIGHT"
8626                android:protectionLevel="signature" />
8627
8628    <!-- Allows low-level access to monitor sticky modifier state changes when A11Y Sticky keys
8629         feature is enabled.
8630         <p>Not for use by third-party applications.
8631         @hide -->
8632    <permission android:name="android.permission.MONITOR_STICKY_MODIFIER_STATE"
8633                android:protectionLevel="signature" />
8634
8635    <!-- Allows low-level access to manage key gestures.
8636         <p>Not for use by third-party applications.
8637         @hide -->
8638    <permission android:name="android.permission.MANAGE_KEY_GESTURES"
8639                android:protectionLevel="signature"
8640                android:featureFlag="com.android.hardware.input.manage_key_gestures" />
8641
8642    <!-- Allows applications to register listeners for key activeness through
8643         InputManagerService.
8644         <p>Protection level: signature
8645         @hide -->
8646    <permission android:name="android.permission.LISTEN_FOR_KEY_ACTIVITY"
8647                android:protectionLevel="signature"
8648                android:featureFlag="com.android.hardware.input.key_event_activity_detection" />
8649
8650    <uses-permission android:name="android.permission.HANDLE_QUERY_PACKAGE_RESTART" />
8651
8652    <!-- Allows financed device kiosk apps to perform actions on the Device Lock service
8653         <p>Protection level: internal|role
8654         <p>Intended for use by the FINANCED_DEVICE_KIOSK role only.
8655    -->
8656    <permission android:name="android.permission.MANAGE_DEVICE_LOCK_STATE"
8657                android:protectionLevel="internal|role" />
8658
8659    <!-- @SystemApi Required by a WearableSensingService to
8660          ensure that only the caller with this permission can bind to it.
8661          <p> Protection level: signature
8662     @hide
8663    -->
8664    <permission android:name="android.permission.BIND_WEARABLE_SENSING_SERVICE"
8665                android:protectionLevel="signature" />
8666
8667    <!-- @SystemApi Allows an app to manage the wearable sensing service.
8668             <p>Protection level: signature|privileged
8669             @hide
8670        -->
8671    <permission android:name="android.permission.MANAGE_WEARABLE_SENSING_SERVICE"
8672                android:protectionLevel="signature|privileged" />
8673
8674    <!-- @SystemApi Allows an app to use the on-device intelligence service.
8675             <p>Protection level: signature|privileged
8676             @hide
8677         @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence")
8678        -->
8679    <permission android:name="android.permission.USE_ON_DEVICE_INTELLIGENCE"
8680        android:protectionLevel="signature|privileged" />
8681
8682
8683    <!-- @SystemApi Allows an app to bind the on-device intelligence service.
8684             <p>Protection level: signature|privileged
8685             @hide
8686         @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence")
8687        -->
8688    <permission android:name="android.permission.BIND_ON_DEVICE_INTELLIGENCE_SERVICE"
8689        android:protectionLevel="signature|privileged" />
8690
8691
8692    <!-- @SystemApi Allows an app to bind the on-device sandboxed service.
8693             <p>Protection level: signature|privileged
8694             @hide
8695         @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence")
8696        -->
8697    <permission android:name="android.permission.BIND_ON_DEVICE_SANDBOXED_INFERENCE_SERVICE"
8698        android:protectionLevel="signature"/>
8699
8700
8701    <!-- Allows applications to use the user-initiated jobs API. For more details
8702         see {@link android.app.job.JobInfo.Builder#setUserInitiated}.
8703         <p>Protection level: normal
8704     -->
8705    <permission android:name="android.permission.RUN_USER_INITIATED_JOBS"
8706                android:protectionLevel="normal"/>
8707
8708    <!-- Allows an app access to the installer provided app metadata.
8709        @SystemApi
8710        @hide
8711      -->
8712    <permission android:name="android.permission.GET_APP_METADATA"
8713                android:protectionLevel="signature|installer|verifier" />
8714
8715    <!-- @hide @SystemApi Allows an application to stage HealthConnect's remote data so that
8716         HealthConnect can later integrate it. -->
8717    <permission android:name="android.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA"
8718                android:protectionLevel="signature|knownSigner"
8719                android:knownCerts="@array/config_healthConnectRestoreKnownSigners"/>
8720
8721    <!-- @hide @TestApi Allows an application to clear HealthConnect's staged remote data for
8722         testing only. For security reasons, this is a platform-only permission. -->
8723    <permission android:name="android.permission.DELETE_STAGED_HEALTH_CONNECT_REMOTE_DATA"
8724                android:protectionLevel="signature" />
8725
8726    <!-- @hide @TestApi Allows tests running in CTS-in-sandbox mode to launch activities -->
8727    <permission android:name="android.permission.START_ACTIVITIES_FROM_SDK_SANDBOX"
8728                android:protectionLevel="signature" />
8729
8730    <!-- @SystemApi Allows the holder to call health connect migration APIs.
8731        @hide -->
8732    <permission android:name="android.permission.MIGRATE_HEALTH_CONNECT_DATA"
8733        android:protectionLevel="signature|knownSigner"
8734        android:knownCerts="@array/config_healthConnectMigrationKnownSigners" />
8735
8736    <!-- @hide @SystemApi Allows permitted apps to back up Health Connect data and settings.
8737             <p>Protection level: signature|knownSigner
8738         @FlaggedApi("android.permission.flags.health_connect_backup_restore_permission_enabled")
8739    -->
8740    <permission
8741        android:name="android.permission.BACKUP_HEALTH_CONNECT_DATA_AND_SETTINGS"
8742        android:protectionLevel="signature|knownSigner"
8743        android:knownCerts="@array/config_backupHealthConnectDataAndSettingsKnownSigners"
8744        android:featureFlag="android.permission.flags.health_connect_backup_restore_permission_enabled" />
8745
8746    <!-- @hide @SystemApi Allows permitted apps to restore Health Connect data and settings.
8747             <p>Protection level: signature|knownSigner
8748         @FlaggedApi("android.permission.flags.health_connect_backup_restore_permission_enabled")
8749    -->
8750    <permission
8751        android:name="android.permission.RESTORE_HEALTH_CONNECT_DATA_AND_SETTINGS"
8752        android:protectionLevel="signature|knownSigner"
8753        android:knownCerts="@array/config_restoreHealthConnectDataAndSettingsKnownSigners"
8754        android:featureFlag="android.permission.flags.health_connect_backup_restore_permission_enabled" />
8755
8756    <!-- @SystemApi Allows an app to query apps in clone profile. The permission is
8757         bidirectional in nature, i.e. cloned apps would be able to query apps in root user.
8758         The permission is not meant for 3P apps as of now.
8759         <p>Protection level: signature|privileged
8760         @hide
8761    -->
8762    <permission android:name="android.permission.QUERY_CLONED_APPS"
8763                android:protectionLevel="signature|privileged" />
8764
8765    <!-- @hide @SystemApi
8766         Allows applications to capture bugreport directly without consent dialog when using the
8767         bugreporting API on userdebug/eng build.
8768         <p>The application still needs to hold {@link android.permission.DUMP} permission and be
8769         bugreport-whitelisted to be able to capture a bugreport using the bugreporting API in the
8770         first place. Then, when the corresponding app op of this permission is ALLOWED, the
8771         bugreport can be captured directly without going through the consent dialog.
8772         <p>Protection level: internal|appop
8773         <p>Intended to only be used on userdebug/eng build.
8774         <p>Not for use by third-party applications. -->
8775    <permission android:name="android.permission.CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD"
8776                android:protectionLevel="internal|appop" />
8777
8778    <!-- @hide @SystemApi
8779         @FlaggedApi(android.os.Flags.FLAG_ALLOW_CONSENTLESS_BUGREPORT_DELEGATED_CONSENT)
8780         Allows system applications to capture bugreport directly without consent dialog when using
8781         the bugreporting API, and instead use the applications-owned consent page.
8782         <p>The application still needs to hold {@link android.permission.DUMP} permission and be
8783         bugreport-whitelisted to be able to capture a bugreport using the bugreporting API in the
8784         first place.
8785         <p>Protection level: signature|privileged
8786         <p>Not for use by third-party applications. -->
8787    <permission
8788        android:name="android.permission.CAPTURE_CONSENTLESS_BUGREPORT_DELEGATED_CONSENT"
8789        android:protectionLevel="signature|privileged"
8790        android:featureFlag="android.os.allow_consentless_bugreport_delegated_consent" />
8791
8792    <!-- @SystemApi Allows to call APIs that log process lifecycle events
8793         @hide -->
8794    <permission android:name="android.permission.LOG_FOREGROUND_RESOURCE_USE"
8795                android:protectionLevel="signature|module" />
8796
8797    <!-- @hide Allows the settings app to access GPU service APIs".
8798        <p>Not for use by third-party applications.
8799        <p>Protection level: signature
8800    -->
8801    <permission android:name="android.permission.ACCESS_GPU_SERVICE"
8802                android:protectionLevel="signature" />
8803
8804    <!-- @hide Allows an application to get type of any provider uri.
8805         <p>Not for use by third-party applications.
8806         <p>Protection level: signature
8807    -->
8808    <permission android:name="android.permission.GET_ANY_PROVIDER_TYPE"
8809                android:protectionLevel="signature" />
8810
8811
8812    <!-- @hide Allows internal applications to read and synchronize non-core flags.
8813         Apps without this permission can only read a subset of flags specifically intended
8814         for use in "core", (i.e. third party apps). Apps with this permission can define their
8815         own flags, and federate those values with other system-level apps.
8816         <p>Not for use by third-party applications.
8817         <p>Protection level: signature
8818    -->
8819    <permission android:name="android.permission.SYNC_FLAGS"
8820        android:protectionLevel="signature" />
8821
8822    <!-- @hide Allows internal applications to override flags in the FeatureFlags service.
8823         <p>Not for use by third-party applications.
8824         <p>Protection level: signature
8825    -->
8826    <permission android:name="android.permission.WRITE_FLAGS"
8827        android:protectionLevel="signature" />
8828
8829    <!-- @hide @SystemApi
8830         @FlaggedApi("android.app.get_binding_uid_importance")
8831         Allows to get the importance of an UID that has a service
8832         binding to the app.
8833         <p>Protection level: signature|privileged
8834    -->
8835    <permission android:name="android.permission.GET_BINDING_UID_IMPORTANCE"
8836        android:protectionLevel="signature|privileged" />
8837
8838    <!-- @hide Allows internal applications to manage displays.
8839        <p>This means intercept internal signals about displays being (dis-)connected
8840        and being able to enable or disable the external displays.
8841        <p>Not for use by third-party applications.
8842        <p>Protection level: signature
8843    -->
8844    <permission android:name="android.permission.MANAGE_DISPLAYS"
8845        android:protectionLevel="signature" />
8846
8847    <!-- @SystemApi Allows an app to track all preparations for a complete factory reset.
8848     <p>Protection level: signature|privileged
8849     @FlaggedApi("android.permission.flags.factory_reset_prep_permission_apis")
8850     @hide -->
8851    <permission android:name="android.permission.PREPARE_FACTORY_RESET"
8852        android:protectionLevel="signature|privileged" />
8853
8854    <!-- @SystemApi Allows focused window to override the default behavior of supported system keys.
8855        The following keycodes are supported:
8856        <p> KEYCODE_STEM_PRIMARY
8857        <p>If an app is granted this permission and has a focused window, it will be allowed to
8858           receive supported key events that are otherwise handled by the system. The app can choose
8859           to consume the key events and trigger its own behavior, in which case the default key
8860           behavior will be skipped.
8861        <p>For example, KEYCODE_STEM_PRIMARY by default opens recent app launcher. If the foreground
8862           fitness app is granted this permission, it can repurpose the KEYCODE_STEM_PRIMARY button
8863           to pause/resume the current fitness session.
8864        <p>Protection level: signature|privileged
8865        @FlaggedApi("com.android.input.flags.override_key_behavior_permission_apis")
8866        @hide -->
8867    <permission android:name="android.permission.OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW"
8868        android:protectionLevel="signature|privileged" />
8869
8870    <!-- @hide @SystemApi
8871        @FlaggedApi("android.view.flags.sensitive_content_app_protection_api")
8872        Allows apps with a NotificationListenerService to receive notifications with sensitive
8873        information
8874        <p>Apps with a NotificationListenerService without this permission will not be able
8875        to view certain types of sensitive information contained in notifications
8876        <p>Protection level: signature|role
8877    -->
8878    <permission android:name="android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS"
8879        android:protectionLevel="signature|role" />
8880
8881    <!-- @SystemApi
8882         @FlaggedApi("android.app.bic_client")
8883         Allows app to call BackgroundInstallControlManager API to retrieve silently installed apps
8884         for all users on device.
8885         <p>Apps with a BackgroundInstallControlManager client will not be able to call any API without
8886         this permission.
8887         <p>Protection level: signature|role
8888         @hide
8889     -->
8890    <permission android:name="android.permission.GET_BACKGROUND_INSTALLED_PACKAGES"
8891        android:protectionLevel="signature|role" />
8892
8893    <!-- @SystemApi Allows an application to read the system grammatical gender.
8894         @FlaggedApi("android.app.system_terms_of_address_enabled")
8895         <p>Protection level: signature|privileged
8896         @hide
8897    -->
8898    <permission android:name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER"
8899                android:protectionLevel="signature|privileged"/>
8900
8901    <!-- @SystemApi
8902        @FlaggedApi("android.content.pm.emergency_install_permission")
8903        Allows each app store in the system image to designate another app in the system image to
8904        update the app store
8905        <p>Protection level: signature|privileged
8906        @hide
8907    -->
8908    <permission android:name="android.permission.EMERGENCY_INSTALL_PACKAGES"
8909                android:protectionLevel="signature|privileged"/>
8910
8911    <!-- Allows internal applications to restrict display modes
8912       <p>Not for use by third-party applications.
8913       <p>Protection level: signature
8914       @hide
8915    -->
8916    <permission android:name="android.permission.RESTRICT_DISPLAY_MODES"
8917        android:protectionLevel="signature" />
8918
8919    <!-- Allows internal applications to override screen timeout temporarily
8920        <p>Protection level: signature
8921        <p>Not for use by third-party applications.
8922        @FlaggedApi("com.android.server.power.feature.flags.enable_early_screen_timeout_detector")
8923        @hide
8924    -->
8925    <permission android:name="android.permission.SCREEN_TIMEOUT_OVERRIDE"
8926                android:protectionLevel="signature" />
8927
8928    <!-- @SystemApi
8929        @FlaggedApi("android.security.fsverity_api")
8930        Allows app to setup fs-verity through FileIntegrityManager.
8931        <p>Protection level: signature|privileged
8932        @hide
8933    -->
8934    <permission android:name="android.permission.SETUP_FSVERITY"
8935                android:protectionLevel="signature|privileged"/>
8936
8937    <!-- @SystemApi
8938        @FlaggedApi(android.security.Flags.FLAG_SECURE_LOCKDOWN)
8939        Allows an application to lock down the device into an enhanced security state.
8940        <p>Not for use by third-party applications.
8941        <p>Protection level: signature|privileged
8942        @hide
8943    -->
8944    <permission android:name="android.permission.MANAGE_SECURE_LOCK_DEVICE"
8945        android:protectionLevel="signature|privileged"
8946        android:featureFlag="android.security.secure_lockdown" />
8947
8948    <!-- Allows app to enter trade-in-mode.
8949        <p>Protection level: signature
8950        @hide
8951    -->
8952    <permission android:name="android.permission.ENTER_TRADE_IN_MODE"
8953                android:protectionLevel="signature|privileged"
8954                android:featureFlag="com.android.tradeinmode.flags.enable_trade_in_mode" />
8955
8956    <!-- @SystemApi
8957        @FlaggedApi(com.android.art.flags.Flags.FLAG_EXECUTABLE_METHOD_FILE_OFFSETS)
8958        Ability to read program metadata and attach dynamic instrumentation.
8959        <p>Protection level: signature
8960        @hide
8961    -->
8962    <permission android:name="android.permission.DYNAMIC_INSTRUMENTATION"
8963                android:protectionLevel="signature"
8964                android:featureFlag="com.android.art.flags.executable_method_file_offsets" />
8965
8966    <!--
8967        @SystemApi
8968        @FlaggedApi(android.content.pm.Flags.FLAG_UID_BASED_PROVIDER_LOOKUP)
8969        Allows an app to resolve components (e.g ContentProviders) on behalf of
8970        other UIDs
8971        <p>Protection level: signature|privileged
8972        @hide
8973   -->
8974    <permission
8975        android:name="android.permission.RESOLVE_COMPONENT_FOR_UID"
8976        android:protectionLevel="signature|privileged"
8977        android:featureFlag="android.content.pm.uid_based_provider_lookup" />
8978    <uses-permission android:name="android.permission.RESOLVE_COMPONENT_FOR_UID" />
8979
8980    <!--
8981        @TestApi
8982        Signature permission reserved for testing. This should never be used to
8983        gate any actual functionality.
8984        <p>
8985        Protection level: signature
8986        @hide
8987    -->
8988    <permission android:name="android.permission.RESERVED_FOR_TESTING_SIGNATURE"
8989                android:protectionLevel="signature"/>
8990
8991    <!-- @SystemApi
8992        @FlaggedApi("android.media.tv.flags.kids_mode_tvdb_sharing")
8993        This permission is required when accessing information related to
8994        singleUser-ed TIS session.
8995        <p>This should only be used by OEM.
8996        <p>Protection level: signature|privileged|vendorPrivileged
8997        @hide
8998    -->
8999    <permission android:name="android.permission.SINGLE_USER_TIS_ACCESS"
9000        android:protectionLevel="signature|privileged|vendorPrivileged"
9001        android:featureFlag="android.media.tv.flags.kids_mode_tvdb_sharing"/>
9002
9003    <!-- @SystemApi
9004        @FlaggedApi("android.permission.flags.text_classifier_choice_api_enabled")
9005        This permission is required to access the specific text classifier from the
9006        TextClassificationManager.
9007        <p>Protection level: signature|role|privileged
9008    @hide
9009    -->
9010    <permission android:name="android.permission.ACCESS_TEXT_CLASSIFIER_BY_TYPE"
9011        android:protectionLevel="signature|role|privileged"
9012        android:featureFlag="android.permission.flags.text_classifier_choice_api_enabled"/>
9013
9014    <!-- Attribution for Geofencing service. -->
9015    <attribution android:tag="GeofencingService" android:label="@string/geofencing_service"/>
9016    <!-- Attribution for Country Detector. -->
9017    <attribution android:tag="CountryDetector" android:label="@string/country_detector"/>
9018    <!-- Attribution for Location service. -->
9019    <attribution android:tag="LocationService" android:label="@string/location_service"/>
9020    <!-- Attribution for Gnss service. -->
9021    <attribution android:tag="GnssService" android:label="@string/gnss_service"/>
9022    <!-- Attribution for Sensor Notification service. -->
9023    <attribution android:tag="SensorNotificationService"
9024             android:label="@string/sensor_notification_service"/>
9025    <!-- Attribution for Twilight service. -->
9026    <attribution android:tag="TwilightService" android:label="@string/twilight_service"/>
9027    <!-- Attribution for Gnss Time Update service. -->
9028    <attribution android:tag="GnssTimeUpdateService"
9029                 android:label="@string/gnss_time_update_service"/>
9030    <!-- Attribution for MusicRecognitionManagerService.
9031         <p>Not for use by third-party applications.</p> -->
9032    <attribution android:tag="MusicRecognitionManagerService"
9033        android:label="@string/music_recognition_manager_service"/>
9034    <!-- Attribution for Device Policy Manager service. -->
9035    <attribution android:tag="DevicePolicyManagerService"
9036        android:label="@string/device_policy_manager_service"/>
9037
9038    <application android:process="system"
9039                 android:persistent="true"
9040                 android:hasCode="false"
9041                 android:label="@string/android_system_label"
9042                 android:allowClearUserData="false"
9043                 android:backupAgent="com.android.server.backup.SystemBackupAgent"
9044                 android:killAfterRestore="false"
9045                 android:icon="@drawable/ic_launcher_android"
9046                 android:supportsRtl="true"
9047                 android:theme="@style/Theme.DeviceDefault.Light.DarkActionBar"
9048                 android:defaultToDeviceProtectedStorage="true"
9049                 android:forceQueryable="true"
9050                 android:directBootAware="true">
9051        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityShortcutChooserActivity"
9052                  android:exported="false"
9053                  android:theme="@style/Theme.DeviceDefault.Dialog.Alert.DayNight"
9054                  android:finishOnCloseSystemDialogs="true"
9055                  android:excludeFromRecents="true"
9056                  android:documentLaunchMode="never"
9057                  android:relinquishTaskIdentity="true"
9058                  android:process=":ui"
9059                  android:visibleToInstantApps="true">
9060            <intent-filter>
9061                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
9062                <category android:name="android.intent.category.DEFAULT" />
9063            </intent-filter>
9064        </activity>
9065        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityButtonChooserActivity"
9066                  android:exported="false"
9067                  android:theme="@style/AccessibilityButtonChooserDialog"
9068                  android:finishOnCloseSystemDialogs="true"
9069                  android:excludeFromRecents="true"
9070                  android:documentLaunchMode="never"
9071                  android:relinquishTaskIdentity="true"
9072                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
9073                  android:process=":ui"
9074                  android:visibleToInstantApps="true">
9075            <intent-filter>
9076                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
9077                <category android:name="android.intent.category.DEFAULT" />
9078            </intent-filter>
9079        </activity>
9080        <activity android:name="com.android.internal.app.NfcResolverActivity"
9081                android:theme="@style/Theme.Dialog.Alert"
9082                android:finishOnCloseSystemDialogs="true"
9083                android:excludeFromRecents="true"
9084                android:multiprocess="true"
9085                android:permission="android.permission.SHOW_CUSTOMIZED_RESOLVER"
9086                android:exported="true">
9087            <intent-filter android:priority="100" >
9088                <action android:name="android.nfc.action.SHOW_NFC_RESOLVER" />
9089                <category android:name="android.intent.category.DEFAULT" />
9090            </intent-filter>
9091        </activity>
9092        <activity android:name="com.android.internal.app.IntentForwarderActivity"
9093                android:finishOnCloseSystemDialogs="true"
9094                android:theme="@style/Theme.DeviceDefault.Resolver"
9095                android:excludeFromRecents="true"
9096                android:documentLaunchMode="never"
9097                android:relinquishTaskIdentity="true"
9098                android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
9099                android:label="@string/user_owner_label"
9100                android:exported="true"
9101                android:visibleToInstantApps="true"
9102                >
9103        </activity>
9104        <activity-alias android:name="com.android.internal.app.ForwardIntentToParent"
9105                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
9106                android:exported="true"
9107                android:label="@string/user_owner_label">
9108        </activity-alias>
9109        <activity-alias android:name="com.android.internal.app.ForwardIntentToManagedProfile"
9110                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
9111                android:icon="@drawable/ic_corp_badge"
9112                android:exported="true"
9113                android:label="@string/managed_profile_label">
9114        </activity-alias>
9115        <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
9116                android:theme="@style/Theme.DeviceDefault.System.Dialog.Alert"
9117                android:label="@string/heavy_weight_switcher_title"
9118                android:finishOnCloseSystemDialogs="true"
9119                android:excludeFromRecents="true"
9120                android:process=":ui">
9121        </activity>
9122        <activity android:name="com.android.internal.app.PlatLogoActivity"
9123                android:theme="@style/Theme.NoTitleBar.Fullscreen"
9124                android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
9125                android:enableOnBackInvokedCallback="true"
9126                android:icon="@drawable/platlogo"
9127                android:process=":ui">
9128        </activity>
9129        <activity android:name="com.android.internal.app.DisableCarModeActivity"
9130                android:theme="@style/Theme.NoDisplay"
9131                android:excludeFromRecents="true"
9132                android:process=":ui">
9133        </activity>
9134
9135        <activity android:name="android.accounts.ChooseAccountActivity"
9136                android:excludeFromRecents="true"
9137                android:exported="true"
9138                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
9139                android:label="@string/choose_account_label"
9140                android:process=":ui"
9141                android:visibleToInstantApps="true">
9142        </activity>
9143
9144        <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
9145                android:excludeFromRecents="true"
9146                android:exported="true"
9147                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
9148                android:label="@string/choose_account_label"
9149                android:process=":ui"
9150                android:visibleToInstantApps="true">
9151        </activity>
9152
9153        <activity android:name="android.accounts.ChooseAccountTypeActivity"
9154                android:excludeFromRecents="true"
9155                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
9156                android:label="@string/choose_account_label"
9157                android:process=":ui"
9158                android:visibleToInstantApps="true">
9159        </activity>
9160
9161        <activity android:name="android.accounts.CantAddAccountActivity"
9162                android:excludeFromRecents="true"
9163                android:exported="true"
9164                android:theme="@style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
9165                android:process=":ui">
9166        </activity>
9167
9168        <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
9169                android:excludeFromRecents="true"
9170                android:exported="true"
9171                android:theme="@style/GrantCredentialsPermissionActivity"
9172                android:process=":ui"
9173                android:visibleToInstantApps="true">
9174        </activity>
9175
9176        <activity android:name="android.content.SyncActivityTooManyDeletes"
9177               android:theme="@style/Theme.DeviceDefault.Light.Dialog"
9178               android:label="@string/sync_too_many_deletes"
9179               android:process=":ui">
9180        </activity>
9181
9182        <activity android:name="com.android.internal.app.ShutdownActivity"
9183            android:permission="android.permission.SHUTDOWN"
9184            android:theme="@style/Theme.NoDisplay"
9185            android:exported="true"
9186            android:excludeFromRecents="true">
9187            <intent-filter>
9188                <action android:name="com.android.internal.intent.action.REQUEST_SHUTDOWN" />
9189                <category android:name="android.intent.category.DEFAULT" />
9190            </intent-filter>
9191            <intent-filter>
9192                <action android:name="android.intent.action.REBOOT" />
9193                <category android:name="android.intent.category.DEFAULT" />
9194            </intent-filter>
9195        </activity>
9196
9197        <activity android:name="com.android.internal.app.SystemUserHomeActivity"
9198                  android:enabled="false"
9199                  android:process=":ui"
9200                  android:systemUserOnly="true"
9201                  android:exported="true"
9202                  android:theme="@style/Theme.Translucent.NoTitleBar">
9203            <intent-filter android:priority="-100">
9204                <action android:name="android.intent.action.MAIN" />
9205                <category android:name="android.intent.category.HOME" />
9206            </intent-filter>
9207        </activity>
9208
9209        <!-- Activity to prompt user if it's ok to create a new user sandbox for a
9210             specified account. -->
9211        <activity android:name="com.android.internal.app.ConfirmUserCreationActivity"
9212                android:excludeFromRecents="true"
9213                android:process=":ui"
9214                android:exported="true"
9215                android:theme="@style/Theme.Dialog.Confirmation">
9216            <intent-filter android:priority="1000">
9217                <action android:name="android.os.action.CREATE_USER" />
9218                <category android:name="android.intent.category.DEFAULT" />
9219            </intent-filter>
9220        </activity>
9221
9222        <activity android:name="com.android.internal.app.SuspendedAppActivity"
9223                  android:theme="@style/Theme.Dialog.Confirmation"
9224                  android:excludeFromRecents="true"
9225                  android:process=":ui">
9226        </activity>
9227
9228        <activity android:name="com.android.internal.app.UnlaunchableAppActivity"
9229                android:theme="@style/Theme.Dialog.Confirmation"
9230                android:excludeFromRecents="true"
9231                android:process=":ui">
9232        </activity>
9233
9234        <activity android:name="com.android.internal.app.SetScreenLockDialogActivity"
9235                  android:theme="@style/Theme.Dialog.Confirmation"
9236                  android:excludeFromRecents="true"
9237                  android:process=":ui">
9238        </activity>
9239
9240        <activity android:name="com.android.internal.app.BlockedAppActivity"
9241                android:theme="@style/Theme.Dialog.Confirmation"
9242                android:excludeFromRecents="true"
9243                android:lockTaskMode="always"
9244                android:process=":ui">
9245        </activity>
9246
9247        <!-- BlockedAppStreamingActivity is launched as the system user. -->
9248        <activity android:name="com.android.internal.app.BlockedAppStreamingActivity"
9249            android:theme="@style/Theme.Dialog.Confirmation"
9250            android:excludeFromRecents="true"
9251            android:showForAllUsers="true"
9252            android:process=":ui">
9253        </activity>
9254
9255        <activity android:name="com.android.internal.app.LaunchAfterAuthenticationActivity"
9256                  android:theme="@style/Theme.Translucent.NoTitleBar"
9257                  android:excludeFromRecents="true"
9258                  android:process=":ui">
9259        </activity>
9260
9261        <activity android:name="com.android.settings.notification.NotificationAccessConfirmationActivity"
9262                  android:theme="@style/Theme.Dialog.Confirmation"
9263                  android:excludeFromRecents="true">
9264        </activity>
9265
9266        <activity android:name="com.android.internal.app.HarmfulAppWarningActivity"
9267                  android:theme="@style/Theme.Dialog.Confirmation"
9268                  android:excludeFromRecents="true"
9269                  android:process=":ui"
9270                  android:label="@string/harmful_app_warning_title"
9271                  android:exported="false">
9272        </activity>
9273
9274        <activity android:name="com.android.server.notification.NASLearnMoreActivity"
9275                  android:theme="@style/Theme.Dialog.Confirmation"
9276                  android:excludeFromRecents="true"
9277                  android:exported="false">
9278        </activity>
9279
9280        <activity android:name="android.service.games.GameSessionTrampolineActivity"
9281                  android:excludeFromRecents="true"
9282                  android:exported="true"
9283                  android:permission="android.permission.MANAGE_GAME_ACTIVITY"
9284                  android:theme="@style/Theme.GameSessionTrampoline">
9285        </activity>
9286
9287        <receiver android:name="com.android.server.BootReceiver"
9288                android:exported="true"
9289                android:systemUserOnly="true">
9290            <intent-filter android:priority="1000">
9291                <action android:name="android.intent.action.BOOT_COMPLETED" />
9292            </intent-filter>
9293        </receiver>
9294
9295        <receiver android:name="com.android.server.updates.CertPinInstallReceiver"
9296                android:exported="true"
9297                android:systemUserOnly="true"
9298                android:permission="android.permission.UPDATE_CONFIG">
9299            <intent-filter>
9300                <action android:name="android.intent.action.UPDATE_PINS" />
9301                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9302            </intent-filter>
9303            <intent-filter>
9304                <action android:name="android.intent.action.BOOT_COMPLETED" />
9305            </intent-filter>
9306        </receiver>
9307
9308        <receiver android:name="com.android.server.updates.IntentFirewallInstallReceiver"
9309                android:exported="true"
9310                android:permission="android.permission.UPDATE_CONFIG">
9311            <intent-filter>
9312                <action android:name="android.intent.action.UPDATE_INTENT_FIREWALL" />
9313                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9314            </intent-filter>
9315        </receiver>
9316
9317        <receiver android:name="com.android.server.updates.SmsShortCodesInstallReceiver"
9318                android:exported="true"
9319                android:permission="android.permission.UPDATE_CONFIG">
9320            <intent-filter>
9321                <action android:name="android.intent.action.UPDATE_SMS_SHORT_CODES" />
9322                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9323            </intent-filter>
9324        </receiver>
9325
9326        <receiver android:name="com.android.server.updates.NetworkWatchlistInstallReceiver"
9327                  android:exported="true"
9328                  android:permission="android.permission.UPDATE_CONFIG">
9329            <intent-filter>
9330                <action android:name="android.intent.action.UPDATE_NETWORK_WATCHLIST" />
9331                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9332            </intent-filter>
9333        </receiver>
9334
9335        <receiver android:name="com.android.server.updates.ApnDbInstallReceiver"
9336                android:exported="true"
9337                android:permission="android.permission.UPDATE_CONFIG">
9338            <intent-filter>
9339                <action android:name="com.android.internal.intent.action.UPDATE_APN_DB" />
9340                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9341            </intent-filter>
9342        </receiver>
9343
9344        <receiver android:name="com.android.server.updates.CarrierProvisioningUrlsInstallReceiver"
9345                android:exported="true"
9346                android:permission="android.permission.UPDATE_CONFIG">
9347            <intent-filter>
9348                <action android:name="android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS" />
9349                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9350            </intent-filter>
9351        </receiver>
9352
9353        <receiver android:name="com.android.server.updates.LangIdInstallReceiver"
9354                android:exported="true"
9355                android:permission="android.permission.UPDATE_CONFIG">
9356            <intent-filter>
9357                <action android:name="android.intent.action.UPDATE_LANG_ID" />
9358                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9359            </intent-filter>
9360        </receiver>
9361
9362        <receiver android:name="com.android.server.updates.SmartSelectionInstallReceiver"
9363                android:exported="true"
9364                android:permission="android.permission.UPDATE_CONFIG">
9365            <intent-filter>
9366                <action android:name="android.intent.action.UPDATE_SMART_SELECTION" />
9367                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9368            </intent-filter>
9369        </receiver>
9370
9371        <receiver android:name="com.android.server.updates.ConversationActionsInstallReceiver"
9372                  android:exported="true"
9373                  android:permission="android.permission.UPDATE_CONFIG">
9374            <intent-filter>
9375                <action android:name="android.intent.action.UPDATE_CONVERSATION_ACTIONS" />
9376                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9377            </intent-filter>
9378        </receiver>
9379
9380        <receiver android:name="com.android.server.updates.CarrierIdInstallReceiver"
9381                  android:exported="true"
9382                  android:permission="android.permission.UPDATE_CONFIG">
9383            <intent-filter>
9384                <action android:name="android.os.action.UPDATE_CARRIER_ID_DB" />
9385                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9386            </intent-filter>
9387        </receiver>
9388
9389        <receiver android:name="com.android.server.updates.EmergencyNumberDbInstallReceiver"
9390                  android:exported="true"
9391                  android:permission="android.permission.UPDATE_CONFIG">
9392            <intent-filter>
9393                <action android:name="android.os.action.UPDATE_EMERGENCY_NUMBER_DB" />
9394                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9395            </intent-filter>
9396        </receiver>
9397
9398        <receiver android:name="com.android.server.MasterClearReceiver"
9399            android:exported="true"
9400            android:permission="android.permission.MASTER_CLEAR">
9401            <intent-filter
9402                    android:priority="100" >
9403                <!-- For Checkin, Settings, etc.: action=FACTORY_RESET -->
9404                <action android:name="android.intent.action.FACTORY_RESET" />
9405                <!-- As above until all the references to the deprecated MASTER_CLEAR get updated to
9406                     FACTORY_RESET. -->
9407                <action android:name="android.intent.action.MASTER_CLEAR" />
9408
9409                <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
9410                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
9411                <category android:name="android.intent.category.MASTER_CLEAR" />
9412            </intent-filter>
9413        </receiver>
9414
9415        <receiver android:name="com.android.server.WallpaperUpdateReceiver"
9416                  android:exported="true"
9417                  android:permission="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY">
9418            <intent-filter>
9419                <action android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY"/>
9420            </intent-filter>
9421        </receiver>
9422
9423        <!-- Broadcast Receiver listens to sufficient verifier broadcast from Package Manager
9424            when installing new SDK. Verification of SDK code during installation time is run
9425            to determine compatibility with privacy sandbox restrictions. -->
9426        <receiver android:name="com.android.server.sdksandbox.SdkSandboxVerifierReceiver"
9427                 android:exported="false">
9428            <intent-filter>
9429                <action android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION"/>
9430            </intent-filter>
9431        </receiver>
9432
9433        <service android:name="android.hardware.location.GeofenceHardwareService"
9434            android:permission="android.permission.LOCATION_HARDWARE"
9435            android:exported="false" />
9436
9437        <service android:name="com.android.server.MountServiceIdler"
9438                 android:exported="true"
9439                 android:permission="android.permission.BIND_JOB_SERVICE" >
9440        </service>
9441
9442        <service android:name="com.android.server.SmartStorageMaintIdler"
9443                android:exported="true"
9444                android:permission="android.permission.BIND_JOB_SERVICE" >
9445        </service>
9446
9447        <service android:name="com.android.server.memory.ZramMaintenance"
9448                 android:exported="false"
9449                 android:permission="android.permission.BIND_JOB_SERVICE" >
9450        </service>
9451
9452        <service android:name="com.android.server.ZramWriteback"
9453                 android:exported="false"
9454                 android:permission="android.permission.BIND_JOB_SERVICE" >
9455        </service>
9456
9457        <service android:name="com.android.server.backup.FullBackupJob"
9458                 android:exported="true"
9459                 android:permission="android.permission.BIND_JOB_SERVICE" >
9460        </service>
9461
9462        <service android:name="com.android.server.backup.KeyValueBackupJob"
9463                 android:permission="android.permission.BIND_JOB_SERVICE" >
9464        </service>
9465
9466        <service android:name="com.android.server.content.SyncJobService"
9467                 android:permission="android.permission.BIND_JOB_SERVICE" >
9468        </service>
9469
9470        <service android:name="com.android.server.pm.BackgroundDexOptJobService"
9471                 android:exported="true"
9472                 android:permission="android.permission.BIND_JOB_SERVICE">
9473        </service>
9474
9475        <service android:name="com.android.server.pm.DynamicCodeLoggingService"
9476                 android:permission="android.permission.BIND_JOB_SERVICE">
9477        </service>
9478
9479        <service android:name="com.android.server.selinux.SelinuxAuditLogsService"
9480                 android:permission="android.permission.BIND_JOB_SERVICE">
9481        </service>
9482
9483        <service android:name="com.android.server.compos.IsolatedCompilationJobService"
9484                 android:permission="android.permission.BIND_JOB_SERVICE">
9485        </service>
9486
9487        <service android:name="com.android.system.virtualmachine.SecretkeeperJobService"
9488                 android:permission="android.permission.BIND_JOB_SERVICE">
9489        </service>
9490
9491        <service android:name="com.android.server.PruneInstantAppsJobService"
9492                 android:permission="android.permission.BIND_JOB_SERVICE" >
9493        </service>
9494
9495        <service android:name="com.android.server.storage.DiskStatsLoggingService"
9496                 android:permission="android.permission.BIND_JOB_SERVICE" >
9497        </service>
9498
9499        <service android:name="com.android.server.PreloadsFileCacheExpirationJobService"
9500                 android:permission="android.permission.BIND_JOB_SERVICE" >
9501        </service>
9502
9503        <service android:name="com.android.server.camera.CameraStatsJobService"
9504                 android:permission="android.permission.BIND_JOB_SERVICE" >
9505        </service>
9506
9507        <service android:name="com.android.server.usage.UsageStatsIdleService"
9508                 android:permission="android.permission.BIND_JOB_SERVICE" >
9509        </service>
9510
9511        <service android:name="com.android.server.net.watchlist.ReportWatchlistJobService"
9512                 android:permission="android.permission.BIND_JOB_SERVICE" >
9513        </service>
9514
9515        <service android:name="com.android.server.display.BrightnessIdleJob"
9516                 android:permission="android.permission.BIND_JOB_SERVICE" >
9517        </service>
9518
9519        <service android:name="com.android.server.people.data.DataMaintenanceService"
9520                 android:permission="android.permission.BIND_JOB_SERVICE" >
9521        </service>
9522
9523        <service android:name="com.android.server.profcollect.ProfcollectForwardingService$PeriodicTraceJobService"
9524                 android:permission="android.permission.BIND_JOB_SERVICE" >
9525        </service>
9526
9527        <service android:name="com.android.server.profcollect.ProfcollectForwardingService$ReportProcessJobService"
9528                 android:permission="android.permission.BIND_JOB_SERVICE" >
9529        </service>
9530
9531        <service android:name="com.android.server.pm.GentleUpdateHelper$Service"
9532            android:permission="android.permission.BIND_JOB_SERVICE" >
9533        </service>
9534
9535        <service
9536                android:name="com.android.server.autofill.AutofillCompatAccessibilityService"
9537                android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
9538                android:visibleToInstantApps="true"
9539                android:exported="true">
9540            <meta-data
9541                    android:name="android.accessibilityservice"
9542                    android:resource="@xml/autofill_compat_accessibility_service" />
9543        </service>
9544
9545        <service android:name="com.android.server.blob.BlobStoreIdleJobService"
9546                 android:permission="android.permission.BIND_JOB_SERVICE">
9547        </service>
9548
9549        <service android:name="com.android.server.companion.association.InactiveAssociationsRemovalService"
9550                 android:permission="android.permission.BIND_JOB_SERVICE">
9551        </service>
9552
9553        <service android:name="com.android.server.appsearch.contactsindexer.ContactsIndexerMaintenanceService"
9554                 android:permission="android.permission.BIND_JOB_SERVICE">
9555        </service>
9556
9557        <service android:name="com.android.server.BinaryTransparencyService$UpdateMeasurementsJobService"
9558                 android:permission="android.permission.BIND_JOB_SERVICE">
9559        </service>
9560
9561        <service android:name="com.android.server.notification.ReviewNotificationPermissionsJobService"
9562                 android:permission="android.permission.BIND_JOB_SERVICE">
9563        </service>
9564
9565        <service android:name="com.android.server.notification.NotificationHistoryJobService"
9566                 android:permission="android.permission.BIND_JOB_SERVICE" >
9567        </service>
9568
9569        <service android:name="com.android.server.notification.NotificationBitmapJobService"
9570            android:permission="android.permission.BIND_JOB_SERVICE" >
9571        </service>
9572
9573        <service android:name="com.android.server.healthconnect.HealthConnectDailyService"
9574                 android:permission="android.permission.BIND_JOB_SERVICE" >
9575        </service>
9576
9577        <service android:name="com.android.server.healthconnect.migration.MigrationBroadcastJobService"
9578            android:permission="android.permission.BIND_JOB_SERVICE">
9579        </service>
9580
9581        <service android:name="com.android.server.healthconnect.backuprestore.BackupRestore$BackupRestoreJobService"
9582            android:permission="android.permission.BIND_JOB_SERVICE">
9583        </service>
9584
9585        <service android:name="com.android.server.security.UpdateCertificateRevocationStatusJobService"
9586            android:permission="android.permission.BIND_JOB_SERVICE">
9587        </service>
9588
9589        <service android:name="com.android.server.pm.PackageManagerShellCommandDataLoader"
9590            android:exported="false">
9591            <intent-filter>
9592                <action android:name="android.intent.action.LOAD_DATA"/>
9593            </intent-filter>
9594        </service>
9595
9596        <!-- TODO: Move to ExtServices or relevant component. -->
9597        <service android:name="android.service.selectiontoolbar.DefaultSelectionToolbarRenderService"
9598                 android:permission="android.permission.BIND_SELECTION_TOOLBAR_RENDER_SERVICE"
9599                 android:process=":ui"
9600                 android:exported="false">
9601            <intent-filter>
9602                <action android:name="android.service.selectiontoolbar.SelectionToolbarRenderService"/>
9603            </intent-filter>
9604        </service>
9605
9606        <service android:name="com.android.server.art.BackgroundDexoptJobService"
9607                 android:permission="android.permission.BIND_JOB_SERVICE" >
9608        </service>
9609
9610        <service android:name="com.android.server.companion.datatransfer.contextsync.CallMetadataSyncInCallService"
9611                 android:permission="android.permission.BIND_INCALL_SERVICE"
9612                 android:enabled="@bool/config_enableContextSyncInCall"
9613                 android:exported="true">
9614            <meta-data android:name="android.telecom.INCLUDE_SELF_MANAGED_CALLS"
9615                       android:value="true" />
9616            <intent-filter>
9617                <action android:name="android.telecom.InCallService"/>
9618            </intent-filter>
9619        </service>
9620
9621        <service android:name="com.android.ecm.EnhancedConfirmationCallTrackerService"
9622            android:permission="android.permission.BIND_INCALL_SERVICE"
9623            android:featureFlag="android.permission.flags.enhanced_confirmation_in_call_apis_enabled"
9624            android:exported="true">
9625            <meta-data android:name="android.telecom.INCLUDE_SELF_MANAGED_CALLS"
9626                android:value="true" />
9627            <intent-filter>
9628                <action android:name="android.telecom.InCallService"/>
9629            </intent-filter>
9630        </service>
9631
9632        <service android:name="com.android.server.companion.datatransfer.contextsync.CallMetadataSyncConnectionService"
9633                 android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
9634                 android:exported="true">
9635            <intent-filter>
9636                <action android:name="android.telecom.ConnectionService"/>
9637            </intent-filter>
9638        </service>
9639
9640        <provider
9641            android:name="com.android.server.textclassifier.IconsContentProvider"
9642            android:authorities="com.android.textclassifier.icons"
9643            android:singleUser="true"
9644            android:enabled="true"
9645            android:exported="true">
9646        </provider>
9647
9648        <meta-data
9649            android:name="com.android.server.patch.25239169"
9650            android:value="true" />
9651
9652    </application>
9653
9654</manifest>
9655