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.adapter.action.STATE_CHANGED" />
159    <protected-broadcast android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
160    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
161    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
162    <protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
163    <protected-broadcast android:name="android.bluetooth.adapter.action.BLUETOOTH_ADDRESS_CHANGED" />
164    <protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
165    <protected-broadcast android:name="android.bluetooth.device.action.UUID" />
166    <protected-broadcast android:name="android.bluetooth.device.action.MAS_INSTANCE" />
167    <protected-broadcast android:name="android.bluetooth.device.action.ALIAS_CHANGED" />
168    <protected-broadcast android:name="android.bluetooth.device.action.FOUND" />
169    <protected-broadcast android:name="android.bluetooth.device.action.CLASS_CHANGED" />
170    <protected-broadcast android:name="android.bluetooth.device.action.ACL_CONNECTED" />
171    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
172    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
173    <protected-broadcast android:name="android.bluetooth.device.action.NAME_CHANGED" />
174    <protected-broadcast android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
175    <protected-broadcast android:name="android.bluetooth.device.action.NAME_FAILED" />
176    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
177    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
178    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
179    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL" />
180    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST" />
181    <protected-broadcast android:name="android.bluetooth.device.action.KEY_MISSING" />
182    <protected-broadcast android:name="android.bluetooth.device.action.SDP_RECORD" />
183    <protected-broadcast android:name="android.bluetooth.device.action.BATTERY_LEVEL_CHANGED" />
184    <protected-broadcast android:name="android.bluetooth.device.action.REMOTE_ISSUE_OCCURRED" />
185    <protected-broadcast android:name="android.bluetooth.devicepicker.action.LAUNCH" />
186    <protected-broadcast android:name="android.bluetooth.devicepicker.action.DEVICE_SELECTED" />
187    <protected-broadcast
188        android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
189    <protected-broadcast
190        android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />
191    <protected-broadcast
192        android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
193    <protected-broadcast
194        android:name="android.bluetooth.headset.action.HF_INDICATORS_VALUE_CHANGED" />
195    <protected-broadcast
196        android:name="android.bluetooth.headset.profile.action.ACTIVE_DEVICE_CHANGED" />
197    <protected-broadcast
198        android:name="android.bluetooth.headsetclient.profile.action.CONNECTION_STATE_CHANGED" />
199    <protected-broadcast
200        android:name="android.bluetooth.headsetclient.profile.action.AUDIO_STATE_CHANGED" />
201    <protected-broadcast
202        android:name="android.bluetooth.headsetclient.profile.action.AG_EVENT" />
203    <protected-broadcast
204        android:name="android.bluetooth.headsetclient.profile.action.AG_CALL_CHANGED" />
205    <protected-broadcast
206        android:name="android.bluetooth.headsetclient.profile.action.RESULT" />
207    <protected-broadcast
208        android:name="android.bluetooth.headsetclient.profile.action.LAST_VTAG" />
209    <protected-broadcast
210        android:name="android.bluetooth.headsetclient.profile.action.NETWORK_SERVICE_STATE_CHANGED" />
211    <protected-broadcast
212        android:name="android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED" />
213    <protected-broadcast
214        android:name="android.bluetooth.hearingaid.profile.action.PLAYING_STATE_CHANGED" />
215    <protected-broadcast
216        android:name="android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED" />
217    <protected-broadcast android:name="android.bluetooth.action.CSIS_CONNECTION_STATE_CHANGED" />
218    <protected-broadcast android:name="android.bluetooth.action.CSIS_DEVICE_AVAILABLE" />
219    <protected-broadcast android:name="android.bluetooth.action.CSIS_SET_MEMBER_AVAILABLE" />
220    <protected-broadcast
221        android:name="android.bluetooth.volume-control.profile.action.CONNECTION_STATE_CHANGED" />
222    <protected-broadcast
223        android:name="android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED" />
224    <protected-broadcast
225        android:name="android.bluetooth.a2dp.profile.action.ACTIVE_DEVICE_CHANGED" />
226    <protected-broadcast
227        android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
228    <protected-broadcast
229        android:name="android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED" />
230    <protected-broadcast
231        android:name="android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED" />
232    <protected-broadcast
233        android:name="android.bluetooth.a2dp-sink.profile.action.PLAYING_STATE_CHANGED" />
234    <protected-broadcast
235        android:name="android.bluetooth.a2dp-sink.profile.action.AUDIO_CONFIG_CHANGED" />
236    <protected-broadcast
237        android:name="android.bluetooth.avrcp-controller.profile.action.BROWSE_CONNECTION_STATE_CHANGED" />
238    <protected-broadcast
239        android:name="android.bluetooth.avrcp-controller.profile.action.CONNECTION_STATE_CHANGED" />
240    <protected-broadcast
241        android:name="android.bluetooth.avrcp-controller.profile.action.FOLDER_LIST" />
242    <protected-broadcast
243        android:name="android.bluetooth.avrcp-controller.profile.action.TRACK_EVENT" />
244    <protected-broadcast
245        android:name="android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED" />
246    <protected-broadcast
247        android:name="android.bluetooth.input.profile.action.IDLE_TIME_CHANGED" />
248    <protected-broadcast
249        android:name="android.bluetooth.input.profile.action.PROTOCOL_MODE_CHANGED" />
250    <protected-broadcast
251        android:name="android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS" />
252    <protected-broadcast
253        android:name="android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED" />
254    <protected-broadcast
255        android:name="android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED" />
256    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.CONNECTION_STATE_CHANGED" />
257    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_RECEIVED" />
258    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_SENT_SUCCESSFULLY" />
259    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELIVERED_SUCCESSFULLY" />
260    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_READ_STATUS_CHANGED" />
261    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELETED_STATUS_CHANGED" />
262    <protected-broadcast
263        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
264    <protected-broadcast
265        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
266    <protected-broadcast
267        android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" />
268    <protected-broadcast android:name="android.bluetooth.action.HAP_CONNECTION_STATE_CHANGED" />
269    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_CONNECTION_STATE_CHANGED" />
270    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_ACTIVE_DEVICE_CHANGED" />
271    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_CONF_CHANGED" />
272    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_GROUP_NODE_STATUS_CHANGED" />
273    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_GROUP_STATUS_CHANGED" />
274    <protected-broadcast
275        android:name="android.bluetooth.action.TETHERING_STATE_CHANGED" />
276    <protected-broadcast android:name="android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED" />
277    <protected-broadcast android:name="android.bluetooth.pbapclient.profile.action.CONNECTION_STATE_CHANGED" />
278    <protected-broadcast android:name="android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED" />
279    <protected-broadcast android:name="android.btopp.intent.action.INCOMING_FILE_NOTIFICATION" />
280    <protected-broadcast android:name="android.btopp.intent.action.USER_CONFIRMATION_TIMEOUT" />
281    <protected-broadcast android:name="android.btopp.intent.action.LIST" />
282    <protected-broadcast android:name="android.btopp.intent.action.OPEN_OUTBOUND" />
283    <protected-broadcast android:name="android.btopp.intent.action.HIDE_COMPLETE" />
284    <protected-broadcast android:name="android.btopp.intent.action.CONFIRM" />
285    <protected-broadcast android:name="android.btopp.intent.action.HIDE" />
286    <protected-broadcast android:name="android.btopp.intent.action.RETRY" />
287    <protected-broadcast android:name="android.btopp.intent.action.OPEN" />
288    <protected-broadcast android:name="android.btopp.intent.action.OPEN_INBOUND" />
289    <protected-broadcast android:name="android.btopp.intent.action.TRANSFER_COMPLETE" />
290    <protected-broadcast android:name="android.btopp.intent.action.ACCEPT" />
291    <protected-broadcast android:name="android.btopp.intent.action.DECLINE" />
292    <protected-broadcast android:name="com.android.bluetooth.gatt.REFRESH_BATCHED_SCAN" />
293    <protected-broadcast android:name="com.android.bluetooth.pbap.authchall" />
294    <protected-broadcast android:name="com.android.bluetooth.pbap.userconfirmtimeout" />
295    <protected-broadcast android:name="com.android.bluetooth.pbap.authresponse" />
296    <protected-broadcast android:name="com.android.bluetooth.pbap.authcancelled" />
297    <protected-broadcast android:name="com.android.bluetooth.sap.USER_CONFIRM_TIMEOUT" />
298    <protected-broadcast android:name="com.android.bluetooth.sap.action.DISCONNECT_ACTION" />
299
300    <protected-broadcast android:name="android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED" />
301
302    <protected-broadcast android:name="android.hardware.hdmi.action.OSD_MESSAGE" />
303    <protected-broadcast android:name="android.hardware.hdmi.action.ON_ACTIVE_SOURCE_RECOVERED_DISMISS_UI" />
304
305    <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" />
306    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_CHANGED" />
307    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_COMPLIANCE_CHANGED" />
308    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
309    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_DETACHED" />
310    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE" />
311    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
312    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
313
314    <protected-broadcast android:name="android.intent.action.HEADSET_PLUG" />
315    <protected-broadcast android:name="android.media.action.HDMI_AUDIO_PLUG" />
316    <protected-broadcast android:name="android.media.action.MICROPHONE_MUTE_CHANGED" />
317    <protected-broadcast android:name="android.media.action.SPEAKERPHONE_STATE_CHANGED" />
318
319    <protected-broadcast android:name="android.media.AUDIO_BECOMING_NOISY" />
320    <protected-broadcast android:name="android.media.RINGER_MODE_CHANGED" />
321    <protected-broadcast android:name="android.media.VIBRATE_SETTING_CHANGED" />
322    <protected-broadcast android:name="android.media.VOLUME_CHANGED_ACTION" />
323    <protected-broadcast android:name="android.media.MASTER_VOLUME_CHANGED_ACTION" />
324    <protected-broadcast android:name="android.media.MASTER_MUTE_CHANGED_ACTION" />
325    <protected-broadcast android:name="android.media.MASTER_MONO_CHANGED_ACTION" />
326    <protected-broadcast android:name="android.media.MASTER_BALANCE_CHANGED_ACTION" />
327    <protected-broadcast android:name="android.media.SCO_AUDIO_STATE_CHANGED" />
328    <protected-broadcast android:name="android.media.ACTION_SCO_AUDIO_STATE_UPDATED" />
329    <protected-broadcast android:name="com.android.server.audio.action.CHECK_MUSIC_ACTIVE" />
330
331    <protected-broadcast android:name="android.intent.action.MEDIA_REMOVED" />
332    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTED" />
333    <protected-broadcast android:name="android.intent.action.MEDIA_CHECKING" />
334    <protected-broadcast android:name="android.intent.action.MEDIA_NOFS" />
335    <protected-broadcast android:name="android.intent.action.MEDIA_MOUNTED" />
336    <protected-broadcast android:name="android.intent.action.MEDIA_SHARED" />
337    <protected-broadcast android:name="android.intent.action.MEDIA_UNSHARED" />
338    <protected-broadcast android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
339    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTABLE" />
340    <protected-broadcast android:name="android.intent.action.MEDIA_EJECT" />
341
342    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL" />
343    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE" />
344    <!-- @deprecated.  Only {@link android.net.ConnectivityManager.CONNECTIVITY_ACTION} is sent. -->
345    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE" />
346    <protected-broadcast android:name="android.net.conn.DATA_ACTIVITY_CHANGE" />
347    <protected-broadcast android:name="android.net.conn.RESTRICT_BACKGROUND_CHANGED" />
348    <protected-broadcast android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
349    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL_TEST_COMPLETED" />
350
351    <protected-broadcast android:name="android.net.nsd.STATE_CHANGED" />
352
353    <!-- For OMAPI -->
354    <protected-broadcast android:name="android.se.omapi.action.SECURE_ELEMENT_STATE_CHANGED" />
355
356    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
357    <protected-broadcast android:name="android.nfc.action.PREFERRED_PAYMENT_CHANGED" />
358    <protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
359    <protected-broadcast android:name="android.nfc.action.REQUIRE_UNLOCK_FOR_NFC" />
360    <protected-broadcast android:name="com.android.nfc.action.LLCP_UP" />
361    <protected-broadcast android:name="com.android.nfc.action.LLCP_DOWN" />
362    <protected-broadcast android:name="com.android.nfc.cardemulation.action.CLOSE_TAP_DIALOG" />
363    <protected-broadcast android:name="com.android.nfc.handover.action.ALLOW_CONNECT" />
364    <protected-broadcast android:name="com.android.nfc.handover.action.DENY_CONNECT" />
365    <protected-broadcast android:name="com.android.nfc.handover.action.TIMEOUT_CONNECT" />
366    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_ON_DETECTED" />
367    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED" />
368    <protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
369    <!-- For NFC to BT handover -->
370    <protected-broadcast android:name="android.btopp.intent.action.WHITELIST_DEVICE" />
371    <protected-broadcast android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER" />
372    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND" />
373    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE" />
374    <protected-broadcast android:name="com.android.nfc.handover.action.CANCEL_HANDOVER_TRANSFER" />
375
376    <protected-broadcast android:name="android.net.action.CLEAR_DNS_CACHE" />
377    <protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
378
379    <protected-broadcast android:name="android.os.UpdateLock.UPDATE_LOCK_CHANGED" />
380
381    <protected-broadcast android:name="android.intent.action.DREAMING_STARTED" />
382    <protected-broadcast android:name="android.intent.action.DREAMING_STOPPED" />
383    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
384
385    <protected-broadcast android:name="com.android.server.stats.action.TRIGGER_COLLECTION" />
386
387    <protected-broadcast android:name="com.android.server.WifiManager.action.START_SCAN" />
388    <protected-broadcast android:name="com.android.server.WifiManager.action.START_PNO" />
389    <protected-broadcast android:name="com.android.server.WifiManager.action.DELAYED_DRIVER_STOP" />
390    <protected-broadcast android:name="com.android.server.WifiManager.action.DEVICE_IDLE" />
391    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_ACCEPTED" />
392    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_DECLINED" />
393    <protected-broadcast android:name="com.android.internal.action.EUICC_FACTORY_RESET" />
394    <protected-broadcast
395        android:name="com.android.internal.action.EUICC_REMOVE_INVISIBLE_SUBSCRIPTIONS" />
396    <protected-broadcast android:name="com.android.server.usb.ACTION_OPEN_IN_APPS" />
397    <protected-broadcast android:name="com.android.server.am.DELETE_DUMPHEAP" />
398    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_WARNING" />
399    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_RAPID" />
400    <protected-broadcast android:name="com.android.server.wifi.ACTION_SHOW_SET_RANDOMIZATION_DETAILS" />
401    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_ALLOWED_APP" />
402    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISALLOWED_APP" />
403    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISMISSED" />
404    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_ALLOWED_CARRIER" />
405    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISALLOWED_CARRIER" />
406    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISMISSED" />
407    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.USER_DISMISSED_NOTIFICATION" />
408    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.CONNECT_TO_NETWORK" />
409    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_WIFI_NETWORK" />
410    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_NETWORK_AFTER_FAILURE" />
411    <protected-broadcast android:name="com.android.server.wifi.wakeup.DISMISS_NOTIFICATION" />
412    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_PREFERENCES" />
413    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_SETTINGS" />
414    <protected-broadcast android:name="com.android.server.wifi.wakeup.TURN_OFF_WIFI_WAKE" />
415    <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" />
416    <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
417    <protected-broadcast android:name="android.net.wifi.WIFI_CREDENTIAL_CHANGED" />
418    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED" />
419    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_RESOURCE_CHANGED" />
420    <protected-broadcast android:name="android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED" />
421    <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" />
422    <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" />
423    <protected-broadcast android:name="android.net.wifi.STATE_CHANGE" />
424    <protected-broadcast android:name="android.net.wifi.LINK_CONFIGURATION_CHANGED" />
425    <protected-broadcast android:name="android.net.wifi.CONFIGURED_NETWORKS_CHANGE" />
426    <protected-broadcast android:name="android.net.wifi.action.NETWORK_SETTINGS_RESET" />
427    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_DEAUTH_IMMINENT" />
428    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_ICON" />
429    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_OSU_PROVIDERS_LIST" />
430    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_SUBSCRIPTION_REMEDIATION" />
431    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW" />
432    <protected-broadcast android:name="android.net.wifi.action.REFRESH_USER_PROVISIONING" />
433    <protected-broadcast android:name="android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION" />
434    <protected-broadcast android:name="android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED" />
435    <protected-broadcast android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
436    <protected-broadcast android:name="android.net.wifi.supplicant.STATE_CHANGE" />
437    <protected-broadcast android:name="android.net.wifi.p2p.STATE_CHANGED" />
438    <protected-broadcast android:name="android.net.wifi.p2p.DISCOVERY_STATE_CHANGE" />
439    <protected-broadcast android:name="android.net.wifi.p2p.THIS_DEVICE_CHANGED" />
440    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
441    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
442    <protected-broadcast android:name="android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED" />
443    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
444    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
445    <!-- This broadcast is no longer sent in S but it should stay protected to avoid third party
446         apps broadcasting this and confusing old system apps that may not have been updated. -->
447    <protected-broadcast android:name="android.net.conn.NETWORK_CONDITIONS_MEASURED" />
448    <protected-broadcast
449            android:name="android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED" />
450    <protected-broadcast android:name="android.net.scoring.SCORE_NETWORKS" />
451    <protected-broadcast android:name="android.net.scoring.SCORER_CHANGED" />
452    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE" />
453    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" />
454    <protected-broadcast android:name="android.intent.action.AIRPLANE_MODE" />
455    <protected-broadcast android:name="android.intent.action.ADVANCED_SETTINGS" />
456    <protected-broadcast android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED" />
457    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRED_DEVICES" />
458    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRING_RESULT" />
459    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_STATUS" />
460
461    <!-- Legacy -->
462    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_START" />
463    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_END" />
464
465    <protected-broadcast android:name="com.android.server.ACTION_TRIGGER_IDLE" />
466
467    <protected-broadcast android:name="android.intent.action.HDMI_PLUGGED" />
468
469    <protected-broadcast android:name="android.intent.action.PHONE_STATE" />
470
471    <protected-broadcast android:name="android.intent.action.SUB_DEFAULT_CHANGED" />
472
473    <protected-broadcast android:name="android.location.PROVIDERS_CHANGED" />
474    <protected-broadcast android:name="android.location.MODE_CHANGED" />
475    <protected-broadcast android:name="android.location.action.GNSS_CAPABILITIES_CHANGED" />
476
477    <protected-broadcast android:name="android.net.proxy.PAC_REFRESH" />
478
479    <protected-broadcast android:name="android.telecom.action.DEFAULT_DIALER_CHANGED" />
480    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED" />
481    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_CREATED" />
482    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_LOST" />
483    <protected-broadcast android:name="android.intent.action.CONTENT_CHANGED" />
484    <protected-broadcast android:name="android.provider.Telephony.MMS_DOWNLOADED" />
485
486    <protected-broadcast
487        android:name="com.android.server.connectivityservice.CONNECTED_TO_PROVISIONING_NETWORK_ACTION" />
488
489    <!-- Defined in RestrictionsManager -->
490    <protected-broadcast android:name="android.content.action.PERMISSION_RESPONSE_RECEIVED" />
491    <protected-broadcast android:name="android.content.action.REQUEST_PERMISSION" />
492
493    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_STARTED" />
494    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
495    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_PROGRESS" />
496    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
497
498    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED" />
499    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED" />
500
501    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_DONE" />
502    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_FAILED" />
503
504    <protected-broadcast android:name="android.internal.policy.action.BURN_IN_PROTECTION" />
505    <protected-broadcast android:name="android.app.action.SYSTEM_UPDATE_POLICY_CHANGED" />
506    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
507    <protected-broadcast android:name="android.app.action.DEVICE_OWNER_CHANGED" />
508    <protected-broadcast android:name="android.app.action.MANAGED_USER_CREATED" />
509
510    <!-- Added in N -->
511    <protected-broadcast android:name="android.intent.action.ANR" />
512    <protected-broadcast android:name="android.intent.action.CALL" />
513    <protected-broadcast android:name="android.intent.action.CALL_PRIVILEGED" />
514    <protected-broadcast android:name="android.intent.action.DROPBOX_ENTRY_ADDED" />
515    <protected-broadcast android:name="android.intent.action.INPUT_METHOD_CHANGED" />
516    <protected-broadcast android:name="android.intent.action.internal_sim_state_changed" />
517    <protected-broadcast android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
518    <protected-broadcast android:name="android.intent.action.PRECISE_CALL_STATE" />
519    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_PHONE_STATE" />
520    <protected-broadcast android:name="android.intent.action.USER_INFO_CHANGED" />
521    <protected-broadcast android:name="android.intent.action.USER_UNLOCKED" />
522    <protected-broadcast android:name="android.intent.action.WALLPAPER_CHANGED" />
523
524    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_MANAGER_STATE_CHANGED" />
525    <protected-broadcast android:name="android.app.action.CHOOSE_PRIVATE_KEY_ALIAS" />
526    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
527    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
528    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
529    <protected-broadcast android:name="android.app.action.LOCK_TASK_ENTERING" />
530    <protected-broadcast android:name="android.app.action.LOCK_TASK_EXITING" />
531    <protected-broadcast android:name="android.app.action.NOTIFY_PENDING_SYSTEM_UPDATE" />
532    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_CHANGED" />
533    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_EXPIRING" />
534    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_FAILED" />
535    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_SUCCEEDED" />
536    <protected-broadcast android:name="com.android.server.ACTION_EXPIRED_PASSWORD_NOTIFICATION" />
537    <protected-broadcast android:name="com.android.server.ACTION_PROFILE_OFF_DEADLINE" />
538    <protected-broadcast android:name="com.android.server.ACTION_TURN_PROFILE_ON_NOTIFICATION" />
539
540    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_ADDED" />
541    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNLOCKED" />
542    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_REMOVED" />
543    <protected-broadcast android:name="android.app.action.MANAGED_PROFILE_PROVISIONED" />
544
545    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_STATE_CHANGED" />
546    <protected-broadcast android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT" />
547    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
548    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
549    <protected-broadcast android:name="android.content.jobscheduler.JOB_DELAY_EXPIRED" />
550    <protected-broadcast android:name="android.content.syncmanager.SYNC_ALARM" />
551    <protected-broadcast android:name="android.media.INTERNAL_RINGER_MODE_CHANGED_ACTION" />
552    <protected-broadcast android:name="android.media.STREAM_DEVICES_CHANGED_ACTION" />
553    <protected-broadcast android:name="android.media.STREAM_MUTE_CHANGED_ACTION" />
554    <protected-broadcast android:name="android.net.sip.SIP_SERVICE_UP" />
555    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
556    <protected-broadcast android:name="android.os.action.CHARGING" />
557    <protected-broadcast android:name="android.os.action.DISCHARGING" />
558    <protected-broadcast android:name="android.search.action.SEARCHABLES_CHANGED" />
559    <protected-broadcast android:name="android.security.STORAGE_CHANGED" />
560    <protected-broadcast android:name="android.security.action.TRUST_STORE_CHANGED" />
561    <protected-broadcast android:name="android.security.action.KEYCHAIN_CHANGED" />
562    <protected-broadcast android:name="android.security.action.KEY_ACCESS_CHANGED" />
563    <protected-broadcast android:name="android.telecom.action.NUISANCE_CALL_STATUS_CHANGED" />
564    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_REGISTERED" />
565    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_UNREGISTERED" />
566    <protected-broadcast android:name="android.telecom.action.POST_CALL" />
567    <protected-broadcast android:name="android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION" />
568    <protected-broadcast android:name="android.telephony.action.CARRIER_CONFIG_CHANGED" />
569    <protected-broadcast android:name="android.telephony.action.DEFAULT_SUBSCRIPTION_CHANGED" />
570    <protected-broadcast android:name="android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED" />
571    <protected-broadcast android:name="android.telephony.action.SECRET_CODE" />
572    <protected-broadcast android:name="android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION" />
573    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_PLANS_CHANGED" />
574
575    <protected-broadcast android:name="com.android.bluetooth.btservice.action.ALARM_WAKEUP" />
576    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_POLL" />
577    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_UPDATED" />
578    <protected-broadcast android:name="com.android.server.timedetector.NetworkTimeUpdateService.action.POLL" />
579    <protected-broadcast android:name="com.android.server.telecom.intent.action.CALLS_ADD_ENTRY" />
580    <protected-broadcast android:name="com.android.settings.location.MODE_CHANGING" />
581    <protected-broadcast android:name="com.android.settings.bluetooth.ACTION_DISMISS_PAIRING" />
582    <protected-broadcast android:name="com.android.settings.network.DELETE_SUBSCRIPTION" />
583    <protected-broadcast android:name="com.android.settings.network.SWITCH_TO_SUBSCRIPTION" />
584    <protected-broadcast android:name="com.android.settings.wifi.action.NETWORK_REQUEST" />
585
586    <protected-broadcast android:name="android.app.action.KEYGUARD_PRIVATE_NOTIFICATIONS_CHANGED" />
587    <protected-broadcast android:name="NotificationManagerService.TIMEOUT" />
588    <protected-broadcast android:name="com.android.server.notification.TimeToLiveHelper" />
589    <protected-broadcast android:name="NotificationHistoryDatabase.CLEANUP" />
590    <protected-broadcast android:name="ScheduleConditionProvider.EVALUATE" />
591    <protected-broadcast android:name="EventConditionProvider.EVALUATE" />
592    <protected-broadcast android:name="SnoozeHelper.EVALUATE" />
593    <protected-broadcast android:name="wifi_scan_available" />
594
595    <protected-broadcast android:name="action.cne.started" />
596    <protected-broadcast android:name="android.content.jobscheduler.JOB_DEADLINE_EXPIRED" />
597    <protected-broadcast android:name="android.intent.action.ACTION_UNSOL_RESPONSE_OEM_HOOK_RAW" />
598    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_SUPL" />
599    <protected-broadcast android:name="android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED" />
600    <protected-broadcast android:name="android.os.storage.action.VOLUME_STATE_CHANGED" />
601    <protected-broadcast android:name="android.os.storage.action.DISK_SCANNED" />
602    <protected-broadcast android:name="com.android.server.action.UPDATE_TWILIGHT_STATE" />
603    <protected-broadcast android:name="com.android.server.action.RESET_TWILIGHT_AUTO" />
604    <protected-broadcast android:name="com.android.server.device_idle.STEP_IDLE_STATE" />
605    <protected-broadcast android:name="com.android.server.device_idle.STEP_LIGHT_IDLE_STATE" />
606    <protected-broadcast android:name="com.android.server.Wifi.action.TOGGLE_PNO" />
607    <protected-broadcast android:name="intent.action.ACTION_RF_BAND_INFO" />
608    <protected-broadcast android:name="android.intent.action.MEDIA_RESOURCE_GRANTED" />
609    <protected-broadcast android:name="android.app.action.NETWORK_LOGS_AVAILABLE" />
610    <protected-broadcast android:name="android.app.action.SECURITY_LOGS_AVAILABLE" />
611    <protected-broadcast android:name="android.app.action.COMPLIANCE_ACKNOWLEDGEMENT_REQUIRED" />
612
613    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED" />
614    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED_INTERNAL" />
615    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_CHANGED" />
616    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED" />
617    <protected-broadcast android:name="android.app.action.AUTOMATIC_ZEN_RULE_STATUS_CHANGED" />
618    <protected-broadcast android:name="android.os.action.ACTION_EFFECTS_SUPPRESSOR_CHANGED" />
619    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED" />
620    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED" />
621    <protected-broadcast android:name="android.app.action.NOTIFICATION_LISTENER_ENABLED_CHANGED" />
622    <protected-broadcast android:name="android.app.action.APP_BLOCK_STATE_CHANGED" />
623
624    <protected-broadcast android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS" />
625    <protected-broadcast android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS" />
626
627    <protected-broadcast android:name="android.intent.action.DYNAMIC_SENSOR_CHANGED" />
628
629    <protected-broadcast android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
630    <protected-broadcast android:name="android.accounts.action.ACCOUNT_REMOVED" />
631    <protected-broadcast android:name="android.accounts.action.VISIBLE_ACCOUNTS_CHANGED" />
632
633    <protected-broadcast android:name="com.android.sync.SYNC_CONN_STATUS_CHANGED" />
634
635    <protected-broadcast android:name="android.net.sip.action.SIP_INCOMING_CALL" />
636    <protected-broadcast android:name="com.android.phone.SIP_ADD_PHONE" />
637    <protected-broadcast android:name="android.net.sip.action.SIP_REMOVE_PROFILE" />
638    <protected-broadcast android:name="android.net.sip.action.SIP_SERVICE_UP" />
639    <protected-broadcast android:name="android.net.sip.action.SIP_CALL_OPTION_CHANGED" />
640    <protected-broadcast android:name="android.net.sip.action.START_SIP" />
641
642    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_CONNECTED" />
643    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_DISCONNECTED" />
644
645    <protected-broadcast android:name="android.bluetooth.input.profile.action.HANDSHAKE" />
646    <protected-broadcast android:name="android.bluetooth.input.profile.action.REPORT" />
647
648    <protected-broadcast android:name="android.intent.action.TWILIGHT_CHANGED" />
649
650    <protected-broadcast android:name="com.android.server.fingerprint.ACTION_LOCKOUT_RESET" />
651    <protected-broadcast android:name="android.net.wifi.PASSPOINT_ICON_RECEIVED" />
652
653    <protected-broadcast android:name="com.android.server.notification.CountdownConditionProvider" />
654    <protected-broadcast android:name="android.server.notification.action.ENABLE_NAS" />
655    <protected-broadcast android:name="android.server.notification.action.DISABLE_NAS" />
656    <protected-broadcast android:name="android.server.notification.action.LEARNMORE_NAS" />
657
658    <protected-broadcast android:name="com.android.internal.location.ALARM_WAKEUP" />
659    <protected-broadcast android:name="com.android.internal.location.ALARM_TIMEOUT" />
660    <protected-broadcast android:name="android.intent.action.GLOBAL_BUTTON" />
661
662    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_AVAILABLE" />
663    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNAVAILABLE" />
664    <protected-broadcast android:name="com.android.server.pm.DISABLE_QUIET_MODE_AFTER_UNLOCK" />
665
666    <protected-broadcast android:name="android.intent.action.PROFILE_ACCESSIBLE" />
667    <protected-broadcast android:name="android.intent.action.PROFILE_INACCESSIBLE" />
668
669    <protected-broadcast android:name="com.android.server.retaildemo.ACTION_RESET_DEMO" />
670
671    <protected-broadcast android:name="android.intent.action.DEVICE_LOCKED_CHANGED" />
672
673    <protected-broadcast android:name="com.android.content.pm.action.CAN_INTERACT_ACROSS_PROFILES_CHANGED"/>
674
675    <!-- Added in O -->
676    <protected-broadcast android:name="android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED" />
677    <protected-broadcast android:name="com.android.server.wm.ACTION_REVOKE_SYSTEM_ALERT_WINDOW_PERMISSION" />
678    <protected-broadcast android:name="android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED" />
679
680    <protected-broadcast android:name="android.content.pm.action.SESSION_COMMITTED" />
681    <protected-broadcast android:name="android.os.action.USER_RESTRICTIONS_CHANGED" />
682    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT" />
683    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED" />
684    <protected-broadcast android:name="android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED" />
685    <protected-broadcast android:name="android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED" />
686
687    <!-- Made protected in P (was introduced in JB-MR2) -->
688    <protected-broadcast android:name="android.intent.action.GET_RESTRICTION_ENTRIES" />
689    <protected-broadcast android:name="android.telephony.euicc.action.OTA_STATUS_CHANGED" />
690
691    <!-- Added in P -->
692    <protected-broadcast android:name="android.app.action.PROFILE_OWNER_CHANGED" />
693    <protected-broadcast android:name="android.app.action.TRANSFER_OWNERSHIP_COMPLETE" />
694    <protected-broadcast android:name="android.app.action.AFFILIATED_PROFILE_TRANSFER_OWNERSHIP_COMPLETE" />
695    <protected-broadcast android:name="android.app.action.STATSD_STARTED" />
696    <protected-broadcast android:name="com.android.server.biometrics.fingerprint.ACTION_LOCKOUT_RESET" />
697    <protected-broadcast android:name="com.android.server.biometrics.face.ACTION_LOCKOUT_RESET" />
698
699    <!-- For IdleController -->
700    <protected-broadcast android:name="android.intent.action.DOCK_IDLE" />
701    <protected-broadcast android:name="android.intent.action.DOCK_ACTIVE" />
702
703    <!-- Added in Q -->
704    <protected-broadcast android:name="android.content.pm.action.SESSION_UPDATED" />
705    <protected-broadcast android:name="android.settings.action.GRAYSCALE_CHANGED" />
706
707    <!-- For CarIdlenessTracker -->
708    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_ON" />
709    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_OFF" />
710    <protected-broadcast android:name="com.android.server.jobscheduler.FORCE_IDLE" />
711    <protected-broadcast android:name="com.android.server.jobscheduler.UNFORCE_IDLE" />
712
713    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL" />
714
715    <protected-broadcast android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY" />
716
717    <!-- Added in R -->
718    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
719
720    <!-- For tether entitlement recheck-->
721    <protected-broadcast
722        android:name="com.android.server.connectivity.tethering.PROVISIONING_RECHECK_ALARM" />
723
724    <!-- Made protected in S (was added in R) -->
725    <protected-broadcast android:name="com.android.internal.intent.action.BUGREPORT_REQUESTED" />
726
727    <!-- Added in S -->
728    <protected-broadcast android:name="android.scheduling.action.REBOOT_READY" />
729    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_CONSTANTS_CHANGED" />
730    <protected-broadcast android:name="android.app.action.SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED" />
731    <protected-broadcast android:name="android.app.action.SHOW_NEW_USER_DISCLAIMER" />
732
733    <!-- Moved from packages/services/Telephony in T -->
734    <protected-broadcast android:name="android.telecom.action.CURRENT_TTY_MODE_CHANGED" />
735    <protected-broadcast android:name="android.intent.action.SERVICE_STATE" />
736    <protected-broadcast android:name="android.intent.action.RADIO_TECHNOLOGY" />
737    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED" />
738    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALL_STATE_CHANGED" />
739    <protected-broadcast android:name="android.intent.action.SIG_STR" />
740    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
741    <protected-broadcast android:name="android.intent.action.DATA_STALL_DETECTED" />
742    <protected-broadcast android:name="android.intent.action.SIM_STATE_CHANGED" />
743    <protected-broadcast android:name="android.intent.action.USER_ACTIVITY_NOTIFICATION" />
744    <protected-broadcast android:name="android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS" />
745    <protected-broadcast android:name="android.intent.action.ACTION_MDN_STATE_CHANGED" />
746    <protected-broadcast android:name="android.telephony.action.SERVICE_PROVIDERS_UPDATED" />
747    <protected-broadcast android:name="android.provider.Telephony.SIM_FULL" />
748    <protected-broadcast android:name="com.android.internal.telephony.carrier_key_download_alarm" />
749    <protected-broadcast android:name="com.android.internal.telephony.data-restart-trysetup" />
750    <protected-broadcast android:name="com.android.internal.telephony.data-stall" />
751    <protected-broadcast android:name="com.android.internal.telephony.provisioning_apn_alarm" />
752    <protected-broadcast android:name="android.intent.action.DATA_SMS_RECEIVED" />
753    <protected-broadcast android:name="android.provider.Telephony.SMS_RECEIVED" />
754    <protected-broadcast android:name="android.provider.Telephony.SMS_DELIVER" />
755    <protected-broadcast android:name="android.provider.Telephony.SMS_REJECTED" />
756    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
757    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
758    <protected-broadcast android:name="android.provider.Telephony.SMS_CB_RECEIVED" />
759    <protected-broadcast android:name="android.provider.action.SMS_EMERGENCY_CB_RECEIVED" />
760    <protected-broadcast android:name="android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED" />
761    <protected-broadcast android:name="android.provider.Telephony.SECRET_CODE" />
762    <protected-broadcast android:name="com.android.internal.stk.command" />
763    <protected-broadcast android:name="com.android.internal.stk.session_end" />
764    <protected-broadcast android:name="com.android.internal.stk.icc_status_change" />
765    <protected-broadcast android:name="com.android.internal.stk.alpha_notify" />
766    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" />
767    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
768    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE" />
769    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_RESET" />
770    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
771    <protected-broadcast android:name="com.android.internal.telephony.PROVISION" />
772    <protected-broadcast android:name="com.android.internal.telephony.ACTION_LINE1_NUMBER_ERROR_DETECTED" />
773    <protected-broadcast android:name="com.android.internal.provider.action.VOICEMAIL_SMS_RECEIVED" />
774    <protected-broadcast android:name="com.android.intent.isim_refresh" />
775    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_AVAILABLE" />
776    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_UNAVAILABLE" />
777    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_DIED" />
778    <protected-broadcast android:name="com.android.ims.ACTION_PRESENCE_CHANGED" />
779    <protected-broadcast android:name="com.android.ims.ACTION_PUBLISH_STATUS_CHANGED" />
780    <protected-broadcast android:name="com.android.ims.IMS_SERVICE_UP" />
781    <protected-broadcast android:name="com.android.ims.IMS_SERVICE_DOWN" />
782    <protected-broadcast android:name="com.android.ims.IMS_INCOMING_CALL" />
783    <protected-broadcast android:name="com.android.ims.internal.uce.UCE_SERVICE_UP" />
784    <protected-broadcast android:name="com.android.ims.internal.uce.UCE_SERVICE_DOWN" />
785    <protected-broadcast android:name="com.android.imsconnection.DISCONNECTED" />
786    <protected-broadcast android:name="com.android.intent.action.IMS_FEATURE_CHANGED" />
787    <protected-broadcast android:name="com.android.intent.action.IMS_CONFIG_CHANGED" />
788    <protected-broadcast android:name="android.telephony.ims.action.WFC_IMS_REGISTRATION_ERROR" />
789    <protected-broadcast android:name="com.android.phone.vvm.omtp.sms.REQUEST_SENT" />
790    <protected-broadcast android:name="com.android.phone.vvm.ACTION_VISUAL_VOICEMAIL_SERVICE_EVENT" />
791    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_VVM_PACKAGE_INSTALLED" />
792    <protected-broadcast android:name="com.android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO" />
793    <protected-broadcast android:name="com.android.internal.telephony.ACTION_CARRIER_CERTIFICATE_DOWNLOAD" />
794    <protected-broadcast android:name="com.android.internal.telephony.action.COUNTRY_OVERRIDE" />
795    <protected-broadcast android:name="com.android.internal.telephony.OPEN_DEFAULT_SMS_APP" />
796    <protected-broadcast android:name="com.android.internal.telephony.ACTION_TEST_OVERRIDE_CARRIER_ID" />
797    <protected-broadcast android:name="android.telephony.action.SIM_CARD_STATE_CHANGED" />
798    <protected-broadcast android:name="android.telephony.action.SIM_APPLICATION_STATE_CHANGED" />
799    <protected-broadcast android:name="android.telephony.action.SIM_SLOT_STATUS_CHANGED" />
800    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED" />
801    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED" />
802    <protected-broadcast android:name="android.telephony.action.TOGGLE_PROVISION" />
803    <protected-broadcast android:name="android.telephony.action.NETWORK_COUNTRY_CHANGED" />
804    <protected-broadcast android:name="android.telephony.action.PRIMARY_SUBSCRIPTION_LIST_CHANGED" />
805    <protected-broadcast android:name="android.telephony.action.MULTI_SIM_CONFIG_CHANGED" />
806    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_RESET" />
807    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_PCO_VALUE" />
808    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
809    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_REDIRECTED" />
810    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
811    <protected-broadcast android:name="com.android.phone.settings.CARRIER_PROVISIONING" />
812    <protected-broadcast android:name="com.android.phone.settings.TRIGGER_CARRIER_PROVISIONING" />
813    <protected-broadcast android:name="com.android.internal.telephony.ACTION_VOWIFI_ENABLED" />
814    <protected-broadcast android:name="android.telephony.action.ANOMALY_REPORTED" />
815    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_INFO_RECORD_ADDED" />
816    <protected-broadcast android:name="android.intent.action.ACTION_MANAGED_ROAMING_IND" />
817    <protected-broadcast android:name="android.telephony.ims.action.RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE" />
818
819    <!-- Added in T -->
820    <protected-broadcast android:name="android.safetycenter.action.REFRESH_SAFETY_SOURCES" />
821    <protected-broadcast android:name="android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED" />
822    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_RESOURCE_UPDATED" />
823    <protected-broadcast android:name="android.intent.action.SHOW_FOREGROUND_SERVICE_MANAGER" />
824    <protected-broadcast android:name="android.service.autofill.action.DELAYED_FILL" />
825    <protected-broadcast android:name="android.app.action.PROVISIONING_COMPLETED" />
826    <protected-broadcast android:name="android.app.action.LOST_MODE_LOCATION_UPDATE" />
827
828    <!-- Added in U -->
829    <protected-broadcast android:name="android.intent.action.PROFILE_ADDED" />
830    <protected-broadcast android:name="android.intent.action.PROFILE_REMOVED" />
831    <protected-broadcast android:name="com.android.internal.telephony.cat.SMS_SENT_ACTION" />
832    <protected-broadcast android:name="com.android.internal.telephony.cat.SMS_DELIVERY_ACTION" />
833    <protected-broadcast android:name="com.android.internal.telephony.data.ACTION_RETRY" />
834    <protected-broadcast android:name="android.companion.virtual.action.VIRTUAL_DEVICE_REMOVED" />
835    <protected-broadcast android:name="com.android.internal.intent.action.FLASH_NOTIFICATION_START_PREVIEW" />
836    <protected-broadcast android:name="com.android.internal.intent.action.FLASH_NOTIFICATION_STOP_PREVIEW" />
837    <protected-broadcast android:name="android.app.admin.action.DEVICE_FINANCING_STATE_CHANGED" />
838    <protected-broadcast android:name="android.app.admin.action.DEVICE_POLICY_SET_RESULT" />
839    <protected-broadcast android:name="android.app.admin.action.DEVICE_POLICY_CHANGED" />
840
841    <!-- Added in V -->
842    <protected-broadcast android:name="android.intent.action.PROFILE_AVAILABLE" />
843    <protected-broadcast android:name="android.intent.action.PROFILE_UNAVAILABLE" />
844    <protected-broadcast android:name="android.app.action.CONSOLIDATED_NOTIFICATION_POLICY_CHANGED" />
845    <protected-broadcast android:name="android.intent.action.MAIN_USER_LOCKSCREEN_KNOWLEDGE_FACTOR_CHANGED" />
846
847    <!-- ====================================================================== -->
848    <!--                          RUNTIME PERMISSIONS                           -->
849    <!-- ====================================================================== -->
850    <eat-comment />
851
852    <!-- Grouping for platform runtime permissions is not accessible to apps
853         @hide
854         @SystemApi
855         @TestApi
856    -->
857    <permission-group android:name="android.permission-group.UNDEFINED"
858        android:priority="100" />
859
860    <!-- ====================================================================== -->
861    <!-- Permissions for accessing user's contacts including personal profile   -->
862    <!-- ====================================================================== -->
863    <eat-comment />
864
865    <!-- Used for runtime permissions related to contacts and profiles on this
866        device. -->
867    <permission-group android:name="android.permission-group.CONTACTS"
868        android:icon="@drawable/perm_group_contacts"
869        android:label="@string/permgrouplab_contacts"
870        android:description="@string/permgroupdesc_contacts"
871        android:priority="100" />
872
873    <!-- Allows an application to read the user's contacts data.
874        <p>Protection level: dangerous
875    -->
876    <permission android:name="android.permission.READ_CONTACTS"
877        android:permissionGroup="android.permission-group.UNDEFINED"
878        android:label="@string/permlab_readContacts"
879        android:description="@string/permdesc_readContacts"
880        android:protectionLevel="dangerous" />
881    <uses-permission android:name="android.permission.READ_CONTACTS" />
882
883    <!-- Allows an application to write the user's contacts data.
884         <p>Protection level: dangerous
885    -->
886    <permission android:name="android.permission.WRITE_CONTACTS"
887        android:permissionGroup="android.permission-group.UNDEFINED"
888        android:label="@string/permlab_writeContacts"
889        android:description="@string/permdesc_writeContacts"
890      android:protectionLevel="dangerous" />
891
892    <!-- Allows an app to update the verification status of E2EE contact keys owned by other apps.
893        <p>This permission is only granted to system apps.
894        <p>Protection level: signature|privileged
895        @SystemApi
896        @hide
897        @FlaggedApi("android.provider.user_keys")
898    -->
899    <permission android:name="android.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS"
900                android:permissionGroup="android.permission-group.UNDEFINED"
901                android:label="@string/permlab_writeVerificationStateE2eeContactKeys"
902                android:description="@string/permdesc_writeVerificationStateE2eeContactKeys"
903                android:protectionLevel="signature|privileged"
904                android:featureFlag="android.provider.user_keys" />
905
906    <!-- Allows an application to set default account for new contacts.
907        <p> This permission is only granted to system applications fulfilling the Contacts app role.
908        <p>Protection level: internal|role
909        @SystemApi
910        @hide
911    -->
912    <permission android:name="android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS"
913        android:protectionLevel="internal|role" />
914
915    <!-- ====================================================================== -->
916    <!-- Permissions for accessing user's calendar                              -->
917    <!-- ====================================================================== -->
918    <eat-comment />
919
920    <!-- Used for runtime permissions related to user's calendar. -->
921    <permission-group android:name="android.permission-group.CALENDAR"
922        android:icon="@drawable/perm_group_calendar"
923        android:label="@string/permgrouplab_calendar"
924        android:description="@string/permgroupdesc_calendar"
925        android:priority="200" />
926
927    <!-- Allows an application to read the user's calendar data.
928         <p>Protection level: dangerous
929    -->
930    <permission android:name="android.permission.READ_CALENDAR"
931        android:permissionGroup="android.permission-group.UNDEFINED"
932        android:label="@string/permlab_readCalendar"
933        android:description="@string/permdesc_readCalendar"
934        android:protectionLevel="dangerous" />
935
936    <!-- Allows an application to write the user's calendar data.
937         <p>Protection level: dangerous
938    -->
939    <permission android:name="android.permission.WRITE_CALENDAR"
940        android:permissionGroup="android.permission-group.UNDEFINED"
941        android:label="@string/permlab_writeCalendar"
942        android:description="@string/permdesc_writeCalendar"
943        android:protectionLevel="dangerous" />
944
945    <!-- ====================================================================== -->
946    <!-- Permissions for accessing and modifying user's SMS messages            -->
947    <!-- ====================================================================== -->
948    <eat-comment />
949
950    <!-- Allows accessing the messages on ICC
951         @hide Used internally. -->
952    <permission android:name="android.permission.ACCESS_MESSAGES_ON_ICC"
953        android:protectionLevel="signature" />
954
955    <!-- Used for runtime permissions related to user's SMS messages. -->
956    <permission-group android:name="android.permission-group.SMS"
957        android:icon="@drawable/perm_group_sms"
958        android:label="@string/permgrouplab_sms"
959        android:description="@string/permgroupdesc_sms"
960        android:priority="300" />
961
962    <!-- Allows an application to send SMS messages.
963         <p>Protection level: dangerous
964
965         <p> This is a hard restricted permission which cannot be held by an app until
966         the installer on record allowlists the permission. For more details see
967         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
968    -->
969    <permission android:name="android.permission.SEND_SMS"
970        android:permissionGroup="android.permission-group.UNDEFINED"
971        android:label="@string/permlab_sendSms"
972        android:description="@string/permdesc_sendSms"
973        android:permissionFlags="costsMoney|hardRestricted"
974        android:protectionLevel="dangerous" />
975
976    <!-- Allows an application to receive SMS messages.
977         <p>Protection level: dangerous
978
979         <p> This is a hard restricted permission which cannot be held by an app until
980         the installer on record allowlists the permission. For more details see
981         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
982    -->
983    <permission android:name="android.permission.RECEIVE_SMS"
984        android:permissionGroup="android.permission-group.UNDEFINED"
985        android:label="@string/permlab_receiveSms"
986        android:description="@string/permdesc_receiveSms"
987        android:permissionFlags="hardRestricted"
988        android:protectionLevel="dangerous" />
989
990    <!-- Allows an application to read SMS messages.
991         <p>Protection level: dangerous
992
993         <p> This is a hard restricted permission which cannot be held by an app until
994         the installer on record allowlists the permission. For more details see
995         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
996    -->
997    <permission android:name="android.permission.READ_SMS"
998        android:permissionGroup="android.permission-group.UNDEFINED"
999        android:label="@string/permlab_readSms"
1000        android:description="@string/permdesc_readSms"
1001        android:permissionFlags="hardRestricted"
1002        android:protectionLevel="dangerous" />
1003
1004    <!-- Allows an application to receive WAP push messages.
1005         <p>Protection level: dangerous
1006
1007         <p> This is a hard restricted permission which cannot be held by an app until
1008         the installer on record allowlists the permission. For more details see
1009         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1010    -->
1011    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
1012        android:permissionGroup="android.permission-group.UNDEFINED"
1013        android:label="@string/permlab_receiveWapPush"
1014        android:description="@string/permdesc_receiveWapPush"
1015        android:permissionFlags="hardRestricted"
1016        android:protectionLevel="dangerous" />
1017
1018    <!-- Allows an application to monitor incoming MMS messages.
1019         <p>Protection level: dangerous
1020
1021         <p> This is a hard restricted permission which cannot be held by an app until
1022         the installer on record allowlists the permission. For more details see
1023         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1024    -->
1025    <permission android:name="android.permission.RECEIVE_MMS"
1026        android:permissionGroup="android.permission-group.UNDEFINED"
1027        android:label="@string/permlab_receiveMms"
1028        android:description="@string/permdesc_receiveMms"
1029        android:permissionFlags="hardRestricted"
1030        android:protectionLevel="dangerous" />
1031
1032    <!-- @SystemApi @TestApi Allows an application to forward cell broadcast messages to the cell
1033         broadcast module. This is required in order to bind to the cell broadcast service, and
1034         ensures that only the system can forward messages to it.
1035
1036         <p>Protection level: signature
1037
1038         @hide -->
1039    <permission android:name="android.permission.BIND_CELL_BROADCAST_SERVICE"
1040        android:label="@string/permlab_bindCellBroadcastService"
1041        android:description="@string/permdesc_bindCellBroadcastService"
1042        android:protectionLevel="signature" />
1043
1044    <!-- @SystemApi @TestApi Allows an application to read previously received cell broadcast
1045         messages and to register a content observer to get notifications when
1046         a cell broadcast has been received and added to the database. For
1047         emergency alerts, the database is updated immediately after the
1048         alert dialog and notification sound/vibration/speech are presented.
1049         The "read" column is then updated after the user dismisses the alert.
1050         This enables supplementary emergency assistance apps to start loading
1051         additional emergency information (if Internet access is available)
1052         when the alert is first received, and to delay presenting the info
1053         to the user until after the initial alert dialog is dismissed.
1054         <p>Protection level: dangerous
1055
1056         <p> This is a hard restricted permission which cannot be held by an app until
1057         the installer on record allowlists the permission. For more details see
1058         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1059
1060         @hide Pending API council approval -->
1061    <permission android:name="android.permission.READ_CELL_BROADCASTS"
1062        android:permissionGroup="android.permission-group.UNDEFINED"
1063        android:label="@string/permlab_readCellBroadcasts"
1064        android:description="@string/permdesc_readCellBroadcasts"
1065        android:permissionFlags="hardRestricted"
1066        android:protectionLevel="dangerous" />
1067
1068    <!-- @SystemApi @hide Allows an application to communicate over satellite.
1069         Only granted if the application is a system app or privileged app. -->
1070    <permission android:name="android.permission.SATELLITE_COMMUNICATION"
1071                android:protectionLevel="role|signature|privileged" />
1072
1073    <!-- ====================================================================== -->
1074    <!-- Permissions for accessing external storage                             -->
1075    <!-- ====================================================================== -->
1076    <eat-comment />
1077
1078    <!-- Used for runtime permissions related to the shared external storage. -->
1079    <permission-group android:name="android.permission-group.STORAGE"
1080        android:icon="@drawable/perm_group_storage"
1081        android:label="@string/permgrouplab_storage"
1082        android:description="@string/permgroupdesc_storage"
1083        android:priority="900" />
1084
1085    <!-- Allows an application to read from external storage.
1086      <p class="note"><strong>Note: </strong>Starting in API level 33, this permission has no
1087      effect. If your app accesses other apps' media files, request one or more of these permissions
1088      instead: <a href="#READ_MEDIA_IMAGES"><code>READ_MEDIA_IMAGES</code></a>,
1089      <a href="#READ_MEDIA_VIDEO"><code>READ_MEDIA_VIDEO</code></a>,
1090      <a href="#READ_MEDIA_AUDIO"><code>READ_MEDIA_AUDIO</code></a>. Learn more about the
1091      <a href="{@docRoot}training/data-storage/shared/media#storage-permission">storage
1092      permissions</a> that are associated with media files.</p>
1093
1094      <p>This permission is enforced starting in API level 19.  Before API level 19, this
1095      permission is not enforced and all apps still have access to read from external storage.
1096      You can test your app with the permission enforced by enabling <em>Protect USB
1097      storage</em> under <b>Developer options</b> in the Settings app on a device running Android
1098      4.1 or higher.</p>
1099      <p>Also starting in API level 19, this permission is <em>not</em> required to
1100      read or write files in your application-specific directories returned by
1101      {@link android.content.Context#getExternalFilesDir} and
1102      {@link android.content.Context#getExternalCacheDir}.</p>
1103      <p>Starting in API level 29, apps don't need to request this permission to access files in
1104      their app-specific directory on external storage, or their own files in the
1105      <a href="{@docRoot}reference/android/provider/MediaStore"><code>MediaStore</code></a>. Apps
1106      shouldn't request this permission unless they need to access other apps' files in the
1107      <code>MediaStore</code>. Read more about these changes in the
1108      <a href="{@docRoot}training/data-storage#scoped-storage">scoped storage</a> section of the
1109      developer documentation.</p>
1110      <p>If <em>both</em> your <a
1111      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1112      minSdkVersion}</a> and <a
1113      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1114      targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1115      grants your app this permission. If you don't need this permission, be sure your <a
1116      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1117      targetSdkVersion}</a> is 4 or higher.</p>
1118
1119      <p> This is a soft restricted permission which cannot be held by an app it its
1120      full form until the installer on record allowlists the permission.
1121      Specifically, if the permission is allowlisted the holder app can access
1122      external storage and the visual and aural media collections while if the
1123      permission is not allowlisted the holder app can only access to the visual
1124      and aural medial collections. Also the permission is immutably restricted
1125      meaning that the allowlist state can be specified only at install time and
1126      cannot change until the app is installed. For more details see
1127      {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1128     <p>Protection level: dangerous -->
1129    <permission android:name="android.permission.READ_EXTERNAL_STORAGE"
1130        android:permissionGroup="android.permission-group.UNDEFINED"
1131        android:label="@string/permlab_sdcardRead"
1132        android:description="@string/permdesc_sdcardRead"
1133        android:permissionFlags="softRestricted|immutablyRestricted"
1134        android:protectionLevel="dangerous" />
1135
1136    <!-- Required to be able to read audio files from shared storage.
1137     <p>Protection level: dangerous -->
1138    <permission-group android:name="android.permission-group.READ_MEDIA_AURAL"
1139                      android:icon="@drawable/perm_group_read_media_aural"
1140                      android:label="@string/permgrouplab_readMediaAural"
1141                      android:description="@string/permgroupdesc_readMediaAural"
1142                      android:priority="950" />
1143
1144    <!-- Allows an application to read audio files from external storage.
1145      <p>This permission is enforced starting in API level
1146      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1147      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read audio files from
1148      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1149      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1150      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1151      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read audio files.
1152     <p>Protection level: dangerous -->
1153    <permission android:name="android.permission.READ_MEDIA_AUDIO"
1154                android:permissionGroup="android.permission-group.UNDEFINED"
1155                android:label="@string/permlab_readMediaAudio"
1156                android:description="@string/permdesc_readMediaAudio"
1157                android:protectionLevel="dangerous" />
1158
1159    <!-- Required to be able to read image and video files from shared storage.
1160     <p>Protection level: dangerous -->
1161    <permission-group android:name="android.permission-group.READ_MEDIA_VISUAL"
1162                      android:icon="@drawable/perm_group_read_media_visual"
1163                      android:label="@string/permgrouplab_readMediaVisual"
1164                      android:description="@string/permgroupdesc_readMediaVisual"
1165                      android:priority="1000" />
1166
1167    <!-- Allows an application to read video files from external storage.
1168      <p>This permission is enforced starting in API level
1169      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1170      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read video files from
1171      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1172      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1173      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1174      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read video files.
1175   <p>Protection level: dangerous -->
1176    <permission android:name="android.permission.READ_MEDIA_VIDEO"
1177                android:permissionGroup="android.permission-group.UNDEFINED"
1178                android:label="@string/permlab_readMediaVideo"
1179                android:description="@string/permdesc_readMediaVideo"
1180                android:protectionLevel="dangerous" />
1181
1182    <!-- Allows an application to read image files from external storage.
1183      <p>This permission is enforced starting in API level
1184      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1185      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read image files from
1186      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1187      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1188      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1189      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read image files.
1190   <p>Protection level: dangerous -->
1191    <permission android:name="android.permission.READ_MEDIA_IMAGES"
1192                android:permissionGroup="android.permission-group.UNDEFINED"
1193                android:label="@string/permlab_readMediaImages"
1194                android:description="@string/permdesc_readMediaImages"
1195                android:protectionLevel="dangerous" />
1196
1197    <!-- Allows an application to read image or video files from external storage that a user has
1198      selected via the permission prompt photo picker. Apps can check this permission to verify that
1199      a user has decided to use the photo picker, instead of granting access to
1200      {@link #READ_MEDIA_IMAGES} or {@link #READ_MEDIA_VIDEO}. It does not prevent apps from
1201      accessing the standard photo picker manually. This permission should be requested alongside
1202      {@link #READ_MEDIA_IMAGES} and/or {@link #READ_MEDIA_VIDEO}, depending on which type of media
1203      is desired.
1204      <p> This permission will be automatically added to an app's manifest if the app requests
1205      {@link #READ_MEDIA_IMAGES}, {@link #READ_MEDIA_VIDEO}, or {@link #ACCESS_MEDIA_LOCATION}
1206      regardless of target SDK. If an app does not request this permission, then the grant dialog
1207      will return `PERMISSION_GRANTED` for {@link #READ_MEDIA_IMAGES} and/or
1208      {@link #READ_MEDIA_VIDEO}, but the app will only have access to the media selected by the
1209      user. This false grant state will persist until the app goes into the background.
1210   <p>Protection level: dangerous -->
1211    <permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED"
1212        android:permissionGroup="android.permission-group.UNDEFINED"
1213        android:label="@string/permlab_readVisualUserSelect"
1214        android:description="@string/permdesc_readVisualUserSelect"
1215        android:protectionLevel="dangerous" />
1216
1217    <!-- Allows an application to write to external storage.
1218         <p><strong>Note: </strong>If your app targets {@link android.os.Build.VERSION_CODES#R} or
1219         higher, this permission has no effect.
1220
1221         <p>If your app is on a device that runs API level 19 or higher, you don't need to declare
1222         this permission to read and write files in your application-specific directories returned
1223         by {@link android.content.Context#getExternalFilesDir} and
1224         {@link android.content.Context#getExternalCacheDir}.
1225
1226         <p>Learn more about how to
1227         <a href="{@docRoot}training/data-storage/shared/media#update-other-apps-files">modify media
1228         files</a> that your app doesn't own, and how to
1229         <a href="{@docRoot}training/data-storage/shared/documents-files">modify non-media files</a>
1230         that your app doesn't own.
1231
1232         <p>If your app is a file manager and needs broad access to external storage files, then
1233         the system must place your app on an allowlist so that you can successfully request the
1234         <a href="#MANAGE_EXTERNAL_STORAGE><code>MANAGE_EXTERNAL_STORAGE</code></a> permission.
1235         Learn more about the appropriate use cases for
1236         <a href="{@docRoot}training/data-storage/manage-all-files>managing all files on a storage
1237         device</a>.
1238
1239         <p>If <em>both</em> your <a
1240         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1241         minSdkVersion}</a> and <a
1242         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1243         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1244         grants your app this permission. If you don't need this permission, be sure your <a
1245         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1246         targetSdkVersion}</a> is 4 or higher.
1247         <p>Protection level: dangerous</p>
1248    -->
1249    <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
1250        android:permissionGroup="android.permission-group.UNDEFINED"
1251        android:label="@string/permlab_sdcardWrite"
1252        android:description="@string/permdesc_sdcardWrite"
1253        android:permissionFlags="softRestricted|immutablyRestricted"
1254        android:protectionLevel="dangerous" />
1255
1256    <!-- Allows an application to access any geographic locations persisted in the
1257         user's shared collection.
1258         <p>Protection level: dangerous -->
1259    <permission android:name="android.permission.ACCESS_MEDIA_LOCATION"
1260        android:permissionGroup="android.permission-group.UNDEFINED"
1261        android:label="@string/permlab_mediaLocation"
1262        android:description="@string/permdesc_mediaLocation"
1263        android:protectionLevel="dangerous" />
1264
1265    <!-- @hide @SystemApi @TestApi
1266         Allows an application to modify OBB files visible to other apps. -->
1267    <permission android:name="android.permission.WRITE_OBB"
1268        android:protectionLevel="signature|privileged" />
1269
1270    <!-- Allows an application a broad access to external storage in scoped storage.
1271         Intended to be used by few apps that need to manage files on behalf of the users.
1272         <p>Protection level: signature|appop|preinstalled -->
1273    <permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
1274        android:permissionGroup="android.permission-group.UNDEFINED"
1275        android:protectionLevel="signature|appop|preinstalled" />
1276
1277    <!-- Allows an application to modify and delete media files on this device or any connected
1278         storage device without user confirmation. Applications must already be granted the
1279         {@link #READ_EXTERNAL_STORAGE} or {@link #MANAGE_EXTERNAL_STORAGE}} permissions for this
1280         permission to take effect.
1281         <p>Even if applications are granted this permission, if applications want to modify or
1282         delete media files, they also must get the access by calling
1283         {@link android.provider.MediaStore#createWriteRequest(ContentResolver, Collection)},
1284         {@link android.provider.MediaStore#createDeleteRequest(ContentResolver, Collection)}, or
1285         {@link android.provider.MediaStore#createTrashRequest(ContentResolver, Collection, boolean)}.
1286         <p>This permission doesn't give read or write access directly. It only prevents the user
1287         confirmation dialog for these requests.
1288         <p>If applications are not granted {@link #ACCESS_MEDIA_LOCATION}, the system also pops up
1289         the user confirmation dialog for the write request.
1290         <p>Protection level: signature|appop|preinstalled -->
1291    <permission android:name="android.permission.MANAGE_MEDIA"
1292        android:protectionLevel="signature|appop|preinstalled" />
1293
1294    <!-- ====================================================================== -->
1295    <!-- Permissions for accessing the device location                          -->
1296    <!-- ====================================================================== -->
1297    <eat-comment />
1298
1299    <!-- Used for permissions that allow accessing the device location. -->
1300    <permission-group android:name="android.permission-group.LOCATION"
1301        android:icon="@drawable/perm_group_location"
1302        android:label="@string/permgrouplab_location"
1303        android:description="@string/permgroupdesc_location"
1304        android:priority="400" />
1305
1306    <!-- Allows an app to access precise location.
1307         Alternatively, you might want {@link #ACCESS_COARSE_LOCATION}.
1308         <p>Protection level: dangerous
1309    -->
1310    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
1311        android:permissionGroup="android.permission-group.UNDEFINED"
1312        android:label="@string/permlab_accessFineLocation"
1313        android:description="@string/permdesc_accessFineLocation"
1314        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
1315        android:protectionLevel="dangerous|instant" />
1316
1317    <!-- Allows an app to access approximate location.
1318         Alternatively, you might want {@link #ACCESS_FINE_LOCATION}.
1319         <p>Protection level: dangerous
1320    -->
1321    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
1322        android:permissionGroup="android.permission-group.UNDEFINED"
1323        android:label="@string/permlab_accessCoarseLocation"
1324        android:description="@string/permdesc_accessCoarseLocation"
1325        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
1326        android:protectionLevel="dangerous|instant" />
1327
1328    <!-- Allows an app to access location in the background. If you're requesting this permission,
1329         you must also request either {@link #ACCESS_COARSE_LOCATION} or
1330         {@link #ACCESS_FINE_LOCATION}. Requesting this permission by itself doesn't give you
1331         location access.
1332         <p>Protection level: dangerous
1333
1334         <p> This is a hard restricted permission which cannot be held by an app until
1335         the installer on record allowlists the permission. For more details see
1336         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1337    -->
1338    <permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"
1339        android:permissionGroup="android.permission-group.UNDEFINED"
1340        android:label="@string/permlab_accessBackgroundLocation"
1341        android:permissionFlags="hardRestricted"
1342        android:description="@string/permdesc_accessBackgroundLocation"
1343        android:protectionLevel="dangerous|instant" />
1344
1345    <!-- Allows an application (emergency or advanced driver-assistance app) to bypass
1346    location settings.
1347         <p>Not for use by third-party applications.
1348         @SystemApi
1349         @hide
1350    -->
1351    <permission android:name="android.permission.LOCATION_BYPASS"
1352                android:protectionLevel="signature|privileged"/>
1353
1354    <!-- ====================================================================== -->
1355    <!-- Permissions for accessing the call log                                 -->
1356    <!-- ====================================================================== -->
1357    <eat-comment />
1358
1359    <!-- Used for permissions that are associated telephony features. -->
1360    <permission-group android:name="android.permission-group.CALL_LOG"
1361        android:icon="@drawable/perm_group_call_log"
1362        android:label="@string/permgrouplab_calllog"
1363        android:description="@string/permgroupdesc_calllog"
1364        android:priority="450" />
1365
1366    <!-- Allows an application to access the IMS call service: making and
1367         modifying a call
1368        <p>Protection level: signature|privileged
1369        @hide
1370    -->
1371    <permission android:name="android.permission.ACCESS_IMS_CALL_SERVICE"
1372        android:label="@string/permlab_accessImsCallService"
1373        android:description="@string/permdesc_accessImsCallService"
1374        android:protectionLevel="signature|privileged" />
1375
1376    <!-- @SystemApi @hide Allows an application to perform IMS Single Registration related actions.
1377         Only granted if the application is a system app AND is in the Default SMS Role.
1378         The permission is revoked when the app is taken out of the Default SMS Role.
1379        <p>Protection level: internal|role
1380    -->
1381    <permission android:name="android.permission.PERFORM_IMS_SINGLE_REGISTRATION"
1382        android:protectionLevel="internal|role" />
1383
1384    <!-- Allows an application to read the user's call log.
1385         <p class="note"><strong>Note:</strong> If your app uses the
1386         {@link #READ_CONTACTS} permission and <em>both</em> your <a
1387         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1388         minSdkVersion}</a> and <a
1389         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1390         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1391         grants your app this permission. If you don't need this permission, be sure your <a
1392         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1393         targetSdkVersion}</a> is 16 or higher.</p>
1394         <p>Protection level: dangerous
1395
1396         <p> This is a hard restricted permission which cannot be held by an app until
1397         the installer on record allowlists the permission. For more details see
1398         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1399    -->
1400    <permission android:name="android.permission.READ_CALL_LOG"
1401        android:permissionGroup="android.permission-group.UNDEFINED"
1402        android:label="@string/permlab_readCallLog"
1403        android:description="@string/permdesc_readCallLog"
1404        android:permissionFlags="hardRestricted"
1405        android:protectionLevel="dangerous" />
1406
1407    <!-- Allows an application to write and read the user's call log data.
1408         <p class="note"><strong>Note:</strong> If your app uses the
1409         {@link #WRITE_CONTACTS} permission and <em>both</em> your <a
1410         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1411         minSdkVersion}</a> and <a
1412         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1413         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1414         grants your app this permission. If you don't need this permission, be sure your <a
1415         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1416         targetSdkVersion}</a> is 16 or higher.</p>
1417         <p>Protection level: dangerous
1418
1419         <p> This is a hard restricted permission which cannot be held by an app until
1420         the installer on record allowlists the permission. For more details see
1421         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1422    -->
1423    <permission android:name="android.permission.WRITE_CALL_LOG"
1424        android:permissionGroup="android.permission-group.UNDEFINED"
1425        android:label="@string/permlab_writeCallLog"
1426        android:description="@string/permdesc_writeCallLog"
1427        android:permissionFlags="hardRestricted"
1428        android:protectionLevel="dangerous" />
1429
1430    <!-- Allows an application to see the number being dialed during an outgoing
1431         call with the option to redirect the call to a different number or
1432         abort the call altogether.
1433         <p>Protection level: dangerous
1434
1435         <p> This is a hard restricted permission which cannot be held by an app until
1436         the installer on record allowlists the permission. For more details see
1437         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1438
1439         @deprecated Applications should use {@link android.telecom.CallRedirectionService} instead
1440         of the {@link android.content.Intent#ACTION_NEW_OUTGOING_CALL} broadcast.
1441    -->
1442    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
1443        android:permissionGroup="android.permission-group.UNDEFINED"
1444        android:label="@string/permlab_processOutgoingCalls"
1445        android:description="@string/permdesc_processOutgoingCalls"
1446        android:permissionFlags="hardRestricted"
1447        android:protectionLevel="dangerous" />
1448
1449    <!-- ====================================================================== -->
1450    <!-- Permissions for accessing the device telephony                         -->
1451    <!-- ====================================================================== -->
1452    <eat-comment />
1453
1454    <!-- Used for permissions that are associated telephony features. -->
1455    <permission-group android:name="android.permission-group.PHONE"
1456        android:icon="@drawable/perm_group_phone_calls"
1457        android:label="@string/permgrouplab_phone"
1458        android:description="@string/permgroupdesc_phone"
1459        android:priority="500" />
1460
1461    <!-- Allows read only access to phone state, including the current cellular network information,
1462         the status of any ongoing calls, and a list of any {@link android.telecom.PhoneAccount}s
1463         registered on the device.
1464         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1465         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1466         minSdkVersion}</a> and <a
1467         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1468         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1469         grants your app this permission. If you don't need this permission, be sure your <a
1470         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1471         targetSdkVersion}</a> is 4 or higher.
1472         <p>Protection level: dangerous
1473    -->
1474    <permission android:name="android.permission.READ_PHONE_STATE"
1475        android:permissionGroup="android.permission-group.UNDEFINED"
1476        android:label="@string/permlab_readPhoneState"
1477        android:description="@string/permdesc_readPhoneState"
1478        android:protectionLevel="dangerous" />
1479
1480    <!-- Allows read only access to phone state with a non dangerous permission,
1481         including the information like cellular network type, software version. -->
1482    <permission android:name="android.permission.READ_BASIC_PHONE_STATE"
1483            android:permissionGroup="android.permission-group.UNDEFINED"
1484            android:label="@string/permlab_readBasicPhoneState"
1485            android:description="@string/permdesc_readBasicPhoneState"
1486            android:protectionLevel="normal" />
1487
1488    <!-- Allows read access to the device's phone number(s). This is a subset of the capabilities
1489         granted by {@link #READ_PHONE_STATE} but is exposed to instant applications.
1490         <p>Protection level: dangerous-->
1491    <permission android:name="android.permission.READ_PHONE_NUMBERS"
1492        android:permissionGroup="android.permission-group.UNDEFINED"
1493        android:label="@string/permlab_readPhoneNumbers"
1494        android:description="@string/permdesc_readPhoneNumbers"
1495        android:protectionLevel="dangerous|instant" />
1496
1497    <!-- Allows an application to initiate a phone call without going through
1498        the Dialer user interface for the user to confirm the call.
1499        <p class="note"><b>Note:</b> An app holding this permission can also call carrier MMI
1500        codes to change settings such as call forwarding or call waiting preferences.</p>
1501        <p>Protection level: dangerous</p>
1502    -->
1503    <permission android:name="android.permission.CALL_PHONE"
1504        android:permissionGroup="android.permission-group.UNDEFINED"
1505        android:permissionFlags="costsMoney"
1506        android:label="@string/permlab_callPhone"
1507        android:description="@string/permdesc_callPhone"
1508        android:protectionLevel="dangerous" />
1509
1510    <!-- Allows an application to add voicemails into the system.
1511         <p>Protection level: dangerous
1512    -->
1513    <permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
1514        android:permissionGroup="android.permission-group.UNDEFINED"
1515        android:label="@string/permlab_addVoicemail"
1516        android:description="@string/permdesc_addVoicemail"
1517        android:protectionLevel="dangerous" />
1518
1519    <!-- Allows an application to use SIP service.
1520         <p>Protection level: dangerous
1521    -->
1522    <permission android:name="android.permission.USE_SIP"
1523        android:permissionGroup="android.permission-group.UNDEFINED"
1524        android:description="@string/permdesc_use_sip"
1525        android:label="@string/permlab_use_sip"
1526        android:protectionLevel="dangerous"/>
1527
1528    <!-- Allows the app to answer an incoming phone call.
1529         <p>Protection level: dangerous
1530    -->
1531    <permission android:name="android.permission.ANSWER_PHONE_CALLS"
1532        android:permissionGroup="android.permission-group.UNDEFINED"
1533        android:label="@string/permlab_answerPhoneCalls"
1534        android:description="@string/permdesc_answerPhoneCalls"
1535        android:protectionLevel="dangerous|runtime" />
1536
1537    <!-- Allows a calling application which manages its own calls through the self-managed
1538         {@link android.telecom.ConnectionService} APIs.  See
1539         {@link android.telecom.PhoneAccount#CAPABILITY_SELF_MANAGED} for more information on the
1540         self-managed ConnectionService APIs.
1541         <p>Protection level: normal
1542    -->
1543    <permission android:name="android.permission.MANAGE_OWN_CALLS"
1544                android:label="@string/permlab_manageOwnCalls"
1545                android:description="@string/permdesc_manageOwnCalls"
1546                android:protectionLevel="normal" />
1547
1548    <!--Allows an app which implements the
1549        {@link android.telecom.InCallService InCallService} API to be eligible to be enabled as a
1550        calling companion app. This means that the Telecom framework will bind to the app's
1551        InCallService implementation when there are calls active. The app can use the InCallService
1552        API to view information about calls on the system and control these calls.
1553        <p>Protection level: normal
1554    -->
1555    <permission android:name="android.permission.CALL_COMPANION_APP"
1556                android:label="@string/permlab_callCompanionApp"
1557                android:description="@string/permdesc_callCompanionApp"
1558                android:protectionLevel="normal" />
1559
1560    <!-- Exempt this uid from restrictions to background audio recoding
1561     <p>Protection level: signature|privileged
1562     @hide
1563     @SystemApi
1564    -->
1565    <permission android:name="android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS"
1566                android:label="@string/permlab_exemptFromAudioRecordRestrictions"
1567                android:description="@string/permdesc_exemptFromAudioRecordRestrictions"
1568                android:protectionLevel="signature|privileged|role" />
1569
1570    <!-- Allows a calling app to continue a call which was started in another app.  An example is a
1571         video calling app that wants to continue a voice call on the user's mobile network.<p>
1572         When the handover of a call from one app to another takes place, there are two devices
1573         which are involved in the handover; the initiating and receiving devices.  The initiating
1574         device is where the request to handover the call was started, and the receiving device is
1575         where the handover request is confirmed by the other party.<p>
1576         This permission protects access to the
1577         {@link android.telecom.TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)} which
1578         the receiving side of the handover uses to accept a handover.
1579         <p>Protection level: dangerous
1580    -->
1581    <permission android:name="android.permission.ACCEPT_HANDOVER"
1582                android:permissionGroup="android.permission-group.UNDEFINED"
1583                android.label="@string/permlab_acceptHandover"
1584                android:description="@string/permdesc_acceptHandovers"
1585                android:protectionLevel="dangerous" />
1586
1587    <!-- ====================================================================== -->
1588    <!-- Permissions for accessing the device microphone                        -->
1589    <!-- ====================================================================== -->
1590    <eat-comment />
1591
1592    <!-- Used for permissions that are associated with accessing
1593         microphone audio from the device. Note that phone calls also capture audio
1594         but are in a separate (more visible) permission group. -->
1595    <permission-group android:name="android.permission-group.MICROPHONE"
1596        android:icon="@drawable/perm_group_microphone"
1597        android:label="@string/permgrouplab_microphone"
1598        android:description="@string/permgroupdesc_microphone"
1599        android:priority="600" />
1600
1601    <!-- Allows an application to record audio.
1602         <p>Protection level: dangerous
1603    -->
1604    <permission android:name="android.permission.RECORD_AUDIO"
1605        android:permissionGroup="android.permission-group.UNDEFINED"
1606        android:label="@string/permlab_recordAudio"
1607        android:description="@string/permdesc_recordAudio"
1608        android:backgroundPermission="android.permission.RECORD_BACKGROUND_AUDIO"
1609        android:protectionLevel="dangerous|instant" />
1610
1611    <!-- @SystemApi @TestApi Allows an application to record audio while in the background.
1612         This permission is not intended to be held by apps.
1613         <p>Protection level: internal
1614        @hide -->
1615    <permission android:name="android.permission.RECORD_BACKGROUND_AUDIO"
1616        android:permissionGroup="android.permission-group.UNDEFINED"
1617        android:label="@string/permlab_recordBackgroundAudio"
1618        android:description="@string/permdesc_recordBackgroundAudio"
1619        android:protectionLevel="internal|role" />
1620
1621    <!-- ====================================================================== -->
1622    <!-- Permissions for activity recognition                        -->
1623    <!-- ====================================================================== -->
1624    <eat-comment />
1625
1626    <!-- Used for permissions that are associated with activity recognition. -->
1627    <permission-group android:name="android.permission-group.ACTIVITY_RECOGNITION"
1628        android:icon="@drawable/perm_group_activity_recognition"
1629        android:label="@string/permgrouplab_activityRecognition"
1630        android:description="@string/permgroupdesc_activityRecognition"
1631        android:priority="1000" />
1632
1633    <!-- Allows an application to recognize physical activity.
1634         <p>Protection level: dangerous
1635    -->
1636    <permission android:name="android.permission.ACTIVITY_RECOGNITION"
1637        android:permissionGroup="android.permission-group.UNDEFINED"
1638        android:label="@string/permlab_activityRecognition"
1639        android:description="@string/permdesc_activityRecognition"
1640        android:protectionLevel="dangerous|instant" />
1641
1642    <!-- ====================================================================== -->
1643    <!-- Permissions for accessing the vendor UCE Service                              -->
1644    <!-- ====================================================================== -->
1645
1646    <!-- @hide Allows an application to Access UCE-Presence.
1647         <p>Protection level: signature|privileged
1648         @deprecated Framework should no longer use this permission to access the vendor UCE service
1649         using AIDL, it is instead implemented by RcsCapabilityExchangeImplBase
1650    -->
1651    <permission android:name="android.permission.ACCESS_UCE_PRESENCE_SERVICE"
1652        android:permissionGroup="android.permission-group.PHONE"
1653        android:protectionLevel="signature|privileged"/>
1654
1655    <!-- @hide Allows an application to Access UCE-OPTIONS.
1656         <p>Protection level: signature|privileged
1657         @deprecated Framework should no longer use this permission to access the vendor UCE service
1658         using AIDL, it is instead implemented by RcsCapabilityExchangeImplBase
1659    -->
1660    <permission android:name="android.permission.ACCESS_UCE_OPTIONS_SERVICE"
1661        android:permissionGroup="android.permission-group.PHONE"
1662        android:protectionLevel="signature|privileged"/>
1663
1664
1665
1666    <!-- ====================================================================== -->
1667    <!-- Permissions for accessing the device camera                            -->
1668    <!-- ====================================================================== -->
1669    <eat-comment />
1670
1671    <!-- Used for permissions that are associated with accessing
1672     camera or capturing images/video from the device. -->
1673    <permission-group android:name="android.permission-group.CAMERA"
1674        android:icon="@drawable/perm_group_camera"
1675        android:label="@string/permgrouplab_camera"
1676        android:description="@string/permgroupdesc_camera"
1677        android:priority="700" />
1678
1679    <!-- Required to be able to access the camera device.
1680         <p>This will automatically enforce the
1681         <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">
1682         uses-feature</a> manifest element for <em>all</em> camera features.
1683         If you do not require all camera features or can properly operate if a camera
1684         is not available, then you must modify your manifest as appropriate in order to
1685         install on devices that don't support all camera features.</p>
1686         <p>Protection level: dangerous
1687    -->
1688    <permission android:name="android.permission.CAMERA"
1689        android:permissionGroup="android.permission-group.UNDEFINED"
1690        android:label="@string/permlab_camera"
1691        android:description="@string/permdesc_camera"
1692        android:backgroundPermission="android.permission.BACKGROUND_CAMERA"
1693        android:protectionLevel="dangerous|instant" />
1694
1695    <!-- Required to be able to discover and connect to nearby Bluetooth devices.
1696         <p>Protection level: dangerous -->
1697    <permission-group android:name="android.permission-group.NEARBY_DEVICES"
1698        android:icon="@drawable/perm_group_nearby_devices"
1699        android:label="@string/permgrouplab_nearby_devices"
1700        android:description="@string/permgroupdesc_nearby_devices"
1701        android:priority="750" />
1702
1703    <!-- @SystemApi @TestApi Required to be able to access the camera device in the background.
1704         This permission is not intended to be held by apps.
1705         <p>Protection level: internal
1706        @hide -->
1707    <permission android:name="android.permission.BACKGROUND_CAMERA"
1708            android:permissionGroup="android.permission-group.UNDEFINED"
1709            android:label="@string/permlab_backgroundCamera"
1710            android:description="@string/permdesc_backgroundCamera"
1711            android:protectionLevel="internal|role" />
1712
1713    <!-- @SystemApi Required in addition to android.permission.CAMERA to be able to access
1714           system only camera devices.
1715           <p>Protection level: system|signature|role
1716           @hide -->
1717    <permission android:name="android.permission.SYSTEM_CAMERA"
1718        android:permissionGroup="android.permission-group.UNDEFINED"
1719        android:label="@string/permlab_systemCamera"
1720        android:description="@string/permdesc_systemCamera"
1721        android:protectionLevel="system|signature|role" />
1722
1723    <!-- @SystemApi Allows receiving the camera service notifications when a camera is opened
1724            (by a certain application package) or closed.
1725        @hide -->
1726    <permission android:name="android.permission.CAMERA_OPEN_CLOSE_LISTENER"
1727        android:permissionGroup="android.permission-group.UNDEFINED"
1728        android:label="@string/permlab_cameraOpenCloseListener"
1729        android:description="@string/permdesc_cameraOpenCloseListener"
1730        android:protectionLevel="signature" />
1731
1732    <!-- @SystemApi Allows camera access by Headless System User 0 when device is running in
1733            HSUM Mode.
1734         @FlaggedApi("com.android.internal.camera.flags.camera_hsum_permission")
1735    @hide -->
1736    <permission android:name="android.permission.CAMERA_HEADLESS_SYSTEM_USER"
1737        android:permissionGroup="android.permission-group.UNDEFINED"
1738        android:label="@string/permlab_cameraHeadlessSystemUser"
1739        android:description="@string/permdesc_cameraHeadlessSystemUser"
1740        android:protectionLevel="signature"
1741        android:featureFlag="com.android.internal.camera.flags.camera_hsum_permission" />
1742
1743
1744    <!-- @SystemApi Allows camera access of allowlisted driver assistance apps
1745         to be controlled separately.
1746         <p> Not for use by third-party applications.
1747         @FlaggedApi("com.android.internal.camera.flags.camera_privacy_allowlist")
1748         @hide
1749    -->
1750    <permission android:name="android.permission.CAMERA_PRIVACY_ALLOWLIST"
1751        android:protectionLevel="signature|privileged" />
1752
1753    <!-- ====================================================================== -->
1754    <!-- Permissions for accessing the device sensors                           -->
1755    <!-- ====================================================================== -->
1756    <eat-comment />
1757
1758    <!-- Used for permissions that are associated with accessing
1759         body or environmental sensors. -->
1760    <permission-group android:name="android.permission-group.SENSORS"
1761        android:icon="@drawable/perm_group_sensors"
1762        android:label="@string/permgrouplab_sensors"
1763        android:description="@string/permgroupdesc_sensors"
1764        android:priority="800" />
1765
1766    <!-- Allows an app to access sensor data with a sampling rate greater than 200 Hz.
1767        <p>Protection level: normal
1768    -->
1769    <permission android:name="android.permission.HIGH_SAMPLING_RATE_SENSORS"
1770                android:permissionGroup="android.permission-group.SENSORS"
1771                android:label="@string/permlab_highSamplingRateSensors"
1772                android:description="@string/permdesc_highSamplingRateSensors"
1773                android:protectionLevel="normal" />
1774
1775    <!-- Allows an application to access data from sensors that the user uses to
1776         measure what is happening inside their body, such as heart rate.
1777         <p>Protection level: dangerous -->
1778    <permission android:name="android.permission.BODY_SENSORS"
1779        android:permissionGroup="android.permission-group.UNDEFINED"
1780        android:label="@string/permlab_bodySensors"
1781        android:description="@string/permdesc_bodySensors"
1782        android:backgroundPermission="android.permission.BODY_SENSORS_BACKGROUND"
1783        android:protectionLevel="dangerous" />
1784
1785    <!-- Allows an application to access data from sensors that the user uses to measure what is
1786         happening inside their body, such as heart rate. If you're requesting this permission, you
1787         must also request {@link #BODY_SENSORS}. Requesting this permission by itself doesn't give
1788         you Body sensors access.
1789         <p>Protection level: dangerous
1790
1791         <p> This is a hard restricted permission which cannot be held by an app until
1792         the installer on record allowlists the permission. For more details see
1793         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1794    -->
1795    <permission android:name="android.permission.BODY_SENSORS_BACKGROUND"
1796        android:permissionGroup="android.permission-group.UNDEFINED"
1797        android:label="@string/permlab_bodySensors_background"
1798        android:description="@string/permdesc_bodySensors_background"
1799        android:protectionLevel="dangerous"
1800        android:permissionFlags="hardRestricted" />
1801
1802    <!-- Allows an app to use fingerprint hardware.
1803         <p>Protection level: normal
1804         @deprecated Applications should request {@link
1805         android.Manifest.permission#USE_BIOMETRIC} instead
1806    -->
1807    <permission android:name="android.permission.USE_FINGERPRINT"
1808        android:permissionGroup="android.permission-group.SENSORS"
1809        android:label="@string/permlab_useFingerprint"
1810        android:description="@string/permdesc_useFingerprint"
1811        android:protectionLevel="normal" />
1812
1813    <!-- Allows an app to use device supported biometric modalities.
1814         <p>Protection level: normal
1815    -->
1816    <permission android:name="android.permission.USE_BIOMETRIC"
1817        android:permissionGroup="android.permission-group.SENSORS"
1818        android:label="@string/permlab_useBiometric"
1819        android:description="@string/permdesc_useBiometric"
1820        android:protectionLevel="normal" />
1821
1822    <!-- ====================================================================== -->
1823    <!-- Permissions for posting notifications                                  -->
1824    <!-- ====================================================================== -->
1825    <eat-comment />
1826
1827    <!-- Used for permissions that are associated with posting notifications
1828    -->
1829    <permission-group android:name="android.permission-group.NOTIFICATIONS"
1830          android:icon="@drawable/ic_notifications_alerted"
1831          android:label="@string/permgrouplab_notifications"
1832          android:description="@string/permgroupdesc_notifications"
1833          android:priority="850" />
1834
1835    <!-- Allows an app to post notifications
1836         <p>Protection level: dangerous
1837    -->
1838    <permission android:name="android.permission.POST_NOTIFICATIONS"
1839                android:permissionGroup="android.permission-group.UNDEFINED"
1840                android:label="@string/permlab_postNotification"
1841                android:description="@string/permdesc_postNotification"
1842                android:protectionLevel="dangerous|instant" />
1843    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
1844
1845    <!-- ====================================================================== -->
1846    <!-- REMOVED PERMISSIONS                                                    -->
1847    <!-- ====================================================================== -->
1848
1849    <!-- @hide We need to keep this around for backwards compatibility -->
1850    <permission android:name="android.permission.READ_PROFILE"
1851        android:protectionLevel="normal"
1852        android:permissionFlags="removed"/>
1853
1854    <!-- @hide We need to keep this around for backwards compatibility -->
1855    <permission android:name="android.permission.WRITE_PROFILE"
1856        android:protectionLevel="normal"
1857        android:permissionFlags="removed"/>
1858
1859    <!-- @hide We need to keep this around for backwards compatibility -->
1860    <permission android:name="android.permission.READ_SOCIAL_STREAM"
1861        android:protectionLevel="normal"
1862        android:permissionFlags="removed"/>
1863
1864    <!-- @hide We need to keep this around for backwards compatibility -->
1865    <permission android:name="android.permission.WRITE_SOCIAL_STREAM"
1866        android:protectionLevel="normal"
1867        android:permissionFlags="removed"/>
1868
1869    <!-- @hide We need to keep this around for backwards compatibility -->
1870    <permission android:name="android.permission.READ_USER_DICTIONARY"
1871        android:protectionLevel="normal"
1872        android:permissionFlags="removed"/>
1873
1874    <!-- @hide We need to keep this around for backwards compatibility -->
1875    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
1876        android:protectionLevel="normal"
1877        android:permissionFlags="removed"/>
1878
1879    <!-- @SystemApi @hide We need to keep this around for backwards compatibility -->
1880    <permission android:name="android.permission.WRITE_SMS"
1881        android:protectionLevel="normal"
1882        android:permissionFlags="removed"/>
1883
1884    <!-- @hide We need to keep this around for backwards compatibility -->
1885    <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
1886        android:protectionLevel="normal"
1887        android:permissionFlags="removed"/>
1888
1889    <!-- @hide We need to keep this around for backwards compatibility -->
1890    <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
1891        android:protectionLevel="normal"
1892        android:permissionFlags="removed"/>
1893
1894    <!-- @hide We need to keep this around for backwards compatibility -->
1895    <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"
1896        android:protectionLevel="normal"
1897        android:permissionFlags="removed"/>
1898
1899    <!-- @hide We need to keep this around for backwards compatibility -->
1900    <permission android:name="android.permission.MANAGE_ACCOUNTS"
1901        android:protectionLevel="normal"
1902        android:permissionFlags="removed"/>
1903
1904    <!-- @hide We need to keep this around for backwards compatibility -->
1905    <permission android:name="android.permission.USE_CREDENTIALS"
1906        android:protectionLevel="normal"
1907        android:permissionFlags="removed"/>
1908
1909    <!-- @hide We need to keep this around for backwards compatibility -->
1910    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
1911        android:protectionLevel="normal"
1912        android:permissionFlags="removed"/>
1913
1914    <!-- @hide We need to keep this around for backwards compatibility -->
1915    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
1916        android:protectionLevel="normal"
1917        android:permissionFlags="removed"/>
1918
1919    <!-- @hide We need to keep this around for backwards compatibility -->
1920    <permission android:name="android.permission.FLASHLIGHT"
1921        android:protectionLevel="normal"
1922        android:permissionFlags="removed"/>
1923
1924    <!-- ====================================================================== -->
1925    <!-- INSTALL PERMISSIONS                                                    -->
1926    <!-- ====================================================================== -->
1927
1928    <!-- ================================== -->
1929    <!-- Permissions for accessing messages -->
1930    <!-- ================================== -->
1931    <eat-comment />
1932
1933    <!-- Allows an application (Phone) to send a request to other applications
1934         to handle the respond-via-message action during incoming calls.
1935         <p>Not for use by third-party applications. -->
1936    <permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE"
1937        android:protectionLevel="signature|privileged" />
1938
1939    <!-- @SystemApi Allows an application to send SMS to premium shortcodes without user permission.
1940         <p>Not for use by third-party applications.
1941         @hide -->
1942    <permission android:name="android.permission.SEND_SMS_NO_CONFIRMATION"
1943        android:protectionLevel="signature|privileged" />
1944
1945    <!-- Allows an application to filter carrier specific sms.
1946         @hide -->
1947    <permission android:name="android.permission.CARRIER_FILTER_SMS"
1948        android:protectionLevel="signature|privileged" />
1949
1950    <!-- @SystemApi Allows an application to receive emergency cell broadcast messages,
1951         to record or display them to the user.
1952         <p>Not for use by third-party applications.
1953         @hide -->
1954    <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"
1955        android:protectionLevel="signature|privileged" />
1956
1957    <!-- @SystemApi Allows an application to monitor incoming Bluetooth MAP messages, to record
1958         or perform processing on them. -->
1959    <!-- @hide -->
1960    <permission android:name="android.permission.RECEIVE_BLUETOOTH_MAP"
1961        android:protectionLevel="signature|privileged" />
1962
1963    <!-- @SystemApi @hide Allows an application to execute contacts directory search.
1964         This should only be used by ContactsProvider.
1965         <p>Not for use by third-party applications. -->
1966    <permission android:name="android.permission.BIND_DIRECTORY_SEARCH"
1967        android:protectionLevel="signature|privileged" />
1968
1969    <!-- @SystemApi @hide Allows an application to modify the cell broadcasts configuration
1970         (i.e. enable or disable channels).
1971         <p>Not for use by third-party applications. -->
1972    <permission android:name="android.permission.MODIFY_CELL_BROADCASTS"
1973                android:protectionLevel="signature|privileged" />
1974
1975    <!-- =============================================================== -->
1976    <!-- Permissions for setting the device alarm                        -->
1977    <!-- =============================================================== -->
1978    <eat-comment />
1979
1980    <!-- Allows an application to broadcast an Intent to set an alarm for the user.
1981         <p>Protection level: normal
1982    -->
1983    <permission android:name="com.android.alarm.permission.SET_ALARM"
1984        android:label="@string/permlab_setAlarm"
1985        android:description="@string/permdesc_setAlarm"
1986        android:protectionLevel="normal" />
1987
1988    <!-- =============================================================== -->
1989    <!-- Permissions for accessing the user voicemail                    -->
1990    <!-- =============================================================== -->
1991    <eat-comment />
1992
1993    <!-- Allows an application to modify and remove existing voicemails in the system.
1994        <p>Protection level: signature|privileged|role
1995    -->
1996    <permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"
1997        android:protectionLevel="signature|privileged|role" />
1998
1999    <!-- Allows an application to read voicemails in the system.
2000         <p>Protection level: signature|privileged|role
2001    -->
2002    <permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"
2003        android:protectionLevel="signature|privileged|role" />
2004
2005    <!-- ======================================= -->
2006    <!-- Permissions for accessing location info -->
2007    <!-- ======================================= -->
2008    <eat-comment />
2009
2010    <!-- Allows an application to access extra location provider commands.
2011         <p>Protection level: normal
2012    -->
2013    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
2014        android:label="@string/permlab_accessLocationExtraCommands"
2015        android:description="@string/permdesc_accessLocationExtraCommands"
2016        android:protectionLevel="normal" />
2017
2018    <!-- Allows an application to install a location provider into the Location Manager.
2019    <p>Not for use by third-party applications. -->
2020    <permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"
2021        android:protectionLevel="signature|privileged" />
2022
2023    <!-- @SystemApi @hide Allows an application to provide location-based time zone suggestions to
2024         the system server. This is needed because the system server discovers time zone providers
2025         by exposed intent actions and metadata, without it any app could potentially register
2026         itself as time zone provider. The system server checks for this permission.
2027         <p>Not for use by third-party applications.
2028    -->
2029    <permission android:name="android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE"
2030        android:protectionLevel="signature|privileged" />
2031
2032    <!-- @SystemApi @hide Allows an application to bind to a android.service.TimeZoneProviderService
2033         for the purpose of detecting the device's time zone. This prevents arbitrary clients
2034         connecting to the time zone provider service. The system server checks that the provider's
2035         intent service explicitly sets this permission via the android:permission attribute of the
2036         service.
2037         This is only expected to be possessed by the system server outside of tests.
2038         <p>Not for use by third-party applications.
2039    -->
2040    <permission android:name="android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE"
2041        android:protectionLevel="signature" />
2042
2043    <!-- @SystemApi @hide Allows HDMI-CEC service to access device and configuration files.
2044         This should only be used by HDMI-CEC service.
2045    -->
2046    <permission android:name="android.permission.HDMI_CEC"
2047        android:protectionLevel="signature|privileged|vendorPrivileged" />
2048
2049    <!-- Allows an application to use location features in hardware,
2050         such as the geofencing api.
2051         <p>Not for use by third-party applications. -->
2052    <permission android:name="android.permission.LOCATION_HARDWARE"
2053        android:protectionLevel="signature|privileged|role" />
2054    <uses-permission android:name="android.permission.LOCATION_HARDWARE"/>
2055
2056    <!-- @SystemApi Allows an application to use the Context Hub.
2057         <p>Not for use by third-party applications.
2058         @hide
2059    -->
2060    <permission android:name="android.permission.ACCESS_CONTEXT_HUB"
2061        android:protectionLevel="signature|privileged" />
2062    <uses-permission android:name="android.permission.ACCESS_CONTEXT_HUB"/>
2063
2064    <!-- @SystemApi Allows an application to create mock location providers for testing.
2065         <p>Protection level: signature
2066         @hide
2067    -->
2068    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
2069        android:protectionLevel="signature" />
2070
2071    <!-- @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
2072         Allows automotive applications to control location
2073         suspend state for power management use cases.
2074         <p>Not for use by third-party applications.
2075    -->
2076    <permission android:name="android.permission.CONTROL_AUTOMOTIVE_GNSS"
2077        android:protectionLevel="signature|privileged" />
2078
2079    <!-- ======================================= -->
2080    <!-- Permissions for accessing networks -->
2081    <!-- ======================================= -->
2082    <eat-comment />
2083
2084    <!-- Allows applications to open network sockets.
2085         <p>Protection level: normal
2086    -->
2087    <permission android:name="android.permission.INTERNET"
2088        android:description="@string/permdesc_createNetworkSockets"
2089        android:label="@string/permlab_createNetworkSockets"
2090        android:protectionLevel="normal|instant" />
2091
2092    <!-- Allows applications to access information about networks.
2093         <p>Protection level: normal
2094    -->
2095    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
2096        android:description="@string/permdesc_accessNetworkState"
2097        android:label="@string/permlab_accessNetworkState"
2098        android:protectionLevel="normal|instant" />
2099
2100    <!-- Allows applications to access information about Wi-Fi networks.
2101         <p>Protection level: normal
2102    -->
2103    <permission android:name="android.permission.ACCESS_WIFI_STATE"
2104        android:description="@string/permdesc_accessWifiState"
2105        android:label="@string/permlab_accessWifiState"
2106        android:protectionLevel="normal" />
2107
2108    <!-- Allows applications to change Wi-Fi connectivity state.
2109         <p>Protection level: normal
2110    -->
2111    <permission android:name="android.permission.CHANGE_WIFI_STATE"
2112        android:description="@string/permdesc_changeWifiState"
2113        android:label="@string/permlab_changeWifiState"
2114        android:protectionLevel="normal" />
2115
2116    <!-- This permission is used to let OEMs grant their trusted app access to a subset of
2117         privileged wifi APIs to improve wifi performance. Allows applications to manage
2118         Wi-Fi network selection related features such as enable or disable global auto-join,
2119         modify connectivity scan intervals, and approve Wi-Fi Direct connections.
2120         <p>Not for use by third-party applications. -->
2121    <permission android:name="android.permission.MANAGE_WIFI_NETWORK_SELECTION"
2122                android:protectionLevel="signature|privileged|knownSigner"
2123                android:knownCerts="@array/wifi_known_signers" />
2124
2125    <!-- Allows applications to get notified when a Wi-Fi interface request cannot
2126         be satisfied without tearing down one or more other interfaces, and provide a decision
2127         whether to approve the request or reject it.
2128         <p>Not for use by third-party applications. -->
2129    <permission android:name="android.permission.MANAGE_WIFI_INTERFACES"
2130                android:protectionLevel="signature|privileged|knownSigner"
2131                android:knownCerts="@array/wifi_known_signers" />
2132
2133    <!-- @SystemApi @hide Allows apps to create and manage IPsec tunnels.
2134         <p>Only granted to applications that are currently bound by the
2135         system for creating and managing IPsec-based interfaces.
2136    -->
2137    <permission android:name="android.permission.MANAGE_IPSEC_TUNNELS"
2138        android:protectionLevel="signature|appop" />
2139
2140    <!-- @SystemApi @hide Allows apps to create and manage Test Networks.
2141         <p>Granted only to shell. CTS tests will use
2142         UiAutomation.AdoptShellPermissionIdentity() to gain access.
2143    -->
2144    <permission android:name="android.permission.MANAGE_TEST_NETWORKS"
2145        android:protectionLevel="signature" />
2146
2147    <!-- Allows direct access to the <RemoteAuth>Service interfaces.
2148         @hide -->
2149    <permission android:name="android.permission.MANAGE_REMOTE_AUTH"
2150                android:protectionLevel="signature" />
2151
2152    <!-- Allows direct access to the <RemoteAuth>Service authentication methods.
2153         @hide -->
2154    <permission android:name="android.permission.USE_REMOTE_AUTH"
2155                android:protectionLevel="signature" />
2156
2157    <!-- @SystemApi @hide Allows applications to read Wi-Fi credential.
2158         <p>Not for use by third-party applications. -->
2159    <permission android:name="android.permission.READ_WIFI_CREDENTIAL"
2160        android:protectionLevel="signature|privileged" />
2161
2162    <!-- @SystemApi @hide Allows applications to change tether state and run
2163         tether carrier provisioning.
2164         <p>Not for use by third-party applications. -->
2165    <permission android:name="android.permission.TETHER_PRIVILEGED"
2166        android:protectionLevel="signature|privileged" />
2167
2168    <!-- @SystemApi @hide Allow system apps to receive broadcast
2169         when a wifi network credential is changed.
2170         <p>Not for use by third-party applications. -->
2171    <permission android:name="android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE"
2172        android:protectionLevel="signature|privileged" />
2173
2174    <!-- Allows an application to modify any wifi configuration, even if created
2175     by another application. Once reconfigured the original creator cannot make any further
2176     modifications.
2177     <p>Not for use by third-party applications. -->
2178    <permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"
2179                android:protectionLevel="signature|privileged|knownSigner"
2180                android:knownCerts="@array/wifi_known_signers" />
2181
2182    <!-- @deprecated Allows applications to act as network scorers. @hide @SystemApi-->
2183    <permission android:name="android.permission.SCORE_NETWORKS"
2184        android:protectionLevel="signature|privileged" />
2185
2186    <!-- @deprecated Allows applications to request network
2187         recommendations and scores from the NetworkScoreService.
2188         @SystemApi
2189         <p>Not for use by third-party applications. @hide -->
2190    <permission android:name="android.permission.REQUEST_NETWORK_SCORES"
2191        android:protectionLevel="signature|setup" />
2192
2193    <!-- Allows applications to restart the Wi-Fi subsystem.
2194     @SystemApi
2195     <p>Not for use by third-party applications. @hide -->
2196    <permission android:name="android.permission.RESTART_WIFI_SUBSYSTEM"
2197                android:protectionLevel="signature|privileged" />
2198
2199    <!-- @SystemApi @hide Allows applications to toggle airplane mode.
2200         <p>Not for use by third-party or privileged applications.
2201    -->
2202    <permission android:name="android.permission.NETWORK_AIRPLANE_MODE"
2203        android:protectionLevel="signature" />
2204
2205    <!-- Allows network stack services (Connectivity and Wifi) to coordinate
2206         <p>Not for use by third-party or privileged applications.
2207         @SystemApi @TestApi
2208         @hide This should only be used by Connectivity and Wifi Services.
2209    -->
2210    <permission android:name="android.permission.NETWORK_STACK"
2211        android:protectionLevel="signature" />
2212
2213    <!-- @SystemApi @hide Allows an application to observe network policy changes. -->
2214    <permission android:name="android.permission.OBSERVE_NETWORK_POLICY"
2215                android:protectionLevel="signature" />
2216
2217    <!-- @SystemApi @hide Allows applications to register network factory or agent -->
2218    <permission android:name="android.permission.NETWORK_FACTORY"
2219                android:protectionLevel="signature|role" />
2220
2221    <!-- @SystemApi @hide Allows applications to access network stats provider -->
2222    <permission android:name="android.permission.NETWORK_STATS_PROVIDER"
2223                android:protectionLevel="signature" />
2224
2225    <!-- Allows Settings and SystemUI to call methods in Networking services
2226         <p>Not for use by third-party or privileged applications.
2227         @SystemApi @TestApi
2228         @hide This should only be used by Settings and SystemUI.
2229    -->
2230    <permission android:name="android.permission.NETWORK_SETTINGS"
2231        android:protectionLevel="signature" />
2232
2233    <!-- Allows holder to request bluetooth/wifi scan bypassing global "use location" setting and
2234         location permissions.
2235         <p>Not for use by third-party or privileged applications.
2236         @SystemApi
2237         @hide
2238    -->
2239    <permission android:name="android.permission.RADIO_SCAN_WITHOUT_LOCATION"
2240                android:protectionLevel="signature|companion" />
2241
2242    <!-- Allows SetupWizard to call methods in Networking services
2243         <p>Not for use by any other third-party or privileged applications.
2244         @SystemApi
2245         @hide This should only be used by SetupWizard.
2246    -->
2247    <permission android:name="android.permission.NETWORK_SETUP_WIZARD"
2248        android:protectionLevel="signature|setup" />
2249
2250    <!-- Allows Managed Provisioning to call methods in Networking services
2251         <p>Not for use by any other third-party or privileged applications.
2252         @SystemApi
2253         @hide This should only be used by ManagedProvisioning app.
2254    -->
2255    <permission android:name="android.permission.NETWORK_MANAGED_PROVISIONING"
2256        android:protectionLevel="signature|role" />
2257
2258    <!-- Allows Carrier Provisioning to call methods in Networking services
2259         <p>Not for use by any other third-party or privileged applications.
2260         @SystemApi
2261         @hide This should only be used by CarrierProvisioning.
2262    -->
2263    <permission android:name="android.permission.NETWORK_CARRIER_PROVISIONING"
2264        android:protectionLevel="signature|privileged" />
2265
2266    <!-- #SystemApi @hide Allows applications to access information about LoWPAN interfaces.
2267         <p>Not for use by third-party applications. -->
2268    <permission android:name="android.permission.ACCESS_LOWPAN_STATE"
2269        android:protectionLevel="signature|privileged" />
2270
2271    <!-- #SystemApi @hide Allows applications to change LoWPAN connectivity state.
2272         <p>Not for use by third-party applications. -->
2273    <permission android:name="android.permission.CHANGE_LOWPAN_STATE"
2274        android:protectionLevel="signature|privileged" />
2275
2276    <!-- #SystemApi @hide Allows applications to read LoWPAN credential.
2277         <p>Not for use by third-party applications. -->
2278    <permission android:name="android.permission.READ_LOWPAN_CREDENTIAL"
2279        android:protectionLevel="signature|privileged" />
2280
2281    <!-- #SystemApi @hide Allows a service to register or unregister
2282         new LoWPAN interfaces.
2283         <p>Not for use by third-party applications. -->
2284    <permission android:name="android.permission.MANAGE_LOWPAN_INTERFACES"
2285        android:protectionLevel="signature|privileged" />
2286
2287    <!-- @SystemApi @hide Allows changing Thread network state and access to Thread network
2288        credentials such as Network Key and PSKc.
2289        <p>Not for use by third-party applications.
2290        @FlaggedApi("com.android.net.thread.platform.flags.thread_enabled_platform") -->
2291    <permission android:name="android.permission.THREAD_NETWORK_PRIVILEGED"
2292                android:protectionLevel="signature|privileged" />
2293
2294    <!-- @hide Allows access to Thread network APIs or shell commands ("cmd thread_network") which
2295        are only for testing. -->
2296    <permission android:name="android.permission.THREAD_NETWORK_TESTING"
2297                android:protectionLevel="signature" />
2298
2299    <!-- #SystemApi @hide Allows an app to bypass Private DNS.
2300         <p>Not for use by third-party applications.
2301         TODO: publish as system API in next API release. -->
2302    <permission android:name="android.permission.NETWORK_BYPASS_PRIVATE_DNS"
2303        android:protectionLevel="signature" />
2304
2305    <!-- @SystemApi @hide Allows device mobility state to be set so that Wifi scan interval can
2306         be increased when the device is stationary in order to save power.
2307         <p>Not for use by third-party applications. -->
2308    <permission android:name="android.permission.WIFI_SET_DEVICE_MOBILITY_STATE"
2309        android:protectionLevel="signature|privileged" />
2310
2311    <!-- @SystemApi @hide Allows privileged system APK to update Wifi usability stats and score.
2312         <p>Not for use by third-party applications. -->
2313    <permission android:name="android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE"
2314        android:protectionLevel="signature|privileged" />
2315
2316    <!-- @SystemApi @hide Allows applications to update Wifi/Cellular coex channels to avoid.
2317             <p>Not for use by third-party applications. -->
2318    <permission android:name="android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS"
2319        android:protectionLevel="signature|role" />
2320
2321    <!-- @SystemApi @hide Allows applications to access Wifi/Cellular coex channels being avoided.
2322         <p>Not for use by third-party applications. -->
2323    <permission android:name="android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS"
2324        android:protectionLevel="signature|role" />
2325
2326    <!-- @SystemApi @hide Allows system APK to manage country code.
2327             <p>Not for use by third-party applications. -->
2328    <permission android:name="android.permission.MANAGE_WIFI_COUNTRY_CODE"
2329        android:protectionLevel="signature" />
2330
2331    <!-- @SystemApi @hide Allows an application to manage an automotive device's application network
2332         preference as it relates to OEM_PAID and OEM_PRIVATE capable networks.
2333         <p>Not for use by third-party or privileged applications. -->
2334    <permission android:name="android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE"
2335        android:protectionLevel="signature" />
2336
2337    <!-- @SystemApi @hide Allows an application to manage ethernet networks.
2338         <p>Not for use by third-party or privileged applications. -->
2339    <permission android:name="android.permission.MANAGE_ETHERNET_NETWORKS"
2340        android:protectionLevel="signature" />
2341
2342    <!-- Allows system apps to call methods to register itself as a mDNS offload engine.
2343        <p>Not for use by third-party or privileged applications.
2344        @SystemApi
2345        @FlaggedApi("android.net.platform.flags.register_nsd_offload_engine")
2346        @hide This should only be used by system apps.
2347    -->
2348    <permission android:name="android.permission.REGISTER_NSD_OFFLOAD_ENGINE"
2349        android:protectionLevel="signature"
2350        android:featureFlag="android.net.platform.flags.register_nsd_offload_engine" />
2351
2352    <!-- ======================================= -->
2353    <!-- Permissions for short range, peripheral networks -->
2354    <!-- ======================================= -->
2355    <eat-comment />
2356
2357    <!-- Allows applications to connect to paired bluetooth devices.
2358         <p>Protection level: normal
2359    -->
2360    <permission android:name="android.permission.BLUETOOTH"
2361        android:description="@string/permdesc_bluetooth"
2362        android:label="@string/permlab_bluetooth"
2363        android:protectionLevel="normal" />
2364
2365    <!-- Required to be able to discover and pair nearby Bluetooth devices.
2366         <p>Protection level: dangerous -->
2367    <permission android:name="android.permission.BLUETOOTH_SCAN"
2368        android:permissionGroup="android.permission-group.UNDEFINED"
2369        android:description="@string/permdesc_bluetooth_scan"
2370        android:label="@string/permlab_bluetooth_scan"
2371        android:protectionLevel="dangerous" />
2372
2373    <!-- Required to be able to connect to paired Bluetooth devices.
2374         <p>Protection level: dangerous -->
2375    <permission android:name="android.permission.BLUETOOTH_CONNECT"
2376        android:permissionGroup="android.permission-group.UNDEFINED"
2377        android:description="@string/permdesc_bluetooth_connect"
2378        android:label="@string/permlab_bluetooth_connect"
2379        android:protectionLevel="dangerous" />
2380
2381    <!-- Required to be able to advertise to nearby Bluetooth devices.
2382         <p>Protection level: dangerous -->
2383    <permission android:name="android.permission.BLUETOOTH_ADVERTISE"
2384        android:permissionGroup="android.permission-group.UNDEFINED"
2385        android:description="@string/permdesc_bluetooth_advertise"
2386        android:label="@string/permlab_bluetooth_advertise"
2387        android:protectionLevel="dangerous" />
2388
2389    <!-- Required to be able to range to devices using ultra-wideband.
2390         <p>Protection level: dangerous -->
2391    <permission android:name="android.permission.UWB_RANGING"
2392        android:permissionGroup="android.permission-group.UNDEFINED"
2393        android:description="@string/permdesc_uwb_ranging"
2394        android:label="@string/permlab_uwb_ranging"
2395        android:protectionLevel="dangerous" />
2396
2397    <!-- Required to be able to advertise and connect to nearby devices via Wi-Fi.
2398         <p>Protection level: dangerous -->
2399    <permission android:name="android.permission.NEARBY_WIFI_DEVICES"
2400                android:permissionGroup="android.permission-group.UNDEFINED"
2401                android:description="@string/permdesc_nearby_wifi_devices"
2402                android:label="@string/permlab_nearby_wifi_devices"
2403                android:protectionLevel="dangerous" />
2404
2405    <!-- @SystemApi @TestApi Allows an application to suspend other apps, which will prevent the
2406         user from using them until they are unsuspended.
2407         @hide
2408    -->
2409    <permission android:name="android.permission.SUSPEND_APPS"
2410        android:protectionLevel="signature|role|verifier" />
2411
2412    <!-- @SystemApi
2413         @hide
2414         @FlaggedApi("android.content.pm.quarantined_enabled")
2415         Allows an application to quarantine other apps, which will prevent
2416         them from running without explicit user action.
2417    -->
2418    <permission android:name="android.permission.QUARANTINE_APPS"
2419        android:protectionLevel="signature|verifier"
2420        android:featureFlag="android.content.pm.quarantined_enabled" />
2421
2422    <!-- Allows applications to discover and pair bluetooth devices.
2423         <p>Protection level: normal
2424    -->
2425    <permission android:name="android.permission.BLUETOOTH_ADMIN"
2426        android:description="@string/permdesc_bluetoothAdmin"
2427        android:label="@string/permlab_bluetoothAdmin"
2428        android:protectionLevel="normal" />
2429
2430    <!-- Allows applications to pair bluetooth devices without user interaction, and to
2431         allow or disallow phonebook access or message access.
2432         <p>Not for use by third-party applications. -->
2433    <permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
2434        android:protectionLevel="signature|privileged" />
2435
2436    <!-- @SystemApi Control access to email providers exclusively for Bluetooth
2437         @hide
2438    -->
2439    <permission android:name="android.permission.BLUETOOTH_MAP"
2440        android:protectionLevel="signature|role" />
2441
2442    <!-- Allows bluetooth stack to access files
2443         This should only be granted to the Bluetooth apk.
2444         @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
2445    -->
2446    <permission android:name="android.permission.BLUETOOTH_STACK"
2447        android:protectionLevel="signature|role" />
2448
2449    <!-- Allows uhid write access for creating virtual input devices
2450         @hide
2451    -->
2452    <permission android:name="android.permission.VIRTUAL_INPUT_DEVICE"
2453        android:protectionLevel="signature" />
2454
2455    <!-- Allows applications to perform I/O operations over NFC.
2456         <p>Protection level: normal
2457    -->
2458    <permission android:name="android.permission.NFC"
2459        android:description="@string/permdesc_nfc"
2460        android:label="@string/permlab_nfc"
2461        android:protectionLevel="normal" />
2462
2463    <!-- Allows applications to receive NFC transaction events.
2464         <p>Protection level: normal
2465    -->
2466    <permission android:name="android.permission.NFC_TRANSACTION_EVENT"
2467        android:description="@string/permdesc_nfcTransactionEvent"
2468        android:label="@string/permlab_nfcTransactionEvent"
2469      android:protectionLevel="normal" />
2470
2471    <!-- Allows applications to receive NFC preferred payment service information.
2472         <p>Protection level: normal
2473    -->
2474    <permission android:name="android.permission.NFC_PREFERRED_PAYMENT_INFO"
2475        android:description="@string/permdesc_preferredPaymentInfo"
2476        android:label="@string/permlab_preferredPaymentInfo"
2477        android:protectionLevel="normal" />
2478
2479    <!-- @SystemApi Allows access to set NFC controller always on states.
2480         <p>Protection level: signature|privileged
2481         @hide -->
2482    <permission android:name="android.permission.NFC_SET_CONTROLLER_ALWAYS_ON"
2483        android:protectionLevel="signature|privileged" />
2484
2485    <!-- @SystemApi Allows an internal user to use privileged SecureElement APIs.
2486         Applications holding this permission can access OMAPI reset system API
2487         and bypass OMAPI AccessControlEnforcer.
2488         <p>Not for use by third-party applications.
2489         @hide -->
2490    <permission android:name="android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION"
2491        android:protectionLevel="signature|privileged" />
2492
2493    <!-- @deprecated This permission used to allow too broad access to sensitive methods and all its
2494         uses have been replaced by a more appropriate permission. Most uses have been replaced with
2495         a NETWORK_STACK or NETWORK_SETTINGS check. Please look up the documentation of the
2496         individual functions to figure out what permission now protects the individual function.
2497         @SystemApi Allows an internal user to use privileged ConnectivityManager APIs.
2498         @hide -->
2499    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
2500        android:protectionLevel="signature|privileged" />
2501
2502    <!-- @SystemApi Allows an internal user to use restricted Networks.
2503         @hide -->
2504    <permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"
2505        android:protectionLevel="signature|privileged" />
2506    <uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>
2507
2508    <!-- @SystemApi Allows an internal user to set signal strength in NetworkRequest. This kind of
2509         request will wake up device when signal strength meets the given value.
2510         @hide -->
2511    <permission android:name="android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP"
2512                android:protectionLevel="signature|privileged" />
2513
2514    <!-- @SystemApi Allows a system application to access hardware packet offload capabilities.
2515         @hide -->
2516    <permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD"
2517        android:protectionLevel="signature|privileged" />
2518
2519    <!-- @SystemApi
2520         @hide -->
2521    <permission android:name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"
2522        android:protectionLevel="signature|privileged" />
2523
2524    <!-- @SystemApi Allows access to the loop radio (Android@Home mesh network) device.
2525         @hide -->
2526    <permission android:name="android.permission.LOOP_RADIO"
2527        android:protectionLevel="signature|privileged" />
2528
2529    <!-- Allows sending and receiving handover transfer status from Wifi and Bluetooth
2530         @hide -->
2531    <permission android:name="android.permission.NFC_HANDOVER_STATUS"
2532        android:protectionLevel="signature|privileged" />
2533
2534    <!-- @SystemApi Allows internal management of Bluetooth state when on wireless consent mode.
2535         <p>Not for use by third-party applications.
2536         @hide -->
2537    <permission android:name="android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED"
2538        android:protectionLevel="signature" />
2539
2540    <!-- @hide Allows the device to be reset, clearing all data and enables Test Harness Mode. -->
2541    <permission android:name="android.permission.ENABLE_TEST_HARNESS_MODE"
2542        android:protectionLevel="signature" />
2543
2544    <!-- @SystemApi Allows access to ultra wideband device.
2545     <p>Not for use by third-party applications.
2546     @hide -->
2547    <permission android:name="android.permission.UWB_PRIVILEGED"
2548                android:protectionLevel="signature|privileged" />
2549
2550    <!-- ================================== -->
2551    <!-- Permissions for accessing accounts -->
2552    <!-- ================================== -->
2553    <eat-comment />
2554
2555    <!-- Allows access to the list of accounts in the Accounts Service.
2556
2557    <p class="note"><strong>Note:</strong> Beginning with Android 6.0 (API level
2558    23), if an app shares the signature of the authenticator that manages an
2559    account, it does not need <code>"GET_ACCOUNTS"</code> permission to read
2560    information about that account. On Android 5.1 and lower, all apps need
2561    <code>"GET_ACCOUNTS"</code> permission to read information about any
2562    account.</p>
2563
2564    <p>Protection level: dangerous
2565    -->
2566    <permission android:name="android.permission.GET_ACCOUNTS"
2567        android:permissionGroup="android.permission-group.UNDEFINED"
2568        android:protectionLevel="dangerous"
2569        android:description="@string/permdesc_getAccounts"
2570        android:label="@string/permlab_getAccounts" />
2571    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
2572
2573    <!-- Allows applications to call into AccountAuthenticators.
2574    <p>Not for use by third-party applications. -->
2575    <permission android:name="android.permission.ACCOUNT_MANAGER"
2576        android:protectionLevel="signature" />
2577
2578    <!-- ================================== -->
2579    <!-- Permissions for accessing hardware that may effect battery life-->
2580    <!-- ================================== -->
2581    <eat-comment />
2582
2583    <!-- Allows applications to enter Wi-Fi Multicast mode.
2584         <p>Protection level: normal
2585    -->
2586    <permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
2587        android:description="@string/permdesc_changeWifiMulticastState"
2588        android:label="@string/permlab_changeWifiMulticastState"
2589        android:protectionLevel="normal" />
2590
2591    <!-- Allows access to the vibrator.
2592         <p>Protection level: normal
2593    -->
2594    <permission android:name="android.permission.VIBRATE"
2595        android:label="@string/permlab_vibrate"
2596        android:description="@string/permdesc_vibrate"
2597        android:protectionLevel="normal|instant" />
2598
2599    <!-- Allows access to the vibrator always-on settings.
2600         <p>Protection level: signature
2601         @hide
2602    -->
2603    <permission android:name="android.permission.VIBRATE_ALWAYS_ON"
2604        android:protectionLevel="signature" />
2605
2606    <!-- Allows access to system-only haptic feedback constants.
2607         <p>Protection level: signature
2608         @hide
2609    -->
2610    <permission android:name="android.permission.VIBRATE_SYSTEM_CONSTANTS"
2611        android:protectionLevel="signature" />
2612
2613    <!-- @SystemApi Allows access to the vibrator state.
2614         <p>Protection level: signature
2615         @hide
2616    -->
2617    <permission android:name="android.permission.ACCESS_VIBRATOR_STATE"
2618        android:label="@string/permdesc_vibrator_state"
2619        android:description="@string/permdesc_vibrator_state"
2620        android:protectionLevel="signature|privileged" />
2621
2622    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
2623         from dimming.
2624         <p>Protection level: normal
2625    -->
2626    <permission android:name="android.permission.WAKE_LOCK"
2627        android:label="@string/permlab_wakeLock"
2628        android:description="@string/permdesc_wakeLock"
2629        android:protectionLevel="normal|instant" />
2630
2631    <!-- Allows using the device's IR transmitter, if available.
2632         <p>Protection level: normal
2633    -->
2634    <permission android:name="android.permission.TRANSMIT_IR"
2635        android:label="@string/permlab_transmitIr"
2636        android:description="@string/permdesc_transmitIr"
2637        android:protectionLevel="normal" />
2638
2639    <!-- Allows an app to turn on the screen on, e.g. with
2640         {@link android.os.PowerManager#ACQUIRE_CAUSES_WAKEUP}.
2641         <p>Intended to only be used by home automation apps.
2642    -->
2643    <permission android:name="android.permission.TURN_SCREEN_ON"
2644        android:label="@string/permlab_turnScreenOn"
2645        android:description="@string/permdesc_turnScreenOn"
2646        android:protectionLevel="signature|privileged|appop" />
2647
2648    <!-- ==================================================== -->
2649    <!-- Permissions related to changing audio settings   -->
2650    <!-- ==================================================== -->
2651    <eat-comment />
2652
2653    <!-- Allows an application to modify global audio settings.
2654         <p>Protection level: normal
2655    -->
2656    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
2657        android:label="@string/permlab_modifyAudioSettings"
2658        android:description="@string/permdesc_modifyAudioSettings"
2659        android:protectionLevel="normal" />
2660
2661    <!-- ==================================================== -->
2662    <!-- Permissions related to screen capture   -->
2663    <!-- ==================================================== -->
2664    <eat-comment />
2665
2666    <!-- Allows an application to capture screen content to perform a screenshot using the intent
2667         action {@link android.content.Intent#ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE}.
2668         <p>Protection level: internal|role
2669         <p>Intended for use by ROLE_NOTES only.
2670    -->
2671    <permission android:name="android.permission.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE"
2672        android:protectionLevel="internal|role" />
2673
2674    <!-- Allows an application to get notified when a screen capture of its windows is attempted.
2675         <p>Protection level: normal
2676    -->
2677    <permission android:name="android.permission.DETECT_SCREEN_CAPTURE"
2678                android:label="@string/permlab_detectScreenCapture"
2679                android:description="@string/permdesc_detectScreenCapture"
2680                android:protectionLevel="normal" />
2681
2682    <!-- Allows an application to get notified when it is being recorded.
2683         <p>Protection level: normal
2684         @FlaggedApi("com.android.window.flags.screen_recording_callbacks")
2685    -->
2686    <permission android:name="android.permission.DETECT_SCREEN_RECORDING"
2687                android:protectionLevel="normal"
2688                android:featureFlag="com.android.window.flags.screen_recording_callbacks" />
2689
2690    <!-- ======================================== -->
2691    <!-- Permissions for factory reset protection -->
2692    <!-- ======================================== -->
2693    <eat-comment />
2694
2695    <!-- @SystemApi Allows an application to set a factory reset protection (FRP) policy.
2696         <p>Not for use by third-party applications.
2697         @hide
2698    -->
2699    <permission android:name="android.permission.MANAGE_FACTORY_RESET_PROTECTION"
2700        android:protectionLevel="signature|privileged"/>
2701
2702    <!-- ======================================== -->
2703    <!-- Permissions for lost mode -->
2704    <!-- ======================================== -->
2705    <eat-comment />
2706
2707    <!-- @SystemApi Allows an application to trigger lost mode on an organization-owned device.
2708         <p>Not for use by third-party applications.
2709         @hide
2710    -->
2711    <permission android:name="android.permission.TRIGGER_LOST_MODE"
2712        android:protectionLevel="signature|role"/>
2713
2714    <!-- ================================== -->
2715    <!-- Permissions for accessing hardware -->
2716    <!-- ================================== -->
2717    <eat-comment />
2718
2719    <!-- @SystemApi Allows an application to manage preferences and permissions for USB devices
2720         @hide -->
2721    <permission android:name="android.permission.MANAGE_USB"
2722        android:protectionLevel="signature|privileged" />
2723
2724    <!-- @SystemApi Allows an application to manage Android Debug Bridge settings.
2725         <p>Not for use by third-party applications.
2726         @hide -->
2727    <permission android:name="android.permission.MANAGE_DEBUGGING"
2728        android:protectionLevel="signature|privileged" />
2729
2730    <!-- @SystemApi Allows an application to access the MTP USB kernel driver.
2731         For use only by the device side MTP implementation.
2732         @hide -->
2733    <permission android:name="android.permission.ACCESS_MTP"
2734        android:protectionLevel="signature|privileged" />
2735
2736    <!-- @SystemApi Allows access to hardware peripherals.  Intended only for hardware testing.
2737         <p>Not for use by third-party applications.
2738         @hide
2739    -->
2740    <permission android:name="android.permission.HARDWARE_TEST"
2741        android:protectionLevel="signature" />
2742
2743    <!-- @hide Allows an application to manage DynamicSystem image -->
2744    <permission android:name="android.permission.MANAGE_DYNAMIC_SYSTEM"
2745        android:protectionLevel="signature" />
2746
2747    <!-- @SystemApi Allows an application to install a DynamicSystem image and get status updates.
2748         @hide -->
2749    <permission android:name="android.permission.INSTALL_DYNAMIC_SYSTEM"
2750        android:protectionLevel="signature|privileged" />
2751
2752    <!-- @SystemApi Allows access to Broadcast Radio
2753         @hide This is not a third-party API (intended for system apps).-->
2754    <permission android:name="android.permission.ACCESS_BROADCAST_RADIO"
2755        android:protectionLevel="signature|privileged" />
2756
2757    <!-- @deprecated @SystemApi Allows access to FM
2758         @hide This is not a third-party API (intended for system apps).-->
2759    <permission android:name="android.permission.ACCESS_FM_RADIO"
2760        android:protectionLevel="signature|privileged" />
2761
2762    <!-- Allows access to configure network interfaces, configure/use IPSec, etc.
2763         @hide -->
2764    <permission android:name="android.permission.NET_ADMIN"
2765        android:protectionLevel="signature|role" />
2766
2767    <!-- Allows registration for remote audio playback. @hide -->
2768    <permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK"
2769        android:protectionLevel="signature" />
2770
2771    <!-- Allows TvInputService to access underlying TV input hardware such as
2772         built-in tuners and HDMI-in's.
2773         <p>This should only be used by OEM's TvInputService's.
2774         @hide @SystemApi -->
2775    <permission android:name="android.permission.TV_INPUT_HARDWARE"
2776        android:protectionLevel="signature|privileged|vendorPrivileged" />
2777
2778    <!-- Allows to capture a frame of TV input hardware such as
2779         built-in tuners and HDMI-in's.
2780         <p>Not for use by third-party applications.
2781         @hide @SystemApi -->
2782    <permission android:name="android.permission.CAPTURE_TV_INPUT"
2783        android:protectionLevel="signature|privileged" />
2784
2785    <!-- @hide Allows TvInputService to access DVB device.
2786   <p>Not for use by third-party applications. -->
2787    <permission android:name="android.permission.DVB_DEVICE"
2788        android:protectionLevel="signature|privileged" />
2789
2790    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by carrier state
2791         @hide <p>Not for use by third-party applications. -->
2792    <permission android:name="android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE"
2793        android:protectionLevel="signature|privileged" />
2794
2795    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by user state
2796         @hide <p>Not for use by third-party applications. -->
2797    <permission android:name="android.permission.MANAGE_USER_OEM_UNLOCK_STATE"
2798        android:protectionLevel="signature|privileged" />
2799
2800    <!-- @SystemApi Allows reading the OEM unlock state
2801         @hide <p>Not for use by third-party applications. -->
2802    <permission android:name="android.permission.READ_OEM_UNLOCK_STATE"
2803        android:protectionLevel="signature|privileged" />
2804
2805    <!-- @hide Allows enabling/disabling OEM unlock
2806   <p>Not for use by third-party applications. -->
2807    <permission android:name="android.permission.OEM_UNLOCK_STATE"
2808        android:protectionLevel="signature" />
2809
2810    <!-- @SystemApi Allows configuration of factory reset protection
2811         @FlaggedApi("android.security.frp_enforcement")
2812         @hide <p>Not for use by third-party applications. -->
2813    <permission android:name="android.permission.CONFIGURE_FACTORY_RESET_PROTECTION"
2814        android:protectionLevel="signature|privileged" />
2815
2816    <!-- @SystemApi @hide Allows querying state of PersistentDataBlock
2817   <p>Not for use by third-party applications. -->
2818    <permission android:name="android.permission.ACCESS_PDB_STATE"
2819        android:protectionLevel="signature|role" />
2820
2821    <!-- Allows testing if a passwords is forbidden by the admins.
2822         @hide <p>Not for use by third-party applications. -->
2823    <permission android:name="android.permission.TEST_BLACKLISTED_PASSWORD"
2824        android:protectionLevel="signature" />
2825
2826    <!-- @hide Allows system update service to notify device owner about pending updates.
2827   <p>Not for use by third-party applications. -->
2828    <permission android:name="android.permission.NOTIFY_PENDING_SYSTEM_UPDATE"
2829        android:protectionLevel="signature|privileged" />
2830
2831    <!-- =========================================== -->
2832    <!-- Permissions associated with camera and image capture -->
2833    <!-- =========================================== -->
2834    <eat-comment />
2835
2836    <!-- @SystemApi Allows disabling the transmit-indicator LED that is normally on when
2837         a camera is in use by an application.
2838         @hide -->
2839    <permission android:name="android.permission.CAMERA_DISABLE_TRANSMIT_LED"
2840        android:protectionLevel="signature|privileged" />
2841
2842    <!-- Allows sending the camera service notifications about system-wide events.
2843        @hide -->
2844    <permission android:name="android.permission.CAMERA_SEND_SYSTEM_EVENTS"
2845        android:protectionLevel="signature|privileged" />
2846
2847    <!-- Allows injecting the external camera to replace the internal camera.
2848        @hide -->
2849    <permission android:name="android.permission.CAMERA_INJECT_EXTERNAL_CAMERA"
2850        android:protectionLevel="signature" />
2851
2852    <!-- =========================================== -->
2853    <!-- Permissions associated with telephony state -->
2854    <!-- =========================================== -->
2855    <eat-comment />
2856
2857    <!-- @SystemApi Allows granting runtime permissions to telephony related components.
2858         @hide -->
2859    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS"
2860        android:protectionLevel="signature" />
2861
2862    <!-- Allows modification of the telephony state - power on, mmi, etc.
2863         Does not include placing calls.
2864         <p>Not for use by third-party applications. -->
2865    <permission android:name="android.permission.MODIFY_PHONE_STATE"
2866        android:protectionLevel="signature|privileged|role" />
2867
2868    <!-- Allows read only access to precise phone state.
2869         Allows reading of detailed information about phone state for special-use applications
2870         such as dialers, carrier applications, or ims applications. -->
2871    <permission android:name="android.permission.READ_PRECISE_PHONE_STATE"
2872        android:protectionLevel="signature|privileged" />
2873
2874    <!-- @SystemApi @TestApi Allows read access to privileged phone state.
2875         @hide Used internally. -->
2876    <permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
2877        android:protectionLevel="signature|privileged|role" />
2878
2879    <!-- Allows to read device identifiers and use ICC based authentication like EAP-AKA.
2880         Often required in authentication to access the carrier's server and manage services
2881         of the subscriber.
2882         <p>Protection level: signature|appop -->
2883    <permission android:name="android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER"
2884        android:protectionLevel="signature|appop" />
2885
2886    <!-- @SystemApi Allows read access to emergency number information for ongoing calls or SMS
2887         sessions.
2888         @hide Used internally. -->
2889    <permission android:name="android.permission.READ_ACTIVE_EMERGENCY_SESSION"
2890        android:protectionLevel="signature" />
2891
2892    <!-- Allows listen permission to always reported system signal strength.
2893         @hide Used internally. -->
2894    <permission android:name="android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH"
2895        android:protectionLevel="signature|role" />
2896
2897    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2898         PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION. This capability indicates that the PhoneAccount
2899         corresponds to a device SIM.
2900         @hide -->
2901    <permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION"
2902        android:protectionLevel="signature|privileged" />
2903
2904    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2905         PhoneAccount#CAPABILITY_CALL_PROVIDER.
2906         @hide -->
2907    <permission android:name="android.permission.REGISTER_CALL_PROVIDER"
2908        android:protectionLevel="signature|privileged" />
2909
2910    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2911         PhoneAccount#CAPABILITY_CONNECTION_MANAGER
2912         @hide -->
2913    <permission android:name="android.permission.REGISTER_CONNECTION_MANAGER"
2914        android:protectionLevel="signature|privileged" />
2915
2916    <!-- Must be required by a {@link android.telecom.InCallService},
2917         to ensure that only the system can bind to it.
2918         <p>Protection level: signature|privileged
2919    -->
2920    <permission android:name="android.permission.BIND_INCALL_SERVICE"
2921        android:protectionLevel="signature|privileged" />
2922
2923    <!-- Must be required by a {@link android.telecom.CallStreamingService},
2924         to ensure that only the system can bind to it.
2925         <p>Protection level: signature
2926         @SystemApi @hide-->
2927    <permission android:name="android.permission.BIND_CALL_STREAMING_SERVICE"
2928        android:protectionLevel="signature" />
2929
2930    <!-- Allows to query ongoing call details and manage ongoing calls
2931     <p>Protection level: signature|appop -->
2932    <permission android:name="android.permission.MANAGE_ONGOING_CALLS"
2933        android:protectionLevel="signature|appop"
2934        android:label="@string/permlab_manageOngoingCalls"
2935        android:description="@string/permdesc_manageOngoingCalls" />
2936
2937    <!-- Allows the app to request network scans from telephony.
2938         <p>Not for use by third-party applications.
2939         @SystemApi @hide-->
2940    <permission android:name="android.permission.NETWORK_SCAN"
2941        android:protectionLevel="signature|privileged" />
2942
2943    <!-- Must be required by a link {@link android.telephony.VisualVoicemailService} to ensure that
2944         only the system can bind to it.
2945         <p>Protection level: signature|privileged
2946    -->
2947    <permission
2948      android:name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
2949      android:protectionLevel="signature|privileged"/>
2950
2951    <!-- Must be required by a {@link android.telecom.CallScreeningService},
2952         to ensure that only the system can bind to it.
2953         <p>Protection level: signature|privileged
2954    -->
2955    <permission android:name="android.permission.BIND_SCREENING_SERVICE"
2956        android:protectionLevel="signature|privileged" />
2957
2958    <!-- Must be required by a {@link android.telecom.PhoneAccountSuggestionService},
2959         to ensure that only the system can bind to it.
2960         <p>Protection level: signature
2961         @SystemApi
2962         @hide
2963    -->
2964    <permission android:name="android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE"
2965        android:protectionLevel="signature" />
2966
2967    <!-- Must be required by a {@link android.telecom.CallDiagnosticService},
2968         to ensure that only the system can bind to it.
2969         <p>Protection level: signature
2970         @SystemApi
2971         @hide
2972    -->
2973    <permission android:name="android.permission.BIND_CALL_DIAGNOSTIC_SERVICE"
2974        android:protectionLevel="signature" />
2975
2976    <!-- Must be required by a {@link android.telecom.CallRedirectionService},
2977         to ensure that only the system can bind to it.
2978         <p>Protection level: signature|privileged
2979    -->
2980    <permission android:name="android.permission.BIND_CALL_REDIRECTION_SERVICE"
2981                android:protectionLevel="signature|privileged" />
2982
2983    <!-- Must be required by a {@link android.telecom.ConnectionService},
2984         to ensure that only the system can bind to it.
2985         @deprecated {@link android.telecom.ConnectionService}s should require
2986                 android.permission.BIND_TELECOM_CONNECTION_SERVICE instead.
2987         @SystemApi
2988         @hide -->
2989    <permission android:name="android.permission.BIND_CONNECTION_SERVICE"
2990        android:protectionLevel="signature|privileged" />
2991
2992    <!-- Must be required by a {@link android.telecom.ConnectionService},
2993         to ensure that only the system can bind to it.
2994         <p>Protection level: signature|privileged
2995    -->
2996    <permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
2997        android:protectionLevel="signature|privileged" />
2998
2999    <!-- @SystemApi Allows an application to control the in-call experience.
3000         @hide -->
3001    <permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"
3002        android:protectionLevel="signature|privileged|role" />
3003
3004    <!-- Allows an application to receive STK related commands.
3005         @hide -->
3006    <permission android:name="android.permission.RECEIVE_STK_COMMANDS"
3007        android:protectionLevel="signature|privileged" />
3008
3009      <!-- Allows an application to send EMBMS download intents to apps
3010           @hide -->
3011    <permission android:name="android.permission.SEND_EMBMS_INTENTS"
3012        android:protectionLevel="signature|privileged" />
3013
3014
3015    <!-- Allows internal management of the sensor framework
3016         @hide -->
3017    <permission android:name="android.permission.MANAGE_SENSORS"
3018        android:protectionLevel="signature" />
3019
3020    <!-- Must be required by a DomainSelectionService to ensure that only the
3021         system can bind to it.
3022         <p>Protection level: signature
3023         @SystemApi
3024         @hide
3025         @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service")
3026    -->
3027    <permission android:name="android.permission.BIND_DOMAIN_SELECTION_SERVICE"
3028        android:protectionLevel="signature" />
3029
3030    <!-- Must be required by an ImsService to ensure that only the
3031         system can bind to it.
3032         <p>Protection level: signature|privileged|vendorPrivileged
3033         @SystemApi
3034         @hide
3035    -->
3036    <permission android:name="android.permission.BIND_IMS_SERVICE"
3037        android:protectionLevel="signature|privileged|vendorPrivileged" />
3038
3039    <!-- Must be required by a SatelliteService to ensure that only the
3040         system can bind to it.
3041         <p>Protection level: signature|privileged|vendorPrivileged
3042         @SystemApi
3043         @hide
3044    -->
3045    <permission android:name="android.permission.BIND_SATELLITE_SERVICE"
3046        android:protectionLevel="signature|privileged|vendorPrivileged" />
3047
3048    <!-- Must be required by a SatelliteGatewayService to ensure that only the
3049         system can bind to it.
3050         <p>Protection level: signature
3051         @hide
3052    -->
3053    <permission android:name="android.permission.BIND_SATELLITE_GATEWAY_SERVICE"
3054        android:protectionLevel="signature" />
3055
3056    <!-- Must be required by a telephony data service to ensure that only the
3057         system can bind to it.
3058         <p>Protection level: signature
3059         @SystemApi
3060         @hide
3061    -->
3062    <permission android:name="android.permission.BIND_TELEPHONY_DATA_SERVICE"
3063        android:protectionLevel="signature" />
3064
3065    <!-- Must be required by a NetworkService to ensure that only the
3066         system can bind to it.
3067         <p>Protection level: signature
3068         @SystemApi
3069         @hide
3070    -->
3071    <permission android:name="android.permission.BIND_TELEPHONY_NETWORK_SERVICE"
3072                android:protectionLevel="signature" />
3073
3074    <!-- @SystemApi Allows an application to manage embedded subscriptions (those on a eUICC)
3075         through EuiccManager APIs.
3076         <p>Protection level: signature|privileged|development
3077         @hide
3078    -->
3079    <permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
3080                android:protectionLevel="signature|privileged|development" />
3081
3082    <!-- @SystemApi Must be required by an EuiccService to ensure that only the system can bind to
3083         it.
3084         <p>Protection level: signature
3085         @hide
3086    -->
3087    <permission android:name="android.permission.BIND_EUICC_SERVICE"
3088                android:protectionLevel="signature" />
3089
3090    <!-- Required for reading information about carrier apps from SystemConfigManager.
3091         <p>Protection level: signature
3092         @SystemApi
3093         @hide
3094    -->
3095    <permission android:name="android.permission.READ_CARRIER_APP_INFO"
3096        android:protectionLevel="signature" />
3097
3098    <!-- Must be required by an GbaService to ensure that only the
3099         system can bind to it.
3100         <p>Protection level: signature
3101         @SystemApi
3102         @hide
3103    -->
3104    <permission android:name="android.permission.BIND_GBA_SERVICE"
3105        android:protectionLevel="signature" />
3106
3107    <!-- Required for an Application to access APIs related to RCS User Capability Exchange.
3108         <p> This permission is only granted to system applications fulfilling the SMS, Dialer, and
3109         Contacts app roles.
3110         <p>Protection level: internal|role
3111         @SystemApi
3112         @hide -->
3113    <permission android:name="android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE"
3114        android:protectionLevel="internal|role" />
3115
3116    <!-- Used to provide the Telecom framework with access to the last known call ID.
3117         <p>Protection level: signature
3118         @SystemApi
3119         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
3120         @hide
3121    -->
3122    <permission android:name="android.permission.ACCESS_LAST_KNOWN_CELL_ID"
3123        android:protectionLevel="signature"
3124        android:label="@string/permlab_accessLastKnownCellId"
3125        android:description="@string/permdesc_accessLastKnownCellId"/>
3126
3127    <!-- ================================== -->
3128    <!-- Permissions for sdcard interaction -->
3129    <!-- ================================== -->
3130    <eat-comment />
3131
3132    <!-- @SystemApi @TestApi Allows an application to write to internal media storage
3133         @deprecated This permission is no longer honored in the system and no longer adds
3134         the media_rw gid as a supplementary gid to the holder. Use the
3135         android.permission.MANAGE_EXTERNAL_STORAGE instead.
3136         @hide  -->
3137    <permission android:name="android.permission.WRITE_MEDIA_STORAGE"
3138        android:protectionLevel="signature|privileged" />
3139
3140    <!-- Allows an application to manage access to documents, usually as part
3141         of a document picker.
3142         <p>This permission should <em>only</em> be requested by the platform
3143         document management app.  This permission cannot be granted to
3144         third-party apps.
3145    -->
3146    <permission android:name="android.permission.MANAGE_DOCUMENTS"
3147        android:protectionLevel="signature|role" />
3148
3149    <!-- Allows an application to manage access to crates, usually as part
3150         of a crates picker.
3151         <p>This permission should <em>only</em> be requested by the platform
3152         management app.  This permission cannot be granted to
3153         third-party apps.
3154         @hide
3155         @TestApi
3156    -->
3157    <permission android:name="android.permission.MANAGE_CRATES"
3158                android:protectionLevel="signature" />
3159
3160    <!-- @hide Allows an application to cache content.
3161         <p>Not for use by third-party applications.
3162    -->
3163    <permission android:name="android.permission.CACHE_CONTENT"
3164        android:protectionLevel="signature|role" />
3165
3166    <!-- @SystemApi @hide
3167         Allows an application to aggressively allocate disk space.
3168         <p>Not for use by third-party applications.
3169    -->
3170    <permission android:name="android.permission.ALLOCATE_AGGRESSIVE"
3171        android:protectionLevel="signature|privileged" />
3172
3173    <!-- @SystemApi @hide
3174         Allows an application to use reserved disk space.
3175         <p>Not for use by third-party applications.  Should only be requested by
3176         apps that provide core system functionality, to ensure system stability
3177         when disk is otherwise completely full.
3178    -->
3179    <permission android:name="android.permission.USE_RESERVED_DISK"
3180        android:protectionLevel="signature|privileged" />
3181
3182    <!-- ================================== -->
3183    <!-- Permissions for screenlock         -->
3184    <!-- ================================== -->
3185    <eat-comment />
3186
3187    <!-- Allows applications to disable the keyguard if it is not secure.
3188         <p>Protection level: normal
3189    -->
3190    <permission android:name="android.permission.DISABLE_KEYGUARD"
3191        android:description="@string/permdesc_disableKeyguard"
3192        android:label="@string/permlab_disableKeyguard"
3193        android:protectionLevel="normal" />
3194
3195    <!-- Allows an application to request the screen lock complexity and prompt users to update the
3196     screen lock to a certain complexity level.
3197     <p>Protection level: normal
3198    -->
3199    <permission android:name="android.permission.REQUEST_PASSWORD_COMPLEXITY"
3200                android:label="@string/permlab_requestPasswordComplexity"
3201                android:description="@string/permdesc_requestPasswordComplexity"
3202                android:protectionLevel="normal" />
3203
3204    <!-- ================================== -->
3205    <!-- Permissions to access other installed applications  -->
3206    <!-- ================================== -->
3207    <eat-comment />
3208
3209    <!-- @deprecated No longer enforced. -->
3210    <permission android:name="android.permission.GET_TASKS"
3211        android:label="@string/permlab_getTasks"
3212        android:description="@string/permdesc_getTasks"
3213        android:protectionLevel="normal" />
3214
3215    <!-- New version of GET_TASKS that apps can request, since GET_TASKS doesn't really
3216         give access to task information.  We need this new one because there are
3217         many existing apps that use add libraries and such that have validation
3218         code to ensure the app has requested the GET_TASKS permission by seeing
3219         if it has been granted the permission...  if it hasn't, it kills the app
3220         with a message about being upset.  So we need to have it continue to look
3221         like the app is getting that permission, even though it will never be
3222         checked, and new privileged apps can now request this one for real access.
3223         @hide
3224         @SystemApi -->
3225    <permission android:name="android.permission.REAL_GET_TASKS"
3226        android:protectionLevel="signature|privileged" />
3227
3228    <!-- @SystemApi Allows an application to start a task from a ActivityManager#RecentTaskInfo.
3229         @hide -->
3230    <permission android:name="android.permission.START_TASKS_FROM_RECENTS"
3231        android:protectionLevel="signature|privileged|recents" />
3232
3233    <!-- @SystemApi @hide Allows an application to call APIs that allow it to do interactions
3234         across the users on the device, using singleton services and
3235         user-targeted broadcasts.  This permission is not available to
3236         third party applications. -->
3237    <permission android:name="android.permission.INTERACT_ACROSS_USERS"
3238        android:protectionLevel="signature|privileged|development|role" />
3239
3240    <!-- @SystemApi Fuller form of {@link android.Manifest.permission#INTERACT_ACROSS_USERS}
3241         that removes restrictions on where broadcasts can be sent and allows other
3242         types of interactions
3243         @hide -->
3244    <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
3245        android:protectionLevel="signature|installer|module|role" />
3246    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
3247
3248    <!-- Allows interaction across profiles in the same profile group. -->
3249    <permission android:name="android.permission.INTERACT_ACROSS_PROFILES"
3250        android:protectionLevel="signature|appop" />
3251
3252    <!-- Allows applications to access profiles with
3253        {@code android.content.pm.UserProperties#PROFILE_API_VISIBILITY_HIDDEN} user property, e.g.
3254        {@link android.os.UserManager#USER_TYPE_PROFILE_PRIVATE}.
3255        <p>Protection level: normal
3256        @FlaggedApi("android.multiuser.enable_permission_to_access_hidden_profiles") -->
3257    <permission android:name="android.permission.ACCESS_HIDDEN_PROFILES"
3258        android:label="@string/permlab_accessHiddenProfile"
3259        android:description="@string/permdesc_accessHiddenProfile"
3260        android:protectionLevel="normal" />
3261
3262    <!-- @SystemApi @hide Allows privileged applications to get details about profiles with
3263        {@code android.content.pm.UserProperties#PROFILE_API_VISIBILITY_HIDDEN} user property, e.g.
3264        {@link android.os.UserManager#USER_TYPE_PROFILE_PRIVATE}. Removes extra requirements such
3265        as having {@link android.app.role.RoleManager#ROLE_HOME} role for LauncherApps APIs.
3266        @FlaggedApi("android.multiuser.enable_permission_to_access_hidden_profiles") -->
3267    <permission
3268        android:name="android.permission.ACCESS_HIDDEN_PROFILES_FULL"
3269        android:protectionLevel="signature|privileged" />
3270
3271    <!-- @SystemApi @hide Allows starting activities across profiles in the same profile group. -->
3272    <permission android:name="android.permission.START_CROSS_PROFILE_ACTIVITIES"
3273                android:protectionLevel="signature|role" />
3274
3275    <!-- @SystemApi Allows configuring apps to have the INTERACT_ACROSS_PROFILES permission so that
3276         they can interact across profiles in the same profile group.
3277         @hide -->
3278    <permission android:name="android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES"
3279        android:protectionLevel="signature|role" />
3280
3281    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query and manage
3282         users on the device. This permission is not available to
3283         third party applications. -->
3284    <permission android:name="android.permission.MANAGE_USERS"
3285        android:protectionLevel="signature|privileged" />
3286
3287    <!-- @SystemApi @hide Allows an application to create, remove users and get the list of
3288         users on the device. Applications holding this permission can create users (including
3289         normal, restricted, guest, managed, and demo users) and can optionally endow them with the
3290         ephemeral property. For creating users with other kinds of properties,
3291         {@link android.Manifest.permission#MANAGE_USERS} is needed.
3292         This permission is not available to third party applications. -->
3293    <permission android:name="android.permission.CREATE_USERS"
3294        android:protectionLevel="signature" />
3295
3296    <!-- @SystemApi @hide Allows an application to set user association
3297         with a certain subscription. Used by Enterprise to associate a
3298         subscription with a work or personal profile. -->
3299    <permission android:name="android.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION"
3300                android:protectionLevel="signature" />
3301
3302    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query users on the
3303         device. -->
3304    <permission android:name="android.permission.QUERY_USERS"
3305                android:protectionLevel="signature|privileged|role" />
3306
3307    <!-- Allows an application to access data blobs across users. -->
3308    <permission android:name="android.permission.ACCESS_BLOBS_ACROSS_USERS"
3309        android:protectionLevel="signature|privileged|development|role" />
3310
3311    <!-- @SystemApi @hide Allows an application to set the profile owners and the device owner.
3312         This permission is not available to third party applications.-->
3313    <permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"
3314        android:protectionLevel="signature|role"
3315        android:label="@string/permlab_manageProfileAndDeviceOwners"
3316        android:description="@string/permdesc_manageProfileAndDeviceOwners" />
3317
3318    <!-- @SystemApi @hide Allows an application to query device policies set by any admin on
3319         the device.-->
3320    <permission android:name="android.permission.QUERY_ADMIN_POLICY"
3321                android:protectionLevel="signature|role" />
3322
3323    <!-- @SystemApi @hide Allows an application to exempt apps from platform restrictions.-->
3324    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS"
3325                android:protectionLevel="internal|role" />
3326
3327    <!-- Allows an application to manage device policy relating to time.
3328        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3329        APIs protected by this permission on users different to the calling user.
3330        <p>Protection level: internal|role
3331        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3332    -->
3333    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_TIME"
3334                android:protectionLevel="internal|role" />
3335
3336    <!-- Allows an application to set the grant state of runtime permissions on packages.
3337        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3338        APIs protected by this permission on users different to the calling user.
3339        <p>Protection level: internal|role
3340        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3341    -->
3342    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS"
3343                android:protectionLevel="internal|role" />
3344
3345    <!-- Allows an application to manage the identity of the managing organization.
3346        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3347        APIs protected by this permission on users different to the calling user.
3348        <p>Protection level: internal|role
3349        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3350    -->
3351    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY"
3352                android:protectionLevel="internal|role" />
3353
3354    <!-- Allows an application to set support messages for when a user action is affected by an
3355        active policy.
3356        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3357        APIs protected by this permission on users different to the calling user.
3358        <p>Protection level: internal|role
3359        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3360    -->
3361    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE"
3362                android:protectionLevel="internal|role" />
3363
3364    <!-- Allows an application to manage backup service policy.
3365        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3366        APIs protected by this permission on users different to the calling user.
3367        <p>Protection level: internal|role
3368        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3369    -->
3370    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BACKUP_SERVICE"
3371                android:protectionLevel="internal|role" />
3372
3373    <!-- Allows an application to manage lock task policy.
3374        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3375        APIs protected by this permission on users different to the calling user.
3376        <p>Protection level: internal|role
3377        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3378    -->
3379    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK"
3380                android:protectionLevel="internal|role" />
3381
3382    <!-- Allows an application to manage policy regarding modifying applications.
3383        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3384        APIs protected by this permission on users different to the calling user.
3385        <p>Protection level: internal|role
3386        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3387    -->
3388    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL"
3389                android:protectionLevel="internal|role" />
3390
3391    <!-- Allows an application to manage installing from unknown sources policy.
3392        <p>MANAGE_SECURITY_CRITICAL_DEVICE_POLICY_ACROSS_USERS is required to call APIs protected
3393        by this permission on users different to the calling user.
3394        <p>Protection level: internal|role
3395        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3396    -->
3397    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES"
3398                android:protectionLevel="internal|role" />
3399
3400    <!-- Allows an application to manage application restrictions.
3401        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3402        APIs protected by this permission on users different to the calling user.
3403        <p>Protection level: internal|role
3404        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3405    -->
3406    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_RESTRICTIONS"
3407                android:protectionLevel="internal|role" />
3408
3409    <!-- Allows an application to manage calling policy.
3410        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3411        APIs protected by this permission on users different to the calling user.
3412        <p>Protection level: internal|role
3413        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3414    -->
3415    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CALLS"
3416                android:protectionLevel="internal|role" />
3417
3418    <!-- Allows an application to manage debugging features policy.
3419        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3420        APIs protected by this permission on users different to the calling user.
3421        <p>Protection level: internal|role
3422        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3423    -->
3424    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES"
3425                android:protectionLevel="internal|role" />
3426
3427    <!-- Allows an application to manage policy preventing users from modifying users.
3428        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3429        APIs protected by this permission on users different to the calling user
3430        <p>Protection level: internal|role
3431        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3432    -->
3433    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MODIFY_USERS"
3434                android:protectionLevel="internal|role" />
3435
3436    <!-- Allows an application to manage safe boot policy.
3437        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3438        APIs protected by this permission on users different to the calling user.
3439        <p>Protection level: internal|role
3440        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3441    -->
3442    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SAFE_BOOT"
3443                android:protectionLevel="internal|role" />
3444
3445    <!-- Allows an application to set policy related to restricting a user's ability to use or
3446    enable and disable the microphone.
3447        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3448        APIs protected by this permission on users different to the calling user.
3449        <p>Protection level: internal|role
3450        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3451    -->
3452    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MICROPHONE"
3453                android:protectionLevel="internal|role" />
3454
3455    <!-- Allows an application to set policy related to restricting a user's ability to use or
3456    enable and disable the camera.
3457        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3458        APIs protected by this permission on users different to the calling user.
3459        <p>Protection level: internal|role
3460        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3461    -->
3462    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CAMERA"
3463                android:protectionLevel="internal|role" />
3464
3465    <!-- Allows an application to manage policy related to keyguard.
3466        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL} is
3467        required to call APIs protected by this permission on users different to the calling user.
3468        <p>Protection level: internal|role
3469        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3470    -->
3471    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_KEYGUARD"
3472                android:protectionLevel="internal|role" />
3473
3474    <!-- Allows an application to set policy related to account management.
3475        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3476        APIs protected by this permission on users different to the calling user.
3477        <p>Protection level: internal|role
3478        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3479    -->
3480    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT"
3481                android:protectionLevel="internal|role" />
3482
3483    <!-- Allows an application to set policy related to hiding and suspending packages.
3484        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3485        APIs protected by this permission on users different to the calling user.
3486        <p>Protection level: internal|role
3487        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3488    -->
3489    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PACKAGE_STATE"
3490                android:protectionLevel="internal|role" />
3491
3492    <!-- Allows an application to force set a new device unlock password or a managed profile
3493    challenge on current user.
3494        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3495        APIs protected by this permission on users different to the calling user.
3496        <p>Protection level: internal|role
3497        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3498    -->
3499    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RESET_PASSWORD"
3500                android:protectionLevel="internal|role" />
3501
3502    <!-- Allows an application to set policy related to the status bar.
3503        <p>Protection level: internal|role
3504        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3505    -->
3506    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_STATUS_BAR"
3507                android:protectionLevel="internal|role" />
3508
3509    <!-- Allows an application to set policy related to bluetooth.
3510        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3511        APIs protected by this permission on users different to the calling user.
3512        <p>Protection level: internal|role
3513        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3514    -->
3515    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BLUETOOTH"
3516                android:protectionLevel="internal|role" />
3517
3518    <!-- Allows an application to set policy related to fun.
3519        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3520        APIs protected by this permission on users different to the calling user.
3521        <p>Protection level: internal|role
3522        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3523    -->
3524    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_FUN"
3525                android:protectionLevel="internal|role" />
3526
3527    <!-- Allows an application to set policy related to airplane mode.
3528        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3529        APIs protected by this permission on users different to the calling user.
3530        <p>Protection level: internal|role
3531        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3532    -->
3533    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AIRPLANE_MODE"
3534                android:protectionLevel="internal|role" />
3535
3536    <!-- Allows an application to set policy related to mobile networks.
3537        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3538        APIs protected by this permission on users different to the calling user.
3539        <p>Protection level: internal|role
3540        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3541    -->
3542    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MOBILE_NETWORK"
3543                android:protectionLevel="internal|role" />
3544
3545    <!-- Allows an application to set policy related to physical media.
3546        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3547        APIs protected by this permission on users different to the calling user.
3548        <p>Protection level: internal|role
3549        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3550    -->
3551    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA"
3552                android:protectionLevel="internal|role" />
3553
3554    <!-- Allows an application to set policy related to sms.
3555        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3556        APIs protected by this permission on users different to the calling user.
3557        <p>Protection level: internal|role
3558        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3559    -->
3560    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SMS"
3561                android:protectionLevel="internal|role" />
3562
3563    <!-- Allows an application to set policy related to usb file transfers.
3564        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3565        APIs protected by this permission on users different to the calling user.
3566        <p>Protection level: internal|role
3567        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3568    -->
3569    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER"
3570                android:protectionLevel="internal|role" />
3571
3572    <!-- Allows an application to set policy related to lock credentials.
3573        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL} is
3574        required to call APIs protected by this permission on users different to the calling user.
3575        <p>Protection level: internal|role
3576        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3577    -->
3578    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS"
3579                android:protectionLevel="internal|role" />
3580
3581    <!-- Allows an application to set policy related to Wifi.
3582        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3583        required to call APIs protected by this permission on users different to the calling user.
3584        <p>Protection level: internal|role
3585        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3586    -->
3587    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIFI"
3588                android:protectionLevel="internal|role" />
3589
3590    <!-- Allows an application to set policy related to screen capture.
3591        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3592        required to call APIs protected by this permission on users different to the calling user.
3593        <p>Protection level: internal|role
3594        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3595    -->
3596    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SCREEN_CAPTURE"
3597                android:protectionLevel="internal|role" />
3598
3599    <!-- Allows an application to set policy related to input methods.
3600        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3601        required to call APIs protected by this permission on users different to the calling user.
3602        <p>Protection level: internal|role
3603        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3604    -->
3605    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_INPUT_METHODS"
3606                android:protectionLevel="internal|role" />
3607
3608    <!-- Allows an application to set policy related to restricting the user from configuring
3609     private DNS.
3610        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3611        required to call APIs protected by this permission on users different to the calling user.
3612        <p>Protection level: internal|role
3613        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3614    -->
3615    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS"
3616                android:protectionLevel="internal|role" />
3617
3618    <!-- Allows an application to set policy related to the default sms application.
3619        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3620        required to call APIs protected by this permission on users different to the calling user.
3621        <p>Protection level: internal|role
3622        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3623    -->
3624    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEFAULT_SMS"
3625                android:protectionLevel="internal|role" />
3626
3627    <!-- Allows an application to set policy related to profiles.
3628        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3629        required to call APIs protected by this permission on users different to the calling user.
3630        <p>Protection level: internal|role
3631        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3632    -->
3633    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROFILES"
3634                android:protectionLevel="internal|role" />
3635
3636    <!-- Allows an application to set policy related to interacting with profiles (e.g. Disallowing
3637    cross-profile copy and paste).
3638        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3639        required to call APIs protected by this permission on users different to the calling user.
3640        <p>Protection level: internal|role
3641        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3642    -->
3643    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROFILE_INTERACTION"
3644                android:protectionLevel="internal|role" />
3645
3646    <!-- Allows an application to set policy related to VPNs.
3647        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3648        required to call APIs protected by this permission on users different to the calling user.
3649        <p>Protection level: internal|role
3650        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3651    -->
3652    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_VPN"
3653                android:protectionLevel="internal|role" />
3654
3655    <!-- Allows an application to set policy related to audio output.
3656        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3657        required to call APIs protected by this permission on users different to the calling user.
3658        <p>Protection level: internal|role
3659        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3660    -->
3661    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUDIO_OUTPUT"
3662                android:protectionLevel="internal|role" />
3663
3664    <!-- Allows an application to set policy related to the display.
3665        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3666        required to call APIs protected by this permission on users different to the calling user.
3667        <p>Protection level: internal|role
3668        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3669    -->
3670    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DISPLAY"
3671                android:protectionLevel="internal|role" />
3672
3673    <!-- Allows an application to set policy related to location.
3674        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3675        required to call APIs protected by this permission on users different to the calling user.
3676        <p>Protection level: internal|role
3677        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3678    -->
3679    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCATION"
3680                android:protectionLevel="internal|role" />
3681
3682    <!-- Allows an application to set policy related to factory reset.
3683        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3684        required to call APIs protected by this permission on users different to the calling user.
3685        <p>Protection level: internal|role
3686        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3687    -->
3688    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_FACTORY_RESET"
3689                android:protectionLevel="internal|role" />
3690
3691    <!-- Allows an application to set policy related to the wallpaper.
3692        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3693        required to call APIs protected by this permission on users different to the calling user.
3694        <p>Protection level: internal|role
3695        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3696    -->
3697    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WALLPAPER"
3698                android:protectionLevel="internal|role" />
3699
3700    <!-- Allows an application to set policy related to the usage of the contents of the screen.
3701        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3702        required to call APIs protected by this permission on users different to the calling user.
3703        <p>Protection level: internal|role
3704        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3705    -->
3706    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SCREEN_CONTENT"
3707                android:protectionLevel="internal|role" />
3708
3709    <!-- Allows an application to set policy related to system dialogs.
3710        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3711        required to call APIs protected by this permission on users different to the calling user.
3712        <p>Protection level: internal|role
3713        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3714    -->
3715    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS"
3716                android:protectionLevel="internal|role" />
3717
3718    <!-- Allows an application to set policy related to users running in the background.
3719        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3720        required to call APIs protected by this permission on users different to the calling user.
3721        <p>Protection level: internal|role
3722        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3723    -->
3724    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND"
3725                android:protectionLevel="internal|role" />
3726
3727    <!-- Allows an application to set policy related to printing.
3728        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3729        required to call APIs protected by this permission on users different to the calling user.
3730        <p>Protection level: internal|role
3731        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3732    -->
3733    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PRINTING"
3734                android:protectionLevel="internal|role" />
3735
3736    <!-- Allows an application to set policy related to nearby communications (e.g. Beam and
3737    nearby streaming).
3738        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3739        required to call APIs protected by this permission on users different to the calling user.
3740        <p>Protection level: internal|role
3741        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3742    -->
3743    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION"
3744                android:protectionLevel="internal|role" />
3745
3746    <!-- Allows an application to set policy related to <a
3747    href="https://www.threadgroup.org">Thread</a> network.
3748        <p>Protection level: internal|role
3749        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3750        @FlaggedApi("com.android.net.thread.platform.flags.thread_user_restriction_enabled")
3751    -->
3752    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_THREAD_NETWORK"
3753                android:protectionLevel="internal|role" />
3754
3755    <!-- Allows an application to set policy related to sending assist content to a
3756        privileged app such as the Assistant app.
3757        <p>Protection level: internal|role
3758        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3759        @FlaggedApi("android.app.admin.flags.assist_content_user_restriction_enabled")
3760    -->
3761    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT"
3762        android:protectionLevel="internal|role" />
3763
3764    <!-- Allows an application to set policy related to windows.
3765        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3766        required to call APIs protected by this permission on users different to the calling user.
3767        <p>Protection level: internal|role
3768        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3769    -->
3770    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WINDOWS"
3771                android:protectionLevel="internal|role" />
3772
3773    <!-- Allows an application to set policy related to locale.
3774        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3775        required to call APIs protected by this permission on users different to the calling user.
3776        <p>Protection level: internal|role
3777        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3778    -->
3779    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCALE"
3780                android:protectionLevel="internal|role" />
3781
3782    <!-- Allows an application to set policy related to autofill.
3783        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3784        required to call APIs protected by this permission on users different to the calling user.
3785        <p>Protection level: internal|role
3786        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3787    -->
3788    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUTOFILL"
3789                android:protectionLevel="internal|role" />
3790
3791    <!-- Allows an application to set policy related to users.
3792        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3793        required to call APIs protected by this permission on users different to the calling user.
3794        <p>Protection level: internal|role
3795        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3796    -->
3797    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USERS"
3798                android:protectionLevel="internal|role" />
3799
3800    <!-- Allows an application to set policy related to certificates.
3801        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3802        required to call APIs protected by this permission on users different to the calling user.
3803        <p>Protection level: internal|role
3804        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3805    -->
3806    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES"
3807                android:protectionLevel="internal|role" />
3808
3809    <!-- Allows an application to set policy related to override APNs.
3810        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3811        required to call APIs protected by this permission on users different to the calling user.
3812        <p>Protection level: internal|role
3813        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3814    -->
3815    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_OVERRIDE_APN"
3816                android:protectionLevel="internal|role" />
3817
3818    <!-- Allows an application to set policy related to security logging.
3819        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3820        required to call APIs protected by this permission on users different to the calling user.
3821        <p>Protection level: internal|role
3822        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3823    -->
3824    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SECURITY_LOGGING"
3825                android:protectionLevel="internal|role" />
3826
3827    <!-- Allows an application to use audit logging API.
3828        @hide
3829        @SystemApi
3830        @FlaggedApi("android.app.admin.flags.security_log_v2_enabled")
3831    -->
3832    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING"
3833        android:protectionLevel="internal|role" />
3834
3835    <!-- Allows an application to set policy related to system updates.
3836        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3837        required to call APIs protected by this permission on users different to the calling user.
3838        <p>Protection level: internal|role
3839        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3840    -->
3841    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_UPDATES"
3842                android:protectionLevel="internal|role" />
3843
3844    <!-- Allows an application query system updates.
3845        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3846        required to call APIs protected by this permission on users different to the calling user.
3847        <p>Protection level: internal|role
3848        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3849    -->
3850    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES"
3851                android:protectionLevel="internal|role" />
3852
3853    <!-- Allows an application to set policy related to private DNS.
3854        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3855        required to call APIs protected by this permission on users different to the calling user.
3856        <p>Protection level: internal|role
3857        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3858    -->
3859    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PRIVATE_DNS"
3860                android:protectionLevel="internal|role" />
3861
3862    <!-- Allows an application to set policy related to settings.
3863        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3864        required to call APIs protected by this permission on users different to the calling user.
3865        <p>Protection level: internal|role
3866        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3867    -->
3868    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SETTINGS"
3869                android:protectionLevel="internal|role" />
3870
3871    <!-- Allows an application to set policy related to network logging.
3872        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3873        required to call APIs protected by this permission on users different to the calling user.
3874        <p>Protection level: internal|role
3875        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3876    -->
3877    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_NETWORK_LOGGING"
3878                android:protectionLevel="internal|role" />
3879
3880    <!-- Allows an application to set policy related to usb data signalling.
3881        <p>Protection level: internal|role
3882        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3883    -->
3884    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING"
3885                android:protectionLevel="internal|role" />
3886
3887    <!-- Allows an application to set policy related to suspending personal apps.
3888        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3889        required to call APIs protected by this permission on users different to the calling user.
3890        <p>Protection level: internal|role
3891        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3892    -->
3893    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS"
3894                android:protectionLevel="internal|role" />
3895
3896    <!-- Allows an application to set policy related to keeping uninstalled packages.
3897        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3898        required to call APIs protected by this permission on users different to the calling user.
3899        <p>Protection level: internal|role
3900        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3901    -->
3902    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES"
3903                android:protectionLevel="internal|role" />
3904
3905    <!-- Allows an application to manage policy related to accessibility.
3906        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to
3907        call APIs protected by this permission on users different to the calling user.
3908        <p>Protection level: internal|role
3909        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3910    -->
3911    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACCESSIBILITY"
3912                android:protectionLevel="internal|role" />
3913
3914    <!-- Allows an application to manage policy related to common criteria mode.
3915        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3916        APIs protected by this permission on users different to the calling user.
3917        <p>Protection level: internal|role
3918        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3919    -->
3920    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE"
3921                android:protectionLevel="internal|role" />
3922
3923    <!-- Allows an application to manage policy related to metered data.
3924        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3925        APIs protected by this permission on users different to the calling user.
3926        <p>Protection level: internal|role
3927        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3928    -->
3929    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_METERED_DATA"
3930                android:protectionLevel="internal|role" />
3931
3932    <!-- Allows an application to set a network-independent global HTTP proxy.
3933        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3934        APIs protected by this permission on users different to the calling user.
3935        <p>Protection level: internal|role
3936        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3937    -->
3938    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROXY"
3939                android:protectionLevel="internal|role" />
3940
3941    <!-- Allows an application to request bugreports with user consent.
3942        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3943        APIs protected by this permission on users different to the calling user.
3944        <p>Protection level: internal|role
3945        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3946    -->
3947    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BUGREPORT"
3948                android:protectionLevel="internal|role" />
3949
3950    <!-- Allows an application to manage policy related to application user data.
3951        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3952        APIs protected by this permission on users different to the calling user.
3953        <p>Protection level: internal|role
3954        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3955    -->
3956    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_USER_DATA"
3957                android:protectionLevel="internal|role" />
3958
3959    <!-- Allows an application to lock a profile or the device with the appropriate cross-user
3960    permission.
3961        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3962        APIs protected by this permission on users different to the calling user.
3963        <p>Protection level: internal|role
3964        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3965    -->
3966    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK"
3967                android:protectionLevel="internal|role" />
3968
3969    <!-- Allows an application to query the device stolen state.
3970        @FlaggedApi("android.app.admin.flags.device_theft_api_enabled")
3971        @hide
3972        @SystemApi
3973    -->
3974    <permission android:name="android.permission.QUERY_DEVICE_STOLEN_STATE"
3975                android:protectionLevel="internal|role" />
3976
3977    <!-- Allows an application to manage policy related to system apps.
3978        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3979        APIs protected by this permission on users different to the calling user.
3980        <p>Protection level: internal|role
3981        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3982    -->
3983    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_APPS"
3984                android:protectionLevel="internal|role" />
3985
3986    <!-- Allows an application to manage policy related to wiping data.
3987        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3988        APIs protected by this permission on users different to the calling user.
3989        <p>Protection level: internal|role
3990        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3991    -->
3992    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIPE_DATA"
3993                android:protectionLevel="internal|role" />
3994
3995    <!-- Allows an application to manage policy related to the Memory Tagging Extension (MTE).
3996        <p>Protection level: internal|role
3997        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3998    -->
3999    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MTE"
4000                android:protectionLevel="internal|role" />
4001
4002    <!-- Allows an application to manage policy related to device identifiers.
4003        <p>Protection level: internal|role
4004        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4005    -->
4006    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS"
4007                android:protectionLevel="internal|role" />
4008
4009    <!-- Allows an application to manage policy related to content protection.
4010        <p>Protection level: internal|role
4011        @FlaggedApi("android.view.contentprotection.flags.manage_device_policy_enabled")
4012    -->
4013    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION"
4014                android:protectionLevel="internal|role" />
4015
4016    <!-- Allows an application to set policy related to subscriptions downloaded by an admin.
4017        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4018        APIs protected by this permission on users different to the calling user.
4019        <p>Protection level: internal|role
4020        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4021        @FlaggedApi("android.app.admin.flags.esim_management_enabled")
4022    -->
4023    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS"
4024        android:protectionLevel="internal|role" />
4025
4026    <!-- Allows an application to manage policy related to block package uninstallation.
4027        <p>Protection level: internal|role
4028        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4029        @FlaggedApi("android.app.admin.flags.dedicated_device_control_api_enabled")
4030    -->
4031    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL"
4032        android:protectionLevel="internal|role" />
4033
4034    <!-- Allows an application to manage policy related to camera toggle.
4035        <p>Protection level: internal|role
4036        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4037        @FlaggedApi("android.app.admin.flags.dedicated_device_control_api_enabled")
4038    -->
4039    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CAMERA_TOGGLE"
4040        android:protectionLevel="internal|role" />
4041
4042    <!-- Allows an application to manage policy related to microphone toggle.
4043        <p>Protection level: internal|role
4044        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4045        @FlaggedApi("android.app.admin.flags.dedicated_device_control_api_enabled")
4046    -->
4047    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE"
4048        android:protectionLevel="internal|role" />
4049
4050    <!-- Allows an application to set device policies outside the current user
4051        that are critical for securing data within the current user.
4052        <p>Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_*
4053        permissions across all users on the device provided they are required for securing data
4054        within the current user.
4055        <p>Protection level: internal|role
4056        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4057    -->
4058    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL"
4059                android:protectionLevel="internal|role" />
4060
4061    <!-- Allows an application to set device policies outside the current user
4062        that are required for securing device ownership without accessing user data.
4063        <p>Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_*
4064        permissions across all users on the device provided they do not grant access to user data.
4065        <p>Protection level: internal|role
4066        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4067    -->
4068    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS"
4069                android:protectionLevel="internal|role" />
4070
4071    <!-- Allows an application to set device policies outside the current user.
4072        <p>Fuller form of {@link android.Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS}
4073             that removes the restriction on accessing user data.
4074        <p>Holding this permission allows the use of any other held MANAGE_DEVICE_POLICY_*
4075            permissions across all users on the device.
4076        <p>Protection level: internal|role
4077        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4078    -->
4079    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL"
4080                android:protectionLevel="internal|role" />
4081
4082    <!-- Allows the holder to manage and retrieve max storage limit for admin policies. This
4083        permission is only grantable on rooted devices.
4084        @TestAPI
4085        @hide -->
4086    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_STORAGE_LIMIT"
4087                android:protectionLevel="internal" />
4088
4089    <!-- Allows an application to access EnhancedConfirmationManager.
4090        @SystemApi
4091        @FlaggedApi("android.permission.flags.enhanced_confirmation_mode_apis_enabled")
4092        @hide This is not a third-party API (intended for OEMs and system apps). -->
4093    <permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES"
4094                android:protectionLevel="signature|installer" />
4095    <uses-permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES" />
4096
4097    <!-- @SystemApi @hide Allows an application to set a device owner on retail demo devices.-->
4098    <permission android:name="android.permission.PROVISION_DEMO_DEVICE"
4099                android:protectionLevel="signature|setup|knownSigner"
4100                android:knownCerts="@array/demo_device_provisioning_known_signers" />
4101
4102    <!-- @TestApi @hide Allows an application to reset the record of previous system update freeze
4103         periods. -->
4104    <permission android:name="android.permission.CLEAR_FREEZE_PERIOD"
4105                android:protectionLevel="signature" />
4106
4107    <!-- @TestApi @hide Allows an application to force available DevicePolicyManager logs to
4108         DPC. -->
4109    <permission android:name="android.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS"
4110                android:protectionLevel="signature" />
4111
4112    <!-- Allows an application to get full detailed information about
4113         recently running tasks, with full fidelity to the real state.
4114         @hide -->
4115    <permission android:name="android.permission.GET_DETAILED_TASKS"
4116        android:protectionLevel="signature" />
4117
4118    <!-- Allows an application to change the Z-order of tasks.
4119         <p>Protection level: normal
4120    -->
4121    <permission android:name="android.permission.REORDER_TASKS"
4122        android:label="@string/permlab_reorderTasks"
4123        android:description="@string/permdesc_reorderTasks"
4124        android:protectionLevel="normal" />
4125
4126    <!-- @SystemApi @TestApi @hide Allows an application to change to remove/kill tasks -->
4127    <permission android:name="android.permission.REMOVE_TASKS"
4128        android:protectionLevel="signature|recents|role" />
4129
4130    <!-- @deprecated Use MANAGE_ACTIVITY_TASKS instead.
4131         @SystemApi @TestApi @hide Allows an application to create/manage/remove stacks -->
4132    <permission android:name="android.permission.MANAGE_ACTIVITY_STACKS"
4133        android:protectionLevel="signature" />
4134
4135    <!-- @SystemApi @TestApi @hide Allows an application to create/manage/remove tasks -->
4136    <permission android:name="android.permission.MANAGE_ACTIVITY_TASKS"
4137        android:protectionLevel="signature|recents" />
4138
4139    <!-- @SystemApi @TestApi @hide Allows an application to embed other activities -->
4140    <permission android:name="android.permission.ACTIVITY_EMBEDDING"
4141                android:protectionLevel="signature|privileged" />
4142
4143    <!-- Allows an application to embed any other apps in untrusted embedding mode without the need
4144         for the embedded app to consent.
4145         <p>For now, this permission is only granted to the Assistant application selected by
4146         the user.
4147         {@see https://developer.android.com/guide/topics/large-screens/activity-embedding#trust_model}
4148         @SystemApi
4149         @FlaggedApi("com.android.window.flags.untrusted_embedding_any_app_permission")
4150         @hide
4151        -->
4152    <permission android:name="android.permission.EMBED_ANY_APP_IN_UNTRUSTED_MODE"
4153                android:protectionLevel="internal|role" />
4154
4155    <!-- Allows an application to start any activity, regardless of permission
4156         protection or exported state.
4157         @hide -->
4158    <permission android:name="android.permission.START_ANY_ACTIVITY"
4159        android:protectionLevel="signature" />
4160
4161    <!-- @SystemApi @hide Allows an application to start activities from background -->
4162    <permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"
4163        android:protectionLevel="signature|privileged|vendorPrivileged|oem|verifier|role" />
4164
4165    <!-- Allows an application to start foreground services from the background at any time.
4166         <em>This permission is not for use by third-party applications</em>,
4167         with the only exception being if the app is the default SMS app.
4168         Otherwise, it's only usable by privileged apps, app verifier app, and apps with
4169         any of the EMERGENCY or SYSTEM GALLERY roles.
4170         -->
4171    <permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"
4172                android:protectionLevel="signature|privileged|vendorPrivileged|oem|verifier|role"/>
4173
4174    <!-- Allows an application to request interactive options when sending a broadcast.
4175         @hide -->
4176    <permission android:name="android.permission.BROADCAST_OPTION_INTERACTIVE"
4177                android:protectionLevel="signature|privileged" />
4178
4179    <!-- @SystemApi Must be required by activities that handle the intent action
4180         {@link Intent#ACTION_SEND_SHOW_SUSPENDED_APP_DETAILS}. This is for use by apps that
4181         hold {@link Manifest.permission#SUSPEND_APPS} to interact with the system.
4182         <p>Not for use by third-party applications.
4183         @hide -->
4184    <permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS"
4185                android:protectionLevel="signature" />
4186    <uses-permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS" />
4187
4188    <!-- Allows an application to start an activity as another app, provided that app has been
4189         granted a permissionToken from the ActivityManagerService.
4190         @hide -->
4191    <permission android:name="android.permission.START_ACTIVITY_AS_CALLER"
4192        android:protectionLevel="signature" />
4193
4194    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
4195        API is no longer supported. -->
4196    <permission android:name="android.permission.RESTART_PACKAGES"
4197        android:label="@string/permlab_killBackgroundProcesses"
4198        android:description="@string/permdesc_killBackgroundProcesses"
4199        android:protectionLevel="normal" />
4200
4201    <!-- Allows an application to call
4202        {@link android.app.ActivityManager#killBackgroundProcesses}.
4203        <p>As of Android version {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE},
4204        the {@link android.app.ActivityManager#killBackgroundProcesses} is no longer available to
4205        third party applications. For backwards compatibility, the background processes of the
4206        caller's own package will still be killed when calling this API. If the caller has
4207        the system permission {@code KILL_ALL_BACKGROUND_PROCESSES}, other processes will be
4208        killed too.
4209
4210         <p>Protection level: normal
4211    -->
4212    <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
4213        android:label="@string/permlab_killBackgroundProcesses"
4214        android:description="@string/permdesc_killBackgroundProcesses"
4215        android:protectionLevel="normal" />
4216
4217    <!-- @SystemApi @hide Allows an application to call
4218        {@link android.app.ActivityManager#killBackgroundProcesses}
4219        to kill background processes of other apps.
4220         <p>Not for use by third-party applications.
4221    -->
4222    <permission android:name="android.permission.KILL_ALL_BACKGROUND_PROCESSES"
4223        android:label="@string/permlab_killBackgroundProcesses"
4224        android:description="@string/permdesc_killBackgroundProcesses"
4225        android:protectionLevel="signature|privileged" />
4226
4227    <!-- @SystemApi @hide Allows an application to query process states and current
4228         OOM adjustment scores.
4229         <p>Not for use by third-party applications. -->
4230    <permission android:name="android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"
4231        android:protectionLevel="signature|privileged|development" />
4232
4233    <!-- Allows use of PendingIntent.getIntent(), .
4234         @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
4235         -->
4236    <permission android:name="android.permission.GET_INTENT_SENDER_INTENT"
4237        android:protectionLevel="signature" />
4238
4239    <!-- ================================== -->
4240    <!-- Permissions affecting the display of other applications  -->
4241    <!-- ================================== -->
4242    <eat-comment />
4243
4244    <!-- Allows an app to create windows using the type
4245         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
4246         shown on top of all other apps.  Very few apps
4247         should use this permission; these windows are intended for
4248         system-level interaction with the user.
4249
4250         <p class="note"><strong>Note:</strong> If the app
4251         targets API level 23 or higher, the app user must explicitly grant
4252         this permission to the app through a permission management screen. The app requests
4253         the user's approval by sending an intent with action
4254         {@link android.provider.Settings#ACTION_MANAGE_OVERLAY_PERMISSION}.
4255         The app can check whether it has this authorization by calling
4256         {@link android.provider.Settings#canDrawOverlays
4257         Settings.canDrawOverlays()}.
4258         <p>Protection level: signature|setup|appop|installer|pre23|development -->
4259    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
4260        android:label="@string/permlab_systemAlertWindow"
4261        android:description="@string/permdesc_systemAlertWindow"
4262        android:protectionLevel="signature|setup|appop|installer|pre23|development" />
4263
4264    <!-- @SystemApi @hide Allows an application to create windows using the type
4265         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
4266         shown on top of all other apps.
4267
4268         Allows an application to use
4269         {@link android.view.WindowManager.LayoutsParams#setSystemApplicationOverlay(boolean)}
4270         to create overlays that will stay visible, even if another window is requesting overlays to
4271         be hidden through {@link android.view.Window#setHideOverlayWindows(boolean)}.
4272
4273         <p>Not for use by third-party applications. -->
4274    <permission android:name="android.permission.SYSTEM_APPLICATION_OVERLAY"
4275                android:protectionLevel="signature|recents|role|installer"/>
4276
4277    <!-- @deprecated Use {@link android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
4278         @hide
4279    -->
4280    <permission android:name="android.permission.RUN_IN_BACKGROUND"
4281        android:label="@string/permlab_runInBackground"
4282        android:description="@string/permdesc_runInBackground"
4283        android:protectionLevel="signature" />
4284
4285    <!-- @deprecated Use
4286        {@link android.Manifest.permission#REQUEST_COMPANION_USE_DATA_IN_BACKGROUND}
4287         @hide
4288    -->
4289    <permission android:name="android.permission.USE_DATA_IN_BACKGROUND"
4290        android:label="@string/permlab_useDataInBackground"
4291        android:description="@string/permdesc_useDataInBackground"
4292        android:protectionLevel="signature" />
4293
4294    <!-- @hide Allows an application to set display offsets for the screen.
4295         This permission is not available to third party applications. -->
4296    <permission android:name="android.permission.SET_DISPLAY_OFFSET"
4297        android:protectionLevel="signature|privileged" />
4298
4299    <!-- Allows a companion app to run in the background. This permission implies
4300         {@link android.Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND},
4301         and allows to start a foreground service from the background.
4302         If an app does not have to run in the background, but only needs to start a foreground
4303         service from the background, consider using
4304         {@link android.Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND},
4305         which is less powerful.
4306         <p>Protection level: normal
4307    -->
4308    <permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"
4309                android:label="@string/permlab_runInBackground"
4310                android:description="@string/permdesc_runInBackground"
4311                android:protectionLevel="normal" />
4312
4313    <!-- Allows a companion app to start a foreground service from the background.
4314         {@see android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
4315         <p>Protection level: normal
4316         -->
4317    <permission android:name="android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND"
4318                android:label="@string/permlab_startForegroundServicesFromBackground"
4319                android:description="@string/permdesc_startForegroundServicesFromBackground"
4320                android:protectionLevel="normal"/>
4321
4322    <!-- Allows a companion app to use data in the background.
4323         <p>Protection level: normal
4324    -->
4325    <permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"
4326                android:label="@string/permlab_useDataInBackground"
4327                android:description="@string/permdesc_useDataInBackground"
4328                android:protectionLevel="normal" />
4329
4330    <!-- Allows app to request to be associated with a device via
4331         {@link android.companion.CompanionDeviceManager}
4332         as a "watch"
4333         <p>Protection level: normal
4334     -->
4335    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_WATCH"
4336                android:label="@string/permlab_companionProfileWatch"
4337                android:description="@string/permdesc_companionProfileWatch"
4338                android:protectionLevel="normal" />
4339
4340    <!-- Allows app to request to be associated with a device via
4341         {@link android.companion.CompanionDeviceManager}
4342         as "glasses"
4343         <p>Protection level: normal
4344     -->
4345    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_GLASSES"
4346        android:protectionLevel="normal" />
4347
4348    <!-- Allows application to request to be associated with a virtual display capable of streaming
4349         Android applications
4350         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_APP_STREAMING})
4351         by {@link android.companion.CompanionDeviceManager}.
4352        <p>Not for use by third-party applications.
4353    -->
4354    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_APP_STREAMING"
4355                android:protectionLevel="signature|privileged" />
4356
4357    <!-- Allows application to request to stream content from an Android host to a nearby device
4358         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_NEARBY_DEVICE_STREAMING})
4359         by {@link android.companion.CompanionDeviceManager}.
4360        <p>Not for use by third-party applications.
4361    -->
4362    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING"
4363        android:protectionLevel="signature|privileged" />
4364
4365    <!-- Allows application to request to be associated with a vehicle head unit capable of
4366         automotive projection
4367         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_AUTOMOTIVE_PROJECTION})
4368         by {@link android.companion.CompanionDeviceManager}.
4369        <p>Not for use by third-party applications.
4370    -->
4371    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION"
4372                android:protectionLevel="internal|role" />
4373
4374    <!-- Allows application to request to be associated with a computer to share functionality
4375         and/or data with other devices, such as notifications, photos and media
4376         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_COMPUTER})
4377         by {@link android.companion.CompanionDeviceManager}.
4378        <p>Not for use by third-party applications.
4379    -->
4380    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_COMPUTER"
4381                android:protectionLevel="signature|privileged" />
4382
4383    <!-- Allows an application to create a "self-managed" association.
4384    -->
4385    <permission android:name="android.permission.REQUEST_COMPANION_SELF_MANAGED"
4386                android:protectionLevel="signature|privileged" />
4387
4388    <!-- Allows a companion app to associate to Wi-Fi.
4389         <p>Only for use by a single pre-approved app.
4390         @hide
4391         @SystemApi
4392    -->
4393    <permission android:name="android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS"
4394                android:protectionLevel="signature|privileged" />
4395
4396    <!-- Allows an app to read and listen to projection state.
4397         @hide
4398         @SystemApi
4399    -->
4400    <permission android:name="android.permission.READ_PROJECTION_STATE"
4401                android:protectionLevel="signature" />
4402
4403    <!-- Allows an app to set and release automotive projection.
4404         @hide
4405         @SystemApi
4406    -->
4407    <permission android:name="android.permission.TOGGLE_AUTOMOTIVE_PROJECTION"
4408                android:protectionLevel="internal|role" />
4409
4410    <!-- Allows an app to prevent non-system-overlay windows from being drawn on top of it -->
4411    <permission android:name="android.permission.HIDE_OVERLAY_WINDOWS"
4412                android:label="@string/permlab_hideOverlayWindows"
4413                android:description="@string/permdesc_hideOverlayWindows"
4414                android:protectionLevel="normal" />
4415
4416    <!-- ================================== -->
4417    <!-- Permissions affecting the system wallpaper -->
4418    <!-- ================================== -->
4419    <eat-comment />
4420
4421    <!-- Allows applications to set the wallpaper.
4422         <p>Protection level: normal
4423     -->
4424    <permission android:name="android.permission.SET_WALLPAPER"
4425        android:label="@string/permlab_setWallpaper"
4426        android:description="@string/permdesc_setWallpaper"
4427        android:protectionLevel="normal" />
4428
4429    <!-- Allows applications to set the wallpaper hints.
4430         <p>Protection level: normal
4431    -->
4432    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
4433        android:label="@string/permlab_setWallpaperHints"
4434        android:description="@string/permdesc_setWallpaperHints"
4435        android:protectionLevel="normal" />
4436
4437    <!-- Allow the app to read the system and lock wallpaper images.
4438        <p>Not for use by third-party applications.
4439        @hide
4440        @SystemApi
4441    -->
4442    <permission android:name="android.permission.READ_WALLPAPER_INTERNAL"
4443        android:protectionLevel="signature|privileged" />
4444
4445    <!-- Allow apps to always update wallpaper by sending data.
4446        @SystemApi
4447        @hide
4448        @FlaggedApi("com.android.window.flags.always_update_wallpaper_permission")
4449    -->
4450    <permission android:name="android.permission.ALWAYS_UPDATE_WALLPAPER"
4451        android:protectionLevel="internal|role" />
4452
4453    <!-- ===================================================== -->
4454    <!-- Permissions for changing the system clock / time zone -->
4455    <!-- ===================================================== -->
4456    <eat-comment />
4457
4458    <!-- Allows applications to set the system time directly.
4459         <p>Not for use by third-party applications. -->
4460    <permission android:name="android.permission.SET_TIME"
4461        android:protectionLevel="signature|privileged|role" />
4462
4463    <!-- Allows applications to set the system time zone directly.
4464         <p>Not for use by third-party applications.
4465    -->
4466    <permission android:name="android.permission.SET_TIME_ZONE"
4467        android:label="@string/permlab_setTimeZone"
4468        android:description="@string/permdesc_setTimeZone"
4469        android:protectionLevel="signature|privileged|role" />
4470
4471    <!-- Allows telephony to suggest the time / time zone.
4472         <p>Not for use by third-party applications.
4473         @hide
4474     -->
4475    <permission android:name="android.permission.SUGGEST_TELEPHONY_TIME_AND_ZONE"
4476        android:protectionLevel="signature" />
4477
4478    <!-- Allows applications like settings to suggest the user's manually chosen time / time zone.
4479         <p>Not for use by third-party applications.
4480         @hide
4481    -->
4482    <permission android:name="android.permission.SUGGEST_MANUAL_TIME_AND_ZONE"
4483        android:protectionLevel="signature" />
4484
4485    <!-- Allows system clock time suggestions from an external clock / time source to be made.
4486         The nature of "external" could be highly form-factor specific. Example, times
4487         obtained via the VHAL for Android Auto OS.
4488         <p>Not for use by third-party applications.
4489         @SystemApi @hide
4490    -->
4491    <permission android:name="android.permission.SUGGEST_EXTERNAL_TIME"
4492        android:protectionLevel="signature|privileged" />
4493
4494    <!-- Allows applications like settings to manage configuration associated with automatic time
4495         and time zone detection.
4496         <p>Not for use by third-party applications.
4497         @SystemApi @hide
4498    -->
4499    <permission android:name="android.permission.MANAGE_TIME_AND_ZONE_DETECTION"
4500        android:protectionLevel="signature|privileged" />
4501
4502    <!-- ==================================================== -->
4503    <!-- Permissions related to changing status bar   -->
4504    <!-- ==================================================== -->
4505    <eat-comment />
4506
4507    <!-- Allows an application to expand or collapse the status bar.
4508         <p>Protection level: normal
4509    -->
4510    <permission android:name="android.permission.EXPAND_STATUS_BAR"
4511        android:label="@string/permlab_expandStatusBar"
4512        android:description="@string/permdesc_expandStatusBar"
4513        android:protectionLevel="normal" />
4514
4515    <!-- ============================================================== -->
4516    <!-- Permissions related to adding/removing shortcuts from Launcher -->
4517    <!-- ============================================================== -->
4518    <eat-comment />
4519
4520    <!-- Allows an application to install a shortcut in Launcher.
4521         <p>In Android O (API level 26) and higher, the <code>INSTALL_SHORTCUT</code> broadcast no
4522         longer has any effect on your app because it's a private, implicit
4523         broadcast. Instead, you should create an app shortcut by using the
4524         {@link android.content.pm.ShortcutManager#requestPinShortcut requestPinShortcut()}
4525         method from the {@link android.content.pm.ShortcutManager} class.
4526         <p>Protection level: normal
4527    -->
4528    <permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
4529        android:label="@string/permlab_install_shortcut"
4530        android:description="@string/permdesc_install_shortcut"
4531        android:protectionLevel="normal"/>
4532
4533    <!-- <p class="caution"><strong>Don't use this permission in your app.</strong><br>This
4534         permission is no longer supported.
4535    -->
4536    <permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"
4537        android:label="@string/permlab_uninstall_shortcut"
4538        android:description="@string/permdesc_uninstall_shortcut"
4539        android:protectionLevel="normal"/>
4540
4541    <!-- ==================================================== -->
4542    <!-- Permissions related to accessing sync settings   -->
4543    <!-- ==================================================== -->
4544    <eat-comment />
4545
4546    <!-- Allows applications to read the sync settings.
4547         <p>Protection level: normal
4548    -->
4549    <permission android:name="android.permission.READ_SYNC_SETTINGS"
4550        android:description="@string/permdesc_readSyncSettings"
4551        android:label="@string/permlab_readSyncSettings"
4552        android:protectionLevel="normal" />
4553
4554    <!-- Allows applications to write the sync settings.
4555         <p>Protection level: normal
4556    -->
4557    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
4558        android:description="@string/permdesc_writeSyncSettings"
4559        android:label="@string/permlab_writeSyncSettings"
4560        android:protectionLevel="normal" />
4561
4562    <!-- Allows applications to read the sync stats.
4563         <p>Protection level: normal
4564    -->
4565    <permission android:name="android.permission.READ_SYNC_STATS"
4566        android:description="@string/permdesc_readSyncStats"
4567        android:label="@string/permlab_readSyncStats"
4568        android:protectionLevel="normal" />
4569
4570    <!-- ============================================ -->
4571    <!-- Permissions for low-level system interaction -->
4572    <!-- ============================================ -->
4573    <eat-comment />
4574
4575    <!-- @SystemApi @hide Change the screen compatibility mode of applications -->
4576    <permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
4577        android:protectionLevel="signature" />
4578
4579    <!-- Allows an application to modify the current configuration, such
4580         as locale.
4581         <p>Protection level: signature|privileged|development -->
4582    <permission android:name="android.permission.CHANGE_CONFIGURATION"
4583        android:protectionLevel="signature|privileged|development|role" />
4584
4585    <!-- Allows an application to read or write the system settings.
4586
4587        <p class="note"><strong>Note:</strong> If the app targets API level 23
4588        or higher, the app user
4589        must explicitly grant this permission to the app through a permission management screen.
4590        The app requests the user's approval by sending an intent with action
4591        {@link android.provider.Settings#ACTION_MANAGE_WRITE_SETTINGS}. The app
4592        can check whether it has this authorization by calling {@link
4593        android.provider.Settings.System#canWrite Settings.System.canWrite()}.
4594
4595        <p>Protection level: signature|preinstalled|appop|pre23
4596    -->
4597    <permission android:name="android.permission.WRITE_SETTINGS"
4598        android:label="@string/permlab_writeSettings"
4599        android:description="@string/permdesc_writeSettings"
4600        android:protectionLevel="signature|preinstalled|appop|pre23|role" />
4601
4602    <!-- Allows an application to modify the Google service map.
4603    <p>Not for use by third-party applications. -->
4604    <permission android:name="android.permission.WRITE_GSERVICES"
4605        android:protectionLevel="signature|privileged" />
4606
4607    <!-- @SystemApi @TestApi @hide Allows an application to modify config settings.
4608    <p>Not for use by third-party applications. -->
4609    <permission android:name="android.permission.WRITE_DEVICE_CONFIG"
4610        android:protectionLevel="signature|verifier|configurator"/>
4611
4612    <!-- @SystemApi @TestApi @hide Allows an application to modify only allowlisted settings.
4613    <p>Not for use by third-party applications. -->
4614    <permission android:name="android.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG"
4615        android:protectionLevel="signature|verifier|configurator"/>
4616
4617    <!-- @SystemApi @TestApi @hide Allows an application to read/write sync disabled mode config.
4618    <p>Not for use by third-party applications. -->
4619    <permission android:name="android.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG"
4620        android:protectionLevel="signature|verifier|configurator"/>
4621
4622    <!-- @SystemApi @hide Allows an application to read config settings.
4623    <p>Not for use by third-party applications. -->
4624    <permission android:name="android.permission.READ_DEVICE_CONFIG"
4625        android:protectionLevel="signature|preinstalled" />
4626
4627    <!-- @SystemApi @hide Allows applications like settings to read system-owned
4628     application-specific locale configs.
4629     <p>Not for use by third-party applications. -->
4630    <permission android:name="android.permission.READ_APP_SPECIFIC_LOCALES"
4631                android:protectionLevel="signature|installer" />
4632
4633    <!-- @hide Allows applications to set an application-specific {@link LocaleConfig}.
4634    <p>Not for use by third-party applications. -->
4635    <permission android:name="android.permission.SET_APP_SPECIFIC_LOCALECONFIG"
4636        android:protectionLevel="signature" />
4637
4638    <!-- @SystemApi @hide Allows an application to monitor {@link android.provider.Settings.Config} access.
4639    <p>Not for use by third-party applications. -->
4640    <permission android:name="android.permission.MONITOR_DEVICE_CONFIG_ACCESS"
4641        android:protectionLevel="signature"/>
4642
4643    <!-- @SystemApi @TestApi Allows an application to call
4644        {@link android.app.ActivityManager#forceStopPackage}.
4645        @hide -->
4646    <permission android:name="android.permission.FORCE_STOP_PACKAGES"
4647        android:protectionLevel="signature|privileged" />
4648
4649    <!-- @SystemApi @hide Allows an application to retrieve the content of the active window
4650         An active window is the window that has fired an accessibility event. -->
4651    <permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"
4652        android:protectionLevel="signature|privileged" />
4653
4654    <!-- Modify the global animation scaling factor.
4655    <p>Not for use by third-party applications. -->
4656    <permission android:name="android.permission.SET_ANIMATION_SCALE"
4657        android:protectionLevel="signature|privileged|development" />
4658
4659    <!-- @deprecated This functionality will be removed in the future; please do
4660         not use. Allow an application to make its activities persistent. -->
4661    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
4662        android:label="@string/permlab_persistentActivity"
4663        android:description="@string/permdesc_persistentActivity"
4664        android:protectionLevel="normal" />
4665
4666    <!-- Allows an application to find out the space used by any package.
4667         <p>Protection level: normal
4668    -->
4669    <permission android:name="android.permission.GET_PACKAGE_SIZE"
4670        android:label="@string/permlab_getPackageSize"
4671        android:description="@string/permdesc_getPackageSize"
4672        android:protectionLevel="normal" />
4673
4674    <!-- @deprecated No longer useful, see
4675         {@link android.content.pm.PackageManager#addPackageToPreferred}
4676         for details. -->
4677    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
4678        android:protectionLevel="signature|installer|verifier" />
4679
4680    <!-- Allows an application to receive the
4681         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
4682         broadcast after the system finishes booting.  If you don't
4683         request this permission, you will not receive the broadcast at
4684         that time.  Though holding this permission does not have any
4685         security implications, it can have a negative impact on the
4686         user experience by increasing the amount of time it takes the
4687         system to start and allowing applications to have themselves
4688         running without the user being aware of them.  As such, you must
4689         explicitly declare your use of this facility to make that visible
4690         to the user.
4691         <p>Protection level: normal
4692    -->
4693    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
4694        android:label="@string/permlab_receiveBootCompleted"
4695        android:description="@string/permdesc_receiveBootCompleted"
4696        android:protectionLevel="normal" />
4697
4698    <!-- Allows an application to broadcast sticky intents.  These are
4699         broadcasts whose data is held by the system after being finished,
4700         so that clients can quickly retrieve that data without having
4701         to wait for the next broadcast.
4702         <p>Protection level: normal
4703    -->
4704    <permission android:name="android.permission.BROADCAST_STICKY"
4705        android:label="@string/permlab_broadcastSticky"
4706        android:description="@string/permdesc_broadcastSticky"
4707        android:protectionLevel="normal" />
4708
4709    <!-- Allows mounting and unmounting file systems for removable storage.
4710    <p>Not for use by third-party applications.-->
4711    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
4712        android:protectionLevel="signature|privileged" />
4713
4714    <!-- Allows formatting file systems for removable storage.
4715    <p>Not for use by third-party applications. -->
4716    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
4717        android:protectionLevel="signature|privileged" />
4718
4719    <!-- @hide -->
4720    <permission android:name="android.permission.STORAGE_INTERNAL"
4721        android:protectionLevel="signature" />
4722
4723    <!-- Allows access to ASEC non-destructive API calls
4724         @hide  -->
4725    <permission android:name="android.permission.ASEC_ACCESS"
4726        android:protectionLevel="signature" />
4727
4728    <!-- Allows creation of ASEC volumes
4729         @hide  -->
4730    <permission android:name="android.permission.ASEC_CREATE"
4731        android:protectionLevel="signature" />
4732
4733    <!-- Allows destruction of ASEC volumes
4734         @hide  -->
4735    <permission android:name="android.permission.ASEC_DESTROY"
4736        android:protectionLevel="signature" />
4737
4738    <!-- Allows mount / unmount of ASEC volumes
4739         @hide  -->
4740    <permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"
4741        android:protectionLevel="signature" />
4742
4743    <!-- Allows rename of ASEC volumes
4744         @hide  -->
4745    <permission android:name="android.permission.ASEC_RENAME"
4746        android:protectionLevel="signature" />
4747
4748    <!-- Allows applications to write the apn settings and read sensitive fields of
4749         an existing apn settings like user and password.
4750    <p>Not for use by third-party applications. -->
4751    <permission android:name="android.permission.WRITE_APN_SETTINGS"
4752        android:protectionLevel="signature|privileged" />
4753
4754    <!-- Allows applications to change network connectivity state.
4755         <p>Protection level: normal
4756    -->
4757    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
4758        android:description="@string/permdesc_changeNetworkState"
4759        android:label="@string/permlab_changeNetworkState"
4760        android:protectionLevel="normal" />
4761
4762    <!-- Allows an application to clear the caches of all installed
4763         applications on the device.
4764         <p>Protection level: signature|privileged
4765    -->
4766    <permission android:name="android.permission.CLEAR_APP_CACHE"
4767        android:protectionLevel="signature|privileged" />
4768
4769    <!-- @SystemApi Allows an application to use any media decoder when decoding for playback
4770         @hide -->
4771    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
4772        android:protectionLevel="signature|privileged" />
4773
4774    <!-- @SystemApi Allows an application to install and/or uninstall CA certificates on
4775         behalf of the user.
4776         @hide -->
4777    <permission android:name="android.permission.MANAGE_CA_CERTIFICATES"
4778        android:protectionLevel="signature|privileged" />
4779
4780    <!-- @SystemApi Allows an application to do certain operations needed for
4781         interacting with the recovery (system update) system.
4782         @hide -->
4783    <permission android:name="android.permission.RECOVERY"
4784        android:protectionLevel="signature|privileged" />
4785
4786    <!-- @SystemApi Allows an application to do certain operations needed for
4787         resume on reboot feature.
4788         @hide -->
4789    <permission android:name="android.permission.BIND_RESUME_ON_REBOOT_SERVICE"
4790        android:protectionLevel="signature" />
4791
4792    <!-- @SystemApi Allows an application to read system update info.
4793         @hide -->
4794    <permission android:name="android.permission.READ_SYSTEM_UPDATE_INFO"
4795        android:protectionLevel="signature|privileged" />
4796
4797    <!-- Allows the system to bind to an application's task services
4798         @hide -->
4799    <permission android:name="android.permission.BIND_JOB_SERVICE"
4800        android:protectionLevel="signature" />
4801    <uses-permission android:name="android.permission.BIND_JOB_SERVICE"/>
4802
4803    <!-- Allows an application to initiate configuration updates
4804         <p>An application requesting this permission is responsible for
4805         verifying the source and integrity of any update before passing
4806         it off to the various individual installer components
4807         @hide -->
4808    <permission android:name="android.permission.UPDATE_CONFIG"
4809        android:protectionLevel="signature|privileged" />
4810
4811    <!-- Allows an application to query the current time zone rules state
4812         on device.
4813         @SystemApi @hide
4814         @deprecated Vestigial permission declaration. No longer used. -->
4815    <permission android:name="android.permission.QUERY_TIME_ZONE_RULES"
4816                android:protectionLevel="signature|privileged" />
4817
4818    <!-- Allows a time zone rule updater application to request
4819         the system installs / uninstalls timezone rules.
4820         <p>An application requesting this permission is responsible for
4821         verifying the source and integrity of the update before passing
4822         it off to the installer components.
4823         @SystemApi @hide
4824         @deprecated Vestigial permission declaration. No longer used. -->
4825    <permission android:name="android.permission.UPDATE_TIME_ZONE_RULES"
4826        android:protectionLevel="signature|privileged" />
4827
4828    <!-- Allows the system to reset throttling in shortcut manager.
4829         @hide -->
4830    <permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING"
4831        android:protectionLevel="signature" />
4832
4833    <!-- Allows the system to bind to the discovered Network Recommendation Service.
4834         @SystemApi @hide -->
4835    <permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"
4836        android:protectionLevel="signature" />
4837    <uses-permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"/>
4838
4839    <!-- Allows an application to enable, disable and change priority of
4840         runtime resource overlays.
4841         @hide -->
4842    <permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES"
4843        android:protectionLevel="signature|privileged" />
4844
4845    <!-- Allows an application to set, update and remove the credential management app.
4846         @hide -->
4847    <permission android:name="android.permission.MANAGE_CREDENTIAL_MANAGEMENT_APP"
4848        android:protectionLevel="signature" />
4849
4850    <!-- Allows a font updater application to request that the system installs/uninstalls/updates
4851         font files. @SystemApi @hide -->
4852    <permission android:name="android.permission.UPDATE_FONTS"
4853        android:protectionLevel="signature|privileged" />
4854
4855    <!-- Allows an application to use the AttestationVerificationService.
4856         @hide -->
4857    <permission android:name="android.permission.USE_ATTESTATION_VERIFICATION_SERVICE"
4858                android:protectionLevel="signature" />
4859
4860    <!-- Allows an application to export a AttestationVerificationService to verify attestations on
4861         behalf of AttestationVerificationManager for system-defined attestation profiles.
4862         @hide -->
4863    <permission android:name="android.permission.VERIFY_ATTESTATION"
4864                android:protectionLevel="signature" />
4865
4866    <!-- Must be required by any AttestationVerificationService to ensure that only the system can
4867         bind to it.
4868         @hide -->
4869    <permission android:name="android.permission.BIND_ATTESTATION_VERIFICATION_SERVICE"
4870                android:protectionLevel="signature" />
4871
4872    <!-- Allows the caller to generate keymint keys with the INCLUDE_UNIQUE_ID tag, which
4873         uniquely identifies the device via the attestation certificate.
4874         @hide @TestApi -->
4875    <permission android:name="android.permission.REQUEST_UNIQUE_ID_ATTESTATION"
4876         android:protectionLevel="signature" />
4877
4878    <!-- Allows an application to use the RemoteKeyProvisioningService.
4879         @hide -->
4880    <permission android:name="android.permission.BIND_RKP_SERVICE"
4881                android:protectionLevel="signature" />
4882
4883    <!-- Allows an application to get enabled credential manager providers.
4884         @hide -->
4885    <permission android:name="android.permission.LIST_ENABLED_CREDENTIAL_PROVIDERS"
4886        android:protectionLevel="signature|privileged" />
4887
4888    <!-- Allows a system application to be registered with credential manager without
4889         having to be enabled by the user.
4890         @hide @SystemApi -->
4891    <permission android:name="android.permission.PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE"
4892                android:protectionLevel="signature|privileged" />
4893
4894    <!-- Allows specifying candidate credential providers to be queried in Credential Manager
4895    get flows, or to be preferred as a default in the Credential Manager create flows.
4896     <p>Protection level: normal -->
4897    <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS"
4898                android:protectionLevel="normal" />
4899
4900    <!-- Allows a browser to invoke credential manager APIs on behalf of another RP.
4901        <p>Protection level: normal -->
4902    <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ORIGIN"
4903        android:protectionLevel="normal" />
4904
4905    <!-- Allows a browser to invoke the set of query apis to get metadata about credential
4906         candidates prepared during the CredentialManager.prepareGetCredential API.
4907        <p>Protection level: normal -->
4908    <permission android:name="android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS"
4909                android:protectionLevel="normal" />
4910
4911    <!-- Allows permission to use Credential Manager UI for providing and saving credentials
4912         @hide -->
4913    <permission android:name="android.permission.LAUNCH_CREDENTIAL_SELECTOR"
4914        android:protectionLevel="signature" />
4915
4916    <!-- Allows an application to be able to store and retrieve credentials from a remote
4917         device.
4918    <p>Protection level: signature|privileged|role -->
4919    <permission android:name="android.permission.PROVIDE_REMOTE_CREDENTIALS"
4920                android:protectionLevel="signature|privileged|role" />
4921
4922    <!-- ========================================= -->
4923    <!-- Permissions for special development tools -->
4924    <!-- ========================================= -->
4925    <eat-comment />
4926
4927    <!-- Allows an application to read or write the secure system settings.
4928    <p>Not for use by third-party applications. -->
4929    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
4930        android:protectionLevel="signature|privileged|development|role|installer" />
4931
4932    <!-- Allows an application to retrieve state dump information from system services.
4933    <p>Not for use by third-party applications. -->
4934    <permission android:name="android.permission.DUMP"
4935        android:protectionLevel="signature|privileged|development" />
4936
4937    <!-- Allows an application to start tracing for InputMethod and WindowManager.
4938    <p>Not for use by third-party applications.
4939    @hide -->
4940    <permission android:name="android.permission.CONTROL_UI_TRACING"
4941        android:protectionLevel="signature|privileged|development" />
4942
4943    <!-- Allows an application to read the low-level system log files.
4944    <p>Not for use by third-party applications, because
4945    Log entries can contain the user's private information. -->
4946    <permission android:name="android.permission.READ_LOGS"
4947        android:protectionLevel="signature|privileged|development" />
4948
4949    <!-- Configure an application for debugging.
4950    <p>Not for use by third-party applications. -->
4951    <permission android:name="android.permission.SET_DEBUG_APP"
4952        android:protectionLevel="signature|privileged|development" />
4953
4954    <!-- Allows an application to access the data in Dropbox.
4955    <p>Not for use by third-party applications.
4956    @FlaggedApi("com.android.server.feature.flags.enable_read_dropbox_permission") -->
4957    <permission android:name="android.permission.READ_DROPBOX_DATA"
4958        android:protectionLevel="signature|privileged|development" />
4959
4960    <!-- Allows an application to set the maximum number of (not needed)
4961         application processes that can be running.
4962         <p>Not for use by third-party applications. -->
4963    <permission android:name="android.permission.SET_PROCESS_LIMIT"
4964        android:protectionLevel="signature|privileged|development" />
4965
4966    <!-- Allows an application to control whether activities are immediately
4967         finished when put in the background.
4968         <p>Not for use by third-party applications. -->
4969    <permission android:name="android.permission.SET_ALWAYS_FINISH"
4970        android:protectionLevel="signature|privileged|development" />
4971
4972    <!-- Allow an application to request that a signal be sent to all persistent processes.
4973    <p>Not for use by third-party applications. -->
4974    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
4975        android:protectionLevel="signature|privileged|development" />
4976
4977    <!-- @hide @SystemApi Must be required by a
4978         {@link com.android.service.tracing.TraceReportService}, to ensure that only the system
4979         can bind to it.
4980        <p>Not for use by third-party applications. -->
4981    <permission android:name="android.permission.BIND_TRACE_REPORT_SERVICE"
4982                android:protectionLevel="signature" />
4983
4984    <!-- @hide @SystemApi @TestApi
4985         Allow an application to approve incident and bug reports to be
4986         shared off-device.  There can be only one application installed on the
4987         device with this permission, and since this is a privileged permission, it
4988         must be in priv-app.
4989        <p>Not for use by third-party applications. -->
4990    <permission android:name="android.permission.APPROVE_INCIDENT_REPORTS"
4991        android:protectionLevel="signature|incidentReportApprover" />
4992
4993    <!-- @hide Allow an application to approve an incident or bug report approval from
4994        the system. -->
4995    <permission android:name="android.permission.REQUEST_INCIDENT_REPORT_APPROVAL"
4996        android:protectionLevel="signature|privileged" />
4997
4998    <!-- ==================================== -->
4999    <!-- Private permissions                  -->
5000    <!-- ==================================== -->
5001    <eat-comment />
5002
5003    <!-- Allows access to the list of accounts in the Accounts Service.
5004         <p>Protection level: signature|privileged -->
5005    <permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"
5006        android:protectionLevel="signature|privileged" />
5007
5008    <!-- Allows but does not guarantee access to user passwords at the conclusion of add account
5009    @hide -->
5010    <permission android:name="android.permission.GET_PASSWORD"
5011        android:protectionLevel="signature" />
5012
5013    <!-- Allows applications to RW to diagnostic resources.
5014    <p>Not for use by third-party applications. -->
5015    <permission android:name="android.permission.DIAGNOSTIC"
5016        android:protectionLevel="signature" />
5017
5018    <!-- Allows an application to open, close, or disable the status bar
5019         and its icons.
5020         <p>Not for use by third-party applications. -->
5021    <permission android:name="android.permission.STATUS_BAR"
5022        android:protectionLevel="signature|privileged|recents" />
5023
5024    <!-- Allows an application to trigger bugreport via shell using the bugreport API.
5025        <p>Not for use by third-party applications.
5026        @hide
5027    -->
5028    <permission android:name="android.permission.TRIGGER_SHELL_BUGREPORT"
5029        android:protectionLevel="signature" />
5030
5031    <!-- Allows an application to trigger profcollect report upload via shell.
5032        <p>Not for use by third-party applications.
5033        @hide
5034    -->
5035    <permission android:name="android.permission.TRIGGER_SHELL_PROFCOLLECT_UPLOAD"
5036        android:protectionLevel="signature" />
5037
5038    <!-- Allows an application to be the status bar.  Currently used only by SystemUI.apk
5039        @hide
5040        @SystemApi -->
5041    <permission android:name="android.permission.STATUS_BAR_SERVICE"
5042        android:protectionLevel="signature|recents" />
5043
5044    <!-- Allows an application to bind to third party quick settings tiles.
5045         <p>Should only be requested by the System, should be required by
5046         TileService declarations.-->
5047    <permission android:name="android.permission.BIND_QUICK_SETTINGS_TILE"
5048        android:protectionLevel="signature|recents" />
5049
5050    <!-- Allows SystemUI to request third party controls.
5051         <p>Should only be requested by the System and required by
5052         {@link android.service.controls.ControlsProviderService} declarations.
5053    -->
5054    <permission android:name="android.permission.BIND_CONTROLS"
5055        android:protectionLevel="signature" />
5056
5057    <!-- @SystemApi Allows an application to force a BACK operation on whatever is the
5058         top activity.
5059         <p>Not for use by third-party applications.
5060         @hide
5061    -->
5062    <permission android:name="android.permission.FORCE_BACK"
5063        android:protectionLevel="signature" />
5064
5065    <!-- Allows an application to update device statistics.
5066    <p>Not for use by third-party applications. -->
5067    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
5068        android:protectionLevel="signature|privileged|role" />
5069
5070    <!-- @SystemApi @hide Allows an application to collect application operation statistics.
5071         Not for use by third party apps. -->
5072    <permission android:name="android.permission.GET_APP_OPS_STATS"
5073        android:protectionLevel="signature|privileged|development" />
5074
5075    <!-- @SystemApi @hide Allows an application to collect historical application operation
5076         statistics.
5077         <p>Not for use by third party applications.
5078    -->
5079    <permission android:name="android.permission.GET_HISTORICAL_APP_OPS_STATS"
5080        android:protectionLevel="internal|role" />
5081
5082    <!-- @SystemApi Allows an application to update application operation statistics. Not for
5083         use by third party apps.
5084         @hide -->
5085    <permission android:name="android.permission.UPDATE_APP_OPS_STATS"
5086        android:protectionLevel="signature|privileged|installer|role" />
5087
5088    <!-- @SystemApi Allows an application to update the user app op restrictions.
5089         Not for use by third party apps.
5090         @hide -->
5091    <permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS"
5092        android:protectionLevel="signature|installer" />
5093
5094    <!-- @TestApi Allows an application to update the user app op modes.
5095         Not for use by third party apps.
5096         @hide -->
5097    <permission android:name="android.permission.MANAGE_APP_OPS_MODES"
5098        android:protectionLevel="signature|installer|verifier|role" />
5099
5100    <!-- @SystemApi Allows an application to open windows that are for use by parts
5101         of the system user interface.
5102         <p>Not for use by third-party applications.
5103         @hide
5104    -->
5105    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
5106        android:protectionLevel="signature|module|recents" />
5107
5108    <!-- Allows an application to avoid all toast rate limiting restrictions.
5109         <p>Not for use by third-party applications.
5110         @hide
5111    -->
5112    <permission android:name="android.permission.UNLIMITED_TOASTS"
5113                android:protectionLevel="signature" />
5114    <uses-permission android:name="android.permission.UNLIMITED_TOASTS" />
5115
5116    <!-- @SystemApi Allows an application to use
5117         {@link android.view.WindowManager.LayoutsParams#SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS}
5118         to hide non-system-overlay windows.
5119         <p>Not for use by third-party applications.
5120         @deprecated Use {@link android.Manifest.permission#HIDE_OVERLAY_WINDOWS} instead
5121         @hide
5122    -->
5123    <permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"
5124                android:protectionLevel="signature|preinstalled" />
5125
5126    <!-- @SystemApi Allows an application to manage (create, destroy,
5127         Z-order) application tokens in the window manager.
5128         <p>Not for use by third-party applications.
5129         @hide
5130    -->
5131    <permission android:name="android.permission.MANAGE_APP_TOKENS"
5132        android:protectionLevel="signature" />
5133
5134    <!-- Allows System UI to register listeners for events from Window Manager.
5135         @hide -->
5136    <permission android:name="android.permission.REGISTER_WINDOW_MANAGER_LISTENERS"
5137        android:protectionLevel="signature" />
5138
5139    <!-- @hide Allows the application to temporarily freeze the screen for a
5140         full-screen transition. -->
5141    <permission android:name="android.permission.FREEZE_SCREEN"
5142        android:protectionLevel="signature" />
5143
5144    <!-- @SystemApi Allows an application to inject user events (keys, touch, trackball)
5145         into the event stream and deliver them to ANY window.  Without this
5146         permission, you can only deliver events to windows in your own process.
5147         <p>Not for use by third-party applications.
5148         @hide
5149    -->
5150    <permission android:name="android.permission.INJECT_EVENTS"
5151        android:protectionLevel="signature" />
5152
5153    <!-- @hide Allows an application to register an input filter which filters the stream
5154         of user events (keys, touch, trackball) before they are dispatched to any window. -->
5155    <permission android:name="android.permission.FILTER_EVENTS"
5156        android:protectionLevel="signature" />
5157
5158    <!-- @hide Allows an application to retrieve the window token from the accessibility manager. -->
5159    <permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN"
5160        android:protectionLevel="signature" />
5161
5162    <!-- @hide Allows an application to modify accessibility information from another app. -->
5163    <permission android:name="android.permission.MODIFY_ACCESSIBILITY_DATA"
5164                android:protectionLevel="signature" />
5165
5166    <!-- @hide Allows an application to perform accessibility operations (e.g. send events) on
5167         behalf of another package. -->
5168    <permission android:name="android.permission.ACT_AS_PACKAGE_FOR_ACCESSIBILITY"
5169                android:protectionLevel="signature" />
5170
5171    <!-- @hide Allows an application to change the accessibility volume. -->
5172    <permission android:name="android.permission.CHANGE_ACCESSIBILITY_VOLUME"
5173                android:protectionLevel="signature" />
5174
5175    <!-- @FlaggedApi("com.android.server.accessibility.motion_event_observing")
5176    @hide
5177    @TestApi
5178    Allows an accessibility service to observe motion events without consuming them. -->
5179    <permission android:name="android.permission.ACCESSIBILITY_MOTION_EVENT_OBSERVING"
5180                android:protectionLevel="signature" />
5181
5182    <!-- @hide Allows an application to collect frame statistics -->
5183    <permission android:name="android.permission.FRAME_STATS"
5184         android:protectionLevel="signature" />
5185
5186    <!-- @hide Allows an application to temporary enable accessibility on the device. -->
5187    <permission android:name="android.permission.TEMPORARY_ENABLE_ACCESSIBILITY"
5188        android:protectionLevel="signature" />
5189
5190    <!-- @SystemApi Allows an application to launch detail settings activity of a particular
5191         accessibility service.
5192         <p>Not for use by third-party applications.
5193         @hide -->
5194    <permission android:name="android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS"
5195        android:protectionLevel="signature|installer" />
5196
5197    <!-- @SystemApi Allows an application to watch and control how activities are
5198         started globally in the system.  Only for is in debugging
5199         (usually the monkey command).
5200         <p>Not for use by third-party applications.
5201         @hide
5202    -->
5203    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
5204        android:protectionLevel="signature" />
5205
5206    <!-- @SystemApi Allows an application to call the activity manager shutdown() API
5207         to put the higher-level system there into a shutdown state.
5208         @hide -->
5209    <permission android:name="android.permission.SHUTDOWN"
5210        android:protectionLevel="signature|privileged|role" />
5211
5212    <!-- @SystemApi Allows an application to tell the activity manager to temporarily
5213         stop application switches, putting it into a special mode that
5214         prevents applications from immediately switching away from some
5215         critical UI such as the home screen.
5216         @hide -->
5217    <permission android:name="android.permission.STOP_APP_SWITCHES"
5218        android:protectionLevel="signature|privileged|recents" />
5219
5220    <!-- @SystemApi Allows an application to retrieve private information about
5221         the current top activity, such as any assist context it can provide.
5222         <p>Not for use by third-party applications.
5223         @hide
5224    -->
5225    <permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"
5226        android:protectionLevel="signature|recents" />
5227
5228    <!-- @SystemApi Allows an application to set the system audio caption and its UI
5229     enabled state.
5230     <p>Not for use by third-party applications.
5231     @hide -->
5232    <permission android:name="android.permission.SET_SYSTEM_AUDIO_CAPTION"
5233                android:protectionLevel="signature|role" />
5234
5235    <!-- Allows an application to retrieve the current state of keys and
5236         switches.
5237         <p>Not for use by third-party applications.
5238         @deprecated The API that used this permission has been removed. -->
5239    <permission android:name="android.permission.READ_INPUT_STATE"
5240        android:protectionLevel="signature" />
5241
5242    <!-- Must be required by an {@link android.inputmethodservice.InputMethodService},
5243         to ensure that only the system can bind to it.
5244         <p>Protection level: signature
5245    -->
5246    <permission android:name="android.permission.BIND_INPUT_METHOD"
5247        android:protectionLevel="signature" />
5248
5249    <!-- Allows access to Test APIs defined in {@link android.view.inputmethod.InputMethodManager}.
5250         @hide
5251         @TestApi -->
5252    <permission android:name="android.permission.TEST_INPUT_METHOD"
5253        android:protectionLevel="signature" />
5254
5255    <!-- Must be required by an {@link android.media.midi.MidiDeviceService},
5256         to ensure that only the system can bind to it.
5257         <p>Protection level: signature
5258    -->
5259    <permission android:name="android.permission.BIND_MIDI_DEVICE_SERVICE"
5260        android:protectionLevel="signature" />
5261
5262    <!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
5263         to ensure that only the system can bind to it.
5264         <p>Protection level: signature
5265    -->
5266    <permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
5267        android:protectionLevel="signature" />
5268
5269    <!-- Must be required by a {@link android.printservice.PrintService},
5270         to ensure that only the system can bind to it.
5271         <p>Protection level: signature
5272    -->
5273    <permission android:name="android.permission.BIND_PRINT_SERVICE"
5274        android:protectionLevel="signature" />
5275
5276    <!-- Must be required by a {@link android.printservice.recommendation.RecommendationService},
5277     to ensure that only the system can bind to it.
5278     @hide
5279     @SystemApi
5280     <p>Protection level: signature
5281    -->
5282    <permission android:name="android.permission.BIND_PRINT_RECOMMENDATION_SERVICE"
5283            android:protectionLevel="signature" />
5284
5285    <!-- Allows applications to get the installed and enabled print services.
5286         @hide
5287         @SystemApi
5288         <p>Protection level: signature|preinstalled
5289    -->
5290    <permission android:name="android.permission.READ_PRINT_SERVICES"
5291        android:protectionLevel="signature|preinstalled" />
5292
5293    <!-- Allows applications to get the currently recommended print services for printers.
5294         @hide
5295         @SystemApi
5296         <p>Protection level: signature|preinstalled
5297    -->
5298    <permission android:name="android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS"
5299        android:protectionLevel="signature|preinstalled" />
5300
5301    <!-- Must be required by a {@link android.nfc.cardemulation.HostApduService}
5302         or {@link android.nfc.cardemulation.OffHostApduService} to ensure that only
5303         the system can bind to it.
5304         <p>Protection level: signature
5305    -->
5306    <permission android:name="android.permission.BIND_NFC_SERVICE"
5307        android:protectionLevel="signature|module" />
5308
5309    <!-- Must be required by a {@link android.service.quickaccesswallet.QuickAccessWalletService}
5310         to ensure that only the system can bind to it.
5311         <p>Protection level: signature
5312    -->
5313    <permission android:name="android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE"
5314                android:protectionLevel="signature" />
5315
5316    <!-- Must be required by the PrintSpooler to ensure that only the system can bind to it.
5317         @hide -->
5318    <permission android:name="android.permission.BIND_PRINT_SPOOLER_SERVICE"
5319        android:protectionLevel="signature" />
5320
5321    <!-- Must be required by the CompanionDeviceManager to ensure that only the system can bind to it.
5322         @hide -->
5323    <permission android:name="android.permission.BIND_COMPANION_DEVICE_MANAGER_SERVICE"
5324        android:protectionLevel="signature" />
5325
5326    <!-- Must be required by any
5327         {@link android.companion.CompanionDeviceService}s
5328         to ensure that only the system can bind to it. -->
5329    <permission android:name="android.permission.BIND_COMPANION_DEVICE_SERVICE"
5330                android:protectionLevel="signature" />
5331
5332    <!-- @SystemApi Must be required by the RuntimePermissionPresenterService to ensure
5333         that only the system can bind to it.
5334         @hide -->
5335    <permission android:name="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE"
5336        android:protectionLevel="signature" />
5337
5338    <!-- Must be required by a TextService (e.g. SpellCheckerService)
5339         to ensure that only the system can bind to it.
5340         <p>Protection level: signature
5341    -->
5342    <permission android:name="android.permission.BIND_TEXT_SERVICE"
5343        android:protectionLevel="signature" />
5344
5345    <!-- @SystemApi Must be required by a AttentionService
5346         to ensure that only the system can bind to it.
5347         <p>Protection level: signature
5348         @hide
5349    -->
5350    <permission android:name="android.permission.BIND_ATTENTION_SERVICE"
5351                android:protectionLevel="signature" />
5352    <uses-permission android:name="android.permission.BIND_ATTENTION_SERVICE" />
5353
5354    <!-- @SystemApi Must be required by a RotationResolverService
5355         to ensure that only the system can bind to it.
5356         <p>Protection level: signature
5357         @hide
5358    -->
5359    <permission android:name="android.permission.BIND_ROTATION_RESOLVER_SERVICE"
5360        android:protectionLevel="signature" />
5361    <uses-permission android:name="android.permission.BIND_ROTATION_RESOLVER_SERVICE" />
5362
5363    <!-- Must be required by a {@link android.net.VpnService},
5364         to ensure that only the system can bind to it.
5365         <p>Protection level: signature
5366    -->
5367    <permission android:name="android.permission.BIND_VPN_SERVICE"
5368        android:protectionLevel="signature" />
5369
5370    <!-- Must be required by a {@link android.service.wallpaper.WallpaperService},
5371         to ensure that only the system can bind to it.
5372         <p>Protection level: signature|privileged
5373    -->
5374    <permission android:name="android.permission.BIND_WALLPAPER"
5375        android:protectionLevel="signature|privileged" />
5376
5377
5378    <!-- Must be required by a game service to ensure that only the
5379         system can bind to it.
5380         <p>Protection level: signature
5381         @hide
5382    -->
5383    <permission android:name="android.permission.BIND_GAME_SERVICE"
5384                android:protectionLevel="signature" />
5385
5386    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService},
5387         to ensure that only the system can bind to it.
5388         <p>Protection level: signature
5389    -->
5390    <permission android:name="android.permission.BIND_VOICE_INTERACTION"
5391        android:protectionLevel="signature" />
5392
5393    <!-- @SystemApi Must be required by a {@link android.service.voice.HotwordDetectionService},
5394         to ensure that only the system can bind to it.
5395         <p>Protection level: signature
5396         @hide This is not a third-party API (intended for OEMs and system apps).
5397    -->
5398    <permission android:name="android.permission.BIND_HOTWORD_DETECTION_SERVICE"
5399        android:protectionLevel="signature" />
5400
5401    <!-- @SystemApi Allows an application to manage hotword detection and visual query detection
5402         on the device.
5403         <p>Protection level: internal|preinstalled
5404         @hide This is not a third-party API (intended for OEMs and system apps).
5405    -->
5406    <permission android:name="android.permission.MANAGE_HOTWORD_DETECTION"
5407                android:protectionLevel="internal|preinstalled" />
5408
5409    <!-- @SystemApi Must be required by a {@link android.service.voice.VisualQueryDetectionService},
5410         to ensure that only the system can bind to it.
5411         <p>Protection level: signature
5412         @hide This is not a third-party API (intended for OEMs and system apps).
5413    -->
5414    <permission android:name="android.permission.BIND_VISUAL_QUERY_DETECTION_SERVICE"
5415        android:protectionLevel="signature" />
5416
5417    <!-- Allows an application to subscribe to keyguard locked (i.e., showing) state.
5418         <p>Protection level: signature|role
5419         <p>Intended for use by ROLE_ASSISTANT and signature apps only.
5420    -->
5421    <permission android:name="android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE"
5422                android:protectionLevel="signature|module|role"/>
5423
5424    <!-- Must be required by a {@link android.service.autofill.AutofillService},
5425         to ensure that only the system can bind to it.
5426         <p>Protection level: signature
5427    -->
5428    <permission android:name="android.permission.BIND_AUTOFILL_SERVICE"
5429        android:protectionLevel="signature" />
5430
5431    <!-- Must be required by a
5432         {@link android.service.assist.classification.FieldClassificationService},
5433         to ensure that only the system can bind to it.
5434         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5435         <p>Protection level: signature
5436    -->
5437    <permission android:name="android.permission.BIND_FIELD_CLASSIFICATION_SERVICE"
5438                android:protectionLevel="signature" />
5439
5440    <!-- Must be required by a CredentialProviderService to ensure that only the
5441         system can bind to it.
5442         <p>Protection level: signature
5443    -->
5444    <permission android:name="android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE"
5445                android:protectionLevel="signature" />
5446
5447   <!-- Alternative version of android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE.
5448        This permission was renamed during the O previews but it was supported on the final O
5449        release, so we need to carry it over.
5450        <p>Protection level: signature
5451        @hide
5452    -->
5453    <permission android:name="android.permission.BIND_AUTOFILL"
5454        android:protectionLevel="signature" />
5455
5456    <!-- Must be required by an {@link android.service.autofill.AutofillFieldClassificationService}
5457         to ensure that only the system can bind to it.
5458         @hide This is not a third-party API (intended for OEMs and system apps).
5459    -->
5460    <permission android:name="android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE"
5461                android:protectionLevel="signature" />
5462
5463    <!-- Must be required by an {@link android.service.autofill.InlineSuggestionRenderService}
5464         to ensure that only the system can bind to it.
5465         @hide This is not a third-party API (intended for OEMs and system apps).
5466    -->
5467    <permission android:name="android.permission.BIND_INLINE_SUGGESTION_RENDER_SERVICE"
5468                android:protectionLevel="signature" />
5469
5470    <!-- Must be required by a android.service.textclassifier.TextClassifierService,
5471         to ensure that only the system can bind to it.
5472         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5473         <p>Protection level: signature
5474    -->
5475    <permission android:name="android.permission.BIND_TEXTCLASSIFIER_SERVICE"
5476                android:protectionLevel="signature" />
5477
5478    <!-- Must be required by a
5479         {@link android.service.remotelockscreenvalidation.RemoteLockscreenValidationService}
5480         to ensure that only the system can bind to it.
5481         @SystemApi @hide This is not a third-party API
5482         <p>Protection level: signature
5483    -->
5484    <permission android:name="android.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE"
5485        android:protectionLevel="signature" />
5486
5487    <!-- Must be required by a android.service.selectiontoolbar.SelectionToolbarRenderService,
5488          to ensure that only the system can bind to it.
5489          @hide This is not a third-party API (intended for OEMs and system apps).
5490          <p>Protection level: signature
5491    -->
5492    <permission android:name="android.permission.BIND_SELECTION_TOOLBAR_RENDER_SERVICE"
5493                android:protectionLevel="signature" />
5494
5495    <!-- Must be required by a android.service.contentcapture.ContentCaptureService,
5496         to ensure that only the system can bind to it.
5497         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5498         <p>Protection level: signature
5499    -->
5500    <permission android:name="android.permission.BIND_CONTENT_CAPTURE_SERVICE"
5501                android:protectionLevel="signature" />
5502
5503    <!-- Must be required by a android.service.translation.TranslationService,
5504         to ensure that only the system can bind to it.
5505         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5506         <p>Protection level: signature
5507     -->
5508    <permission android:name="android.permission.BIND_TRANSLATION_SERVICE"
5509                android:protectionLevel="signature" />
5510
5511    <!-- @SystemApi Allows apps to use ui translation functions.
5512         <p>Protection level: signature|privileged
5513         @hide Not for use by third-party applications.
5514    -->
5515    <permission android:name="android.permission.MANAGE_UI_TRANSLATION"
5516                android:protectionLevel="signature|privileged|role" />
5517
5518    <!-- Must be required by a android.service.contentsuggestions.ContentSuggestionsService,
5519         to ensure that only the system can bind to it.
5520         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5521         <p>Protection level: signature
5522    -->
5523    <permission android:name="android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE"
5524                android:protectionLevel="signature" />
5525
5526    <!-- Must be required by a
5527         android.service.wallpapereffectsgeneration.WallpaperEffectsGenerationService,
5528         to ensure that only the system can bind to it.
5529         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5530         <p>Protection level: signature
5531   -->
5532    <permission android:name="android.permission.BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE"
5533        android:protectionLevel="signature" />
5534
5535
5536    <!-- Must be declared by a android.service.musicrecognition.MusicRecognitionService,
5537         to ensure that only the system can bind to it.
5538         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5539         <p>Protection level: signature
5540    -->
5541    <permission android:name="android.permission.BIND_MUSIC_RECOGNITION_SERVICE"
5542        android:protectionLevel="signature" />
5543
5544    <!-- Must be required by a android.service.autofill.augmented.AugmentedAutofillService,
5545         to ensure that only the system can bind to it.
5546         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5547         <p>Protection level: signature
5548    -->
5549    <permission android:name="android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE"
5550                android:protectionLevel="signature" />
5551
5552    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService} implementation
5553         to enroll its own sound models. This is a more restrictive permission than the higher-level
5554         permission KEYPHRASE_ENROLLMENT_APPLICATION. For the caller to enroll sound models with
5555         this permission, it must hold the permission and be the active VoiceInteractionService in
5556         the system.
5557         {@see Settings.Secure.VOICE_INTERACTION_SERVICE}
5558         @hide @SystemApi Intended for OEM and system apps.
5559         <p>Protection level: signature|privileged
5560    -->
5561    <permission android:name="android.permission.MANAGE_VOICE_KEYPHRASES"
5562        android:protectionLevel="signature|privileged" />
5563
5564    <!-- Must be required by a keyphrase enrollment application, to enroll sound models. This is
5565         treated as a higher-level permission to MANAGE_VOICE_KEYPHRASES as a caller can enroll
5566         sound models at any time. This permission should be reserved for system enrollment
5567         applications detected by {@link android.hardware.soundtrigger.KeyphraseEnrollmentInfo}
5568         only.
5569         @hide @SystemApi Intended for OEM and system apps.
5570         <p>Protection level: signature|privileged
5571    -->
5572    <permission android:name="android.permission.KEYPHRASE_ENROLLMENT_APPLICATION"
5573        android:protectionLevel="signature|privileged" />
5574
5575    <!-- Must be required by a {@link com.android.media.remotedisplay.RemoteDisplayProvider},
5576         to ensure that only the system can bind to it.
5577         @hide -->
5578    <permission android:name="android.permission.BIND_REMOTE_DISPLAY"
5579        android:protectionLevel="signature" />
5580
5581    <!-- Must be required by a android.media.tv.ad.TvAdService to ensure that only the system can
5582         bind to it.
5583         <p>Protection level: signature|privileged
5584         @FlaggedApi("android.media.tv.flags.enable_ad_service_fw")
5585    -->
5586    <permission android:name="android.permission.BIND_TV_AD_SERVICE"
5587                android:protectionLevel="signature|privileged" />
5588
5589    <!-- Must be required by a {@link android.media.tv.TvInputService}
5590         to ensure that only the system can bind to it.
5591         <p>Protection level: signature|privileged
5592    -->
5593    <permission android:name="android.permission.BIND_TV_INPUT"
5594        android:protectionLevel="signature|privileged" />
5595
5596    <!-- Must be required by a {@link android.media.tv.interactive.TvInteractiveAppService}
5597         to ensure that only the system can bind to it.
5598         <p>Protection level: signature|privileged
5599    -->
5600    <permission android:name="android.permission.BIND_TV_INTERACTIVE_APP"
5601                android:protectionLevel="signature|privileged" />
5602
5603    <!-- @SystemApi
5604         Must be required by a {@link com.android.media.tv.remoteprovider.TvRemoteProvider}
5605         to ensure that only the system can bind to it.
5606         <p>Protection level: signature|privileged
5607         <p>Not for use by third-party applications. </p>
5608         @hide  -->
5609    <permission android:name="android.permission.BIND_TV_REMOTE_SERVICE"
5610        android:protectionLevel="signature|privileged" />
5611
5612    <!-- @SystemApi
5613         Must be required for a virtual remote controller for TV.
5614         <p>Protection level: signature|privileged
5615         <p>Not for use by third-party applications. </p>
5616         @hide  -->
5617    <permission android:name="android.permission.TV_VIRTUAL_REMOTE_CONTROLLER"
5618        android:protectionLevel="signature|privileged" />
5619
5620    <!-- Allows an application to change HDMI CEC active source.
5621         <p>Not for use by third-party applications.
5622         @hide -->
5623    <permission android:name="android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE"
5624        android:protectionLevel="signature|privileged" />
5625
5626    <!-- @SystemApi Allows an application to modify parental controls
5627         <p>Not for use by third-party applications.
5628         @hide -->
5629    <permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS"
5630        android:protectionLevel="signature|privileged" />
5631
5632    <!-- @SystemApi Allows an application to read TvContentRatingSystemInfo
5633         <p>Not for use by third-party applications.
5634         @hide -->
5635    <permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS"
5636        android:protectionLevel="signature|privileged" />
5637
5638    <!-- Allows an application to notify TV inputs by sending broadcasts.
5639         <p>Protection level: signature|privileged
5640         <p>Not for use by third-party applications.
5641         @hide @SystemApi -->
5642    <permission android:name="android.permission.NOTIFY_TV_INPUTS"
5643         android:protectionLevel="signature|privileged" />
5644
5645    <!-- This permission is required among systems services when accessing
5646         tuner resource management related APIs or information.
5647         <p>Protection level: signature|privileged|vendorPrivileged
5648         <p>This should only be used by the OEM TvInputService.
5649         @hide -->
5650    <permission android:name="android.permission.TUNER_RESOURCE_ACCESS"
5651         android:protectionLevel="signature|privileged|vendorPrivileged" />
5652
5653    <!-- @SystemApi This permission is required by Media Resource Manager Service when
5654         system services create MediaCodecs on behalf of other processes and apps.
5655         <p>Protection level: signature|privileged|vendorPrivileged
5656         <p>Not for use by third-party applications.
5657         @hide -->
5658    <permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID"
5659         android:protectionLevel="signature|privileged|vendorPrivileged" />
5660    <uses-permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID" />
5661
5662    <!-- This permission is required by Media Resource Observer Service when
5663         accessing its registerObserver Api.
5664         <p>Protection level: signature|privileged
5665         <p>Not for use by third-party applications.
5666         @hide -->
5667    <permission android:name="android.permission.REGISTER_MEDIA_RESOURCE_OBSERVER"
5668         android:protectionLevel="signature|privileged" />
5669
5670    <!-- Must be required by a {@link android.media.routing.MediaRouteService}
5671         to ensure that only the system can interact with it.
5672         @hide -->
5673    <permission android:name="android.permission.BIND_ROUTE_PROVIDER"
5674        android:protectionLevel="signature" />
5675
5676    <!-- Must be required by device administration receiver, to ensure that only the
5677         system can interact with it.
5678         <p>Protection level: signature
5679    -->
5680    <permission android:name="android.permission.BIND_DEVICE_ADMIN"
5681        android:protectionLevel="signature|role" />
5682
5683    <!-- @SystemApi Required to add or remove another application as a device admin.
5684         <p>Not for use by third-party applications.
5685         @hide -->
5686    <permission android:name="android.permission.MANAGE_DEVICE_ADMINS"
5687        android:protectionLevel="signature|role" />
5688
5689    <!-- @SystemApi Allows an app to reset the device password.
5690         <p>Not for use by third-party applications.
5691         @hide -->
5692    <permission android:name="android.permission.RESET_PASSWORD"
5693        android:protectionLevel="signature|privileged" />
5694
5695    <!-- @SystemApi Allows an app to lock the device.
5696         <p>Not for use by third-party applications.
5697         @hide -->
5698    <permission android:name="android.permission.LOCK_DEVICE"
5699        android:protectionLevel="signature|privileged" />
5700
5701    <!-- @SystemApi Allows low-level access to setting the orientation (actually
5702         rotation) of the screen.
5703         <p>Not for use by third-party applications.
5704         @hide
5705    -->
5706    <permission android:name="android.permission.SET_ORIENTATION"
5707        android:protectionLevel="signature|recents" />
5708
5709    <!-- @SystemApi Allows low-level access to setting the pointer speed.
5710         <p>Not for use by third-party applications.
5711         @hide
5712    -->
5713    <permission android:name="android.permission.SET_POINTER_SPEED"
5714        android:protectionLevel="signature" />
5715
5716    <!-- Allows low-level access to setting input device calibration.
5717         <p>Not for use by normal applications.
5718         @hide -->
5719    <permission android:name="android.permission.SET_INPUT_CALIBRATION"
5720        android:protectionLevel="signature" />
5721
5722    <!-- Allows low-level access to setting the keyboard layout.
5723         <p>Not for use by third-party applications.
5724         @hide
5725         @TestApi -->
5726    <permission android:name="android.permission.SET_KEYBOARD_LAYOUT"
5727        android:protectionLevel="signature" />
5728
5729    <!-- Allows an app to schedule a prioritized alarm that can be used to perform
5730         background work even when the device is in doze.
5731         <p>Not for use by third-party applications.
5732         @hide
5733         @SystemApi
5734     -->
5735    <permission android:name="android.permission.SCHEDULE_PRIORITIZED_ALARM"
5736                android:protectionLevel="signature|privileged"/>
5737
5738    <!-- Allows applications to use exact alarm APIs.
5739         <p>This is a special access permission that can be revoked by the system or the user.
5740         It should only be used to enable <b>user-facing features</b> that require exact alarms.
5741         For more details, please go through the associated
5742          <a href="{@docRoot}training/scheduling/alarms#exact">developer docs</a>.
5743         <p>Apps need to target API {@link android.os.Build.VERSION_CODES#S} or above to be able to
5744         request this permission. Note that apps targeting lower API levels do not need this
5745         permission to use exact alarm APIs.
5746         <p>Apps that hold this permission and target API
5747         {@link android.os.Build.VERSION_CODES#TIRAMISU} and below always stay in the
5748         {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_WORKING_SET WORKING_SET} or
5749         lower standby bucket.
5750         <p>If your app relies on exact alarms for core functionality, it can instead request
5751         {@link android.Manifest.permission#USE_EXACT_ALARM} once it targets API
5752         {@link android.os.Build.VERSION_CODES#TIRAMISU}. All apps using exact alarms for secondary
5753         features (which should still be user facing) should continue using this permission.
5754         <p>Protection level: signature|privileged|appop
5755     -->
5756    <permission android:name="android.permission.SCHEDULE_EXACT_ALARM"
5757        android:label="@string/permlab_schedule_exact_alarm"
5758        android:description="@string/permdesc_schedule_exact_alarm"
5759        android:protectionLevel="signature|privileged|appop"/>
5760
5761    <!-- Allows apps to use exact alarms just like with {@link
5762         android.Manifest.permission#SCHEDULE_EXACT_ALARM} but without needing to request this
5763         permission from the user.
5764         <p><b> This is only intended for use by apps that rely on exact alarms for their core
5765         functionality.</b> You should continue using {@code SCHEDULE_EXACT_ALARM} if your app needs
5766         exact alarms for a secondary feature that users may or may not use within your app.
5767         <p> Keep in mind that this is a powerful permission and app stores may enforce policies to
5768         audit and review the use of this permission. Such audits may involve removal from the app
5769         store if the app is found to be misusing this permission.
5770         <p> Apps need to target API {@link android.os.Build.VERSION_CODES#TIRAMISU} or above to be
5771         able to request this permission. Note that only one of {@code USE_EXACT_ALARM} or
5772         {@code SCHEDULE_EXACT_ALARM} should be requested on a device. If your app is already using
5773         {@code SCHEDULE_EXACT_ALARM} on older SDKs but needs {@code USE_EXACT_ALARM} on SDK 33 and
5774         above, then {@code SCHEDULE_EXACT_ALARM} should be declared with a max-sdk attribute, like:
5775         <pre>
5776         &lt;uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"
5777         &Tab; android:maxSdkVersion="32" /&gt;
5778         </pre>
5779         <p>Apps that hold this permission, always stay in the
5780         {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_WORKING_SET WORKING_SET} or
5781         lower standby bucket.
5782    -->
5783    <permission android:name="android.permission.USE_EXACT_ALARM"
5784                android:label="@string/permlab_use_exact_alarm"
5785                android:description="@string/permdesc_use_exact_alarm"
5786                android:protectionLevel="normal"/>
5787
5788    <!-- Allows an application to query tablet mode state and monitor changes
5789         in it.
5790         <p>Not for use by third-party applications.
5791         @hide -->
5792    <permission android:name="android.permission.TABLET_MODE"
5793        android:protectionLevel="signature" />
5794
5795    <!-- Allows an application to request installing packages. Apps
5796         targeting APIs greater than 25 must hold this permission in
5797         order to use {@link android.content.Intent#ACTION_INSTALL_PACKAGE}.
5798         <p>Protection level: signature
5799    -->
5800    <permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"
5801        android:label="@string/permlab_requestInstallPackages"
5802        android:description="@string/permdesc_requestInstallPackages"
5803        android:protectionLevel="signature|appop" />
5804
5805    <!-- Allows an application to request deleting packages. Apps
5806         targeting APIs {@link android.os.Build.VERSION_CODES#P} or greater must hold this
5807         permission in order to use {@link android.content.Intent#ACTION_UNINSTALL_PACKAGE} or
5808         {@link android.content.pm.PackageInstaller#uninstall}.
5809         <p>Protection level: normal
5810    -->
5811    <permission android:name="android.permission.REQUEST_DELETE_PACKAGES"
5812        android:label="@string/permlab_requestDeletePackages"
5813        android:description="@string/permdesc_requestDeletePackages"
5814        android:protectionLevel="normal" />
5815
5816    <!-- Allows an application to install packages.
5817    <p>Not for use by third-party applications. -->
5818    <permission android:name="android.permission.INSTALL_PACKAGES"
5819      android:protectionLevel="signature|privileged" />
5820
5821    <!-- @SystemApi Allows an application to install self updates. This is a limited version
5822         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
5823        <p>Not for use by third-party applications.
5824        @hide
5825    -->
5826    <permission android:name="android.permission.INSTALL_SELF_UPDATES"
5827        android:protectionLevel="signature|privileged" />
5828
5829    <!-- @SystemApi Allows an application to install updates. This is a limited version
5830         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
5831        <p>Not for use by third-party applications.
5832        @hide
5833    -->
5834    <permission android:name="android.permission.INSTALL_PACKAGE_UPDATES"
5835        android:protectionLevel="signature|privileged" />
5836
5837    <!-- @SystemApi Allows an application to install existing system packages. This is a limited
5838         version of {@link android.Manifest.permission#INSTALL_PACKAGES}.
5839         <p>Not for use by third-party applications.
5840         TODO(b/80204953): remove this permission once we have a long-term solution.
5841         @hide
5842    -->
5843    <permission android:name="com.android.permission.INSTALL_EXISTING_PACKAGES"
5844        android:protectionLevel="signature|privileged|role" />
5845
5846    <!-- Allows an application to use the package installer v2 APIs.
5847         <p>The package installer v2 APIs are still a work in progress and we're
5848         currently validating they work in all scenarios.
5849         <p>Not for use by third-party applications.
5850         @hide
5851    -->
5852    <permission android:name="com.android.permission.USE_INSTALLER_V2"
5853        android:protectionLevel="signature|privileged" />
5854
5855    <!-- @TestApi Allows a testOnly application to get installed.
5856        <p>Not for use by third-party applications.
5857        @hide
5858    -->
5859    <permission android:name="android.permission.INSTALL_TEST_ONLY_PACKAGE"
5860                android:protectionLevel="signature" />
5861
5862    <!-- @SystemApi Allows an application to install DPCs only, an application is
5863         considered a DPC if it has a {@link android.app.admin.DeviceAdminReceiver}
5864         protected by {@link android.Manifest.permission#BIND_DEVICE_ADMIN).
5865         This is a limited version of
5866         {@link android.Manifest.permission#INSTALL_PACKAGES}.
5867         @hide
5868    -->
5869    <permission android:name="android.permission.INSTALL_DPC_PACKAGES"
5870                android:protectionLevel="signature|role" />
5871
5872    <!-- @SystemApi Allows an application to read resolved paths to the APKs (Base and any splits)
5873         of a session based install.
5874         <p>Not for use by third-party applications.
5875         @hide
5876         @FlaggedApi("android.content.pm.get_resolved_apk_path")
5877    -->
5878    <permission android:name="android.permission.READ_INSTALLED_SESSION_PATHS"
5879                android:protectionLevel="signature|installer" />
5880    <uses-permission android:name="android.permission.READ_INSTALLED_SESSION_PATHS" />
5881
5882    <!-- Allows an application to use System Data Loaders.
5883         <p>Not for use by third-party applications.
5884         @hide
5885    -->
5886    <permission android:name="com.android.permission.USE_SYSTEM_DATA_LOADERS"
5887                android:protectionLevel="signature" />
5888
5889    <!-- @SystemApi @TestApi Allows an application to clear user data.
5890         <p>Not for use by third-party applications
5891         @hide
5892    -->
5893    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
5894        android:protectionLevel="signature|installer" />
5895
5896    <!-- @hide Allows an application to get the URI permissions
5897         granted to another application.
5898         <p>Not for use by third-party applications
5899    -->
5900    <permission android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS"
5901        android:protectionLevel="signature" />
5902
5903    <!-- @hide Allows an application to clear the URI permissions
5904         granted to another application.
5905         <p>Not for use by third-party applications
5906    -->
5907    <permission
5908        android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS"
5909        android:protectionLevel="signature" />
5910
5911    <!-- @hide
5912         Allows an application to change the status of Scoped Access Directory requests granted or
5913         rejected by the user.
5914         <p>This permission should <em>only</em> be requested by the platform
5915         settings app.  This permission cannot be granted to third-party apps.
5916         <p>Protection level: signature
5917    -->
5918    <permission
5919         android:name="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS"
5920         android:protectionLevel="signature" />
5921
5922    <!-- @hide
5923         Allows an application to change the status of a persistable URI permission granted
5924         to another application.
5925         <p>This permission should <em>only</em> be requested by the platform
5926         settings app.  This permission cannot be granted to third-party apps.
5927         <p>Protection level: signature
5928    -->
5929    <permission android:name="android.permission.FORCE_PERSISTABLE_URI_PERMISSIONS"
5930        android:protectionLevel="signature" />
5931
5932    <!-- Old permission for deleting an app's cache files, no longer used,
5933         but signals for us to quietly ignore calls instead of throwing an exception.
5934         <p>Protection level: signature|privileged -->
5935    <permission android:name="android.permission.DELETE_CACHE_FILES"
5936        android:protectionLevel="signature|privileged" />
5937
5938    <!-- Allows an application to delete cache files.
5939         @hide -->
5940    <permission android:name="android.permission.INTERNAL_DELETE_CACHE_FILES"
5941        android:protectionLevel="signature" />
5942
5943    <!-- Allows an application to delete packages.
5944         <p>Not for use by third-party applications.
5945         <p>Starting in {@link android.os.Build.VERSION_CODES#N}, user confirmation is requested
5946         when the application deleting the package is not the same application that installed the
5947         package. -->
5948    <permission android:name="android.permission.DELETE_PACKAGES"
5949        android:protectionLevel="signature|privileged|role" />
5950
5951    <!-- @SystemApi Allows an application to move location of installed package.
5952         @hide -->
5953    <permission android:name="android.permission.MOVE_PACKAGE"
5954        android:protectionLevel="signature|privileged" />
5955
5956    <!-- @TestApi Allows an application to keep uninstalled packages as apks.
5957         @hide -->
5958    <permission android:name="android.permission.KEEP_UNINSTALLED_PACKAGES"
5959        android:protectionLevel="signature" />
5960
5961    <!-- Allows an application to change whether an application component (other than its own) is
5962         enabled or not.
5963         <p>Not for use by third-party applications. -->
5964    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
5965        android:protectionLevel="signature|privileged|role" />
5966
5967    <!-- @SystemApi @TestApi iAllows an application to grant specific permissions.
5968         @hide -->
5969    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS"
5970        android:protectionLevel="signature|installer|verifier" />
5971
5972    <!-- @SystemApi Allows an application to launch the settings page which manages various
5973         permissions.
5974         @hide -->
5975    <permission android:name="android.permission.LAUNCH_PERMISSION_SETTINGS"
5976                android:protectionLevel="signature|privileged" />
5977
5978    <!-- @SystemApi Allows an app that has this permission and the permissions to install packages
5979         to request certain runtime permissions to be granted at installation.
5980         @hide -->
5981    <permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS"
5982        android:protectionLevel="signature|installer|verifier" />
5983
5984    <!-- @SystemApi Allows an application to revoke specific permissions.
5985        @hide -->
5986    <permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS"
5987         android:protectionLevel="signature|installer|verifier" />
5988
5989   <!-- @TestApi Allows an application to revoke the POST_NOTIFICATIONS permission from an app
5990        without killing the app. Only granted to the shell.
5991        @hide -->
5992    <permission android:name="android.permission.REVOKE_POST_NOTIFICATIONS_WITHOUT_KILL"
5993        android:protectionLevel="signature" />
5994
5995    <!-- @SystemApi Allows the system to read runtime permission state.
5996        @hide -->
5997    <permission android:name="android.permission.GET_RUNTIME_PERMISSIONS"
5998                android:protectionLevel="signature" />
5999
6000    <!-- @SystemApi Allows the system to restore runtime permission state. This might grant
6001    permissions, hence this is a more scoped, less powerful variant of GRANT_RUNTIME_PERMISSIONS.
6002    Among other restrictions this cannot override user choices.
6003    @hide -->
6004    <permission android:name="android.permission.RESTORE_RUNTIME_PERMISSIONS"
6005                android:protectionLevel="signature" />
6006
6007    <!-- @SystemApi @TestApi Allows an application to change policy_fixed permissions.
6008    @hide -->
6009    <permission android:name="android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY"
6010                android:protectionLevel="signature|installer" />
6011
6012    <!-- @SystemApi @TestApi Allows an application to upgrade runtime permissions.
6013    @hide -->
6014    <permission android:name="android.permission.UPGRADE_RUNTIME_PERMISSIONS"
6015                android:protectionLevel="signature" />
6016
6017    <!-- @SystemApi Allows an application to allowlist restricted permissions
6018         on any of the allowlists.
6019    @hide -->
6020    <permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS"
6021                android:protectionLevel="signature|installer" />
6022
6023    <!-- @SystemApi Allows an application to an exempt an app from having its permission be
6024        auto-revoked when unused for an extended period of time.
6025        @hide -->
6026    <permission android:name="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS"
6027        android:protectionLevel="signature|installer" />
6028
6029    <!-- @hide Allows an application to observe permission changes. -->
6030    <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"
6031        android:protectionLevel="signature|privileged" />
6032
6033    <!-- @SystemApi Allows an application to start and stop one time permission sessions
6034    @hide -->
6035    <permission android:name="android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS"
6036                android:protectionLevel="signature|installer" />
6037
6038    <!-- @SystemApi Allows an application to manage the holders of a role.
6039         @hide -->
6040    <permission android:name="android.permission.MANAGE_ROLE_HOLDERS"
6041                android:protectionLevel="signature|installer|module" />
6042    <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />
6043
6044    <!-- @SystemApi Allows an application to manage the holders of roles associated with default
6045         applications.
6046         @hide -->
6047    <permission android:name="android.permission.MANAGE_DEFAULT_APPLICATIONS"
6048                android:protectionLevel="signature|role" />
6049
6050    <!-- @SystemApi Allows an application to bypass role qualification. This allows switching role
6051         holders to otherwise non eligible holders. Only the shell is allowed to do this, the
6052         qualification for the shell role itself cannot be bypassed, and each role needs to
6053         explicitly allow bypassing qualification in its definition. The bypass state will not be
6054         persisted across reboot.
6055     @hide -->
6056    <permission android:name="android.permission.BYPASS_ROLE_QUALIFICATION"
6057                android:protectionLevel="internal|role" />
6058
6059    <!-- @SystemApi Allows an application to observe role holder changes.
6060         @hide -->
6061    <permission android:name="android.permission.OBSERVE_ROLE_HOLDERS"
6062                android:protectionLevel="signature|installer|module" />
6063
6064    <!-- Allows an application to manage the companion devices.
6065         @hide -->
6066    <permission android:name="android.permission.MANAGE_COMPANION_DEVICES"
6067                android:protectionLevel="module|signature|role" />
6068
6069    <!-- Allows an application to subscribe to notifications about the presence status change
6070         of their associated companion device
6071         -->
6072    <permission android:name="android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE"
6073                android:label="@string/permlab_observeCompanionDevicePresence"
6074                android:description="@string/permdesc_observeCompanionDevicePresence"
6075                android:protectionLevel="normal" />
6076
6077    <!-- Allows an application to subscribe to notifications about the nearby devices' presence
6078         status change base on the UUIDs.
6079         <p>Not for use by third-party applications.</p>
6080         @FlaggedApi("android.companion.device_presence")
6081    -->
6082    <permission android:name="android.permission.REQUEST_OBSERVE_DEVICE_UUID_PRESENCE"
6083                android:protectionLevel="signature|privileged" />
6084
6085    <!-- Allows an application to deliver companion messages to system
6086         -->
6087    <permission android:name="android.permission.DELIVER_COMPANION_MESSAGES"
6088                android:label="@string/permlab_deliverCompanionMessages"
6089                android:description="@string/permdesc_deliverCompanionMessages"
6090                android:protectionLevel="normal" />
6091
6092    <!-- @hide @FlaggedApi("android.companion.flags.companion_transport_apis")
6093         Allows an application to send and receive messages via CDM transports.
6094    -->
6095    <permission android:name="android.permission.USE_COMPANION_TRANSPORTS"
6096        android:protectionLevel="signature" />
6097
6098    <!-- Allows an application to create new companion device associations.
6099         @SystemApi
6100         @hide -->
6101    <permission android:name="android.permission.ASSOCIATE_COMPANION_DEVICES"
6102        android:protectionLevel="internal|role" />
6103
6104    <!-- @SystemApi Allows an application to use SurfaceFlinger's low level features.
6105         <p>Not for use by third-party applications.
6106         @hide
6107    -->
6108    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
6109        android:protectionLevel="signature" />
6110
6111    <!-- @SystemApi Allows an application to rotate a surface by arbitrary degree.
6112         This is a sub-feature of ACCESS_SURFACE_FLINGER and can be granted in a more concrete way.
6113         <p>Not for use by third-party applications.
6114         @hide
6115    -->
6116    <permission android:name="android.permission.ROTATE_SURFACE_FLINGER"
6117        android:protectionLevel="signature|recents" />
6118
6119    <!-- Allows an application to provide hints to SurfaceFlinger that can influence
6120         its wakes up time to compose the next frame. This is a subset of the capabilities granted
6121         by {@link #ACCESS_SURFACE_FLINGER}.
6122         <p>Not for use by third-party applications.
6123         @hide
6124    -->
6125    <permission android:name="android.permission.WAKEUP_SURFACE_FLINGER"
6126        android:protectionLevel="signature|recents" />
6127
6128    <!-- Allows an application to take screen shots and more generally
6129         get access to the frame buffer data.
6130         <p>Not for use by third-party applications.
6131          @hide
6132          @removed -->
6133    <permission android:name="android.permission.READ_FRAME_BUFFER"
6134        android:protectionLevel="signature|recents" />
6135
6136      <!-- Allows an application to change the touch mode state.
6137           Without this permission, an app can only change the touch mode
6138           if it currently has focus.
6139           @hide -->
6140    <permission android:name="android.permission.MODIFY_TOUCH_MODE_STATE"
6141        android:protectionLevel="signature" />
6142
6143    <!-- Allows an application to use InputFlinger's low level features.
6144         @hide -->
6145    <permission android:name="android.permission.ACCESS_INPUT_FLINGER"
6146        android:protectionLevel="signature" />
6147
6148    <!-- Allows an application to disable/enable input devices.
6149         Could be used to prevent unwanted touch events
6150         on a touchscreen, for example during swimming or rain.
6151         @hide -->
6152    <permission android:name="android.permission.DISABLE_INPUT_DEVICE"
6153        android:protectionLevel="signature" />
6154
6155    <!-- Allows an application to configure and connect to Wifi displays -->
6156    <permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY"
6157        android:protectionLevel="signature|knownSigner"
6158        android:knownCerts="@array/wifi_known_signers" />
6159
6160    <!-- Allows an application to control low-level features of Wifi displays
6161         such as opening an RTSP socket.  This permission should only be used
6162         by the display manager.
6163         @hide -->
6164    <permission android:name="android.permission.CONTROL_WIFI_DISPLAY"
6165        android:protectionLevel="signature" />
6166
6167    <!-- Allows an application to control the color modes set for displays system-wide.
6168         <p>Not for use by third-party applications.</p>
6169         @hide -->
6170    <permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE"
6171        android:protectionLevel="signature" />
6172
6173    <!-- Allows an application to control the lights on the device.
6174         @hide
6175         @SystemApi
6176         @TestApi -->
6177    <permission android:name="android.permission.CONTROL_DEVICE_LIGHTS"
6178        android:protectionLevel="signature|privileged" />
6179
6180    <!-- Allows an application to control the color saturation of the display.
6181         @hide
6182         @SystemApi -->
6183    <permission android:name="android.permission.CONTROL_DISPLAY_SATURATION"
6184        android:protectionLevel="signature|privileged" />
6185
6186    <!-- Allows an application to control display color transformations.
6187         <p>Not for use by third-party applications.</p>
6188         @hide
6189         @SystemApi -->
6190    <permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS"
6191        android:protectionLevel="signature|privileged" />
6192
6193    <!-- Allows an application to collect usage information about brightness slider changes.
6194         <p>Not for use by third-party applications.</p>
6195         @hide
6196         @SystemApi
6197         @TestApi -->
6198    <permission android:name="android.permission.BRIGHTNESS_SLIDER_USAGE"
6199        android:protectionLevel="signature|privileged|development" />
6200
6201    <!-- Allows an application to collect ambient light stats.
6202         <p>Not for use by third party applications.</p>
6203         @hide
6204         @SystemApi -->
6205    <permission android:name="android.permission.ACCESS_AMBIENT_LIGHT_STATS"
6206        android:protectionLevel="signature|privileged|development" />
6207
6208    <!-- Allows an application to modify the display brightness configuration
6209         @hide
6210         @SystemApi
6211         @TestApi -->
6212    <permission android:name="android.permission.CONFIGURE_DISPLAY_BRIGHTNESS"
6213        android:protectionLevel="signature|privileged|development" />
6214
6215    <!-- Allows an application to control the system's display brightness
6216         @hide -->
6217    <permission android:name="android.permission.CONTROL_DISPLAY_BRIGHTNESS"
6218        android:protectionLevel="signature" />
6219
6220    <!-- Allows an application to override the display mode requests
6221         so the app requested mode will be selected and user settings and display
6222         policies will be ignored.
6223         @hide
6224         @TestApi -->
6225    <permission android:name="android.permission.OVERRIDE_DISPLAY_MODE_REQUESTS"
6226                android:protectionLevel="signature" />
6227
6228    <!-- Allows an application to modify the refresh rate switching type. This
6229         matches Setting.Secure.MATCH_CONTENT_FRAME_RATE.
6230         @hide
6231         @TestApi -->
6232    <permission android:name="android.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE"
6233                android:protectionLevel="signature" />
6234
6235    <!-- Allows an application to modify the user preferred display mode.
6236         @hide
6237         @TestApi -->
6238    <permission android:name="android.permission.MODIFY_USER_PREFERRED_DISPLAY_MODE"
6239                android:protectionLevel="signature" />
6240
6241    <!-- Allows an application to modify the HDR conversion mode.
6242         @hide
6243         @TestApi -->
6244    <permission android:name="android.permission.MODIFY_HDR_CONVERSION_MODE"
6245                android:protectionLevel="signature" />
6246
6247    <!-- @SystemApi Allows an application to control VPN.
6248         <p>Not for use by third-party applications.</p>
6249         @hide -->
6250    <permission android:name="android.permission.CONTROL_VPN"
6251        android:protectionLevel="signature|privileged" />
6252    <uses-permission android:name="android.permission.CONTROL_VPN" />
6253
6254    <!-- Allows an application to access and modify always-on VPN configuration.
6255         <p>Not for use by third-party or privileged applications.
6256         @hide -->
6257    <permission android:name="android.permission.CONTROL_ALWAYS_ON_VPN"
6258        android:protectionLevel="signature" />
6259
6260    <!-- @SystemApi Allows an application to capture the audio from tuner input devices types,
6261     such as FM_TUNER.
6262
6263     <p>Not for use by third-party applications.</p>
6264     @hide -->
6265    <permission android:name="android.permission.CAPTURE_TUNER_AUDIO_INPUT"
6266                android:protectionLevel="signature|privileged" />
6267
6268    <!-- Allows an application to capture audio output.
6269         Use the {@code CAPTURE_MEDIA_OUTPUT} permission if only the {@code USAGE_UNKNOWN}),
6270         {@code USAGE_MEDIA}) or {@code USAGE_GAME}) usages are intended to be captured.
6271         <p>Not for use by third-party applications.</p> -->
6272    <permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"
6273        android:protectionLevel="signature|privileged|role" />
6274
6275    <!-- @SystemApi Allows an application to capture the audio played by other apps
6276         that have set an allow capture policy of
6277         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}.
6278
6279         Without this permission, only audio with an allow capture policy of
6280         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_ALL} can be used.
6281
6282         There are strong restriction listed at
6283         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
6284         on what an app can do with the captured audio.
6285
6286         See {@code CAPTURE_AUDIO_OUTPUT} for capturing audio use cases other than media playback.
6287
6288         <p>Not for use by third-party applications.</p>
6289         @hide -->
6290    <permission android:name="android.permission.CAPTURE_MEDIA_OUTPUT"
6291        android:protectionLevel="signature|privileged|role" />
6292
6293    <!-- @SystemApi Allows an application to capture the audio played by other apps
6294        with the {@code USAGE_VOICE_COMMUNICATION} usage.
6295
6296        The application may opt out of capturing by setting an allow capture policy of
6297        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_NONE}.
6298
6299        There are strong restriction listed at
6300        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
6301        on what an app can do with the captured audio.
6302
6303        See {@code CAPTURE_AUDIO_OUTPUT} and {@code CAPTURE_MEDIA_OUTPUT} for capturing
6304        audio use cases other than voice communication playback.
6305
6306        <p>Not for use by third-party applications.</p>
6307        @hide -->
6308    <permission android:name="android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT"
6309        android:protectionLevel="signature|privileged|role" />
6310
6311    <!-- @SystemApi Allows an application to capture audio for hotword detection.
6312         <p>Not for use by third-party applications.</p>
6313         @hide -->
6314    <permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD"
6315        android:protectionLevel="signature|privileged|role" />
6316
6317    <!-- @SystemApi Allows an application to access the ultrasound content.
6318         <p>Not for use by third-party applications.</p>
6319         @hide -->
6320    <permission android:name="android.permission.ACCESS_ULTRASOUND"
6321        android:protectionLevel="signature|privileged" />
6322
6323    <!-- Puts an application in the chain of trust for sound trigger
6324         operations. Being in the chain of trust allows an application to
6325         delegate an identity of a separate entity to the sound trigger system
6326         and vouch for the authenticity of this identity.
6327         <p>Not for use by third-party applications.</p>
6328         @hide -->
6329    <permission android:name="android.permission.SOUNDTRIGGER_DELEGATE_IDENTITY"
6330        android:protectionLevel="signature|privileged" />
6331
6332    <!-- @SystemApi Allows an application to modify audio routing and override policy decisions.
6333         <p>Not for use by third-party applications.</p>
6334         @hide -->
6335    <permission android:name="android.permission.MODIFY_AUDIO_ROUTING"
6336        android:protectionLevel="signature|privileged|role" />
6337
6338    <!--@SystemApi Allows an application to modify system audio settings that shouldn't be
6339        controllable by external apps, such as volume settings or volume behaviors for audio
6340        devices, regardless of their connection status.
6341        <p>Not for use by third-party applications.
6342        @hide -->
6343    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED"
6344                android:protectionLevel="signature|privileged" />
6345
6346    <!-- @SystemApi Allows an application to access the uplink and downlink audio of an ongoing
6347        call.
6348         <p>Not for use by third-party applications.</p>
6349         @hide -->
6350    <permission android:name="android.permission.CALL_AUDIO_INTERCEPTION"
6351                android:protectionLevel="signature|privileged|role" />
6352
6353    <!-- @TestApi Allows an application to query audio related state.
6354         @hide -->
6355    <permission android:name="android.permission.QUERY_AUDIO_STATE"
6356                android:protectionLevel="signature|role" />
6357
6358    <!-- Allows an application to modify what effects are applied to all audio
6359         (matching certain criteria) from any application.
6360         <p>Not for use by third-party applications.</p>
6361         @hide -->
6362    <permission android:name="android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS"
6363        android:protectionLevel="signature|privileged" />
6364
6365    <!-- @SystemApi Allows an application to disable system sound effects when the user exits one of
6366         the application's activities.
6367         <p>Not for use by third-party applications.</p>
6368         @hide -->
6369    <permission android:name="android.permission.DISABLE_SYSTEM_SOUND_EFFECTS"
6370        android:protectionLevel="signature|privileged" />
6371
6372    <!-- @SystemApi Allows an application to provide remote displays.
6373         <p>Not for use by third-party applications.</p>
6374         @hide -->
6375    <permission android:name="android.permission.REMOTE_DISPLAY_PROVIDER"
6376        android:protectionLevel="signature|privileged" />
6377
6378    <!-- Allows an application to capture video output.
6379         <p>Not for use by third-party applications.</p>
6380          @hide
6381          @removed -->
6382    <permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"
6383        android:protectionLevel="signature" />
6384
6385    <!-- Allows an application to capture secure video output.
6386         <p>Not for use by third-party applications.</p>
6387          @hide
6388          @removed -->
6389    <permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT"
6390        android:protectionLevel="signature|role" />
6391
6392    <!-- Allows an application to know what content is playing and control its playback.
6393         <p>Not for use by third-party applications due to privacy of media consumption</p>  -->
6394    <permission android:name="android.permission.MEDIA_CONTENT_CONTROL"
6395        android:protectionLevel="signature|privileged" />
6396
6397    <!-- Allows an application to control the routing of media apps.
6398         <p>Only for use by role COMPANION_DEVICE_WATCH</p>
6399         @FlaggedApi("com.android.media.flags.enable_privileged_routing_for_media_routing_control")
6400         -->
6401    <permission android:name="android.permission.MEDIA_ROUTING_CONTROL"
6402                android:protectionLevel="signature|appop" />
6403
6404    <!-- @SystemApi @hide Allows an application to set the volume key long-press listener.
6405         <p>When it's set, the application will receive the volume key long-press event
6406         instead of changing volume.</p>
6407         <p>Not for use by third-party applications</p> -->
6408    <permission android:name="android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER"
6409        android:protectionLevel="signature|privileged|development" />
6410
6411    <!-- @SystemApi @hide Allows an application to set media key event listener.
6412         <p>When it's set, the application will receive the media key event before
6413         any other media sessions. If the event is handled by the listener, other sessions
6414         cannot get the event.</p>
6415         <p>Not for use by third-party applications</p> -->
6416    <permission android:name="android.permission.SET_MEDIA_KEY_LISTENER"
6417        android:protectionLevel="signature|privileged|development" />
6418
6419    <!-- @SystemApi Required to be able to disable the device (very dangerous!).
6420         <p>Not for use by third-party applications.
6421         @hide
6422    -->
6423    <permission android:name="android.permission.BRICK"
6424        android:protectionLevel="signature" />
6425
6426    <!-- Required to be able to reboot the device.
6427    <p>Not for use by third-party applications. -->
6428    <permission android:name="android.permission.REBOOT"
6429        android:protectionLevel="signature|privileged" />
6430
6431   <!-- @SystemApi Allows low-level access to power management.
6432        <p>Not for use by third-party applications.
6433        @hide
6434    -->
6435   <permission android:name="android.permission.DEVICE_POWER"
6436        android:protectionLevel="signature|role" />
6437
6438    <!-- Allows toggling battery saver on the system.
6439         Superseded by DEVICE_POWER permission. @hide @SystemApi
6440    -->
6441    <permission android:name="android.permission.POWER_SAVER"
6442        android:protectionLevel="signature|privileged" />
6443
6444    <!-- Allows providing the system with battery predictions.
6445         Superseded by DEVICE_POWER permission. @hide @SystemApi
6446    -->
6447    <permission android:name="android.permission.BATTERY_PREDICTION"
6448        android:protectionLevel="signature|privileged" />
6449
6450   <!-- Allows access to the PowerManager.userActivity function.
6451   <p>Not for use by third-party applications. @hide @SystemApi -->
6452    <permission android:name="android.permission.USER_ACTIVITY"
6453        android:protectionLevel="signature|privileged" />
6454
6455    <!-- @hide @SystemApi Allows an application to manage Low Power Standby settings.
6456         <p>Not for use by third-party applications. -->
6457    <permission android:name="android.permission.MANAGE_LOW_POWER_STANDBY"
6458                android:protectionLevel="signature|privileged" />
6459
6460    <!-- @hide @SystemApi Allows an application to request ports to remain open during
6461         Low Power Standby.
6462         <p>Not for use by third-party applications. -->
6463    <permission android:name="android.permission.SET_LOW_POWER_STANDBY_PORTS"
6464        android:protectionLevel="signature|privileged" />
6465
6466   <!-- @hide Allows low-level access to tun tap driver -->
6467    <permission android:name="android.permission.NET_TUNNELING"
6468        android:protectionLevel="signature|role" />
6469
6470    <!-- Run as a manufacturer test application, running as the root user.
6471         Only available when the device is running in manufacturer test mode.
6472         <p>Not for use by third-party applications.
6473    -->
6474    <permission android:name="android.permission.FACTORY_TEST"
6475        android:protectionLevel="signature" />
6476
6477    <!-- @hide @TestApi @SystemApi Allows an application to broadcast the intent {@link
6478         android.content.Intent#ACTION_CLOSE_SYSTEM_DIALOGS}.
6479         <p>Not for use by third-party applications.
6480    -->
6481    <permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS"
6482        android:protectionLevel="signature|privileged|recents" />
6483    <uses-permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS" />
6484
6485    <!-- Allows an application to broadcast a notification that an application
6486         package has been removed.
6487         <p>Not for use by third-party applications.
6488    -->
6489    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
6490        android:protectionLevel="signature" />
6491
6492    <!-- Allows an application to broadcast an SMS receipt notification.
6493         <p>Not for use by third-party applications.
6494    -->
6495    <permission android:name="android.permission.BROADCAST_SMS"
6496        android:protectionLevel="signature" />
6497
6498    <!-- Allows an application to broadcast a WAP PUSH receipt notification.
6499         <p>Not for use by third-party applications.
6500    -->
6501    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
6502        android:protectionLevel="signature" />
6503
6504    <!-- @SystemApi Allows an application to broadcast privileged networking requests.
6505         <p>Not for use by third-party applications.
6506         @hide
6507         @deprecated Use {@link android.Manifest.permission#REQUEST_NETWORK_SCORES} instead
6508    -->
6509    <permission android:name="android.permission.BROADCAST_NETWORK_PRIVILEGED"
6510        android:protectionLevel="signature|privileged" />
6511
6512    <!-- Not for use by third-party applications. -->
6513    <permission android:name="android.permission.MASTER_CLEAR"
6514        android:protectionLevel="signature|privileged|role" />
6515
6516    <!-- Allows an application to call any phone number, including emergency
6517         numbers, without going through the Dialer user interface for the user
6518         to confirm the call being placed.
6519         <p>Not for use by third-party applications. -->
6520    <permission android:name="android.permission.CALL_PRIVILEGED"
6521        android:protectionLevel="signature|privileged" />
6522    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
6523
6524    <!-- @SystemApi Allows an application to perform CDMA OTA provisioning @hide -->
6525    <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"
6526        android:protectionLevel="signature|privileged|role" />
6527
6528    <!-- @SystemApi Allows an application to perform SIM Activation @hide -->
6529    <permission android:name="android.permission.PERFORM_SIM_ACTIVATION"
6530        android:protectionLevel="signature|privileged" />
6531
6532    <!-- Allows enabling/disabling location update notifications from
6533         the radio.
6534         <p>Not for use by third-party applications. -->
6535    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
6536        android:protectionLevel="signature|privileged" />
6537
6538    <!-- Allows read/write access to the "properties" table in the checkin
6539         database, to change values that get uploaded.
6540         <p>Not for use by third-party applications. -->
6541    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
6542        android:protectionLevel="signature|privileged" />
6543
6544    <!-- Allows an application to collect component usage
6545         statistics
6546         <p>Declaring the permission implies intention to use the API and the user of the
6547         device can grant permission through the Settings application.
6548         <p>Protection level: signature|privileged|development|appop|retailDemo -->
6549    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
6550        android:protectionLevel="signature|privileged|development|appop|retailDemo" />
6551    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
6552
6553    <!-- @SystemApi @hide
6554         @FlaggedApi("android.app.usage.report_usage_stats_permission")
6555         Allows trusted system components to report events to UsageStatsManager -->
6556    <permission android:name="android.permission.REPORT_USAGE_STATS"
6557                android:protectionLevel="signature|module" />
6558
6559    <!-- Allows an application to query broadcast response stats (see
6560         {@link android.app.usage.BroadcastResponseStats}).
6561         @SystemApi
6562         @hide
6563    -->
6564    <permission android:name="android.permission.ACCESS_BROADCAST_RESPONSE_STATS"
6565        android:protectionLevel="signature|privileged|development" />
6566
6567    <!-- Allows a data loader to read a package's access logs. The access logs contain the
6568         set of pages referenced over time.
6569         <p>Declaring the permission implies intention to use the API and the user of the
6570         device can grant permission through the Settings application.
6571         <p>Protection level: signature|privileged|appop
6572         <p>A data loader has to be the one which provides data to install an app.
6573         <p>A data loader has to have both permission:LOADER_USAGE_STATS AND
6574         appop:LOADER_USAGE_STATS allowed to be able to access the read logs. -->
6575    <permission android:name="android.permission.LOADER_USAGE_STATS"
6576        android:protectionLevel="signature|privileged|appop" />
6577    <uses-permission android:name="android.permission.LOADER_USAGE_STATS" />
6578
6579    <!-- @hide @SystemApi Allows an application to observe usage time of apps. The app can register
6580         for callbacks when apps reach a certain usage time limit, etc. -->
6581    <permission android:name="android.permission.OBSERVE_APP_USAGE"
6582        android:protectionLevel="signature|privileged|role" />
6583
6584    <!-- @hide @TestApi @SystemApi Allows an application to change the app idle state of an app.
6585         <p>Not for use by third-party applications. -->
6586    <permission android:name="android.permission.CHANGE_APP_IDLE_STATE"
6587        android:protectionLevel="signature|privileged" />
6588
6589    <!-- @hide @SystemApi Allows an application to change the estimated launch time of an app.
6590         <p>Not for use by third-party applications. -->
6591    <permission android:name="android.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE"
6592        android:protectionLevel="signature|privileged" />
6593
6594    <!-- @hide @SystemApi Allows an application to temporarily allowlist an inactive app to
6595         access the network and acquire wakelocks.
6596         <p>Not for use by third-party applications. -->
6597    <permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"
6598        android:protectionLevel="signature|privileged" />
6599
6600    <!-- Permission an application must hold in order to use
6601         {@link android.provider.Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS}.
6602         <p>Protection level: normal -->
6603    <permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
6604        android:label="@string/permlab_requestIgnoreBatteryOptimizations"
6605        android:description="@string/permdesc_requestIgnoreBatteryOptimizations"
6606        android:protectionLevel="normal" />
6607
6608    <!-- Allows an application to collect battery statistics
6609         <p>Protection level: signature|privileged|development -->
6610    <permission android:name="android.permission.BATTERY_STATS"
6611        android:protectionLevel="signature|privileged|development" />
6612
6613    <!--Allows an application to manage statscompanion.
6614    <p>Not for use by third-party applications.
6615         @hide -->
6616    <permission android:name="android.permission.STATSCOMPANION"
6617        android:protectionLevel="signature" />
6618
6619    <!--@SystemApi @hide Allows an application to register stats pull atom callbacks.
6620    <p>Not for use by third-party applications.-->
6621    <permission android:name="android.permission.REGISTER_STATS_PULL_ATOM"
6622                android:protectionLevel="signature|privileged" />
6623
6624    <!-- @SystemApi @hide Allows an application to read restricted stats from statsd.
6625         <p>Not for use by third-party applications. -->
6626    <permission android:name="android.permission.READ_RESTRICTED_STATS"
6627                android:protectionLevel="internal|privileged" />
6628
6629    <!-- @SystemApi Allows an application to control the backup and restore process.
6630    <p>Not for use by third-party applications.
6631         @hide pending API council -->
6632    <permission android:name="android.permission.BACKUP"
6633        android:protectionLevel="signature|privileged" />
6634
6635    <!-- @SystemApi Allows an application to make modifications to device settings such that these
6636         modifications will be overridden by settings restore..
6637    <p>Not for use by third-party applications.
6638         @hide -->
6639    <permission android:name="android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE"
6640                android:protectionLevel="signature|setup" />
6641
6642    <!-- @SystemApi Allows application to manage
6643         {@link android.security.keystore.recovery.RecoveryController}.
6644         <p>Not for use by third-party applications.
6645         @hide -->
6646    <permission android:name="android.permission.RECOVER_KEYSTORE"
6647        android:protectionLevel="signature|privileged" />
6648
6649    <!-- Allows a package to launch the secure full-backup confirmation UI.
6650         ONLY the system process may hold this permission.
6651         @hide -->
6652    <permission android:name="android.permission.CONFIRM_FULL_BACKUP"
6653        android:protectionLevel="signature" />
6654
6655    <!-- Must be required by a {@link android.widget.RemoteViewsService},
6656         to ensure that only the system can bind to it.
6657         <p>Protection level: signature|privileged -->
6658    <permission android:name="android.permission.BIND_REMOTEVIEWS"
6659        android:protectionLevel="signature|privileged" />
6660
6661    <!-- Allows an application to tell the AppWidget service which application
6662         can access AppWidget's data.  The normal user flow is that a user
6663         picks an AppWidget to go into a particular host, thereby giving that
6664         host application access to the private data from the AppWidget app.
6665         An application that has this permission should honor that contract.
6666         <p>Not for use by third-party applications. -->
6667    <permission android:name="android.permission.BIND_APPWIDGET"
6668        android:protectionLevel="signature|privileged" />
6669
6670    <!-- @hide Allows sysui to manage user grants of slice permissions. -->
6671    <permission android:name="android.permission.MANAGE_SLICE_PERMISSIONS"
6672        android:protectionLevel="signature" />
6673
6674    <!-- @SystemApi Private permission, to restrict who can bring up a dialog to add a new
6675         keyguard widget
6676         @hide -->
6677    <permission android:name="android.permission.BIND_KEYGUARD_APPWIDGET"
6678        android:protectionLevel="signature|privileged" />
6679
6680    <!-- @SystemApi Internal permission allowing an application to query/set which
6681         applications can bind AppWidgets.
6682         @hide -->
6683    <permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"
6684        android:protectionLevel="signature|privileged" />
6685
6686    <!-- Allows applications to change the background data setting.
6687    <p>Not for use by third-party applications.
6688         @hide pending API council -->
6689    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
6690        android:protectionLevel="signature" />
6691
6692    <!-- This permission can be used on content providers to allow the global
6693         search system to access their data.  Typically it used when the
6694         provider has some permissions protecting it (which global search
6695         would not be expected to hold), and added as a read-only permission
6696         to the path in the provider where global search queries are
6697         performed.  This permission can not be held by regular applications;
6698         it is used by applications to protect themselves from everyone else
6699         besides global search.
6700         <p>Protection level: signature|privileged -->
6701    <permission android:name="android.permission.GLOBAL_SEARCH"
6702        android:protectionLevel="signature|privileged" />
6703
6704    <!-- Internal permission protecting access to the global search
6705         system: ensures that only the system can access the provider
6706         to perform queries (since this otherwise provides unrestricted
6707         access to a variety of content providers), and to write the
6708         search statistics (to keep applications from gaming the source
6709         ranking).
6710         @hide -->
6711    <permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"
6712        android:protectionLevel="signature" />
6713
6714    <!-- @SystemApi Internal permission to allows an application to read indexable data.
6715        @hide -->
6716    <permission android:name="android.permission.READ_SEARCH_INDEXABLES"
6717        android:protectionLevel="signature|privileged" />
6718
6719    <!-- @SystemApi Internal permission to allows an application to bind to suggestion service.
6720        @hide -->
6721    <permission android:name="android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE"
6722                android:protectionLevel="signature" />
6723
6724    <!-- @hide Internal permission to allows an application to access card content provider. -->
6725    <permission android:name="android.permission.WRITE_SETTINGS_HOMEPAGE_DATA"
6726                android:protectionLevel="signature|privileged" />
6727
6728    <!-- An application needs this permission for
6729         {@link android.provider.Settings#ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY} to show its
6730         {@link android.app.Activity} embedded in Settings app. -->
6731    <permission android:name="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK"
6732                android:protectionLevel="signature|preinstalled" />
6733
6734    <!-- @SystemApi {@link android.app.Activity} should require this permission to ensure that only
6735         the settings app can embed it in a multi pane window.
6736         @hide -->
6737    <permission android:name="android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS"
6738                android:protectionLevel="signature" />
6739
6740    <!-- @SystemApi Allows applications to set a live wallpaper.
6741         @hide XXX Change to signature once the picker is moved to its
6742         own apk as Ghod Intended. -->
6743    <permission android:name="android.permission.SET_WALLPAPER_COMPONENT"
6744        android:protectionLevel="signature|privileged" />
6745
6746    <!-- @SystemApi Allows applications to set the wallpaper dim amount.
6747         @hide. -->
6748    <permission android:name="android.permission.SET_WALLPAPER_DIM_AMOUNT"
6749        android:protectionLevel="signature|privileged" />
6750
6751    <!-- @SystemApi Allows applications to read dream settings and dream state.
6752         @hide -->
6753    <permission android:name="android.permission.READ_DREAM_STATE"
6754        android:protectionLevel="signature|privileged" />
6755
6756    <!-- @SystemApi Allows applications to write dream settings, and start or stop dreaming.
6757         @hide -->
6758    <permission android:name="android.permission.WRITE_DREAM_STATE"
6759        android:protectionLevel="signature|privileged" />
6760
6761    <!-- @hide Allows applications to read whether ambient display is suppressed. -->
6762    <permission android:name="android.permission.READ_DREAM_SUPPRESSION"
6763        android:protectionLevel="signature" />
6764
6765    <!-- @SystemApi Allow an application to read and write the cache partition.
6766         @hide -->
6767    <permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
6768        android:protectionLevel="signature|privileged" />
6769
6770    <!-- Must be required by default container service so that only
6771         the system can bind to it and use it to copy
6772         protected data to secure containers or files
6773         accessible to the system.
6774         @hide -->
6775    <permission android:name="android.permission.COPY_PROTECTED_DATA"
6776        android:protectionLevel="signature" />
6777
6778    <!-- @SystemApi Internal permission protecting access to the encryption methods
6779        @hide
6780    -->
6781    <permission android:name="android.permission.CRYPT_KEEPER"
6782        android:protectionLevel="signature|privileged|role" />
6783
6784    <!-- @SystemApi Allows an application to read historical network usage for
6785         specific networks and applications. @hide -->
6786    <permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"
6787        android:protectionLevel="signature|privileged" />
6788
6789    <!-- Allows an application to manage network policies (such as warning and disable
6790         limits) and to define application-specific rules. @hide -->
6791    <permission android:name="android.permission.MANAGE_NETWORK_POLICY"
6792        android:protectionLevel="signature" />
6793
6794    <!-- @SystemApi @hide @deprecated use UPDATE_DEVICE_STATS instead -->
6795    <permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"
6796        android:protectionLevel="signature|privileged" />
6797
6798    <!-- @SystemApi @hide Allows an application to manage carrier subscription plans. -->
6799    <permission android:name="android.permission.MANAGE_SUBSCRIPTION_PLANS"
6800        android:protectionLevel="signature|privileged" />
6801
6802    <!-- C2DM permission.
6803         @hide Used internally.
6804     -->
6805    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
6806          android:protectionLevel="signature" />
6807    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
6808
6809    <!-- @SystemApi @hide Package verifier needs to have this permission before the PackageManager will
6810         trust it to verify packages.
6811    -->
6812    <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
6813        android:protectionLevel="signature|privileged" />
6814
6815    <!-- Must be required by package verifier receiver, to ensure that only the
6816         system can interact with it.
6817         @hide
6818    -->
6819    <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
6820        android:protectionLevel="signature" />
6821
6822    <!-- @hide Rollback manager needs to have this permission before the PackageManager will
6823         trust it to enable rollback.
6824    -->
6825    <permission android:name="android.permission.PACKAGE_ROLLBACK_AGENT"
6826        android:protectionLevel="signature" />
6827
6828    <!-- @SystemApi @TestApi @hide Allows managing apk level rollbacks. -->
6829    <permission android:name="android.permission.MANAGE_ROLLBACKS"
6830        android:protectionLevel="signature|privileged" />
6831
6832    <!-- @TestApi @hide Allows testing apk level rollbacks. -->
6833    <permission android:name="android.permission.TEST_MANAGE_ROLLBACKS"
6834        android:protectionLevel="signature" />
6835
6836    <!-- @SystemApi @hide Allows an application to mark other applications as harmful -->
6837    <permission android:name="android.permission.SET_HARMFUL_APP_WARNINGS"
6838        android:protectionLevel="signature|verifier" />
6839
6840    <!-- @SystemApi @hide Intent filter verifier needs to have this permission before the
6841         PackageManager will trust it to verify intent filters.
6842    -->
6843    <permission android:name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"
6844        android:protectionLevel="signature|privileged" />
6845
6846    <!-- Must be required by intent filter verifier rintent-filtereceiver, to ensure that only the
6847         system can interact with it.
6848         @hide
6849    -->
6850    <permission android:name="android.permission.BIND_INTENT_FILTER_VERIFIER"
6851        android:protectionLevel="signature" />
6852
6853    <!-- @SystemApi @hide Domain verification agent package needs to have this permission before the
6854         system will trust it to verify domains.
6855
6856         TODO(159952358): STOPSHIP: This must be updated to the new "internal" protectionLevel
6857    -->
6858    <permission android:name="android.permission.DOMAIN_VERIFICATION_AGENT"
6859        android:protectionLevel="internal|privileged" />
6860
6861    <!-- @SystemApi @hide Must be required by the domain verification agent's intent
6862         BroadcastReceiver, to ensure that only the system can interact with it.
6863    -->
6864    <permission android:name="android.permission.BIND_DOMAIN_VERIFICATION_AGENT"
6865        android:protectionLevel="signature" />
6866
6867    <!-- @SystemApi @hide Allows an app like Settings to update the user's grants to what domains
6868         an app is allowed to automatically open.
6869    -->
6870    <permission android:name="android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION"
6871        android:protectionLevel="signature" />
6872
6873    <!-- @SystemApi Allows applications to access serial ports via the SerialManager.
6874         @hide -->
6875    <permission android:name="android.permission.SERIAL_PORT"
6876        android:protectionLevel="signature|privileged" />
6877
6878    <!-- Allows the holder to access content providers from outside an ApplicationThread.
6879         This permission is enforced by the ActivityManagerService on the corresponding APIs,
6880         in particular ActivityManagerService#getContentProviderExternal(String) and
6881         ActivityManagerService#removeContentProviderExternal(String).
6882         @hide
6883    -->
6884    <permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
6885        android:protectionLevel="signature" />
6886
6887    <!-- @SystemApi Allows an application to hold an UpdateLock, recommending that a headless
6888         OTA reboot *not* occur while the lock is held.
6889         @hide -->
6890    <permission android:name="android.permission.UPDATE_LOCK"
6891        android:protectionLevel="signature|privileged" />
6892
6893    <!-- @SystemApi Allows an application the opportunity to become a
6894         {@link android.service.notification.NotificationAssistantService}.
6895         User permission is still required before access is granted.
6896         @hide -->
6897    <permission android:name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE"
6898                android:protectionLevel="signature|privileged|role" />
6899
6900    <!-- @SystemApi @TestApi Allows an application to read the current set of notifications, including
6901         any metadata and intents attached.
6902         @hide -->
6903    <permission android:name="android.permission.ACCESS_NOTIFICATIONS"
6904        android:protectionLevel="signature|privileged|appop" />
6905
6906    <!-- Marker permission for applications that wish to access notification policy. This permission
6907        is not supported on managed profiles.
6908         <p>Protection level: normal
6909    -->
6910    <permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"
6911        android:description="@string/permdesc_access_notification_policy"
6912        android:label="@string/permlab_access_notification_policy"
6913        android:protectionLevel="normal" />
6914
6915    <!-- Allows modification of do not disturb rules and policies. Only allowed for system
6916        processes.
6917        @hide -->
6918    <permission android:name="android.permission.MANAGE_NOTIFICATIONS"
6919                android:protectionLevel="signature" />
6920
6921    <!-- @SystemApi @TestApi Allows adding/removing enabled notification listener components.
6922        @hide -->
6923    <permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS"
6924                android:protectionLevel="signature|installer" />
6925    <uses-permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS" />
6926
6927    <!-- @SystemApi Allows notifications to be colorized
6928         <p>Not for use by third-party applications. @hide -->
6929    <permission android:name="android.permission.USE_COLORIZED_NOTIFICATIONS"
6930                android:protectionLevel="signature|setup|role" />
6931
6932    <!-- Allows access to keyguard secure storage.  Only allowed for system processes.
6933        @hide -->
6934    <permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
6935        android:protectionLevel="signature|setup" />
6936
6937    <!-- Allows applications to set the initial lockscreen state.
6938         <p>Not for use by third-party applications. @hide -->
6939    <permission android:name="android.permission.SET_INITIAL_LOCK"
6940        android:protectionLevel="signature|setup"/>
6941
6942    <!-- @TestApi Allows applications to set and verify lockscreen credentials.
6943        @hide -->
6944    <permission android:name="android.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS"
6945                android:protectionLevel="signature"/>
6946
6947    <!-- @SystemApi Allows application to verify lockscreen credentials provided by a remote device.
6948         @hide -->
6949    <permission android:name="android.permission.CHECK_REMOTE_LOCKSCREEN"
6950        android:protectionLevel="signature|privileged" />
6951
6952    <!-- Allows managing (adding, removing) fingerprint templates. Reserved for the system. @hide -->
6953    <permission android:name="android.permission.MANAGE_FINGERPRINT"
6954        android:protectionLevel="signature|privileged" />
6955
6956    <!-- Allows managing (adding, removing) face templates. Reserved for the system. @hide -->
6957    <permission android:name="android.permission.MANAGE_FACE"
6958        android:protectionLevel="signature|privileged" />
6959
6960    <!-- Allows an app to reset fingerprint attempt counter. Reserved for the system. @hide -->
6961    <permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT"
6962        android:protectionLevel="signature" />
6963
6964    <!-- Allows access to TestApis for various components in the biometric stack, including
6965         FingerprintService, FaceService, BiometricService. Used by com.android.server.biometrics
6966         CTS tests. @hide @TestApi -->
6967    <permission android:name="android.permission.TEST_BIOMETRIC"
6968        android:protectionLevel="signature" />
6969
6970    <!-- Allows direct access to the <Biometric>Service interfaces. Reserved for the system. @hide -->
6971    <permission android:name="android.permission.MANAGE_BIOMETRIC"
6972        android:protectionLevel="signature" />
6973
6974    <!-- Allows direct access to the <Biometric>Service authentication methods. Reserved for the system. @hide -->
6975    <permission android:name="android.permission.USE_BIOMETRIC_INTERNAL"
6976        android:protectionLevel="signature" />
6977
6978    <!-- Allows the system to control the BiometricDialog (SystemUI). Reserved for the system. @hide -->
6979    <permission android:name="android.permission.MANAGE_BIOMETRIC_DIALOG"
6980                android:protectionLevel="signature" />
6981
6982    <!-- Allows an application to set the advanced features on BiometricDialog (SystemUI), including
6983         logo, logo description, and content view with more options button.
6984         <p>Not for use by third-party applications.
6985         @FlaggedApi("android.hardware.biometrics.custom_biometric_prompt")
6986    -->
6987    <permission android:name="android.permission.SET_BIOMETRIC_DIALOG_ADVANCED"
6988                android:protectionLevel="signature|privileged" />
6989
6990    <!-- Allows an application to control keyguard.  Only allowed for system processes.
6991        @hide -->
6992    <permission android:name="android.permission.CONTROL_KEYGUARD"
6993        android:protectionLevel="signature" />
6994
6995    <!-- @SystemApi Allows an application to control keyguard features like secure notifications.
6996         @hide -->
6997    <permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS"
6998        android:protectionLevel="signature|privileged" />
6999
7000    <!-- @SystemApi Allows an application to manage weak escrow token on the device. This permission
7001         is not available to third party applications.
7002         @hide -->
7003    <permission android:name="android.permission.MANAGE_WEAK_ESCROW_TOKEN"
7004        android:protectionLevel="signature|privileged" />
7005
7006    <!-- Allows an application to listen to trust changes.  Only allowed for system processes.
7007        @hide -->
7008    <permission android:name="android.permission.TRUST_LISTENER"
7009        android:protectionLevel="signature" />
7010
7011    <!-- @SystemApi Allows an application to provide a trust agent.
7012         @hide For security reasons, this is a platform-only permission. -->
7013    <permission android:name="android.permission.PROVIDE_TRUST_AGENT"
7014        android:protectionLevel="signature|privileged" />
7015
7016    <!-- @SystemApi Allows an application to show a message
7017         on the keyguard when asking to dismiss it.
7018         @hide For security reasons, this is a platform-only permission. -->
7019    <permission android:name="android.permission.SHOW_KEYGUARD_MESSAGE"
7020        android:protectionLevel="signature|privileged" />
7021
7022    <!-- Allows an application to launch the trust agent settings activity.
7023        @hide -->
7024    <permission android:name="android.permission.LAUNCH_TRUST_AGENT_SETTINGS"
7025        android:protectionLevel="signature|privileged" />
7026
7027    <!-- @SystemApi Must be required by an {@link
7028        android.service.trust.TrustAgentService},
7029        to ensure that only the system can bind to it.
7030        @hide -->
7031    <permission android:name="android.permission.BIND_TRUST_AGENT"
7032        android:protectionLevel="signature" />
7033
7034    <!-- Must be required by an {@link
7035         android.service.notification.NotificationListenerService},
7036         to ensure that only the system can bind to it.
7037         <p>Protection level: signature
7038    -->
7039    <permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
7040        android:protectionLevel="signature" />
7041
7042    <!-- @SystemApi Must be required by an {@link
7043         android.service.notification.NotificationAssistantService} to ensure that only the system
7044         can bind to it.
7045         <p>Protection level: signature
7046         @hide
7047    -->
7048    <permission android:name="android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE"
7049        android:protectionLevel="signature" />
7050
7051    <!-- Must be required by a {@link
7052         android.service.chooser.ChooserTargetService}, to ensure that
7053         only the system can bind to it.
7054         <p>Protection level: signature
7055
7056         @deprecated For publishing direct share targets, please follow the instructions in
7057         https://developer.android.com/training/sharing/receive.html#providing-direct-share-targets
7058         instead.
7059    -->
7060    <permission android:name="android.permission.BIND_CHOOSER_TARGET_SERVICE"
7061        android:protectionLevel="signature" />
7062
7063    <!-- @SystemApi Must be held by services that extend
7064         {@link android.service.resolver.ResolverRankerService}.
7065         <p>Protection level: signature|privileged
7066         @hide
7067    -->
7068    <permission android:name="android.permission.PROVIDE_RESOLVER_RANKER_SERVICE"
7069                android:protectionLevel="signature|privileged" />
7070
7071    <!-- @SystemApi Must be required by services that extend
7072         {@link android.service.resolver.ResolverRankerService}, to ensure that only the system can
7073         bind to them.
7074         <p>Protection level: signature
7075         @hide
7076    -->
7077    <permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE"
7078        android:protectionLevel="signature" />
7079
7080    <!-- Must be required by a {@link
7081         android.service.notification.ConditionProviderService},
7082         to ensure that only the system can bind to it.
7083         <p>Protection level: signature
7084         -->
7085    <permission android:name="android.permission.BIND_CONDITION_PROVIDER_SERVICE"
7086        android:protectionLevel="signature" />
7087
7088    <!-- Must be required by an {@link android.service.dreams.DreamService},
7089         to ensure that only the system can bind to it.
7090         <p>Protection level: signature
7091    -->
7092    <permission android:name="android.permission.BIND_DREAM_SERVICE"
7093        android:protectionLevel="signature" />
7094
7095    <!-- Must be required by an {@link android.app.usage.CacheQuotaService} to ensure that only the
7096         system can bind to it.
7097         @hide This is not a third-party API (intended for OEMs and system apps).
7098    -->
7099    <permission android:name="android.permission.BIND_CACHE_QUOTA_SERVICE"
7100                android:protectionLevel="signature" />
7101
7102    <!-- @SystemApi Allows an application to call into a carrier setup flow. It is up to the
7103         carrier setup application to enforce that this permission is required
7104         @hide This is not a third-party API (intended for OEMs and system apps). -->
7105    <permission android:name="android.permission.INVOKE_CARRIER_SETUP"
7106        android:protectionLevel="signature|privileged" />
7107
7108    <!-- @SystemApi Allows an application to listen for network condition observations.
7109         @hide This is not a third-party API (intended for system apps). -->
7110    <permission android:name="android.permission.ACCESS_NETWORK_CONDITIONS"
7111        android:protectionLevel="signature|privileged" />
7112
7113    <!-- @SystemApi Allows an application to provision and access DRM certificates
7114         @hide This is not a third-party API (intended for system apps). -->
7115    <permission android:name="android.permission.ACCESS_DRM_CERTIFICATES"
7116        android:protectionLevel="signature|privileged" />
7117
7118    <!-- Api Allows an application to manage media projection sessions.
7119         @hide This is not a third-party API (intended for system apps). -->
7120    <permission android:name="android.permission.MANAGE_MEDIA_PROJECTION"
7121        android:protectionLevel="signature" />
7122
7123    <!-- @hide @TestApi Allows an application to record sensitive content during media
7124         projection. This is intended for on device screen recording system app.
7125         @FlaggedApi("android.permission.flags.sensitive_notification_app_protection") -->
7126    <permission android:name="android.permission.RECORD_SENSITIVE_CONTENT"
7127        android:protectionLevel="signature"
7128        android:featureFlag="android.permission.flags.sensitive_notification_app_protection"/>
7129
7130    <!-- @SystemApi Allows an application to read install sessions
7131         @hide This is not a third-party API (intended for system apps). -->
7132    <permission android:name="android.permission.READ_INSTALL_SESSIONS"
7133        android:label="@string/permlab_readInstallSessions"
7134        android:description="@string/permdesc_readInstallSessions"
7135        android:protectionLevel="normal"/>
7136
7137    <!-- @SystemApi Allows an application to remove DRM certificates
7138         @hide This is not a third-party API (intended for system apps). -->
7139    <permission android:name="android.permission.REMOVE_DRM_CERTIFICATES"
7140        android:protectionLevel="signature|privileged" />
7141
7142    <!-- @deprecated Use {@link android.Manifest.permission#BIND_CARRIER_SERVICES} instead -->
7143    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE"
7144        android:protectionLevel="signature|privileged" />
7145
7146    <!-- Allows an application to interact with the currently active
7147         {@link android.service.voice.VoiceInteractionService}.
7148         @hide -->
7149    <permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE"
7150        android:protectionLevel="signature" />
7151
7152    <!-- The system process that is allowed to bind to services in carrier apps will
7153         have this permission. Carrier apps should use this permission to protect
7154         their services that only the system is allowed to bind to.
7155         <p>Protection level: signature|privileged
7156    -->
7157    <permission android:name="android.permission.BIND_CARRIER_SERVICES"
7158        android:label="@string/permlab_bindCarrierServices"
7159        android:description="@string/permdesc_bindCarrierServices"
7160        android:protectionLevel="signature|privileged" />
7161
7162    <!--
7163        Allows the holder to start the permission usage screen for an app.
7164        <p>Protection level: signature|installer
7165    -->
7166    <permission android:name="android.permission.START_VIEW_PERMISSION_USAGE"
7167        android:label="@string/permlab_startViewPermissionUsage"
7168        android:description="@string/permdesc_startViewPermissionUsage"
7169        android:protectionLevel="signature|installer|module" />
7170
7171    <!--
7172        @SystemApi
7173        Allows the holder to start the screen to review permission decisions.
7174        <p>Protection level: signature|installer
7175        @hide -->
7176    <permission android:name="android.permission.START_REVIEW_PERMISSION_DECISIONS"
7177        android:label="@string/permlab_startReviewPermissionDecisions"
7178        android:description="@string/permdesc_startReviewPermissionDecisions"
7179        android:protectionLevel="signature|installer" />
7180
7181    <!--
7182        Allows the holder to start the screen with a list of app features.
7183        <p>Protection level: signature|installer
7184    -->
7185    <permission android:name="android.permission.START_VIEW_APP_FEATURES"
7186                android:label="@string/permlab_startViewAppFeatures"
7187                android:description="@string/permdesc_startViewAppFeatures"
7188                android:protectionLevel="signature|installer" />
7189
7190    <!-- Allows an application to query whether DO_NOT_ASK_CREDENTIALS_ON_BOOT
7191         flag is set.
7192         @hide -->
7193    <permission android:name="android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT"
7194                android:protectionLevel="signature" />
7195
7196    <!-- @SystemApi Allows applications to kill UIDs.
7197        <p>This permission can be granted to the SYSTEM_SUPERVISOR role used for parental
7198        controls.
7199        <p>Not for use by third-party applications.
7200         @hide -->
7201    <permission android:name="android.permission.KILL_UID"
7202                android:protectionLevel="signature|installer|role" />
7203
7204    <!-- @SystemApi Allows applications to read the local WiFi and Bluetooth MAC address.
7205        @hide -->
7206    <permission android:name="android.permission.LOCAL_MAC_ADDRESS"
7207                android:protectionLevel="signature|privileged" />
7208    <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"/>
7209
7210    <!-- @SystemApi Allows access to MAC addresses of WiFi and Bluetooth peer devices.
7211        @hide -->
7212    <permission android:name="android.permission.PEERS_MAC_ADDRESS"
7213                android:protectionLevel="signature|setup|role" />
7214
7215    <!-- Allows the Nfc stack to dispatch Nfc messages to applications. Applications
7216        can use this permission to ensure incoming Nfc messages are from the Nfc stack
7217        and not simulated by another application.
7218        @hide -->
7219    <permission android:name="android.permission.DISPATCH_NFC_MESSAGE"
7220                android:protectionLevel="signature|privileged" />
7221
7222    <!-- @SystemApi Allows changing day / night mode when system is configured with
7223         config_lockDayNightMode set to true. If requesting app does not have permission,
7224         it will be ignored.
7225        @hide -->
7226    <permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"
7227      android:protectionLevel="signature|privileged|role" />
7228
7229    <!-- @SystemApi Allows entering or exiting car mode using a specified priority.
7230        This permission is required to use UiModeManager while specifying a priority for the calling
7231        app.  A device manufacturer uses this permission to prioritize the apps which can
7232        potentially request to enter car-mode on a device to help establish the correct behavior
7233        where multiple such apps are active at the same time.
7234        @hide -->
7235    <permission android:name="android.permission.ENTER_CAR_MODE_PRIORITIZED"
7236                android:protectionLevel="signature|privileged" />
7237
7238    <!-- @SystemApi Required to receive ACTION_ENTER_CAR_MODE_PRIVILEGED or
7239        ACTION_EXIT_CAR_MODE_PRIVILEGED.
7240        @hide -->
7241    <permission android:name="android.permission.HANDLE_CAR_MODE_CHANGES"
7242                android:protectionLevel="signature|privileged" />
7243
7244    <!-- @SystemApi Allows the holder to send category_car notifications.
7245        @hide -->
7246    <permission
7247        android:name="android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS"
7248        android:protectionLevel="signature|privileged" />
7249
7250    <!-- The system process is explicitly the only one allowed to launch the
7251         confirmation UI for full backup/restore -->
7252    <uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
7253
7254    <!-- @SystemApi Allows the holder to access and manage instant applications on the device.
7255         @hide -->
7256    <permission android:name="android.permission.ACCESS_INSTANT_APPS"
7257            android:protectionLevel="signature|installer|verifier|role" />
7258    <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS"/>
7259
7260    <!-- Allows the holder to view the instant applications on the device.
7261    @hide -->
7262    <permission android:name="android.permission.VIEW_INSTANT_APPS"
7263                android:protectionLevel="signature|preinstalled" />
7264
7265    <!-- Allows the holder to manage whether the system can bind to services
7266         provided by instant apps. This permission is intended to protect
7267         test/development fucntionality and should be used only in such cases.
7268    @hide -->
7269    <permission android:name="android.permission.MANAGE_BIND_INSTANT_SERVICE"
7270                android:protectionLevel="signature" />
7271
7272    <!-- Allows receiving the usage of media resource e.g. video/audio codec and
7273         graphic memory.
7274         @hide -->
7275    <permission android:name="android.permission.RECEIVE_MEDIA_RESOURCE_USAGE"
7276                android:protectionLevel="signature|privileged" />
7277
7278    <!-- Must be required by system/priv apps when accessing the sound trigger
7279         APIs given by {@link SoundTriggerManager}.
7280         @hide
7281         @SystemApi -->
7282    <permission android:name="android.permission.MANAGE_SOUND_TRIGGER"
7283        android:protectionLevel="signature|privileged|role" />
7284
7285    <!-- Must be required by system/priv apps to run sound trigger recognition sessions while in
7286         battery saver mode.
7287         @hide
7288         @SystemApi -->
7289    <permission android:name="android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER"
7290                android:protectionLevel="signature|privileged" />
7291
7292    <!-- Must be required by system/priv apps implementing sound trigger detection services
7293         @hide
7294         @SystemApi -->
7295    <permission android:name="android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE"
7296        android:protectionLevel="signature" />
7297
7298    <!-- @SystemApi Allows trusted applications to dispatch managed provisioning message to Managed
7299         Provisioning app. If requesting app does not have permission, it will be ignored.
7300         @hide -->
7301    <permission android:name="android.permission.DISPATCH_PROVISIONING_MESSAGE"
7302                android:protectionLevel="signature|privileged" />
7303
7304    <!-- Allows the holder to read blocked numbers. See
7305         {@link android.provider.BlockedNumberContract}.
7306         @SystemApi
7307         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
7308         @hide -->
7309    <permission android:name="android.permission.READ_BLOCKED_NUMBERS"
7310                android:protectionLevel="signature" />
7311
7312    <!-- Allows the holder to write blocked numbers. See
7313         {@link android.provider.BlockedNumberContract}.
7314         @SystemApi
7315         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
7316         @hide -->
7317    <permission android:name="android.permission.WRITE_BLOCKED_NUMBERS"
7318                android:protectionLevel="signature" />
7319
7320    <!-- Must be required by an {@link android.service.vr.VrListenerService}, to ensure that only
7321         the system can bind to it.
7322         <p>Protection level: signature -->
7323    <permission android:name="android.permission.BIND_VR_LISTENER_SERVICE"
7324        android:protectionLevel="signature" />
7325
7326    <!-- Must be required by system apps when accessing restricted VR APIs.
7327         @hide
7328         @SystemApi
7329         <p>Protection level: signature -->
7330    <permission android:name="android.permission.RESTRICTED_VR_ACCESS"
7331        android:protectionLevel="signature|preinstalled" />
7332
7333    <!-- Required to make calls to {@link android.service.vr.IVrManager}.
7334         @hide -->
7335    <permission android:name="android.permission.ACCESS_VR_MANAGER"
7336            android:protectionLevel="signature" />
7337
7338    <!-- Required to access VR-Mode state and state change events via {android.app.VrStateCallback}
7339         @hide -->
7340    <permission android:name="android.permission.ACCESS_VR_STATE"
7341        android:protectionLevel="signature|preinstalled" />
7342
7343    <!-- Allows an application to allowlist tasks during lock task mode
7344         @hide <p>Not for use by third-party applications.</p> -->
7345    <permission android:name="android.permission.UPDATE_LOCK_TASK_PACKAGES"
7346        android:protectionLevel="signature|setup" />
7347
7348    <!-- @SystemApi Allows an application to replace the app name displayed alongside notifications
7349         in the N-release and later.
7350         @hide  <p>Not for use by third-party applications.</p> -->
7351    <permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"
7352                android:protectionLevel="signature|privileged" />
7353
7354    <!-- @SystemApi Allows an application to show notifications before the device is provisioned.
7355         @hide  <p>Not for use by third-party applications.</p> -->
7356    <permission android:name="android.permission.NOTIFICATION_DURING_SETUP"
7357                android:protectionLevel="signature|privileged" />
7358
7359    <!-- @SystemApi Allows an application to manage auto-fill sessions.
7360         @hide  <p>Not for use by third-party applications.</p> -->
7361    <permission android:name="android.permission.MANAGE_AUTO_FILL"
7362        android:protectionLevel="signature" />
7363
7364    <!-- @SystemApi Allows an application to manage the content capture service.
7365         @hide  <p>Not for use by third-party applications.</p> -->
7366    <permission android:name="android.permission.MANAGE_CONTENT_CAPTURE"
7367        android:protectionLevel="signature" />
7368
7369    <!-- @SystemApi Allows an application to manager the rotation resolver service.
7370         @hide <p>Not for use by third-party applications.</p> -->
7371    <permission android:name="android.permission.MANAGE_ROTATION_RESOLVER"
7372        android:protectionLevel="signature"/>
7373
7374    <!-- @SystemApi Allows an application to manage the cloudsearch service.
7375          @hide  <p>Not for use by third-party applications.</p> -->
7376    <permission android:name="android.permission.MANAGE_CLOUDSEARCH"
7377        android:protectionLevel="signature|privileged|role" />
7378
7379    <!-- @SystemApi Allows an application to manage the music recognition service.
7380         @hide  <p>Not for use by third-party applications.</p> -->
7381    <permission android:name="android.permission.MANAGE_MUSIC_RECOGNITION"
7382        android:protectionLevel="signature|privileged|role" />
7383
7384    <!-- @SystemApi Allows an application to manage speech recognition service.
7385     @hide  <p>Not for use by third-party applications.</p> -->
7386    <permission android:name="android.permission.MANAGE_SPEECH_RECOGNITION"
7387        android:protectionLevel="signature" />
7388
7389    <!-- @SystemApi Allows an application to interact with the content suggestions service.
7390         @hide  <p>Not for use by third-party applications.</p> -->
7391    <permission android:name="android.permission.MANAGE_CONTENT_SUGGESTIONS"
7392        android:protectionLevel="signature|role" />
7393
7394    <!-- @SystemApi Allows an application to manage the app predictions service.
7395         @hide  <p>Not for use by third-party applications.</p> -->
7396    <permission android:name="android.permission.MANAGE_APP_PREDICTIONS"
7397        android:protectionLevel="signature|role" />
7398
7399    <!-- @SystemApi Allows an application to manage the search ui service.
7400     @hide  <p>Not for use by third-party applications.</p> -->
7401    <permission android:name="android.permission.MANAGE_SEARCH_UI"
7402        android:protectionLevel="signature|role" />
7403
7404    <!-- @SystemApi Allows an application to manage the smartspace service.
7405     @hide  <p>Not for use by third-party applications.</p> -->
7406    <permission android:name="android.permission.MANAGE_SMARTSPACE"
7407        android:protectionLevel="signature" />
7408
7409    <!-- @SystemApi Allows an application to access the smartspace service as a client.
7410     @FlaggedApi(android.app.smartspace.flags.Flags.FLAG_ACCESS_SMARTSPACE)
7411     @hide  <p>Not for use by third-party applications.</p> -->
7412    <permission android:name="android.permission.ACCESS_SMARTSPACE"
7413        android:protectionLevel="signature|privileged|development" />
7414
7415    <!-- @SystemApi Allows an application to start a contextual search.
7416         @FlaggedApi("android.app.contextualsearch.flags.enable_service")
7417         @hide  <p>Not for use by third-party applications.</p> -->
7418    <permission android:name="android.permission.ACCESS_CONTEXTUAL_SEARCH"
7419        android:protectionLevel="signature|privileged"
7420        android:featureFlag="android.app.contextualsearch.flags.enable_service"/>
7421
7422    <!-- @SystemApi Allows an application to manage the wallpaper effects
7423     generation service.
7424     @hide  <p>Not for use by third-party applications.</p> -->
7425    <permission android:name="android.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION"
7426        android:protectionLevel="signature|privileged" />
7427
7428    <!-- Allows an app to set the theme overlay in /vendor/overlay
7429         being used.
7430         @hide  <p>Not for use by third-party applications.</p> -->
7431    <permission android:name="android.permission.MODIFY_THEME_OVERLAY"
7432                android:protectionLevel="signature" />
7433
7434    <!-- Allows an instant app to create foreground services.
7435         <p>Protection level: signature|development|instant|appop -->
7436    <permission android:name="android.permission.INSTANT_APP_FOREGROUND_SERVICE"
7437        android:protectionLevel="signature|development|instant|appop" />
7438
7439    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7440         Service.startForeground}.
7441         <p>Protection level: normal
7442    -->
7443    <permission android:name="android.permission.FOREGROUND_SERVICE"
7444        android:description="@string/permdesc_foregroundService"
7445        android:label="@string/permlab_foregroundService"
7446        android:protectionLevel="normal|instant" />
7447
7448    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7449         Service.startForeground} with the type "camera".
7450         <p>Protection level: normal|instant
7451    -->
7452    <permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"
7453        android:description="@string/permdesc_foregroundServiceCamera"
7454        android:label="@string/permlab_foregroundServiceCamera"
7455        android:protectionLevel="normal|instant" />
7456
7457    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7458         Service.startForeground} with the type "connectedDevice".
7459         <p>Protection level: normal|instant
7460    -->
7461    <permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE"
7462        android:description="@string/permdesc_foregroundServiceConnectedDevice"
7463        android:label="@string/permlab_foregroundServiceConnectedDevice"
7464        android:protectionLevel="normal|instant" />
7465
7466    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7467         Service.startForeground} with the type "dataSync".
7468         <p>Protection level: normal|instant
7469    -->
7470    <permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"
7471        android:description="@string/permdesc_foregroundServiceDataSync"
7472        android:label="@string/permlab_foregroundServiceDataSync"
7473        android:protectionLevel="normal|instant" />
7474
7475    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7476         Service.startForeground} with the type "location".
7477         <p>Protection level: normal|instant
7478    -->
7479    <permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION"
7480        android:description="@string/permdesc_foregroundServiceLocation"
7481        android:label="@string/permlab_foregroundServiceLocation"
7482        android:protectionLevel="normal|instant" />
7483
7484    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7485         Service.startForeground} with the type "mediaPlayback".
7486         <p>Protection level: normal|instant
7487    -->
7488    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"
7489        android:description="@string/permdesc_foregroundServiceMediaPlayback"
7490        android:label="@string/permlab_foregroundServiceMediaPlayback"
7491        android:protectionLevel="normal|instant" />
7492
7493    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7494         Service.startForeground} with the type "mediaProjection".
7495         <p>Protection level: normal|instant
7496    -->
7497    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION"
7498        android:description="@string/permdesc_foregroundServiceMediaProjection"
7499        android:label="@string/permlab_foregroundServiceMediaProjection"
7500        android:protectionLevel="normal|instant" />
7501
7502    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7503         Service.startForeground} with the type "microphone".
7504         <p>Protection level: normal|instant
7505    -->
7506    <permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE"
7507        android:description="@string/permdesc_foregroundServiceMicrophone"
7508        android:label="@string/permlab_foregroundServiceMicrophone"
7509        android:protectionLevel="normal|instant" />
7510
7511    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7512         Service.startForeground} with the type "phoneCall".
7513         <p>Protection level: normal|instant
7514    -->
7515    <permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL"
7516        android:description="@string/permdesc_foregroundServicePhoneCall"
7517        android:label="@string/permlab_foregroundServicePhoneCall"
7518        android:protectionLevel="normal|instant" />
7519
7520    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7521         Service.startForeground} with the type "health".
7522         <p>Protection level: normal|instant
7523    -->
7524    <permission android:name="android.permission.FOREGROUND_SERVICE_HEALTH"
7525        android:description="@string/permdesc_foregroundServiceHealth"
7526        android:label="@string/permlab_foregroundServiceHealth"
7527        android:protectionLevel="normal|instant" />
7528
7529    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7530         Service.startForeground} with the type "remoteMessaging".
7531         <p>Protection level: normal|instant
7532    -->
7533    <permission android:name="android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING"
7534        android:description="@string/permdesc_foregroundServiceRemoteMessaging"
7535        android:label="@string/permlab_foregroundServiceRemoteMessaging"
7536        android:protectionLevel="normal|instant" />
7537
7538    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7539         Service.startForeground} with the type "systemExempted".
7540         Apps are allowed to use this type only in the use cases listed in
7541         {@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED}.
7542         <p>Protection level: normal|instant
7543    -->
7544    <permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED"
7545        android:description="@string/permdesc_foregroundServiceSystemExempted"
7546        android:label="@string/permlab_foregroundServiceSystemExempted"
7547        android:protectionLevel="normal|instant" />
7548
7549    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7550         Service.startForeground} with the type "fileManagement".
7551         <p>Protection level: normal|instant
7552         @hide
7553    -->
7554    <permission android:name="android.permission.FOREGROUND_SERVICE_FILE_MANAGEMENT"
7555        android:description="@string/permdesc_foregroundServiceFileManagement"
7556        android:label="@string/permlab_foregroundServiceFileManagement"
7557        android:protectionLevel="normal|instant" />
7558
7559    <!-- @FlaggedApi("android.content.pm.introduce_media_processing_type")
7560         Allows a regular application to use {@link android.app.Service#startForeground
7561         Service.startForeground} with the type "mediaProcessing".
7562         <p>Protection level: normal|instant
7563    -->
7564    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROCESSING"
7565                android:description="@string/permdesc_foregroundServiceMediaProcessing"
7566                android:label="@string/permlab_foregroundServiceMediaProcessing"
7567                android:protectionLevel="normal|instant" />
7568
7569    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7570         Service.startForeground} with the type "specialUse".
7571         <p>Protection level: normal|appop|instant
7572    -->
7573    <permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"
7574        android:description="@string/permdesc_foregroundServiceSpecialUse"
7575        android:label="@string/permlab_foregroundServiceSpecialUse"
7576        android:protectionLevel="normal|appop|instant" />
7577
7578    <!-- @SystemApi Allows to access all app shortcuts.
7579         @hide -->
7580    <permission android:name="android.permission.ACCESS_SHORTCUTS"
7581        android:protectionLevel="signature|role|recents" />
7582
7583    <!-- @SystemApi Allows unlimited calls to shortcut mutation APIs.
7584         @hide -->
7585    <permission android:name="android.permission.UNLIMITED_SHORTCUTS_API_CALLS"
7586        android:protectionLevel="signature|role" />
7587
7588    <!-- @SystemApi Allows an application to read the runtime profiles of other apps.
7589         @hide <p>Not for use by third-party applications. -->
7590    <permission android:name="android.permission.READ_RUNTIME_PROFILES"
7591                android:protectionLevel="signature|privileged" />
7592
7593    <!-- @hide Allows audio policy management. -->
7594    <permission android:name="android.permission.MANAGE_AUDIO_POLICY"
7595        android:protectionLevel="signature" />
7596
7597    <!-- @SystemApi Allows an application to turn on / off quiet mode.
7598         @hide -->
7599    <permission android:name="android.permission.MODIFY_QUIET_MODE"
7600                android:protectionLevel="signature|privileged|development|role" />
7601
7602    <!-- Allows internal management of the camera framework
7603         @hide -->
7604    <permission android:name="android.permission.MANAGE_CAMERA"
7605        android:protectionLevel="signature" />
7606
7607    <!-- Allows an application to control remote animations. See
7608         {@link ActivityOptions#makeRemoteAnimation}
7609         @hide <p>Not for use by third-party applications. -->
7610    <permission android:name="android.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS"
7611        android:protectionLevel="signature|privileged|recents" />
7612
7613    <!-- Allows an application to watch changes and/or active state of app ops.
7614         @hide <p>Not for use by third-party applications. -->
7615    <permission android:name="android.permission.WATCH_APPOPS"
7616        android:protectionLevel="signature|privileged" />
7617
7618    <!-- Allows hidden API checks to be disabled when starting a process.
7619         @hide <p>Not for use by third-party applications. -->
7620    <permission android:name="android.permission.DISABLE_HIDDEN_API_CHECKS"
7621                android:protectionLevel="signature" />
7622
7623    <!-- @hide Permission that protects the
7624        {@link android.provider.Telephony.Intents#ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL}
7625        broadcast -->
7626    <permission android:name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE"
7627        android:protectionLevel="signature|privileged" />
7628
7629    <!-- A subclass of {@link android.service.carrier.CarrierMessagingClientService} must be protected with this permission.
7630           <p>Protection level: signature -->
7631    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE"
7632        android:protectionLevel="signature" />
7633
7634    <!-- Must be required by an {@link android.service.watchdog.ExplicitHealthCheckService} to
7635         ensure that only the system can bind to it.
7636         @hide This is not a third-party API (intended for OEMs and system apps).
7637    -->
7638    <permission android:name="android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE"
7639        android:protectionLevel="signature|privileged" />
7640
7641    <!-- @SystemApi Must be required by an {@link android.service.storage.ExternalStorageService} to
7642         ensure that only the system can bind to it.
7643         @hide This is not a third-party API (intended for OEMs and system apps).
7644    -->
7645    <permission android:name="android.permission.BIND_EXTERNAL_STORAGE_SERVICE"
7646        android:protectionLevel="signature" />
7647
7648    <!-- @hide Permission that allows configuring appops.
7649     <p>Not for use by third-party applications. -->
7650    <permission android:name="android.permission.MANAGE_APPOPS"
7651                android:protectionLevel="signature" />
7652
7653    <!-- @SystemApi Permission that allows background clipboard access.
7654         @hide Not for use by third-party applications. -->
7655    <permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"
7656        android:protectionLevel="signature|role" />
7657
7658    <!-- @SystemApi Permission that allows apps to disable the clipboard access notifications.
7659         @hide
7660         <p>Not for use by third-party applications. -->
7661    <permission android:name="android.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION"
7662        android:protectionLevel="signature|installer" />
7663
7664    <!-- @hide Permission that suppresses the notification when the clipboard is accessed.
7665         <p>Not for use by third-party applications. -->
7666    <permission android:name="android.permission.SUPPRESS_CLIPBOARD_ACCESS_NOTIFICATION"
7667                android:protectionLevel="signature" />
7668
7669    <!-- @SystemApi Allows modifying accessibility state.
7670        <p> The only approved role for this permission is COMPANION_DEVICE_APP_STREAMING.
7671         @hide -->
7672    <permission android:name="android.permission.MANAGE_ACCESSIBILITY"
7673        android:protectionLevel="signature|setup|recents|role" />
7674
7675    <!-- @SystemApi Allows an app to grant a profile owner access to device identifiers.
7676         <p>Not for use by third-party applications.
7677         @deprecated
7678         @hide -->
7679    <permission android:name="android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS"
7680        android:protectionLevel="signature" />
7681
7682    <!-- @SystemApi Allows an app to mark a profile owner as managing an organization-owned device.
7683         <p>Not for use by third-party applications.
7684         @hide -->
7685    <permission android:name="android.permission.MARK_DEVICE_ORGANIZATION_OWNED"
7686                android:protectionLevel="signature|role" />
7687
7688    <!-- Allows financial apps to read filtered sms messages.
7689         Protection level: signature|appop
7690         @deprecated The API that used this permission is no longer functional.  -->
7691    <permission android:name="android.permission.SMS_FINANCIAL_TRANSACTIONS"
7692        android:protectionLevel="signature|appop" />
7693
7694    <!-- Required for apps targeting {@link android.os.Build.VERSION_CODES#Q} that want to use
7695         {@link android.app.Notification.Builder#setFullScreenIntent notification full screen
7696         intents}.
7697         <p>Protection level: normal -->
7698    <permission android:name="android.permission.USE_FULL_SCREEN_INTENT"
7699                android:label="@string/permlab_fullScreenIntent"
7700                android:description="@string/permdesc_fullScreenIntent"
7701                android:protectionLevel="normal|appop" />
7702
7703    <!-- @SystemApi Required for the privileged assistant apps targeting
7704         {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM}
7705         that receive voice trigger from a sandboxed {@link HotwordDetectionService}.
7706         <p>Protection level: signature|privileged|appop
7707         @FlaggedApi("android.permission.flags.voice_activation_permission_apis")
7708         @hide -->
7709    <permission android:name="android.permission.RECEIVE_SANDBOX_TRIGGER_AUDIO"
7710                android:protectionLevel="signature|privileged|appop" />
7711
7712    <!-- @SystemApi Allows requesting the framework broadcast the
7713         {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY} intent.
7714         @hide -->
7715    <permission android:name="android.permission.SEND_DEVICE_CUSTOMIZATION_READY"
7716        android:protectionLevel="signature|privileged" />
7717
7718    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY}
7719         intent.
7720         @hide -->
7721    <permission android:name="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY"
7722        android:protectionLevel="signature|preinstalled" />
7723
7724    <!-- @SystemApi Allows wallpaper to be rendered in ambient mode.
7725         @hide -->
7726    <permission android:name="android.permission.AMBIENT_WALLPAPER"
7727                android:protectionLevel="signature|preinstalled" />
7728
7729    <!-- @SystemApi Allows sensor privacy to be modified.
7730         @hide -->
7731    <permission android:name="android.permission.MANAGE_SENSOR_PRIVACY"
7732                android:protectionLevel="internal|role|installer" />
7733
7734    <!-- @SystemApi Allows sensor privacy changes to be observed.
7735         @hide -->
7736    <permission android:name="android.permission.OBSERVE_SENSOR_PRIVACY"
7737                android:protectionLevel="internal|role|installer" />
7738
7739    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_REVIEW_ACCESSIBILITY_SERVICES}
7740         intent.
7741         @hide -->
7742    <permission android:name="android.permission.REVIEW_ACCESSIBILITY_SERVICES"
7743                android:protectionLevel="signature" />
7744
7745    <!-- @SystemApi Allows an activity to replace the app name and icon displayed in share targets
7746         in the sharesheet for the Q-release and later.
7747         @hide  <p>Not for use by third-party applications.</p> -->
7748    <permission android:name="android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON"
7749                android:protectionLevel="signature|privileged" />
7750
7751    <!-- @SystemApi Allows an application to access shared libraries.
7752         @hide -->
7753    <permission android:name="android.permission.ACCESS_SHARED_LIBRARIES"
7754                android:protectionLevel="signature|installer" />
7755
7756    <!-- Allows an app to log compat change usage.
7757         @hide  <p>Not for use by third-party applications.</p> -->
7758    <permission android:name="android.permission.LOG_COMPAT_CHANGE"
7759                android:protectionLevel="signature|privileged" />
7760    <!-- Allows an app to read compat change config.
7761         @hide  <p>Not for use by third-party applications.</p> -->
7762    <permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"
7763                android:protectionLevel="signature|privileged" />
7764    <!-- Allows an app to override compat change config.
7765         This permission only allows to override config on debuggable builds or test-apks and is
7766         therefore a less powerful version of OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD.
7767         @hide  <p>Not for use by third-party applications.</p> -->
7768    <permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG"
7769                android:protectionLevel="signature|privileged" />
7770    <!-- @SystemApi Allows an app to override compat change config on release builds.
7771        Only ChangeIds that are annotated as @Overridable can be overridden on release builds.
7772        @hide -->
7773    <permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD"
7774                android:protectionLevel="signature|privileged" />
7775
7776    <!-- Allows input events to be monitored. Very dangerous!  @hide -->
7777    <permission android:name="android.permission.MONITOR_INPUT"
7778                android:protectionLevel="signature|recents" />
7779    <!-- @SystemApi Allows the use of FLAG_SLIPPERY, which permits touch events to slip from the
7780         current window to the window where the touch currently is on top of.  @hide -->
7781    <permission android:name="android.permission.ALLOW_SLIPPERY_TOUCHES"
7782                android:protectionLevel="signature|privileged|recents|role" />
7783    <!--  Allows the caller to change the associations between input devices and displays.
7784        Very dangerous! @hide -->
7785    <permission android:name="android.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY"
7786                android:protectionLevel="signature" />
7787
7788    <!-- Allows query of any normal app on the device, regardless of manifest declarations.
7789        <p>Protection level: normal -->
7790    <permission android:name="android.permission.QUERY_ALL_PACKAGES"
7791                android:label="@string/permlab_queryAllPackages"
7792                android:description="@string/permdesc_queryAllPackages"
7793                android:protectionLevel="normal" />
7794    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
7795
7796    <!-- @hide Allow the caller to collect debugging data from processes that otherwise
7797        would require USAGE_STATS. Before sharing this data with other apps, holders
7798        of this permission are REQUIRED to themselves check that the caller has
7799        PACKAGE_USAGE_STATS and OP_GET_USAGE_STATS. -->
7800    <permission android:name="android.permission.PEEK_DROPBOX_DATA"
7801        android:protectionLevel="signature" />
7802
7803    <!-- @SystemApi Allows an application to access TV tuner HAL
7804         <p>Not for use by third-party applications.
7805         @hide -->
7806    <permission android:name="android.permission.ACCESS_TV_TUNER"
7807        android:protectionLevel="signature|privileged|vendorPrivileged" />
7808
7809    <!-- @SystemApi Allows an application to access descrambler of TV tuner HAL
7810         <p>Not for use by third-party applications.
7811         @hide -->
7812    <permission android:name="android.permission.ACCESS_TV_DESCRAMBLER"
7813        android:protectionLevel="signature|privileged|vendorPrivileged" />
7814
7815    <!-- @SystemApi Allows an application to access shared filter of TV tuner HAL
7816         <p>Not for use by third-party applications.
7817         @hide -->
7818    <permission android:name="android.permission.ACCESS_TV_SHARED_FILTER"
7819        android:protectionLevel="signature|privileged|vendorPrivileged" />
7820
7821    <!-- Allows an application to create trusted displays. @hide @SystemApi -->
7822    <permission android:name="android.permission.ADD_TRUSTED_DISPLAY"
7823                android:protectionLevel="signature|role" />
7824
7825    <!-- Allows an application to create always-unlocked displays. @hide @SystemApi -->
7826    <permission android:name="android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY"
7827                android:protectionLevel="signature|role"/>
7828
7829    <!-- @hide @SystemApi Allows an application to access locusId events in the usage stats. -->
7830    <permission android:name="android.permission.ACCESS_LOCUS_ID_USAGE_STATS"
7831                android:protectionLevel="signature|role" />
7832
7833    <!-- @hide @SystemApi Allows an application to manage app hibernation state. -->
7834    <permission android:name="android.permission.MANAGE_APP_HIBERNATION"
7835        android:protectionLevel="signature|installer" />
7836
7837    <!-- @hide @TestApi Allows apps to reset the state of {@link com.android.server.am.AppErrors}.
7838         <p>CTS tests will use UiAutomation.adoptShellPermissionIdentity() to gain access.  -->
7839    <permission android:name="android.permission.RESET_APP_ERRORS"
7840        android:protectionLevel="signature" />
7841
7842    <!-- @hide Allows ThemeOverlayController to delay launch of Home / SetupWizard on boot, ensuring
7843         Theme Palettes and Colors are ready  -->
7844    <permission android:name="android.permission.SET_THEME_OVERLAY_CONTROLLER_READY"
7845        android:protectionLevel="signature|setup" />
7846
7847    <!-- @hide Allows an application to create/destroy input consumer. -->
7848    <permission android:name="android.permission.INPUT_CONSUMER"
7849                android:protectionLevel="signature" />
7850
7851    <!-- @hide @TestApi Allows an application to control the system's device state managed by the
7852         {@link android.service.devicestate.DeviceStateManagerService}. For example, on foldable
7853         devices this would grant access to toggle between the folded and unfolded states. -->
7854    <permission android:name="android.permission.CONTROL_DEVICE_STATE"
7855                android:protectionLevel="signature" />
7856
7857    <!-- @hide @SystemApi Must be required by a
7858        {@link android.service.displayhash.DisplayHashingService}
7859        to ensure that only the system can bind to it.
7860        This is not a third-party API (intended for OEMs and system apps).
7861    -->
7862    <permission android:name="android.permission.BIND_DISPLAY_HASHING_SERVICE"
7863        android:protectionLevel="signature" />
7864
7865    <!-- @hide @TestApi Allows an application to enable/disable toast rate limiting.
7866         <p>Not for use by third-party applications.
7867    -->
7868    <permission android:name="android.permission.MANAGE_TOAST_RATE_LIMITING"
7869                android:protectionLevel="signature" />
7870
7871    <!-- @SystemApi Allows managing the Game Mode
7872     @hide -->
7873    <permission android:name="android.permission.MANAGE_GAME_MODE"
7874                android:protectionLevel="signature|privileged" />
7875
7876    <!-- @TestApi Allows setting the game service provider, meant for tests only.
7877     @hide -->
7878    <permission android:name="android.permission.SET_GAME_SERVICE"
7879                android:protectionLevel="signature" />
7880
7881    <!-- @SystemApi Allows accessing the frame rate per second of a given application
7882     @hide -->
7883    <permission android:name="android.permission.ACCESS_FPS_COUNTER"
7884                android:protectionLevel="signature|privileged" />
7885
7886    <!-- @SystemApi Allows the GameService provider to create GameSession and call GameSession
7887                    APIs and overlay a view on top of the game's Activity.
7888     @hide -->
7889    <permission android:name="android.permission.MANAGE_GAME_ACTIVITY"
7890                android:protectionLevel="signature|privileged" />
7891
7892    <!-- @SystemApi Allows the holder to register callbacks to inform the RebootReadinessManager
7893         when they are performing reboot-blocking work.
7894         @hide -->
7895    <permission android:name="android.permission.SIGNAL_REBOOT_READINESS"
7896                android:protectionLevel="signature|privileged" />
7897
7898    <!-- @SystemApi Allows the holder to launch an Intent Resolver flow with custom presentation
7899         and/or targets.
7900         @FlaggedApi("android.nfc.enable_nfc_mainline")
7901         @hide -->
7902    <permission android:name="android.permission.SHOW_CUSTOMIZED_RESOLVER"
7903                android:protectionLevel="signature|privileged" />
7904
7905    <!-- @hide Allows an application to get a People Tile preview for a given shortcut. -->
7906    <permission android:name="android.permission.GET_PEOPLE_TILE_PREVIEW"
7907        android:protectionLevel="signature|recents" />
7908
7909    <!-- @hide @SystemApi Allows an application to retrieve whether shortcut is backed by a
7910         Conversation.
7911         TODO(b/180412052): STOPSHIP: Define a role so it can be granted to Shell and AiAi. -->
7912    <permission android:name="android.permission.READ_PEOPLE_DATA"
7913                android:protectionLevel="signature|recents|role"/>
7914
7915    <!-- @hide @SystemApi Allows a logical component within an application to
7916         temporarily renounce a set of otherwise granted permissions. -->
7917    <permission android:name="android.permission.RENOUNCE_PERMISSIONS"
7918                android:protectionLevel="signature|privileged" />
7919
7920    <!-- Allows an application to read nearby streaming policy. The policy controls
7921         whether to allow the device to stream its notifications and apps to nearby devices.
7922         Applications that are not the device owner will need this permission to call
7923         {@link android.app.admin.DevicePolicyManager#getNearbyNotificationStreamingPolicy} or
7924         {@link android.app.admin.DevicePolicyManager#getNearbyAppStreamingPolicy}. -->
7925    <permission android:name="android.permission.READ_NEARBY_STREAMING_POLICY"
7926        android:protectionLevel="normal" />
7927
7928    <!-- @SystemApi Allows the holder to set the source of the data when setting a clip on the
7929         clipboard.
7930         @hide -->
7931    <permission android:name="android.permission.SET_CLIP_SOURCE"
7932                android:protectionLevel="signature|recents" />
7933
7934    <!-- @SystemApi Allows an application to access TV tuned info
7935         <p>Not for use by third-party applications.
7936         @hide -->
7937    <permission android:name="android.permission.ACCESS_TUNED_INFO"
7938        android:protectionLevel="signature|privileged|vendorPrivileged" />
7939
7940    <!-- Allows an application to indicate via
7941         {@link android.content.pm.PackageInstaller.SessionParams#setRequireUserAction(int)}
7942         that user action should not be required for an app update.
7943         <p>Protection level: normal
7944    -->
7945    <permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"
7946                android:label="@string/permlab_updatePackagesWithoutUserAction"
7947                android:description="@string/permdesc_updatePackagesWithoutUserAction"
7948                android:protectionLevel="normal" />
7949    <uses-permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"/>
7950
7951    <!-- Allows an application to indicate via {@link
7952         android.content.pm.PackageInstaller.SessionParams#setRequestUpdateOwnership}
7953         that it has the intention of becoming the update owner.
7954         <p>Protection level: normal
7955         -->
7956    <permission android:name="android.permission.ENFORCE_UPDATE_OWNERSHIP"
7957                android:protectionLevel="normal" />
7958    <uses-permission android:name="android.permission.ENFORCE_UPDATE_OWNERSHIP" />
7959
7960
7961    <!-- Allows an application to take screenshots of layers that normally would be blacked out when
7962         a screenshot is taken. Specifically, layers that have the flag
7963         {@link android.view.SurfaceControl#SECURE} will be screenshot if the caller requests to
7964         capture secure layers. Normally those layers will be rendered black.
7965         <p>Not for use by third-party applications.
7966         @hide
7967    -->
7968    <permission android:name="android.permission.CAPTURE_BLACKOUT_CONTENT"
7969        android:protectionLevel="signature" />
7970
7971    <!-- @SystemApi Allows an application to query over global data in AppSearch.
7972           @hide -->
7973    <permission android:name="android.permission.READ_GLOBAL_APP_SEARCH_DATA"
7974                android:protectionLevel="internal|role" />
7975
7976    <!-- Allows an application to query over global data in AppSearch that's visible to the
7977         ASSISTANT role.  -->
7978    <permission android:name="android.permission.READ_ASSISTANT_APP_SEARCH_DATA"
7979        android:protectionLevel="internal|role" />
7980
7981    <!-- Allows an application to query over global data in AppSearch that's visible to the
7982         HOME role.  -->
7983    <permission android:name="android.permission.READ_HOME_APP_SEARCH_DATA"
7984        android:protectionLevel="internal|role" />
7985
7986    <!-- Allows an assistive application to perform actions on behalf of users inside of
7987         applications.
7988         <p>For now, this permission is only granted to the Assistant application selected by
7989         the user.
7990         <p>Protection level: internal|role
7991    -->
7992    <permission android:name="android.permission.EXECUTE_APP_ACTION"
7993                android:protectionLevel="internal|role" />
7994
7995    <!-- Allows an application to display its suggestions using the autofill framework.
7996         <p>For now, this permission is only granted to the Browser application.
7997         <p>Protection level: internal|role
7998    -->
7999    <permission android:name="android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS"
8000                android:protectionLevel="internal|role" />
8001
8002    <!-- @SystemApi Allows an application to create virtual devices in VirtualDeviceManager.
8003         @hide -->
8004    <permission android:name="android.permission.CREATE_VIRTUAL_DEVICE"
8005                android:protectionLevel="internal|role" />
8006
8007    <!-- @SystemApi Must be required by a safety source to send an update using the
8008             {@link android.safetycenter.SafetyCenterManager}.
8009             <p>Protection level: internal|privileged
8010             @hide
8011        -->
8012    <permission android:name="android.permission.SEND_SAFETY_CENTER_UPDATE"
8013                android:protectionLevel="internal|privileged" />
8014
8015    <!-- @SystemApi Allows an application to launch device manager setup screens.
8016         <p>Not for use by third-party applications.
8017         @hide
8018    -->
8019    <permission android:name="android.permission.LAUNCH_DEVICE_MANAGER_SETUP"
8020        android:protectionLevel="signature|role" />
8021
8022    <!-- @SystemApi Allows an application to update certain device management related system
8023         resources.
8024         @hide -->
8025    <permission android:name="android.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES"
8026                android:protectionLevel="signature|role" />
8027
8028    <!-- @SystemApi Allows an app to read whether SafetyCenter is enabled/disabled.
8029             <p>Protection level: signature|privileged
8030             @hide
8031        -->
8032    <permission android:name="android.permission.READ_SAFETY_CENTER_STATUS"
8033        android:protectionLevel="signature|privileged" />
8034
8035    <!-- @SystemApi Required to access the safety center internal APIs using the
8036             {@link android.safetycenter.SafetyCenterManager}.
8037             <p>Protection level: internal|installer|role
8038             @hide
8039        -->
8040    <permission android:name="android.permission.MANAGE_SAFETY_CENTER"
8041                android:protectionLevel="internal|installer|role" />
8042
8043    <!-- @SystemApi Allows an application to access the AmbientContextEvent service.
8044         @hide
8045    -->
8046    <permission android:name="android.permission.ACCESS_AMBIENT_CONTEXT_EVENT"
8047                android:protectionLevel="signature|privileged|role"/>
8048
8049    <!-- @SystemApi Required by a AmbientContextEventDetectionService
8050         to ensure that only the service with this permission can bind to it.
8051         @hide
8052    -->
8053    <permission android:name="android.permission.BIND_AMBIENT_CONTEXT_DETECTION_SERVICE"
8054                android:protectionLevel="signature" />
8055
8056    <!-- @SystemApi Allows an app to set keep-clear areas without restrictions on the size or
8057        number of keep-clear areas (see {@link android.view.View#setPreferKeepClearRects}).
8058        When the system arranges floating windows onscreen, it might decide to ignore keep-clear
8059        areas from windows, whose owner does not have this permission.
8060        @hide
8061    -->
8062    <permission android:name="android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS"
8063                android:protectionLevel="signature|privileged" />
8064
8065    <!-- Allows an app to set gesture exclusion without restrictions on the vertical extent of the
8066         exclusions (see {@link android.view.View#setSystemGestureExclusionRects}).
8067         @hide
8068    -->
8069    <permission android:name="android.permission.SET_UNRESTRICTED_GESTURE_EXCLUSION"
8070                android:protectionLevel="signature|privileged|recents" />
8071
8072    <!-- @SystemApi Allows TV input apps and TV apps to use TIS extension interfaces for
8073         domain-specific features.
8074         <p>Protection level: signature|privileged|vendorPrivileged
8075         <p>Not for use by third-party applications.
8076         @hide
8077    -->
8078    <permission android:name="android.permission.TIS_EXTENSION_INTERFACE"
8079        android:protectionLevel="signature|privileged|vendorPrivileged" />
8080
8081    <!-- @SystemApi Allows an application to write to the security log buffer in logd.
8082         @hide -->
8083    <permission android:name="android.permission.WRITE_SECURITY_LOG"
8084        android:protectionLevel="signature|privileged" />
8085
8086    <!-- Allows an UID to be visible to the application based on an interaction between the
8087         two apps. This permission is not intended to be held by apps.
8088         @hide @TestApi @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES) -->
8089    <permission android:name="android.permission.MAKE_UID_VISIBLE"
8090                android:protectionLevel="signature" />
8091
8092    <!-- Limits the system as the only handler of the QUERY_PACKAGE_RESTART broadcast
8093         @hide -->
8094    <permission android:name="android.permission.HANDLE_QUERY_PACKAGE_RESTART"
8095                android:protectionLevel="signature" />
8096
8097    <!-- Allows low-level access to re-mapping modifier keys.
8098         <p>Not for use by third-party applications.
8099         @hide
8100         @TestApi -->
8101    <permission android:name="android.permission.REMAP_MODIFIER_KEYS"
8102                android:protectionLevel="signature" />
8103
8104    <!-- Allows low-level access to monitor keyboard backlight changes.
8105         <p>Not for use by third-party applications.
8106         @hide -->
8107    <permission android:name="android.permission.MONITOR_KEYBOARD_BACKLIGHT"
8108                android:protectionLevel="signature" />
8109
8110    <!-- Allows low-level access to monitor sticky modifier state changes when A11Y Sticky keys
8111         feature is enabled.
8112         <p>Not for use by third-party applications.
8113         @hide -->
8114    <permission android:name="android.permission.MONITOR_STICKY_MODIFIER_STATE"
8115                android:protectionLevel="signature" />
8116
8117    <uses-permission android:name="android.permission.HANDLE_QUERY_PACKAGE_RESTART" />
8118
8119    <!-- Allows financed device kiosk apps to perform actions on the Device Lock service
8120         <p>Protection level: internal|role
8121         <p>Intended for use by the FINANCED_DEVICE_KIOSK role only.
8122    -->
8123    <permission android:name="android.permission.MANAGE_DEVICE_LOCK_STATE"
8124                android:protectionLevel="internal|role" />
8125
8126    <!-- @SystemApi Required by a WearableSensingService to
8127          ensure that only the caller with this permission can bind to it.
8128          <p> Protection level: signature
8129     @hide
8130    -->
8131    <permission android:name="android.permission.BIND_WEARABLE_SENSING_SERVICE"
8132                android:protectionLevel="signature" />
8133
8134    <!-- @SystemApi Allows an app to manage the wearable sensing service.
8135             <p>Protection level: signature|privileged
8136             @hide
8137        -->
8138    <permission android:name="android.permission.MANAGE_WEARABLE_SENSING_SERVICE"
8139                android:protectionLevel="signature|privileged" />
8140
8141    <!-- @SystemApi Allows an app to use the on-device intelligence service.
8142             <p>Protection level: signature|privileged
8143             @hide
8144         @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence")
8145        -->
8146    <permission android:name="android.permission.USE_ON_DEVICE_INTELLIGENCE"
8147        android:protectionLevel="signature|privileged" />
8148
8149
8150    <!-- @SystemApi Allows an app to bind the on-device intelligence service.
8151             <p>Protection level: signature|privileged
8152             @hide
8153         @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence")
8154        -->
8155    <permission android:name="android.permission.BIND_ON_DEVICE_INTELLIGENCE_SERVICE"
8156        android:protectionLevel="signature|privileged" />
8157
8158
8159    <!-- @SystemApi Allows an app to bind the on-device sandboxed service.
8160             <p>Protection level: signature|privileged
8161             @hide
8162         @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence")
8163        -->
8164    <permission android:name="android.permission.BIND_ON_DEVICE_SANDBOXED_INFERENCE_SERVICE"
8165        android:protectionLevel="signature"/>
8166
8167
8168    <!-- Allows applications to use the user-initiated jobs API. For more details
8169         see {@link android.app.job.JobInfo.Builder#setUserInitiated}.
8170         <p>Protection level: normal
8171     -->
8172    <permission android:name="android.permission.RUN_USER_INITIATED_JOBS"
8173                android:protectionLevel="normal"/>
8174
8175    <!-- Allows an app access to the installer provided app metadata.
8176        @SystemApi
8177        @hide
8178      -->
8179    <permission android:name="android.permission.GET_APP_METADATA"
8180                android:protectionLevel="signature|installer|verifier" />
8181
8182    <!-- @hide @SystemApi Allows an application to stage HealthConnect's remote data so that
8183         HealthConnect can later integrate it. -->
8184    <permission android:name="android.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA"
8185                android:protectionLevel="signature|knownSigner"
8186                android:knownCerts="@array/config_healthConnectRestoreKnownSigners"/>
8187
8188    <!-- @hide @TestApi Allows an application to clear HealthConnect's staged remote data for
8189         testing only. For security reasons, this is a platform-only permission. -->
8190    <permission android:name="android.permission.DELETE_STAGED_HEALTH_CONNECT_REMOTE_DATA"
8191                android:protectionLevel="signature" />
8192
8193    <!-- @hide @TestApi Allows tests running in CTS-in-sandbox mode to launch activities -->
8194    <permission android:name="android.permission.START_ACTIVITIES_FROM_SDK_SANDBOX"
8195                android:protectionLevel="signature" />
8196
8197    <!-- @SystemApi Allows the holder to call health connect migration APIs.
8198        @hide -->
8199    <permission android:name="android.permission.MIGRATE_HEALTH_CONNECT_DATA"
8200        android:protectionLevel="signature|knownSigner"
8201        android:knownCerts="@array/config_healthConnectMigrationKnownSigners" />
8202
8203    <!-- @SystemApi Allows an app to query apps in clone profile. The permission is
8204         bidirectional in nature, i.e. cloned apps would be able to query apps in root user.
8205         The permission is not meant for 3P apps as of now.
8206         <p>Protection level: signature|privileged
8207         @hide
8208    -->
8209    <permission android:name="android.permission.QUERY_CLONED_APPS"
8210                android:protectionLevel="signature|privileged" />
8211
8212    <!-- @hide @SystemApi
8213         Allows applications to capture bugreport directly without consent dialog when using the
8214         bugreporting API on userdebug/eng build.
8215         <p>The application still needs to hold {@link android.permission.DUMP} permission and be
8216         bugreport-whitelisted to be able to capture a bugreport using the bugreporting API in the
8217         first place. Then, when the corresponding app op of this permission is ALLOWED, the
8218         bugreport can be captured directly without going through the consent dialog.
8219         <p>Protection level: internal|appop
8220         <p>Intended to only be used on userdebug/eng build.
8221         <p>Not for use by third-party applications. -->
8222    <permission android:name="android.permission.CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD"
8223                android:protectionLevel="internal|appop" />
8224
8225    <!-- @SystemApi Allows to call APIs that log process lifecycle events
8226         @hide -->
8227    <permission android:name="android.permission.LOG_FOREGROUND_RESOURCE_USE"
8228                android:protectionLevel="signature|module" />
8229
8230    <!-- @hide Allows the settings app to access GPU service APIs".
8231        <p>Not for use by third-party applications.
8232        <p>Protection level: signature
8233    -->
8234    <permission android:name="android.permission.ACCESS_GPU_SERVICE"
8235                android:protectionLevel="signature" />
8236
8237    <!-- @hide Allows an application to get type of any provider uri.
8238         <p>Not for use by third-party applications.
8239         <p>Protection level: signature
8240    -->
8241    <permission android:name="android.permission.GET_ANY_PROVIDER_TYPE"
8242                android:protectionLevel="signature" />
8243
8244
8245    <!-- @hide Allows internal applications to read and synchronize non-core flags.
8246         Apps without this permission can only read a subset of flags specifically intended
8247         for use in "core", (i.e. third party apps). Apps with this permission can define their
8248         own flags, and federate those values with other system-level apps.
8249         <p>Not for use by third-party applications.
8250         <p>Protection level: signature
8251    -->
8252    <permission android:name="android.permission.SYNC_FLAGS"
8253        android:protectionLevel="signature" />
8254
8255    <!-- @hide Allows internal applications to override flags in the FeatureFlags service.
8256         <p>Not for use by third-party applications.
8257         <p>Protection level: signature
8258    -->
8259    <permission android:name="android.permission.WRITE_FLAGS"
8260        android:protectionLevel="signature" />
8261
8262    <!-- @hide @SystemApi
8263         @FlaggedApi("android.app.get_binding_uid_importance")
8264         Allows to get the importance of an UID that has a service
8265         binding to the app.
8266         <p>Protection level: signature|privileged
8267    -->
8268    <permission android:name="android.permission.GET_BINDING_UID_IMPORTANCE"
8269        android:protectionLevel="signature|privileged" />
8270
8271    <!-- @hide Allows internal applications to manage displays.
8272        <p>This means intercept internal signals about displays being (dis-)connected
8273        and being able to enable or disable the external displays.
8274        <p>Not for use by third-party applications.
8275        <p>Protection level: signature
8276    -->
8277    <permission android:name="android.permission.MANAGE_DISPLAYS"
8278        android:protectionLevel="signature" />
8279
8280    <!-- @SystemApi Allows an app to track all preparations for a complete factory reset.
8281     <p>Protection level: signature|privileged
8282     @FlaggedApi("android.permission.flags.factory_reset_prep_permission_apis")
8283     @hide -->
8284    <permission android:name="android.permission.PREPARE_FACTORY_RESET"
8285        android:protectionLevel="signature|privileged" />
8286
8287    <!-- @SystemApi Allows focused window to override the default behavior of supported system keys.
8288        The following keycodes are supported:
8289        <p> KEYCODE_STEM_PRIMARY
8290        <p>If an app is granted this permission and has a focused window, it will be allowed to
8291           receive supported key events that are otherwise handled by the system. The app can choose
8292           to consume the key events and trigger its own behavior, in which case the default key
8293           behavior will be skipped.
8294        <p>For example, KEYCODE_STEM_PRIMARY by default opens recent app launcher. If the foreground
8295           fitness app is granted this permission, it can repurpose the KEYCODE_STEM_PRIMARY button
8296           to pause/resume the current fitness session.
8297        <p>Protection level: signature|privileged
8298        @FlaggedApi("com.android.input.flags.override_key_behavior_permission_apis")
8299        @hide -->
8300    <permission android:name="android.permission.OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW"
8301        android:protectionLevel="signature|privileged" />
8302
8303    <!-- @hide @SystemApi
8304        @FlaggedApi("android.view.flags.sensitive_content_app_protection_api")
8305        Allows apps with a NotificationListenerService to receive notifications with sensitive
8306        information
8307        <p>Apps with a NotificationListenerService without this permission will not be able
8308        to view certain types of sensitive information contained in notifications
8309        <p>Protection level: signature|role
8310    -->
8311    <permission android:name="android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS"
8312        android:protectionLevel="signature|role" />
8313
8314    <!-- @SystemApi
8315         @FlaggedApi("android.app.bic_client")
8316         Allows app to call BackgroundInstallControlManager API to retrieve silently installed apps
8317         for all users on device.
8318         <p>Apps with a BackgroundInstallControlManager client will not be able to call any API without
8319         this permission.
8320         <p>Protection level: signature|role
8321         @hide
8322     -->
8323    <permission android:name="android.permission.GET_BACKGROUND_INSTALLED_PACKAGES"
8324        android:protectionLevel="signature|role" />
8325
8326    <!-- @SystemApi Allows an application to read the system grammatical gender.
8327         @FlaggedApi("android.app.system_terms_of_address_enabled")
8328         <p>Protection level: signature|privileged
8329         @hide
8330    -->
8331    <permission android:name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER"
8332                android:protectionLevel="signature|privileged"/>
8333
8334    <!-- @SystemApi
8335        @FlaggedApi("android.content.pm.emergency_install_permission")
8336        Allows each app store in the system image to designate another app in the system image to
8337        update the app store
8338        <p>Protection level: signature|privileged
8339        @hide
8340    -->
8341    <permission android:name="android.permission.EMERGENCY_INSTALL_PACKAGES"
8342                android:protectionLevel="signature|privileged"/>
8343
8344    <!-- Allows internal applications to restrict display modes
8345       <p>Not for use by third-party applications.
8346       <p>Protection level: signature
8347       @hide
8348    -->
8349    <permission android:name="android.permission.RESTRICT_DISPLAY_MODES"
8350        android:protectionLevel="signature" />
8351
8352    <!-- Allows internal applications to override screen timeout temporarily
8353        <p>Protection level: signature
8354        <p>Not for use by third-party applications.
8355        @FlaggedApi("com.android.server.power.feature.flags.enable_early_screen_timeout_detector")
8356        @hide
8357    -->
8358    <permission android:name="android.permission.SCREEN_TIMEOUT_OVERRIDE"
8359                android:protectionLevel="signature" />
8360
8361    <!-- @SystemApi
8362        @FlaggedApi("android.security.fsverity_api")
8363        Allows app to setup fs-verity through FileIntegrityManager.
8364        <p>Protection level: signature|privileged
8365        @hide
8366    -->
8367    <permission android:name="android.permission.SETUP_FSVERITY"
8368                android:protectionLevel="signature|privileged"/>
8369
8370    <!--
8371        @TestApi
8372        Signature permission reserved for testing. This should never be used to
8373        gate any actual functionality.
8374        <p>
8375        Protection level: signature
8376        @hide
8377    -->
8378    <permission android:name="android.permission.RESERVED_FOR_TESTING_SIGNATURE"
8379                android:protectionLevel="signature"/>
8380
8381    <!-- Attribution for Geofencing service. -->
8382    <attribution android:tag="GeofencingService" android:label="@string/geofencing_service"/>
8383    <!-- Attribution for Country Detector. -->
8384    <attribution android:tag="CountryDetector" android:label="@string/country_detector"/>
8385    <!-- Attribution for Location service. -->
8386    <attribution android:tag="LocationService" android:label="@string/location_service"/>
8387    <!-- Attribution for Gnss service. -->
8388    <attribution android:tag="GnssService" android:label="@string/gnss_service"/>
8389    <!-- Attribution for Sensor Notification service. -->
8390    <attribution android:tag="SensorNotificationService"
8391             android:label="@string/sensor_notification_service"/>
8392    <!-- Attribution for Twilight service. -->
8393    <attribution android:tag="TwilightService" android:label="@string/twilight_service"/>
8394    <!-- Attribution for Gnss Time Update service. -->
8395    <attribution android:tag="GnssTimeUpdateService"
8396                 android:label="@string/gnss_time_update_service"/>
8397    <!-- Attribution for MusicRecognitionManagerService.
8398         <p>Not for use by third-party applications.</p> -->
8399    <attribution android:tag="MusicRecognitionManagerService"
8400        android:label="@string/music_recognition_manager_service"/>
8401    <!-- Attribution for Device Policy Manager service. -->
8402    <attribution android:tag="DevicePolicyManagerService"
8403        android:label="@string/device_policy_manager_service"/>
8404
8405    <application android:process="system"
8406                 android:persistent="true"
8407                 android:hasCode="false"
8408                 android:label="@string/android_system_label"
8409                 android:allowClearUserData="false"
8410                 android:backupAgent="com.android.server.backup.SystemBackupAgent"
8411                 android:killAfterRestore="false"
8412                 android:icon="@drawable/ic_launcher_android"
8413                 android:supportsRtl="true"
8414                 android:theme="@style/Theme.DeviceDefault.Light.DarkActionBar"
8415                 android:defaultToDeviceProtectedStorage="true"
8416                 android:forceQueryable="true"
8417                 android:directBootAware="true">
8418        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityShortcutChooserActivity"
8419                  android:exported="false"
8420                  android:theme="@style/Theme.DeviceDefault.Dialog.Alert.DayNight"
8421                  android:finishOnCloseSystemDialogs="true"
8422                  android:excludeFromRecents="true"
8423                  android:documentLaunchMode="never"
8424                  android:relinquishTaskIdentity="true"
8425                  android:process=":ui"
8426                  android:visibleToInstantApps="true">
8427            <intent-filter>
8428                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
8429                <category android:name="android.intent.category.DEFAULT" />
8430            </intent-filter>
8431        </activity>
8432        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityButtonChooserActivity"
8433                  android:exported="false"
8434                  android:theme="@style/AccessibilityButtonChooserDialog"
8435                  android:finishOnCloseSystemDialogs="true"
8436                  android:excludeFromRecents="true"
8437                  android:documentLaunchMode="never"
8438                  android:relinquishTaskIdentity="true"
8439                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
8440                  android:process=":ui"
8441                  android:visibleToInstantApps="true">
8442            <intent-filter>
8443                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
8444                <category android:name="android.intent.category.DEFAULT" />
8445            </intent-filter>
8446        </activity>
8447        <activity android:name="com.android.internal.app.NfcResolverActivity"
8448                android:theme="@style/Theme.Dialog.Alert"
8449                android:finishOnCloseSystemDialogs="true"
8450                android:excludeFromRecents="true"
8451                android:multiprocess="true"
8452                android:permission="android.permission.SHOW_CUSTOMIZED_RESOLVER"
8453                android:exported="true">
8454            <intent-filter android:priority="100" >
8455                <action android:name="android.nfc.action.SHOW_NFC_RESOLVER" />
8456                <category android:name="android.intent.category.DEFAULT" />
8457            </intent-filter>
8458        </activity>
8459        <activity android:name="com.android.internal.app.IntentForwarderActivity"
8460                android:finishOnCloseSystemDialogs="true"
8461                android:theme="@style/Theme.DeviceDefault.Resolver"
8462                android:excludeFromRecents="true"
8463                android:documentLaunchMode="never"
8464                android:relinquishTaskIdentity="true"
8465                android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
8466                android:label="@string/user_owner_label"
8467                android:exported="true"
8468                android:visibleToInstantApps="true"
8469                >
8470        </activity>
8471        <activity-alias android:name="com.android.internal.app.ForwardIntentToParent"
8472                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
8473                android:exported="true"
8474                android:label="@string/user_owner_label">
8475        </activity-alias>
8476        <activity-alias android:name="com.android.internal.app.ForwardIntentToManagedProfile"
8477                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
8478                android:icon="@drawable/ic_corp_badge"
8479                android:exported="true"
8480                android:label="@string/managed_profile_label">
8481        </activity-alias>
8482        <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
8483                android:theme="@style/Theme.DeviceDefault.System.Dialog.Alert"
8484                android:label="@string/heavy_weight_switcher_title"
8485                android:finishOnCloseSystemDialogs="true"
8486                android:excludeFromRecents="true"
8487                android:process=":ui">
8488        </activity>
8489        <activity android:name="com.android.internal.app.PlatLogoActivity"
8490                android:theme="@style/Theme.NoTitleBar.Fullscreen"
8491                android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
8492                android:enableOnBackInvokedCallback="true"
8493                android:icon="@drawable/platlogo"
8494                android:process=":ui">
8495        </activity>
8496        <activity android:name="com.android.internal.app.DisableCarModeActivity"
8497                android:theme="@style/Theme.NoDisplay"
8498                android:excludeFromRecents="true"
8499                android:process=":ui">
8500        </activity>
8501
8502        <activity android:name="android.accounts.ChooseAccountActivity"
8503                android:excludeFromRecents="true"
8504                android:exported="true"
8505                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
8506                android:label="@string/choose_account_label"
8507                android:process=":ui"
8508                android:visibleToInstantApps="true">
8509        </activity>
8510
8511        <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
8512                android:excludeFromRecents="true"
8513                android:exported="true"
8514                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
8515                android:label="@string/choose_account_label"
8516                android:process=":ui"
8517                android:visibleToInstantApps="true">
8518        </activity>
8519
8520        <activity android:name="android.accounts.ChooseAccountTypeActivity"
8521                android:excludeFromRecents="true"
8522                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
8523                android:label="@string/choose_account_label"
8524                android:process=":ui"
8525                android:visibleToInstantApps="true">
8526        </activity>
8527
8528        <activity android:name="android.accounts.CantAddAccountActivity"
8529                android:excludeFromRecents="true"
8530                android:exported="true"
8531                android:theme="@style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
8532                android:process=":ui">
8533        </activity>
8534
8535        <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
8536                android:excludeFromRecents="true"
8537                android:exported="true"
8538                android:theme="@style/GrantCredentialsPermissionActivity"
8539                android:process=":ui"
8540                android:visibleToInstantApps="true">
8541        </activity>
8542
8543        <activity android:name="android.content.SyncActivityTooManyDeletes"
8544               android:theme="@style/Theme.DeviceDefault.Light.Dialog"
8545               android:label="@string/sync_too_many_deletes"
8546               android:process=":ui">
8547        </activity>
8548
8549        <activity android:name="com.android.internal.app.ShutdownActivity"
8550            android:permission="android.permission.SHUTDOWN"
8551            android:theme="@style/Theme.NoDisplay"
8552            android:exported="true"
8553            android:excludeFromRecents="true">
8554            <intent-filter>
8555                <action android:name="com.android.internal.intent.action.REQUEST_SHUTDOWN" />
8556                <category android:name="android.intent.category.DEFAULT" />
8557            </intent-filter>
8558            <intent-filter>
8559                <action android:name="android.intent.action.REBOOT" />
8560                <category android:name="android.intent.category.DEFAULT" />
8561            </intent-filter>
8562        </activity>
8563
8564        <activity android:name="com.android.internal.app.SystemUserHomeActivity"
8565                  android:enabled="false"
8566                  android:process=":ui"
8567                  android:systemUserOnly="true"
8568                  android:exported="true"
8569                  android:theme="@style/Theme.Translucent.NoTitleBar">
8570            <intent-filter android:priority="-100">
8571                <action android:name="android.intent.action.MAIN" />
8572                <category android:name="android.intent.category.HOME" />
8573            </intent-filter>
8574        </activity>
8575
8576        <!-- Activity to prompt user if it's ok to create a new user sandbox for a
8577             specified account. -->
8578        <activity android:name="com.android.internal.app.ConfirmUserCreationActivity"
8579                android:excludeFromRecents="true"
8580                android:process=":ui"
8581                android:exported="true"
8582                android:theme="@style/Theme.Dialog.Confirmation">
8583            <intent-filter android:priority="1000">
8584                <action android:name="android.os.action.CREATE_USER" />
8585                <category android:name="android.intent.category.DEFAULT" />
8586            </intent-filter>
8587        </activity>
8588
8589        <activity android:name="com.android.internal.app.SuspendedAppActivity"
8590                  android:theme="@style/Theme.Dialog.Confirmation"
8591                  android:excludeFromRecents="true"
8592                  android:process=":ui">
8593        </activity>
8594
8595        <activity android:name="com.android.internal.app.UnlaunchableAppActivity"
8596                android:theme="@style/Theme.Dialog.Confirmation"
8597                android:excludeFromRecents="true"
8598                android:process=":ui">
8599        </activity>
8600
8601        <activity android:name="com.android.internal.app.SetScreenLockDialogActivity"
8602                  android:theme="@style/Theme.Dialog.Confirmation"
8603                  android:excludeFromRecents="true"
8604                  android:process=":ui">
8605        </activity>
8606
8607        <activity android:name="com.android.internal.app.BlockedAppActivity"
8608                android:theme="@style/Theme.Dialog.Confirmation"
8609                android:excludeFromRecents="true"
8610                android:lockTaskMode="always"
8611                android:process=":ui">
8612        </activity>
8613
8614        <!-- BlockedAppStreamingActivity is launched as the system user. -->
8615        <activity android:name="com.android.internal.app.BlockedAppStreamingActivity"
8616            android:theme="@style/Theme.Dialog.Confirmation"
8617            android:excludeFromRecents="true"
8618            android:showForAllUsers="true"
8619            android:process=":ui">
8620        </activity>
8621
8622        <activity android:name="com.android.internal.app.LaunchAfterAuthenticationActivity"
8623                  android:theme="@style/Theme.Translucent.NoTitleBar"
8624                  android:excludeFromRecents="true"
8625                  android:process=":ui">
8626        </activity>
8627
8628        <activity android:name="com.android.settings.notification.NotificationAccessConfirmationActivity"
8629                  android:theme="@style/Theme.Dialog.Confirmation"
8630                  android:excludeFromRecents="true">
8631        </activity>
8632
8633        <activity android:name="com.android.internal.app.HarmfulAppWarningActivity"
8634                  android:theme="@style/Theme.Dialog.Confirmation"
8635                  android:excludeFromRecents="true"
8636                  android:process=":ui"
8637                  android:label="@string/harmful_app_warning_title"
8638                  android:exported="false">
8639        </activity>
8640
8641        <activity android:name="com.android.server.notification.NASLearnMoreActivity"
8642                  android:theme="@style/Theme.Dialog.Confirmation"
8643                  android:excludeFromRecents="true"
8644                  android:exported="false">
8645        </activity>
8646
8647        <activity android:name="android.service.games.GameSessionTrampolineActivity"
8648                  android:excludeFromRecents="true"
8649                  android:exported="true"
8650                  android:permission="android.permission.MANAGE_GAME_ACTIVITY"
8651                  android:theme="@style/Theme.GameSessionTrampoline">
8652        </activity>
8653
8654        <receiver android:name="com.android.server.BootReceiver"
8655                android:exported="true"
8656                android:systemUserOnly="true">
8657            <intent-filter android:priority="1000">
8658                <action android:name="android.intent.action.BOOT_COMPLETED" />
8659            </intent-filter>
8660        </receiver>
8661
8662        <receiver android:name="com.android.server.updates.CertPinInstallReceiver"
8663                android:exported="true"
8664                android:permission="android.permission.UPDATE_CONFIG">
8665            <intent-filter>
8666                <action android:name="android.intent.action.UPDATE_PINS" />
8667                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8668            </intent-filter>
8669        </receiver>
8670
8671        <receiver android:name="com.android.server.updates.IntentFirewallInstallReceiver"
8672                android:exported="true"
8673                android:permission="android.permission.UPDATE_CONFIG">
8674            <intent-filter>
8675                <action android:name="android.intent.action.UPDATE_INTENT_FIREWALL" />
8676                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8677            </intent-filter>
8678        </receiver>
8679
8680        <receiver android:name="com.android.server.updates.SmsShortCodesInstallReceiver"
8681                android:exported="true"
8682                android:permission="android.permission.UPDATE_CONFIG">
8683            <intent-filter>
8684                <action android:name="android.intent.action.UPDATE_SMS_SHORT_CODES" />
8685                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8686            </intent-filter>
8687        </receiver>
8688
8689        <receiver android:name="com.android.server.updates.NetworkWatchlistInstallReceiver"
8690                  android:exported="true"
8691                  android:permission="android.permission.UPDATE_CONFIG">
8692            <intent-filter>
8693                <action android:name="android.intent.action.UPDATE_NETWORK_WATCHLIST" />
8694                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8695            </intent-filter>
8696        </receiver>
8697
8698        <receiver android:name="com.android.server.updates.ApnDbInstallReceiver"
8699                android:exported="true"
8700                android:permission="android.permission.UPDATE_CONFIG">
8701            <intent-filter>
8702                <action android:name="com.android.internal.intent.action.UPDATE_APN_DB" />
8703                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8704            </intent-filter>
8705        </receiver>
8706
8707        <receiver android:name="com.android.server.updates.CarrierProvisioningUrlsInstallReceiver"
8708                android:exported="true"
8709                android:permission="android.permission.UPDATE_CONFIG">
8710            <intent-filter>
8711                <action android:name="android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS" />
8712                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8713            </intent-filter>
8714        </receiver>
8715
8716        <receiver android:name="com.android.server.updates.CertificateTransparencyLogInstallReceiver"
8717                android:exported="true"
8718                android:permission="android.permission.UPDATE_CONFIG">
8719            <intent-filter>
8720                <action android:name="android.intent.action.UPDATE_CT_LOGS" />
8721                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8722            </intent-filter>
8723        </receiver>
8724
8725        <receiver android:name="com.android.server.updates.LangIdInstallReceiver"
8726                android:exported="true"
8727                android:permission="android.permission.UPDATE_CONFIG">
8728            <intent-filter>
8729                <action android:name="android.intent.action.UPDATE_LANG_ID" />
8730                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8731            </intent-filter>
8732        </receiver>
8733
8734        <receiver android:name="com.android.server.updates.SmartSelectionInstallReceiver"
8735                android:exported="true"
8736                android:permission="android.permission.UPDATE_CONFIG">
8737            <intent-filter>
8738                <action android:name="android.intent.action.UPDATE_SMART_SELECTION" />
8739                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8740            </intent-filter>
8741        </receiver>
8742
8743        <receiver android:name="com.android.server.updates.ConversationActionsInstallReceiver"
8744                  android:exported="true"
8745                  android:permission="android.permission.UPDATE_CONFIG">
8746            <intent-filter>
8747                <action android:name="android.intent.action.UPDATE_CONVERSATION_ACTIONS" />
8748                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8749            </intent-filter>
8750        </receiver>
8751
8752        <receiver android:name="com.android.server.updates.CarrierIdInstallReceiver"
8753                  android:exported="true"
8754                  android:permission="android.permission.UPDATE_CONFIG">
8755            <intent-filter>
8756                <action android:name="android.os.action.UPDATE_CARRIER_ID_DB" />
8757                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8758            </intent-filter>
8759        </receiver>
8760
8761        <receiver android:name="com.android.server.updates.EmergencyNumberDbInstallReceiver"
8762                  android:exported="true"
8763                  android:permission="android.permission.UPDATE_CONFIG">
8764            <intent-filter>
8765                <action android:name="android.os.action.UPDATE_EMERGENCY_NUMBER_DB" />
8766                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8767            </intent-filter>
8768        </receiver>
8769
8770        <receiver android:name="com.android.server.MasterClearReceiver"
8771            android:exported="true"
8772            android:permission="android.permission.MASTER_CLEAR">
8773            <intent-filter
8774                    android:priority="100" >
8775                <!-- For Checkin, Settings, etc.: action=FACTORY_RESET -->
8776                <action android:name="android.intent.action.FACTORY_RESET" />
8777                <!-- As above until all the references to the deprecated MASTER_CLEAR get updated to
8778                     FACTORY_RESET. -->
8779                <action android:name="android.intent.action.MASTER_CLEAR" />
8780
8781                <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
8782                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
8783                <category android:name="android.intent.category.MASTER_CLEAR" />
8784            </intent-filter>
8785        </receiver>
8786
8787        <receiver android:name="com.android.server.WallpaperUpdateReceiver"
8788                  android:exported="true"
8789                  android:permission="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY">
8790            <intent-filter>
8791                <action android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY"/>
8792            </intent-filter>
8793        </receiver>
8794
8795        <!-- Broadcast Receiver listens to sufficient verifier broadcast from Package Manager
8796            when installing new SDK. Verification of SDK code during installation time is run
8797            to determine compatibility with privacy sandbox restrictions. -->
8798        <receiver android:name="com.android.server.sdksandbox.SdkSandboxVerifierReceiver"
8799                 android:exported="false">
8800            <intent-filter>
8801                <action android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION"/>
8802            </intent-filter>
8803        </receiver>
8804
8805        <service android:name="android.hardware.location.GeofenceHardwareService"
8806            android:permission="android.permission.LOCATION_HARDWARE"
8807            android:exported="false" />
8808
8809        <service android:name="com.android.server.MountServiceIdler"
8810                 android:exported="true"
8811                 android:permission="android.permission.BIND_JOB_SERVICE" >
8812        </service>
8813
8814        <service android:name="com.android.server.SmartStorageMaintIdler"
8815                android:exported="true"
8816                android:permission="android.permission.BIND_JOB_SERVICE" >
8817        </service>
8818
8819        <service android:name="com.android.server.ZramWriteback"
8820                 android:exported="false"
8821                 android:permission="android.permission.BIND_JOB_SERVICE" >
8822        </service>
8823
8824        <service android:name="com.android.server.backup.FullBackupJob"
8825                 android:exported="true"
8826                 android:permission="android.permission.BIND_JOB_SERVICE" >
8827        </service>
8828
8829        <service android:name="com.android.server.backup.KeyValueBackupJob"
8830                 android:permission="android.permission.BIND_JOB_SERVICE" >
8831        </service>
8832
8833        <service android:name="com.android.server.content.SyncJobService"
8834                 android:permission="android.permission.BIND_JOB_SERVICE" >
8835        </service>
8836
8837        <service android:name="com.android.server.pm.BackgroundDexOptJobService"
8838                 android:exported="true"
8839                 android:permission="android.permission.BIND_JOB_SERVICE">
8840        </service>
8841
8842        <service android:name="com.android.server.pm.DynamicCodeLoggingService"
8843                 android:permission="android.permission.BIND_JOB_SERVICE">
8844        </service>
8845
8846        <service android:name="com.android.server.selinux.SelinuxAuditLogsService"
8847                 android:permission="android.permission.BIND_JOB_SERVICE">
8848        </service>
8849
8850        <service android:name="com.android.server.compos.IsolatedCompilationJobService"
8851                 android:permission="android.permission.BIND_JOB_SERVICE">
8852        </service>
8853
8854        <service android:name="com.android.system.virtualmachine.SecretkeeperJobService"
8855                 android:permission="android.permission.BIND_JOB_SERVICE">
8856        </service>
8857
8858        <service android:name="com.android.server.PruneInstantAppsJobService"
8859                 android:permission="android.permission.BIND_JOB_SERVICE" >
8860        </service>
8861
8862        <service android:name="com.android.server.storage.DiskStatsLoggingService"
8863                 android:permission="android.permission.BIND_JOB_SERVICE" >
8864        </service>
8865
8866        <service android:name="com.android.server.PreloadsFileCacheExpirationJobService"
8867                 android:permission="android.permission.BIND_JOB_SERVICE" >
8868        </service>
8869
8870        <service android:name="com.android.server.camera.CameraStatsJobService"
8871                 android:permission="android.permission.BIND_JOB_SERVICE" >
8872        </service>
8873
8874        <service android:name="com.android.server.usage.UsageStatsIdleService"
8875                 android:permission="android.permission.BIND_JOB_SERVICE" >
8876        </service>
8877
8878        <service android:name="com.android.server.net.watchlist.ReportWatchlistJobService"
8879                 android:permission="android.permission.BIND_JOB_SERVICE" >
8880        </service>
8881
8882        <service android:name="com.android.server.display.BrightnessIdleJob"
8883                 android:permission="android.permission.BIND_JOB_SERVICE" >
8884        </service>
8885
8886        <service android:name="com.android.server.people.data.DataMaintenanceService"
8887                 android:permission="android.permission.BIND_JOB_SERVICE" >
8888        </service>
8889
8890        <service android:name="com.android.server.profcollect.ProfcollectForwardingService$ProfcollectBGJobService"
8891                 android:permission="android.permission.BIND_JOB_SERVICE" >
8892        </service>
8893
8894        <service android:name="com.android.server.pm.GentleUpdateHelper$Service"
8895            android:permission="android.permission.BIND_JOB_SERVICE" >
8896        </service>
8897
8898        <service
8899                android:name="com.android.server.autofill.AutofillCompatAccessibilityService"
8900                android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
8901                android:visibleToInstantApps="true"
8902                android:exported="true">
8903            <meta-data
8904                    android:name="android.accessibilityservice"
8905                    android:resource="@xml/autofill_compat_accessibility_service" />
8906        </service>
8907
8908        <service android:name="com.android.server.blob.BlobStoreIdleJobService"
8909                 android:permission="android.permission.BIND_JOB_SERVICE">
8910        </service>
8911
8912        <service android:name="com.android.server.companion.association.InactiveAssociationsRemovalService"
8913                 android:permission="android.permission.BIND_JOB_SERVICE">
8914        </service>
8915
8916        <service android:name="com.android.server.appsearch.contactsindexer.ContactsIndexerMaintenanceService"
8917                 android:permission="android.permission.BIND_JOB_SERVICE">
8918        </service>
8919
8920        <service android:name="com.android.server.BinaryTransparencyService$UpdateMeasurementsJobService"
8921                 android:permission="android.permission.BIND_JOB_SERVICE">
8922        </service>
8923
8924        <service android:name="com.android.server.notification.ReviewNotificationPermissionsJobService"
8925                 android:permission="android.permission.BIND_JOB_SERVICE">
8926        </service>
8927
8928        <service android:name="com.android.server.notification.NotificationHistoryJobService"
8929                 android:permission="android.permission.BIND_JOB_SERVICE" >
8930        </service>
8931
8932        <service android:name="com.android.server.notification.NotificationBitmapJobService"
8933            android:permission="android.permission.BIND_JOB_SERVICE" >
8934        </service>
8935
8936        <service android:name="com.android.server.healthconnect.HealthConnectDailyService"
8937                 android:permission="android.permission.BIND_JOB_SERVICE" >
8938        </service>
8939
8940        <service android:name="com.android.server.healthconnect.migration.MigrationBroadcastJobService"
8941            android:permission="android.permission.BIND_JOB_SERVICE">
8942        </service>
8943
8944        <service android:name="com.android.server.healthconnect.backuprestore.BackupRestore$BackupRestoreJobService"
8945            android:permission="android.permission.BIND_JOB_SERVICE">
8946        </service>
8947
8948        <service android:name="com.android.server.pm.PackageManagerShellCommandDataLoader"
8949            android:exported="false">
8950            <intent-filter>
8951                <action android:name="android.intent.action.LOAD_DATA"/>
8952            </intent-filter>
8953        </service>
8954
8955        <!-- TODO: Move to ExtServices or relevant component. -->
8956        <service android:name="android.service.selectiontoolbar.DefaultSelectionToolbarRenderService"
8957                 android:permission="android.permission.BIND_SELECTION_TOOLBAR_RENDER_SERVICE"
8958                 android:process=":ui"
8959                 android:exported="false">
8960            <intent-filter>
8961                <action android:name="android.service.selectiontoolbar.SelectionToolbarRenderService"/>
8962            </intent-filter>
8963        </service>
8964
8965        <service android:name="com.android.server.art.BackgroundDexoptJobService"
8966                 android:permission="android.permission.BIND_JOB_SERVICE" >
8967        </service>
8968
8969        <service android:name="com.android.server.companion.datatransfer.contextsync.CallMetadataSyncInCallService"
8970                 android:permission="android.permission.BIND_INCALL_SERVICE"
8971                 android:enabled="@bool/config_enableContextSyncInCall"
8972                 android:exported="true">
8973            <meta-data android:name="android.telecom.INCLUDE_SELF_MANAGED_CALLS"
8974                       android:value="true" />
8975            <intent-filter>
8976                <action android:name="android.telecom.InCallService"/>
8977            </intent-filter>
8978        </service>
8979
8980        <service android:name="com.android.server.companion.datatransfer.contextsync.CallMetadataSyncConnectionService"
8981                 android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
8982                 android:exported="true">
8983            <intent-filter>
8984                <action android:name="android.telecom.ConnectionService"/>
8985            </intent-filter>
8986        </service>
8987
8988        <provider
8989            android:name="com.android.server.textclassifier.IconsContentProvider"
8990            android:authorities="com.android.textclassifier.icons"
8991            android:singleUser="true"
8992            android:enabled="true"
8993            android:exported="true">
8994        </provider>
8995
8996        <meta-data
8997            android:name="com.android.server.patch.25239169"
8998            android:value="true" />
8999
9000    </application>
9001
9002</manifest>
9003