xref: /aosp_15_r20/frameworks/base/core/res/AndroidManifest.xml (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/* //device/apps/common/AndroidManifest.xml
4**
5** Copyright 2006, The Android Open Source Project
6**
7** Licensed under the Apache License, Version 2.0 (the "License");
8** you may not use this file except in compliance with the License.
9** You may obtain a copy of the License at
10**
11**     http://www.apache.org/licenses/LICENSE-2.0
12**
13** Unless required by applicable law or agreed to in writing, software
14** distributed under the License is distributed on an "AS IS" BASIS,
15** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16** See the License for the specific language governing permissions and
17** limitations under the License.
18*/
19-->
20<manifest xmlns:android="http://schemas.android.com/apk/res/android"
21    package="android" coreApp="true" android:sharedUserId="android.uid.system"
22    android:sharedUserLabel="@string/android_system_label">
23
24    <!-- ================================================ -->
25    <!-- Special broadcasts that only the system can send -->
26    <!-- ================================================ -->
27    <eat-comment />
28
29    <protected-broadcast android:name="android.intent.action.SCREEN_OFF" />
30    <protected-broadcast android:name="android.intent.action.SCREEN_ON" />
31    <protected-broadcast android:name="android.intent.action.USER_PRESENT" />
32    <protected-broadcast android:name="android.intent.action.TIME_SET" />
33    <protected-broadcast android:name="android.intent.action.TIME_TICK" />
34    <protected-broadcast android:name="android.intent.action.TIMEZONE_CHANGED" />
35    <protected-broadcast android:name="android.intent.action.DATE_CHANGED" />
36    <protected-broadcast android:name="android.intent.action.PRE_BOOT_COMPLETED" />
37    <protected-broadcast android:name="android.intent.action.BOOT_COMPLETED" />
38    <protected-broadcast android:name="android.intent.action.PACKAGE_INSTALL" />
39    <protected-broadcast android:name="android.intent.action.PACKAGE_ADDED" />
40    <protected-broadcast android:name="android.intent.action.PACKAGE_REPLACED" />
41    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_REPLACED" />
42    <protected-broadcast android:name="android.intent.action.PACKAGE_REMOVED" />
43    <protected-broadcast android:name="android.intent.action.PACKAGE_REMOVED_INTERNAL" />
44    <protected-broadcast android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
45    <protected-broadcast android:name="android.intent.action.PACKAGE_CHANGED" />
46    <protected-broadcast android:name="android.intent.action.PACKAGE_FULLY_LOADED" />
47    <protected-broadcast android:name="android.intent.action.PACKAGE_ENABLE_ROLLBACK" />
48    <protected-broadcast android:name="android.intent.action.CANCEL_ENABLE_ROLLBACK" />
49    <protected-broadcast android:name="android.intent.action.ROLLBACK_COMMITTED" />
50    <protected-broadcast android:name="android.intent.action.PACKAGE_RESTARTED" />
51    <protected-broadcast android:name="android.intent.action.PACKAGE_UNSTOPPED" />
52    <protected-broadcast android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
53    <protected-broadcast android:name="android.intent.action.PACKAGE_FIRST_LAUNCH" />
54    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION" />
55    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION" />
56    <protected-broadcast android:name="android.intent.action.PACKAGE_VERIFIED" />
57    <protected-broadcast android:name="android.intent.action.PACKAGES_SUSPENDED" />
58    <protected-broadcast android:name="android.intent.action.PACKAGES_UNSUSPENDED" />
59    <protected-broadcast android:name="android.intent.action.PACKAGES_SUSPENSION_CHANGED" />
60    <protected-broadcast android:name="android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY" />
61    <protected-broadcast android:name="android.intent.action.DISTRACTING_PACKAGES_CHANGED" />
62    <protected-broadcast android:name="android.intent.action.ACTION_PREFERRED_ACTIVITY_CHANGED" />
63    <protected-broadcast android:name="android.intent.action.UID_REMOVED" />
64    <protected-broadcast android:name="android.intent.action.QUERY_PACKAGE_RESTART" />
65    <protected-broadcast android:name="android.intent.action.CONFIGURATION_CHANGED" />
66    <protected-broadcast android:name="android.intent.action.SPLIT_CONFIGURATION_CHANGED" />
67    <protected-broadcast android:name="android.intent.action.LOCALE_CHANGED" />
68    <protected-broadcast android:name="android.intent.action.APPLICATION_LOCALE_CHANGED" />
69    <protected-broadcast android:name="android.intent.action.BATTERY_CHANGED" />
70    <protected-broadcast android:name="android.intent.action.BATTERY_LEVEL_CHANGED" />
71    <protected-broadcast android:name="android.intent.action.BATTERY_LOW" />
72    <protected-broadcast android:name="android.intent.action.BATTERY_OKAY" />
73    <protected-broadcast android:name="android.intent.action.ACTION_POWER_CONNECTED" />
74    <protected-broadcast android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
75    <protected-broadcast android:name="android.intent.action.ACTION_SHUTDOWN" />
76    <protected-broadcast android:name="android.intent.action.CHARGING" />
77    <protected-broadcast android:name="android.intent.action.DISCHARGING" />
78    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_LOW" />
79    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_OK" />
80    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_FULL" />
81    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_NOT_FULL" />
82    <protected-broadcast android:name="android.intent.action.NEW_OUTGOING_CALL" />
83    <protected-broadcast android:name="android.intent.action.REBOOT" />
84    <protected-broadcast android:name="android.intent.action.DOCK_EVENT" />
85    <protected-broadcast android:name="android.intent.action.THERMAL_EVENT" />
86    <protected-broadcast android:name="android.intent.action.MASTER_CLEAR_NOTIFICATION" />
87    <protected-broadcast android:name="android.intent.action.USER_ADDED" />
88    <protected-broadcast android:name="android.intent.action.USER_REMOVED" />
89    <protected-broadcast android:name="android.intent.action.USER_STARTING" />
90    <protected-broadcast android:name="android.intent.action.USER_STARTED" />
91    <protected-broadcast android:name="android.intent.action.USER_STOPPING" />
92    <protected-broadcast android:name="android.intent.action.USER_STOPPED" />
93    <protected-broadcast android:name="android.intent.action.USER_BACKGROUND" />
94    <protected-broadcast android:name="android.intent.action.USER_FOREGROUND" />
95    <protected-broadcast android:name="android.intent.action.USER_SWITCHED" />
96    <protected-broadcast android:name="android.intent.action.USER_INITIALIZE" />
97    <protected-broadcast android:name="android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION" />
98    <protected-broadcast android:name="android.intent.action.DOMAINS_NEED_VERIFICATION" />
99    <protected-broadcast android:name="android.intent.action.OVERLAY_ADDED" />
100    <protected-broadcast android:name="android.intent.action.OVERLAY_CHANGED" />
101    <protected-broadcast android:name="android.intent.action.OVERLAY_REMOVED" />
102    <protected-broadcast android:name="android.intent.action.OVERLAY_PRIORITY_CHANGED" />
103    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_SUSPENDED" />
104    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_UNSUSPENDED" />
105    <protected-broadcast android:name="android.intent.action.UNARCHIVE_PACKAGE" />
106
107    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED" />
108    <protected-broadcast android:name="android.os.action.DEVICE_IDLE_MODE_CHANGED" />
109    <protected-broadcast android:name="android.os.action.POWER_SAVE_WHITELIST_CHANGED" />
110    <protected-broadcast android:name="android.os.action.POWER_SAVE_TEMP_WHITELIST_CHANGED" />
111    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED_INTERNAL" />
112    <protected-broadcast android:name="android.os.action.LOW_POWER_STANDBY_ENABLED_CHANGED" />
113    <protected-broadcast android:name="android.os.action.LOW_POWER_STANDBY_POLICY_CHANGED" />
114    <protected-broadcast android:name="android.os.action.LOW_POWER_STANDBY_PORTS_CHANGED" />
115    <protected-broadcast android:name="android.os.action.ENHANCED_DISCHARGE_PREDICTION_CHANGED" />
116
117    <!-- @deprecated This is rarely used and will be phased out soon. -->
118    <protected-broadcast android:name="android.os.action.SCREEN_BRIGHTNESS_BOOST_CHANGED" />
119
120    <protected-broadcast android:name="android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL" />
121
122    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE" />
123    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE" />
124    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE_PRIORITIZED" />
125    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE_PRIORITIZED" />
126    <protected-broadcast android:name="android.app.action.ENTER_DESK_MODE" />
127    <protected-broadcast android:name="android.app.action.EXIT_DESK_MODE" />
128    <protected-broadcast android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
129
130    <protected-broadcast android:name="android.app.action.USER_ADDED" />
131    <protected-broadcast android:name="android.app.action.USER_REMOVED" />
132    <protected-broadcast android:name="android.app.action.USER_STARTED" />
133    <protected-broadcast android:name="android.app.action.USER_STOPPED" />
134    <protected-broadcast android:name="android.app.action.USER_SWITCHED" />
135
136    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARING_DECLINED" />
137    <protected-broadcast android:name="android.app.action.BUGREPORT_FAILED" />
138    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARE" />
139    <protected-broadcast android:name="android.app.action.SHOW_DEVICE_MONITORING_DIALOG" />
140    <protected-broadcast android:name="android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED" />
141    <protected-broadcast android:name="android.intent.action.INCIDENT_REPORT_READY" />
142
143    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_UPDATE_OPTIONS" />
144    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DELETED" />
145    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DISABLED" />
146    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLED" />
147    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED" />
148    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_RESTORED" />
149    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLE_AND_UPDATE" />
150
151    <protected-broadcast android:name="android.os.action.SETTING_RESTORED" />
152
153    <protected-broadcast android:name="android.app.backup.intent.CLEAR" />
154    <protected-broadcast android:name="android.app.backup.intent.INIT" />
155
156    <protected-broadcast android:name="android.bluetooth.intent.DISCOVERABLE_TIMEOUT" />
157    <protected-broadcast android:name="android.bluetooth.action.AUTO_ON_STATE_CHANGED" />
158    <protected-broadcast android:name="android.bluetooth.action.CONNECTION_STATE_CHANGED" />
159    <protected-broadcast android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
160    <protected-broadcast android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
161    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
162    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
163    <protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
164    <protected-broadcast android:name="android.bluetooth.adapter.action.BLUETOOTH_ADDRESS_CHANGED" />
165    <protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
166    <protected-broadcast android:name="android.bluetooth.device.action.UUID" />
167    <protected-broadcast android:name="android.bluetooth.device.action.MAS_INSTANCE" />
168    <protected-broadcast android:name="android.bluetooth.device.action.ALIAS_CHANGED" />
169    <protected-broadcast android:name="android.bluetooth.device.action.FOUND" />
170    <protected-broadcast android:name="android.bluetooth.device.action.CLASS_CHANGED" />
171    <protected-broadcast android:name="android.bluetooth.device.action.ACL_CONNECTED" />
172    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
173    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
174    <protected-broadcast android:name="android.bluetooth.device.action.NAME_CHANGED" />
175    <protected-broadcast android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
176    <protected-broadcast android:name="android.bluetooth.device.action.NAME_FAILED" />
177    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
178    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
179    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
180    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL" />
181    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST" />
182    <protected-broadcast android:name="android.bluetooth.device.action.KEY_MISSING" />
183    <protected-broadcast android:name="android.bluetooth.device.action.SDP_RECORD" />
184    <protected-broadcast android:name="android.bluetooth.device.action.BATTERY_LEVEL_CHANGED" />
185    <protected-broadcast android:name="android.bluetooth.device.action.REMOTE_ISSUE_OCCURRED" />
186    <protected-broadcast android:name="android.bluetooth.devicepicker.action.LAUNCH" />
187    <protected-broadcast android:name="android.bluetooth.devicepicker.action.DEVICE_SELECTED" />
188    <protected-broadcast
189        android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
190    <protected-broadcast
191        android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />
192    <protected-broadcast
193        android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
194    <protected-broadcast
195        android:name="android.bluetooth.headset.action.HF_INDICATORS_VALUE_CHANGED" />
196    <protected-broadcast
197        android:name="android.bluetooth.headset.profile.action.ACTIVE_DEVICE_CHANGED" />
198    <protected-broadcast
199        android:name="android.bluetooth.headsetclient.profile.action.CONNECTION_STATE_CHANGED" />
200    <protected-broadcast
201        android:name="android.bluetooth.headsetclient.profile.action.AUDIO_STATE_CHANGED" />
202    <protected-broadcast
203        android:name="android.bluetooth.headsetclient.profile.action.AG_EVENT" />
204    <protected-broadcast
205        android:name="android.bluetooth.headsetclient.profile.action.AG_CALL_CHANGED" />
206    <protected-broadcast
207        android:name="android.bluetooth.headsetclient.profile.action.RESULT" />
208    <protected-broadcast
209        android:name="android.bluetooth.headsetclient.profile.action.LAST_VTAG" />
210    <protected-broadcast
211        android:name="android.bluetooth.headsetclient.profile.action.NETWORK_SERVICE_STATE_CHANGED" />
212    <protected-broadcast
213        android:name="android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED" />
214    <protected-broadcast
215        android:name="android.bluetooth.hearingaid.profile.action.PLAYING_STATE_CHANGED" />
216    <protected-broadcast
217        android:name="android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED" />
218    <protected-broadcast android:name="android.bluetooth.action.CSIS_CONNECTION_STATE_CHANGED" />
219    <protected-broadcast android:name="android.bluetooth.action.CSIS_DEVICE_AVAILABLE" />
220    <protected-broadcast android:name="android.bluetooth.action.CSIS_SET_MEMBER_AVAILABLE" />
221    <protected-broadcast
222        android:name="android.bluetooth.volume-control.profile.action.CONNECTION_STATE_CHANGED" />
223    <protected-broadcast
224        android:name="android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED" />
225    <protected-broadcast
226        android:name="android.bluetooth.a2dp.profile.action.ACTIVE_DEVICE_CHANGED" />
227    <protected-broadcast
228        android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
229    <protected-broadcast
230        android:name="android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED" />
231    <protected-broadcast
232        android:name="android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED" />
233    <protected-broadcast
234        android:name="android.bluetooth.a2dp-sink.profile.action.PLAYING_STATE_CHANGED" />
235    <protected-broadcast
236        android:name="android.bluetooth.a2dp-sink.profile.action.AUDIO_CONFIG_CHANGED" />
237    <protected-broadcast
238        android:name="android.bluetooth.avrcp-controller.profile.action.BROWSE_CONNECTION_STATE_CHANGED" />
239    <protected-broadcast
240        android:name="android.bluetooth.avrcp-controller.profile.action.CONNECTION_STATE_CHANGED" />
241    <protected-broadcast
242        android:name="android.bluetooth.avrcp-controller.profile.action.FOLDER_LIST" />
243    <protected-broadcast
244        android:name="android.bluetooth.avrcp-controller.profile.action.PLAYER_SETTING" />
245    <protected-broadcast
246        android:name="android.bluetooth.avrcp-controller.profile.action.TRACK_EVENT" />
247    <protected-broadcast
248        android:name="android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED" />
249    <protected-broadcast
250        android:name="android.bluetooth.input.profile.action.IDLE_TIME_CHANGED" />
251    <protected-broadcast
252        android:name="android.bluetooth.input.profile.action.PROTOCOL_MODE_CHANGED" />
253    <protected-broadcast
254        android:name="android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS" />
255    <protected-broadcast
256        android:name="android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED" />
257    <protected-broadcast
258        android:name="android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED" />
259    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.CONNECTION_STATE_CHANGED" />
260    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_RECEIVED" />
261    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_SENT_SUCCESSFULLY" />
262    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELIVERED_SUCCESSFULLY" />
263    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_READ_STATUS_CHANGED" />
264    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELETED_STATUS_CHANGED" />
265    <protected-broadcast
266        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
267    <protected-broadcast
268        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
269    <protected-broadcast
270        android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" />
271    <protected-broadcast android:name="android.bluetooth.action.HAP_CONNECTION_STATE_CHANGED" />
272    <protected-broadcast android:name="android.bluetooth.action.HAP_DEVICE_AVAILABLE" />
273    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_CONNECTION_STATE_CHANGED" />
274    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_ACTIVE_DEVICE_CHANGED" />
275    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_CONF_CHANGED" />
276    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_GROUP_NODE_STATUS_CHANGED" />
277    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_GROUP_STATUS_CHANGED" />
278    <protected-broadcast
279        android:name="android.bluetooth.action.TETHERING_STATE_CHANGED" />
280    <protected-broadcast android:name="android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED" />
281    <protected-broadcast android:name="android.bluetooth.pbapclient.profile.action.CONNECTION_STATE_CHANGED" />
282    <protected-broadcast android:name="android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED" />
283    <protected-broadcast android:name="android.btopp.intent.action.INCOMING_FILE_NOTIFICATION" />
284    <protected-broadcast android:name="android.btopp.intent.action.USER_CONFIRMATION_TIMEOUT" />
285    <protected-broadcast android:name="android.btopp.intent.action.LIST" />
286    <protected-broadcast android:name="android.btopp.intent.action.OPEN_OUTBOUND" />
287    <protected-broadcast android:name="android.btopp.intent.action.HIDE_COMPLETE" />
288    <protected-broadcast android:name="android.btopp.intent.action.CONFIRM" />
289    <protected-broadcast android:name="android.btopp.intent.action.HIDE" />
290    <protected-broadcast android:name="android.btopp.intent.action.RETRY" />
291    <protected-broadcast android:name="android.btopp.intent.action.OPEN" />
292    <protected-broadcast android:name="android.btopp.intent.action.OPEN_INBOUND" />
293    <protected-broadcast android:name="android.btopp.intent.action.TRANSFER_COMPLETE" />
294    <protected-broadcast android:name="android.btopp.intent.action.ACCEPT" />
295    <protected-broadcast android:name="android.btopp.intent.action.DECLINE" />
296    <protected-broadcast android:name="com.android.bluetooth.gatt.REFRESH_BATCHED_SCAN" />
297    <protected-broadcast android:name="com.android.bluetooth.pbap.authchall" />
298    <protected-broadcast android:name="com.android.bluetooth.pbap.userconfirmtimeout" />
299    <protected-broadcast android:name="com.android.bluetooth.pbap.authresponse" />
300    <protected-broadcast android:name="com.android.bluetooth.pbap.authcancelled" />
301    <protected-broadcast android:name="com.android.bluetooth.sap.USER_CONFIRM_TIMEOUT" />
302    <protected-broadcast android:name="com.android.bluetooth.sap.action.DISCONNECT_ACTION" />
303
304    <protected-broadcast android:name="android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED" />
305
306    <protected-broadcast android:name="android.hardware.hdmi.action.OSD_MESSAGE" />
307    <protected-broadcast android:name="android.hardware.hdmi.action.ON_ACTIVE_SOURCE_RECOVERED_DISMISS_UI" />
308
309    <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" />
310    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_CHANGED" />
311    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_COMPLIANCE_CHANGED" />
312    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
313    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_DETACHED" />
314    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE" />
315    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
316    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
317
318    <protected-broadcast android:name="android.intent.action.HEADSET_PLUG" />
319    <protected-broadcast android:name="android.media.action.HDMI_AUDIO_PLUG" />
320    <protected-broadcast android:name="android.media.action.MICROPHONE_MUTE_CHANGED" />
321    <protected-broadcast android:name="android.media.action.SPEAKERPHONE_STATE_CHANGED" />
322
323    <protected-broadcast android:name="android.media.AUDIO_BECOMING_NOISY" />
324    <protected-broadcast android:name="android.media.RINGER_MODE_CHANGED" />
325    <protected-broadcast android:name="android.media.VIBRATE_SETTING_CHANGED" />
326    <protected-broadcast android:name="android.media.VOLUME_CHANGED_ACTION" />
327    <protected-broadcast android:name="android.media.MASTER_VOLUME_CHANGED_ACTION" />
328    <protected-broadcast android:name="android.media.MASTER_MUTE_CHANGED_ACTION" />
329    <protected-broadcast android:name="android.media.MASTER_MONO_CHANGED_ACTION" />
330    <protected-broadcast android:name="android.media.MASTER_BALANCE_CHANGED_ACTION" />
331    <protected-broadcast android:name="android.media.SCO_AUDIO_STATE_CHANGED" />
332    <protected-broadcast android:name="android.media.ACTION_SCO_AUDIO_STATE_UPDATED" />
333    <protected-broadcast android:name="com.android.server.audio.action.CHECK_MUSIC_ACTIVE" />
334
335    <protected-broadcast android:name="android.intent.action.MEDIA_REMOVED" />
336    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTED" />
337    <protected-broadcast android:name="android.intent.action.MEDIA_CHECKING" />
338    <protected-broadcast android:name="android.intent.action.MEDIA_NOFS" />
339    <protected-broadcast android:name="android.intent.action.MEDIA_MOUNTED" />
340    <protected-broadcast android:name="android.intent.action.MEDIA_SHARED" />
341    <protected-broadcast android:name="android.intent.action.MEDIA_UNSHARED" />
342    <protected-broadcast android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
343    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTABLE" />
344    <protected-broadcast android:name="android.intent.action.MEDIA_EJECT" />
345
346    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL" />
347    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE" />
348    <!-- @deprecated.  Only {@link android.net.ConnectivityManager.CONNECTIVITY_ACTION} is sent. -->
349    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE" />
350    <protected-broadcast android:name="android.net.conn.DATA_ACTIVITY_CHANGE" />
351    <protected-broadcast android:name="android.net.conn.RESTRICT_BACKGROUND_CHANGED" />
352    <protected-broadcast android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
353    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL_TEST_COMPLETED" />
354
355    <protected-broadcast android:name="android.net.nsd.STATE_CHANGED" />
356
357    <!-- For OMAPI -->
358    <protected-broadcast android:name="android.se.omapi.action.SECURE_ELEMENT_STATE_CHANGED" />
359
360    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
361    <protected-broadcast android:name="android.nfc.action.PREFERRED_PAYMENT_CHANGED" />
362    <protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
363    <protected-broadcast android:name="android.nfc.action.REQUIRE_UNLOCK_FOR_NFC" />
364    <protected-broadcast android:name="com.android.nfc.action.LLCP_UP" />
365    <protected-broadcast android:name="com.android.nfc.action.LLCP_DOWN" />
366    <protected-broadcast android:name="com.android.nfc.cardemulation.action.CLOSE_TAP_DIALOG" />
367    <protected-broadcast android:name="com.android.nfc.handover.action.ALLOW_CONNECT" />
368    <protected-broadcast android:name="com.android.nfc.handover.action.DENY_CONNECT" />
369    <protected-broadcast android:name="com.android.nfc.handover.action.TIMEOUT_CONNECT" />
370    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_ON_DETECTED" />
371    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED" />
372    <protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
373    <!-- For NFC to BT handover -->
374    <protected-broadcast android:name="android.btopp.intent.action.WHITELIST_DEVICE" />
375    <protected-broadcast android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER" />
376    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND" />
377    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE" />
378    <protected-broadcast android:name="com.android.nfc.handover.action.CANCEL_HANDOVER_TRANSFER" />
379
380    <protected-broadcast android:name="android.net.action.CLEAR_DNS_CACHE" />
381    <protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
382
383    <protected-broadcast android:name="android.os.UpdateLock.UPDATE_LOCK_CHANGED" />
384
385    <protected-broadcast android:name="android.intent.action.DREAMING_STARTED" />
386    <protected-broadcast android:name="android.intent.action.DREAMING_STOPPED" />
387    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
388
389    <protected-broadcast android:name="com.android.server.stats.action.TRIGGER_COLLECTION" />
390
391    <protected-broadcast android:name="com.android.server.WifiManager.action.START_SCAN" />
392    <protected-broadcast android:name="com.android.server.WifiManager.action.START_PNO" />
393    <protected-broadcast android:name="com.android.server.WifiManager.action.DELAYED_DRIVER_STOP" />
394    <protected-broadcast android:name="com.android.server.WifiManager.action.DEVICE_IDLE" />
395    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_ACCEPTED" />
396    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_DECLINED" />
397    <protected-broadcast android:name="com.android.internal.action.EUICC_FACTORY_RESET" />
398    <protected-broadcast
399        android:name="com.android.internal.action.EUICC_REMOVE_INVISIBLE_SUBSCRIPTIONS" />
400    <protected-broadcast android:name="com.android.server.usb.ACTION_OPEN_IN_APPS" />
401    <protected-broadcast android:name="com.android.server.am.DELETE_DUMPHEAP" />
402    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_WARNING" />
403    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_RAPID" />
404    <protected-broadcast android:name="com.android.server.wifi.ACTION_SHOW_SET_RANDOMIZATION_DETAILS" />
405    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_ALLOWED_APP" />
406    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISALLOWED_APP" />
407    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISMISSED" />
408    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_ALLOWED_CARRIER" />
409    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISALLOWED_CARRIER" />
410    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISMISSED" />
411    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.USER_DISMISSED_NOTIFICATION" />
412    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.CONNECT_TO_NETWORK" />
413    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_WIFI_NETWORK" />
414    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_NETWORK_AFTER_FAILURE" />
415    <protected-broadcast android:name="com.android.server.wifi.wakeup.DISMISS_NOTIFICATION" />
416    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_PREFERENCES" />
417    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_SETTINGS" />
418    <protected-broadcast android:name="com.android.server.wifi.wakeup.TURN_OFF_WIFI_WAKE" />
419    <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" />
420    <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
421    <protected-broadcast android:name="android.net.wifi.WIFI_CREDENTIAL_CHANGED" />
422    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED" />
423    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_RESOURCE_CHANGED" />
424    <protected-broadcast android:name="android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED" />
425    <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" />
426    <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" />
427    <protected-broadcast android:name="android.net.wifi.STATE_CHANGE" />
428    <protected-broadcast android:name="android.net.wifi.LINK_CONFIGURATION_CHANGED" />
429    <protected-broadcast android:name="android.net.wifi.CONFIGURED_NETWORKS_CHANGE" />
430    <protected-broadcast android:name="android.net.wifi.action.NETWORK_SETTINGS_RESET" />
431    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_DEAUTH_IMMINENT" />
432    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_ICON" />
433    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_OSU_PROVIDERS_LIST" />
434    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_SUBSCRIPTION_REMEDIATION" />
435    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW" />
436    <protected-broadcast android:name="android.net.wifi.action.REFRESH_USER_PROVISIONING" />
437    <protected-broadcast android:name="android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION" />
438    <protected-broadcast android:name="android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED" />
439    <protected-broadcast android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
440    <protected-broadcast android:name="android.net.wifi.supplicant.STATE_CHANGE" />
441    <protected-broadcast android:name="android.net.wifi.p2p.STATE_CHANGED" />
442    <protected-broadcast android:name="android.net.wifi.p2p.DISCOVERY_STATE_CHANGE" />
443    <protected-broadcast android:name="android.net.wifi.p2p.THIS_DEVICE_CHANGED" />
444    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
445    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
446    <protected-broadcast android:name="android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED" />
447    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
448    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
449    <!-- This broadcast is no longer sent in S but it should stay protected to avoid third party
450         apps broadcasting this and confusing old system apps that may not have been updated. -->
451    <protected-broadcast android:name="android.net.conn.NETWORK_CONDITIONS_MEASURED" />
452    <protected-broadcast
453            android:name="android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED" />
454    <protected-broadcast android:name="android.net.scoring.SCORE_NETWORKS" />
455    <protected-broadcast android:name="android.net.scoring.SCORER_CHANGED" />
456    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE" />
457    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" />
458    <protected-broadcast android:name="android.intent.action.AIRPLANE_MODE" />
459    <protected-broadcast android:name="android.intent.action.ADVANCED_SETTINGS" />
460    <protected-broadcast android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED" />
461    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRED_DEVICES" />
462    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRING_RESULT" />
463    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_STATUS" />
464
465    <!-- Legacy -->
466    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_START" />
467    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_END" />
468
469    <protected-broadcast android:name="com.android.server.ACTION_TRIGGER_IDLE" />
470
471    <protected-broadcast android:name="android.intent.action.HDMI_PLUGGED" />
472
473    <protected-broadcast android:name="android.intent.action.PHONE_STATE" />
474
475    <protected-broadcast android:name="android.intent.action.SUB_DEFAULT_CHANGED" />
476
477    <protected-broadcast android:name="android.location.PROVIDERS_CHANGED" />
478    <protected-broadcast android:name="android.location.MODE_CHANGED" />
479    <protected-broadcast android:name="android.location.action.GNSS_CAPABILITIES_CHANGED" />
480
481    <protected-broadcast android:name="android.net.proxy.PAC_REFRESH" />
482
483    <protected-broadcast android:name="android.telecom.action.DEFAULT_DIALER_CHANGED" />
484    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED" />
485    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_CREATED" />
486    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_LOST" />
487    <protected-broadcast android:name="android.intent.action.CONTENT_CHANGED" />
488    <protected-broadcast android:name="android.provider.Telephony.MMS_DOWNLOADED" />
489
490    <protected-broadcast
491        android:name="com.android.server.connectivityservice.CONNECTED_TO_PROVISIONING_NETWORK_ACTION" />
492
493    <!-- Defined in RestrictionsManager -->
494    <protected-broadcast android:name="android.content.action.PERMISSION_RESPONSE_RECEIVED" />
495    <protected-broadcast android:name="android.content.action.REQUEST_PERMISSION" />
496
497    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_STARTED" />
498    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
499    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_PROGRESS" />
500    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
501
502    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED" />
503    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED" />
504
505    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_DONE" />
506    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_FAILED" />
507
508    <protected-broadcast android:name="android.internal.policy.action.BURN_IN_PROTECTION" />
509    <protected-broadcast android:name="android.app.action.SYSTEM_UPDATE_POLICY_CHANGED" />
510    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
511    <protected-broadcast android:name="android.app.action.DEVICE_OWNER_CHANGED" />
512    <protected-broadcast android:name="android.app.action.MANAGED_USER_CREATED" />
513
514    <!-- Added in N -->
515    <protected-broadcast android:name="android.intent.action.ANR" />
516    <protected-broadcast android:name="android.intent.action.CALL" />
517    <protected-broadcast android:name="android.intent.action.CALL_PRIVILEGED" />
518    <protected-broadcast android:name="android.intent.action.DROPBOX_ENTRY_ADDED" />
519    <protected-broadcast android:name="android.intent.action.INPUT_METHOD_CHANGED" />
520    <protected-broadcast android:name="android.intent.action.internal_sim_state_changed" />
521    <protected-broadcast android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
522    <protected-broadcast android:name="android.intent.action.PRECISE_CALL_STATE" />
523    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_PHONE_STATE" />
524    <protected-broadcast android:name="android.intent.action.USER_INFO_CHANGED" />
525    <protected-broadcast android:name="android.intent.action.USER_UNLOCKED" />
526    <protected-broadcast android:name="android.intent.action.WALLPAPER_CHANGED" />
527
528    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_MANAGER_STATE_CHANGED" />
529    <protected-broadcast android:name="android.app.action.CHOOSE_PRIVATE_KEY_ALIAS" />
530    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
531    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
532    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
533    <protected-broadcast android:name="android.app.action.LOCK_TASK_ENTERING" />
534    <protected-broadcast android:name="android.app.action.LOCK_TASK_EXITING" />
535    <protected-broadcast android:name="android.app.action.NOTIFY_PENDING_SYSTEM_UPDATE" />
536    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_CHANGED" />
537    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_EXPIRING" />
538    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_FAILED" />
539    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_SUCCEEDED" />
540    <protected-broadcast android:name="com.android.server.ACTION_EXPIRED_PASSWORD_NOTIFICATION" />
541    <protected-broadcast android:name="com.android.server.ACTION_PROFILE_OFF_DEADLINE" />
542    <protected-broadcast android:name="com.android.server.ACTION_TURN_PROFILE_ON_NOTIFICATION" />
543
544    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_ADDED" />
545    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNLOCKED" />
546    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_REMOVED" />
547    <protected-broadcast android:name="android.app.action.MANAGED_PROFILE_PROVISIONED" />
548
549    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_STATE_CHANGED" />
550    <protected-broadcast android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT" />
551    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
552    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
553    <protected-broadcast android:name="android.content.jobscheduler.JOB_DELAY_EXPIRED" />
554    <protected-broadcast android:name="android.content.syncmanager.SYNC_ALARM" />
555    <protected-broadcast android:name="android.media.INTERNAL_RINGER_MODE_CHANGED_ACTION" />
556    <protected-broadcast android:name="android.media.STREAM_DEVICES_CHANGED_ACTION" />
557    <protected-broadcast android:name="android.media.STREAM_MUTE_CHANGED_ACTION" />
558    <protected-broadcast android:name="android.net.sip.SIP_SERVICE_UP" />
559    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
560    <protected-broadcast android:name="android.os.action.CHARGING" />
561    <protected-broadcast android:name="android.os.action.DISCHARGING" />
562    <protected-broadcast android:name="android.search.action.SEARCHABLES_CHANGED" />
563    <protected-broadcast android:name="android.security.STORAGE_CHANGED" />
564    <protected-broadcast android:name="android.security.action.TRUST_STORE_CHANGED" />
565    <protected-broadcast android:name="android.security.action.KEYCHAIN_CHANGED" />
566    <protected-broadcast android:name="android.security.action.KEY_ACCESS_CHANGED" />
567    <protected-broadcast android:name="android.telecom.action.NUISANCE_CALL_STATUS_CHANGED" />
568    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_REGISTERED" />
569    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_UNREGISTERED" />
570    <protected-broadcast android:name="android.telecom.action.POST_CALL" />
571    <protected-broadcast android:name="android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION" />
572    <protected-broadcast android:name="android.telephony.action.CARRIER_CONFIG_CHANGED" />
573    <protected-broadcast android:name="android.telephony.action.DEFAULT_SUBSCRIPTION_CHANGED" />
574    <protected-broadcast android:name="android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED" />
575    <protected-broadcast android:name="android.telephony.action.SECRET_CODE" />
576    <protected-broadcast android:name="android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION" />
577    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_PLANS_CHANGED" />
578
579    <protected-broadcast android:name="com.android.bluetooth.btservice.action.ALARM_WAKEUP" />
580    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_POLL" />
581    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_UPDATED" />
582    <protected-broadcast android:name="com.android.server.timedetector.NetworkTimeUpdateService.action.POLL" />
583    <protected-broadcast android:name="com.android.server.telecom.intent.action.CALLS_ADD_ENTRY" />
584    <protected-broadcast android:name="com.android.settings.location.MODE_CHANGING" />
585    <protected-broadcast android:name="com.android.settings.bluetooth.ACTION_DISMISS_PAIRING" />
586    <protected-broadcast android:name="com.android.settings.network.DELETE_SUBSCRIPTION" />
587    <protected-broadcast android:name="com.android.settings.network.SWITCH_TO_SUBSCRIPTION" />
588    <protected-broadcast android:name="com.android.settings.wifi.action.NETWORK_REQUEST" />
589
590    <protected-broadcast android:name="android.app.action.KEYGUARD_PRIVATE_NOTIFICATIONS_CHANGED" />
591    <protected-broadcast android:name="NotificationManagerService.TIMEOUT" />
592    <protected-broadcast android:name="com.android.server.notification.TimeToLiveHelper" />
593    <protected-broadcast android:name="NotificationHistoryDatabase.CLEANUP" />
594    <protected-broadcast android:name="ScheduleConditionProvider.EVALUATE" />
595    <protected-broadcast android:name="EventConditionProvider.EVALUATE" />
596    <protected-broadcast android:name="SnoozeHelper.EVALUATE" />
597    <protected-broadcast android:name="wifi_scan_available" />
598
599    <protected-broadcast android:name="action.cne.started" />
600    <protected-broadcast android:name="android.content.jobscheduler.JOB_DEADLINE_EXPIRED" />
601    <protected-broadcast android:name="android.intent.action.ACTION_UNSOL_RESPONSE_OEM_HOOK_RAW" />
602    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_SUPL" />
603    <protected-broadcast android:name="android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED" />
604    <protected-broadcast android:name="android.os.storage.action.VOLUME_STATE_CHANGED" />
605    <protected-broadcast android:name="android.os.storage.action.DISK_SCANNED" />
606    <protected-broadcast android:name="com.android.server.action.UPDATE_TWILIGHT_STATE" />
607    <protected-broadcast android:name="com.android.server.action.RESET_TWILIGHT_AUTO" />
608    <protected-broadcast android:name="com.android.server.device_idle.STEP_IDLE_STATE" />
609    <protected-broadcast android:name="com.android.server.device_idle.STEP_LIGHT_IDLE_STATE" />
610    <protected-broadcast android:name="com.android.server.Wifi.action.TOGGLE_PNO" />
611    <protected-broadcast android:name="intent.action.ACTION_RF_BAND_INFO" />
612    <protected-broadcast android:name="android.intent.action.MEDIA_RESOURCE_GRANTED" />
613    <protected-broadcast android:name="android.app.action.NETWORK_LOGS_AVAILABLE" />
614    <protected-broadcast android:name="android.app.action.SECURITY_LOGS_AVAILABLE" />
615    <protected-broadcast android:name="android.app.action.COMPLIANCE_ACKNOWLEDGEMENT_REQUIRED" />
616
617    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED" />
618    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED_INTERNAL" />
619    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_CHANGED" />
620    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED" />
621    <protected-broadcast android:name="android.app.action.AUTOMATIC_ZEN_RULE_STATUS_CHANGED" />
622    <protected-broadcast android:name="android.os.action.ACTION_EFFECTS_SUPPRESSOR_CHANGED" />
623    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED" />
624    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED" />
625    <protected-broadcast android:name="android.app.action.NOTIFICATION_LISTENER_ENABLED_CHANGED" />
626    <protected-broadcast android:name="android.app.action.APP_BLOCK_STATE_CHANGED" />
627
628    <protected-broadcast android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS" />
629    <protected-broadcast android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS" />
630
631    <protected-broadcast android:name="android.intent.action.DYNAMIC_SENSOR_CHANGED" />
632
633    <protected-broadcast android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
634    <protected-broadcast android:name="android.accounts.action.ACCOUNT_REMOVED" />
635    <protected-broadcast android:name="android.accounts.action.VISIBLE_ACCOUNTS_CHANGED" />
636
637    <protected-broadcast android:name="com.android.sync.SYNC_CONN_STATUS_CHANGED" />
638
639    <protected-broadcast android:name="android.net.sip.action.SIP_INCOMING_CALL" />
640    <protected-broadcast android:name="com.android.phone.SIP_ADD_PHONE" />
641    <protected-broadcast android:name="android.net.sip.action.SIP_REMOVE_PROFILE" />
642    <protected-broadcast android:name="android.net.sip.action.SIP_SERVICE_UP" />
643    <protected-broadcast android:name="android.net.sip.action.SIP_CALL_OPTION_CHANGED" />
644    <protected-broadcast android:name="android.net.sip.action.START_SIP" />
645
646    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_CONNECTED" />
647    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_DISCONNECTED" />
648
649    <protected-broadcast android:name="android.bluetooth.input.profile.action.HANDSHAKE" />
650    <protected-broadcast android:name="android.bluetooth.input.profile.action.REPORT" />
651
652    <protected-broadcast android:name="android.intent.action.TWILIGHT_CHANGED" />
653
654    <protected-broadcast android:name="com.android.server.fingerprint.ACTION_LOCKOUT_RESET" />
655    <protected-broadcast android:name="android.net.wifi.PASSPOINT_ICON_RECEIVED" />
656
657    <protected-broadcast android:name="com.android.server.notification.CountdownConditionProvider" />
658    <protected-broadcast android:name="android.server.notification.action.ENABLE_NAS" />
659    <protected-broadcast android:name="android.server.notification.action.DISABLE_NAS" />
660    <protected-broadcast android:name="android.server.notification.action.LEARNMORE_NAS" />
661
662    <protected-broadcast android:name="com.android.internal.location.ALARM_WAKEUP" />
663    <protected-broadcast android:name="com.android.internal.location.ALARM_TIMEOUT" />
664    <protected-broadcast android:name="android.intent.action.GLOBAL_BUTTON" />
665
666    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_AVAILABLE" />
667    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNAVAILABLE" />
668    <protected-broadcast android:name="com.android.server.pm.DISABLE_QUIET_MODE_AFTER_UNLOCK" />
669
670    <protected-broadcast android:name="android.intent.action.PROFILE_ACCESSIBLE" />
671    <protected-broadcast android:name="android.intent.action.PROFILE_INACCESSIBLE" />
672
673    <protected-broadcast android:name="com.android.server.retaildemo.ACTION_RESET_DEMO" />
674
675    <protected-broadcast android:name="android.intent.action.DEVICE_LOCKED_CHANGED" />
676
677    <protected-broadcast android:name="com.android.content.pm.action.CAN_INTERACT_ACROSS_PROFILES_CHANGED"/>
678
679    <!-- Added in O -->
680    <protected-broadcast android:name="android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED" />
681    <protected-broadcast android:name="com.android.server.wm.ACTION_REVOKE_SYSTEM_ALERT_WINDOW_PERMISSION" />
682    <protected-broadcast android:name="android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED" />
683
684    <protected-broadcast android:name="android.content.pm.action.SESSION_COMMITTED" />
685    <protected-broadcast android:name="android.os.action.USER_RESTRICTIONS_CHANGED" />
686    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT" />
687    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED" />
688    <protected-broadcast android:name="android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED" />
689    <protected-broadcast android:name="android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED" />
690
691    <!-- Made protected in P (was introduced in JB-MR2) -->
692    <protected-broadcast android:name="android.intent.action.GET_RESTRICTION_ENTRIES" />
693    <protected-broadcast android:name="android.telephony.euicc.action.OTA_STATUS_CHANGED" />
694
695    <!-- Added in P -->
696    <protected-broadcast android:name="android.app.action.PROFILE_OWNER_CHANGED" />
697    <protected-broadcast android:name="android.app.action.TRANSFER_OWNERSHIP_COMPLETE" />
698    <protected-broadcast android:name="android.app.action.AFFILIATED_PROFILE_TRANSFER_OWNERSHIP_COMPLETE" />
699    <protected-broadcast android:name="android.app.action.STATSD_STARTED" />
700    <protected-broadcast android:name="com.android.server.biometrics.fingerprint.ACTION_LOCKOUT_RESET" />
701    <protected-broadcast android:name="com.android.server.biometrics.face.ACTION_LOCKOUT_RESET" />
702
703    <!-- For IdleController -->
704    <protected-broadcast android:name="android.intent.action.DOCK_IDLE" />
705    <protected-broadcast android:name="android.intent.action.DOCK_ACTIVE" />
706
707    <!-- Added in Q -->
708    <protected-broadcast android:name="android.content.pm.action.SESSION_UPDATED" />
709    <protected-broadcast android:name="android.settings.action.GRAYSCALE_CHANGED" />
710
711    <!-- For CarIdlenessTracker -->
712    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_ON" />
713    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_OFF" />
714    <protected-broadcast android:name="com.android.server.jobscheduler.FORCE_IDLE" />
715    <protected-broadcast android:name="com.android.server.jobscheduler.UNFORCE_IDLE" />
716
717    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL" />
718
719    <protected-broadcast android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY" />
720
721    <!-- Added in R -->
722    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
723
724    <!-- For tether entitlement recheck-->
725    <protected-broadcast
726        android:name="com.android.server.connectivity.tethering.PROVISIONING_RECHECK_ALARM" />
727
728    <!-- Made protected in S (was added in R) -->
729    <protected-broadcast android:name="com.android.internal.intent.action.BUGREPORT_REQUESTED" />
730
731    <!-- Added in S -->
732    <protected-broadcast android:name="android.scheduling.action.REBOOT_READY" />
733    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_CONSTANTS_CHANGED" />
734    <protected-broadcast android:name="android.app.action.SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED" />
735    <protected-broadcast android:name="android.app.action.SHOW_NEW_USER_DISCLAIMER" />
736
737    <!-- Moved from packages/services/Telephony in T -->
738    <protected-broadcast android:name="android.telecom.action.CURRENT_TTY_MODE_CHANGED" />
739    <protected-broadcast android:name="android.intent.action.SERVICE_STATE" />
740    <protected-broadcast android:name="android.intent.action.RADIO_TECHNOLOGY" />
741    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED" />
742    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALL_STATE_CHANGED" />
743    <protected-broadcast android:name="android.intent.action.SIG_STR" />
744    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
745    <protected-broadcast android:name="android.intent.action.DATA_STALL_DETECTED" />
746    <protected-broadcast android:name="android.intent.action.SIM_STATE_CHANGED" />
747    <protected-broadcast android:name="android.intent.action.USER_ACTIVITY_NOTIFICATION" />
748    <protected-broadcast android:name="android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS" />
749    <protected-broadcast android:name="android.intent.action.ACTION_MDN_STATE_CHANGED" />
750    <protected-broadcast android:name="android.telephony.action.SERVICE_PROVIDERS_UPDATED" />
751    <protected-broadcast android:name="android.provider.Telephony.SIM_FULL" />
752    <protected-broadcast android:name="com.android.internal.telephony.carrier_key_download_alarm" />
753    <protected-broadcast android:name="com.android.internal.telephony.data-restart-trysetup" />
754    <protected-broadcast android:name="com.android.internal.telephony.data-stall" />
755    <protected-broadcast android:name="com.android.internal.telephony.provisioning_apn_alarm" />
756    <protected-broadcast android:name="android.intent.action.DATA_SMS_RECEIVED" />
757    <protected-broadcast android:name="android.provider.Telephony.SMS_RECEIVED" />
758    <protected-broadcast android:name="android.provider.Telephony.SMS_DELIVER" />
759    <protected-broadcast android:name="android.provider.Telephony.SMS_REJECTED" />
760    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
761    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
762    <protected-broadcast android:name="android.provider.Telephony.SMS_CB_RECEIVED" />
763    <protected-broadcast android:name="android.provider.action.SMS_EMERGENCY_CB_RECEIVED" />
764    <protected-broadcast android:name="android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED" />
765    <protected-broadcast android:name="android.provider.Telephony.SECRET_CODE" />
766    <protected-broadcast android:name="com.android.internal.stk.command" />
767    <protected-broadcast android:name="com.android.internal.stk.session_end" />
768    <protected-broadcast android:name="com.android.internal.stk.icc_status_change" />
769    <protected-broadcast android:name="com.android.internal.stk.alpha_notify" />
770    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" />
771    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
772    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE" />
773    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_RESET" />
774    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
775    <protected-broadcast android:name="com.android.internal.telephony.PROVISION" />
776    <protected-broadcast android:name="com.android.internal.telephony.ACTION_LINE1_NUMBER_ERROR_DETECTED" />
777    <protected-broadcast android:name="com.android.internal.provider.action.VOICEMAIL_SMS_RECEIVED" />
778    <protected-broadcast android:name="com.android.intent.isim_refresh" />
779    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_AVAILABLE" />
780    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_UNAVAILABLE" />
781    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_DIED" />
782    <protected-broadcast android:name="com.android.ims.ACTION_PRESENCE_CHANGED" />
783    <protected-broadcast android:name="com.android.ims.ACTION_PUBLISH_STATUS_CHANGED" />
784    <protected-broadcast android:name="com.android.ims.IMS_SERVICE_UP" />
785    <protected-broadcast android:name="com.android.ims.IMS_SERVICE_DOWN" />
786    <protected-broadcast android:name="com.android.ims.IMS_INCOMING_CALL" />
787    <protected-broadcast android:name="com.android.ims.internal.uce.UCE_SERVICE_UP" />
788    <protected-broadcast android:name="com.android.ims.internal.uce.UCE_SERVICE_DOWN" />
789    <protected-broadcast android:name="com.android.imsconnection.DISCONNECTED" />
790    <protected-broadcast android:name="com.android.intent.action.IMS_FEATURE_CHANGED" />
791    <protected-broadcast android:name="com.android.intent.action.IMS_CONFIG_CHANGED" />
792    <protected-broadcast android:name="android.telephony.ims.action.WFC_IMS_REGISTRATION_ERROR" />
793    <protected-broadcast android:name="com.android.phone.vvm.omtp.sms.REQUEST_SENT" />
794    <protected-broadcast android:name="com.android.phone.vvm.ACTION_VISUAL_VOICEMAIL_SERVICE_EVENT" />
795    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_VVM_PACKAGE_INSTALLED" />
796    <protected-broadcast android:name="com.android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO" />
797    <protected-broadcast android:name="com.android.internal.telephony.ACTION_CARRIER_CERTIFICATE_DOWNLOAD" />
798    <protected-broadcast android:name="com.android.internal.telephony.action.COUNTRY_OVERRIDE" />
799    <protected-broadcast android:name="com.android.internal.telephony.action.SILENCE_WIFI_CALLING_NOTIFICATION"/>
800    <protected-broadcast android:name="com.android.internal.telephony.OPEN_DEFAULT_SMS_APP" />
801    <protected-broadcast android:name="com.android.internal.telephony.ACTION_TEST_OVERRIDE_CARRIER_ID" />
802    <protected-broadcast android:name="android.telephony.action.SIM_CARD_STATE_CHANGED" />
803    <protected-broadcast android:name="android.telephony.action.SIM_APPLICATION_STATE_CHANGED" />
804    <protected-broadcast android:name="android.telephony.action.SIM_SLOT_STATUS_CHANGED" />
805    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED" />
806    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED" />
807    <protected-broadcast android:name="android.telephony.action.TOGGLE_PROVISION" />
808    <protected-broadcast android:name="android.telephony.action.NETWORK_COUNTRY_CHANGED" />
809    <protected-broadcast android:name="android.telephony.action.PRIMARY_SUBSCRIPTION_LIST_CHANGED" />
810    <protected-broadcast android:name="android.telephony.action.MULTI_SIM_CONFIG_CHANGED" />
811    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_RESET" />
812    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_PCO_VALUE" />
813    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
814    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_REDIRECTED" />
815    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
816    <protected-broadcast android:name="com.android.phone.settings.CARRIER_PROVISIONING" />
817    <protected-broadcast android:name="com.android.phone.settings.TRIGGER_CARRIER_PROVISIONING" />
818    <protected-broadcast android:name="com.android.internal.telephony.ACTION_VOWIFI_ENABLED" />
819    <protected-broadcast android:name="android.telephony.action.ANOMALY_REPORTED" />
820    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_INFO_RECORD_ADDED" />
821    <protected-broadcast android:name="android.intent.action.ACTION_MANAGED_ROAMING_IND" />
822    <protected-broadcast android:name="android.telephony.ims.action.RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE" />
823
824    <!-- Added in T -->
825    <protected-broadcast android:name="android.safetycenter.action.REFRESH_SAFETY_SOURCES" />
826    <protected-broadcast android:name="android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED" />
827    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_RESOURCE_UPDATED" />
828    <protected-broadcast android:name="android.intent.action.SHOW_FOREGROUND_SERVICE_MANAGER" />
829    <protected-broadcast android:name="android.service.autofill.action.DELAYED_FILL" />
830    <protected-broadcast android:name="android.app.action.PROVISIONING_COMPLETED" />
831    <protected-broadcast android:name="android.app.action.LOST_MODE_LOCATION_UPDATE" />
832
833    <!-- Added in U -->
834    <protected-broadcast android:name="android.intent.action.PROFILE_ADDED" />
835    <protected-broadcast android:name="android.intent.action.PROFILE_REMOVED" />
836    <protected-broadcast android:name="com.android.internal.telephony.cat.SMS_SENT_ACTION" />
837    <protected-broadcast android:name="com.android.internal.telephony.cat.SMS_DELIVERY_ACTION" />
838    <protected-broadcast android:name="android.companion.virtual.action.VIRTUAL_DEVICE_REMOVED" />
839    <protected-broadcast android:name="com.android.internal.intent.action.FLASH_NOTIFICATION_START_PREVIEW" />
840    <protected-broadcast android:name="com.android.internal.intent.action.FLASH_NOTIFICATION_STOP_PREVIEW" />
841    <protected-broadcast android:name="android.app.admin.action.DEVICE_FINANCING_STATE_CHANGED" />
842    <protected-broadcast android:name="android.app.admin.action.DEVICE_POLICY_SET_RESULT" />
843    <protected-broadcast android:name="android.app.admin.action.DEVICE_POLICY_CHANGED" />
844
845    <!-- Added in V -->
846    <protected-broadcast android:name="android.intent.action.PROFILE_AVAILABLE" />
847    <protected-broadcast android:name="android.intent.action.PROFILE_UNAVAILABLE" />
848    <protected-broadcast android:name="android.app.action.CONSOLIDATED_NOTIFICATION_POLICY_CHANGED" />
849    <protected-broadcast android:name="android.intent.action.MAIN_USER_LOCKSCREEN_KNOWLEDGE_FACTOR_CHANGED" />
850    <protected-broadcast android:name="com.android.uwb.uwbcountrycode.GEOCODE_RETRY" />
851    <protected-broadcast android:name="android.telephony.satellite.action.SATELLITE_SUBSCRIBER_ID_LIST_CHANGED" />
852    <protected-broadcast android:name="android.service.ondeviceintelligence.MODEL_LOADED" />
853    <protected-broadcast android:name="android.service.ondeviceintelligence.MODEL_UNLOADED" />
854    <protected-broadcast android:name="android.telephony.satellite.action.SATELLITE_START_NON_EMERGENCY_SESSION" />
855
856
857    <!-- ====================================================================== -->
858    <!--                          RUNTIME PERMISSIONS                           -->
859    <!-- ====================================================================== -->
860    <eat-comment />
861
862    <!-- Grouping for platform runtime permissions is not accessible to apps
863         @hide
864         @SystemApi
865         @TestApi
866    -->
867    <permission-group android:name="android.permission-group.UNDEFINED"
868        android:priority="100" />
869
870    <!-- ====================================================================== -->
871    <!-- Permissions for accessing user's contacts including personal profile   -->
872    <!-- ====================================================================== -->
873    <eat-comment />
874
875    <!-- Used for runtime permissions related to contacts and profiles on this
876        device. -->
877    <permission-group android:name="android.permission-group.CONTACTS"
878        android:icon="@drawable/perm_group_contacts"
879        android:label="@string/permgrouplab_contacts"
880        android:description="@string/permgroupdesc_contacts"
881        android:priority="100" />
882
883    <!-- Allows an application to read the user's contacts data.
884        <p>Protection level: dangerous
885    -->
886    <permission android:name="android.permission.READ_CONTACTS"
887        android:permissionGroup="android.permission-group.UNDEFINED"
888        android:label="@string/permlab_readContacts"
889        android:description="@string/permdesc_readContacts"
890        android:protectionLevel="dangerous" />
891    <uses-permission android:name="android.permission.READ_CONTACTS" />
892
893    <!-- Allows an application to write the user's contacts data.
894         <p>Protection level: dangerous
895    -->
896    <permission android:name="android.permission.WRITE_CONTACTS"
897        android:permissionGroup="android.permission-group.UNDEFINED"
898        android:label="@string/permlab_writeContacts"
899        android:description="@string/permdesc_writeContacts"
900      android:protectionLevel="dangerous" />
901
902    <!-- Allows an app to update the verification status of E2EE contact keys owned by other apps.
903        <p>This permission is only granted to system apps.
904        <p>Protection level: signature|privileged
905        @SystemApi
906        @hide
907        @FlaggedApi("android.provider.user_keys")
908    -->
909    <permission android:name="android.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS"
910                android:permissionGroup="android.permission-group.UNDEFINED"
911                android:label="@string/permlab_writeVerificationStateE2eeContactKeys"
912                android:description="@string/permdesc_writeVerificationStateE2eeContactKeys"
913                android:protectionLevel="signature|privileged"
914                android:featureFlag="android.provider.user_keys" />
915
916    <!-- Allows an application to set default account for new contacts.
917        <p>This permission is only granted to system applications fulfilling the Contacts app role.
918        <p>Protection level: internal|role
919        @SystemApi
920        @hide
921    -->
922    <permission android:name="android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS"
923        android:protectionLevel="internal|role"
924        android:featureFlag="!android.provider.new_default_account_api_enabled"/>
925
926    <!-- Allows an application to set default account for new contacts.
927        <p>This permission is only granted to system applications fulfilling the Contacts app role
928        and the application with known signers.
929        <p>Protection level: internal|role|knownSigner
930        @SystemApi
931        @hide
932    -->
933    <permission android:name="android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS"
934        android:protectionLevel="internal|role|knownSigner"
935        android:knownCerts="@array/config_setContactsDefaultAccountKnownSigners"
936        android:featureFlag="android.provider.new_default_account_api_enabled"/>
937
938    <!-- ====================================================================== -->
939    <!-- Permissions for accessing user's calendar                              -->
940    <!-- ====================================================================== -->
941    <eat-comment />
942
943    <!-- Used for runtime permissions related to user's calendar. -->
944    <permission-group android:name="android.permission-group.CALENDAR"
945        android:icon="@drawable/perm_group_calendar"
946        android:label="@string/permgrouplab_calendar"
947        android:description="@string/permgroupdesc_calendar"
948        android:priority="200" />
949
950    <!-- Allows an application to read the user's calendar data.
951         <p>Protection level: dangerous
952    -->
953    <permission android:name="android.permission.READ_CALENDAR"
954        android:permissionGroup="android.permission-group.UNDEFINED"
955        android:label="@string/permlab_readCalendar"
956        android:description="@string/permdesc_readCalendar"
957        android:protectionLevel="dangerous" />
958
959    <!-- Allows an application to write the user's calendar data.
960         <p>Protection level: dangerous
961    -->
962    <permission android:name="android.permission.WRITE_CALENDAR"
963        android:permissionGroup="android.permission-group.UNDEFINED"
964        android:label="@string/permlab_writeCalendar"
965        android:description="@string/permdesc_writeCalendar"
966        android:protectionLevel="dangerous" />
967
968    <!-- ====================================================================== -->
969    <!-- Permissions for accessing and modifying user's SMS messages            -->
970    <!-- ====================================================================== -->
971    <eat-comment />
972
973    <!-- Allows accessing the messages on ICC
974         @hide Used internally. -->
975    <permission android:name="android.permission.ACCESS_MESSAGES_ON_ICC"
976        android:protectionLevel="signature" />
977
978    <!-- Used for runtime permissions related to user's SMS messages. -->
979    <permission-group android:name="android.permission-group.SMS"
980        android:icon="@drawable/perm_group_sms"
981        android:label="@string/permgrouplab_sms"
982        android:description="@string/permgroupdesc_sms"
983        android:priority="300" />
984
985    <!-- Allows an application to send SMS messages.
986         <p>Protection level: dangerous
987
988         <p> This is a hard restricted permission which cannot be held by an app until
989         the installer on record allowlists the permission. For more details see
990         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
991    -->
992    <permission android:name="android.permission.SEND_SMS"
993        android:permissionGroup="android.permission-group.UNDEFINED"
994        android:label="@string/permlab_sendSms"
995        android:description="@string/permdesc_sendSms"
996        android:permissionFlags="costsMoney|hardRestricted"
997        android:protectionLevel="dangerous" />
998
999    <!-- Allows an application to receive SMS messages.
1000         <p>Protection level: dangerous
1001
1002         <p> This is a hard restricted permission which cannot be held by an app until
1003         the installer on record allowlists the permission. For more details see
1004         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1005    -->
1006    <permission android:name="android.permission.RECEIVE_SMS"
1007        android:permissionGroup="android.permission-group.UNDEFINED"
1008        android:label="@string/permlab_receiveSms"
1009        android:description="@string/permdesc_receiveSms"
1010        android:permissionFlags="hardRestricted"
1011        android:protectionLevel="dangerous" />
1012
1013    <!-- Allows an application to read SMS messages.
1014         <p>Protection level: dangerous
1015
1016         <p> This is a hard restricted permission which cannot be held by an app until
1017         the installer on record allowlists the permission. For more details see
1018         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1019    -->
1020    <permission android:name="android.permission.READ_SMS"
1021        android:permissionGroup="android.permission-group.UNDEFINED"
1022        android:label="@string/permlab_readSms"
1023        android:description="@string/permdesc_readSms"
1024        android:permissionFlags="hardRestricted"
1025        android:protectionLevel="dangerous" />
1026
1027    <!-- Allows an application to receive WAP push messages.
1028         <p>Protection level: dangerous
1029
1030         <p> This is a hard restricted permission which cannot be held by an app until
1031         the installer on record allowlists the permission. For more details see
1032         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1033    -->
1034    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
1035        android:permissionGroup="android.permission-group.UNDEFINED"
1036        android:label="@string/permlab_receiveWapPush"
1037        android:description="@string/permdesc_receiveWapPush"
1038        android:permissionFlags="hardRestricted"
1039        android:protectionLevel="dangerous" />
1040
1041    <!-- Allows an application to monitor incoming MMS messages.
1042         <p>Protection level: dangerous
1043
1044         <p> This is a hard restricted permission which cannot be held by an app until
1045         the installer on record allowlists the permission. For more details see
1046         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1047    -->
1048    <permission android:name="android.permission.RECEIVE_MMS"
1049        android:permissionGroup="android.permission-group.UNDEFINED"
1050        android:label="@string/permlab_receiveMms"
1051        android:description="@string/permdesc_receiveMms"
1052        android:permissionFlags="hardRestricted"
1053        android:protectionLevel="dangerous" />
1054
1055    <!-- @SystemApi @TestApi Allows an application to forward cell broadcast messages to the cell
1056         broadcast module. This is required in order to bind to the cell broadcast service, and
1057         ensures that only the system can forward messages to it.
1058
1059         <p>Protection level: signature
1060
1061         @hide -->
1062    <permission android:name="android.permission.BIND_CELL_BROADCAST_SERVICE"
1063        android:label="@string/permlab_bindCellBroadcastService"
1064        android:description="@string/permdesc_bindCellBroadcastService"
1065        android:protectionLevel="signature" />
1066
1067    <!-- @SystemApi @TestApi Allows an application to read previously received cell broadcast
1068         messages and to register a content observer to get notifications when
1069         a cell broadcast has been received and added to the database. For
1070         emergency alerts, the database is updated immediately after the
1071         alert dialog and notification sound/vibration/speech are presented.
1072         The "read" column is then updated after the user dismisses the alert.
1073         This enables supplementary emergency assistance apps to start loading
1074         additional emergency information (if Internet access is available)
1075         when the alert is first received, and to delay presenting the info
1076         to the user until after the initial alert dialog is dismissed.
1077         <p>Protection level: dangerous
1078
1079         <p> This is a hard restricted permission which cannot be held by an app until
1080         the installer on record allowlists the permission. For more details see
1081         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1082
1083         @hide Pending API council approval -->
1084    <permission android:name="android.permission.READ_CELL_BROADCASTS"
1085        android:permissionGroup="android.permission-group.UNDEFINED"
1086        android:label="@string/permlab_readCellBroadcasts"
1087        android:description="@string/permdesc_readCellBroadcasts"
1088        android:permissionFlags="hardRestricted"
1089        android:protectionLevel="dangerous" />
1090
1091    <!-- @SystemApi @hide Allows an application to communicate over satellite.
1092         Only granted if the application is a system app or privileged app. -->
1093    <permission android:name="android.permission.SATELLITE_COMMUNICATION"
1094                android:protectionLevel="role|signature|privileged" />
1095
1096    <!-- ================================== -->
1097    <!-- Permissions associated with picture and sound profiles  -->
1098    <!-- ================================== -->
1099    <eat-comment />
1100
1101    <!-- @FlaggedApi(android.media.tv.flags.Flags.FLAG_APPLY_PICTURE_PROFILES)
1102         Allows an app to apply a {@link MediaQualityManager.PictureProfile} to a layer via
1103         {@link MediaCodec.PARAMETER_KEY_PICTURE_PROFILE} and, additionally, system apps via
1104         {@link SurfaceControl.Transaction#setPictureProfileHandle}.
1105         -->
1106    <permission android:name="android.permission.APPLY_PICTURE_PROFILE"
1107        android:protectionLevel="normal"
1108        android:featureFlag="android.media.tv.flags.apply_picture_profiles"/>
1109
1110    <!-- @hide
1111         Allows MediaQualityService to observe any {@link MediaQualityManager.PictureProfile}
1112         applied to any layer in the system by apps via
1113         {@link MediaCodec.PARAMETER_KEY_PICTURE_PROFILE} and by system apps via
1114         {@link SurfaceControl.Transaction#setPictureProfileHandle}.
1115         -->
1116    <permission android:name="android.permission.OBSERVE_PICTURE_PROFILES"
1117        android:protectionLevel="signature|privileged"
1118        android:featureFlag="android.media.tv.flags.apply_picture_profiles"/>
1119
1120    <!--
1121        @SystemApi
1122        @FlaggedApi("android.media.tv.flags.media_quality_fw")
1123        Allows an application to access its picture profile from the media quality database.
1124        <p> Protection level: signature|privileged|vendor privileged
1125        @hide
1126    -->
1127    <permission android:name="android.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE"
1128                android:protectionLevel="signature|privileged|vendorPrivileged"
1129                android:featureFlag="android.media.tv.flags.media_quality_fw"/>
1130
1131    <!--
1132        @SystemApi
1133        @FlaggedApi("android.media.tv.flags.media_quality_fw")
1134        Allows an application to access its sound profile from the media quality database.
1135        <p> Protection level: signature|privileged|vendor privileged
1136        @hide
1137    -->
1138    <permission android:name="android.permission.MANAGE_GLOBAL_SOUND_QUALITY_SERVICE"
1139                android:protectionLevel="signature|privileged|vendorPrivileged"
1140                android:featureFlag="android.media.tv.flags.media_quality_fw"/>
1141
1142    <!--
1143        @FlaggedApi(android.media.tv.flags.Flags.FLAG_MEDIA_QUALITY_FW)
1144        Allows an application to read the aggregated color zones on the screen for use cases like
1145        TV ambient backlight usages.
1146        <p> Protection level: normal
1147    -->
1148    <permission android:name="android.permission.READ_COLOR_ZONES"
1149                android:protectionLevel="normal"
1150                android:featureFlag="android.media.tv.flags.media_quality_fw"/>
1151
1152    <!-- ====================================================================== -->
1153    <!-- Permissions for accessing external storage                             -->
1154    <!-- ====================================================================== -->
1155    <eat-comment />
1156
1157    <!-- Used for runtime permissions related to the shared external storage. -->
1158    <permission-group android:name="android.permission-group.STORAGE"
1159        android:icon="@drawable/perm_group_storage"
1160        android:label="@string/permgrouplab_storage"
1161        android:description="@string/permgroupdesc_storage"
1162        android:priority="900" />
1163
1164    <!-- Allows an application to read from external storage.
1165      <p class="note"><strong>Note: </strong>Starting in API level 33, this permission has no
1166      effect. If your app accesses other apps' media files, request one or more of these permissions
1167      instead: <a href="#READ_MEDIA_IMAGES"><code>READ_MEDIA_IMAGES</code></a>,
1168      <a href="#READ_MEDIA_VIDEO"><code>READ_MEDIA_VIDEO</code></a>,
1169      <a href="#READ_MEDIA_AUDIO"><code>READ_MEDIA_AUDIO</code></a>. Learn more about the
1170      <a href="{@docRoot}training/data-storage/shared/media#storage-permission">storage
1171      permissions</a> that are associated with media files.</p>
1172
1173      <p>This permission is enforced starting in API level 19.  Before API level 19, this
1174      permission is not enforced and all apps still have access to read from external storage.
1175      You can test your app with the permission enforced by enabling <em>Protect USB
1176      storage</em> under <b>Developer options</b> in the Settings app on a device running Android
1177      4.1 or higher.</p>
1178      <p>Also starting in API level 19, this permission is <em>not</em> required to
1179      read or write files in your application-specific directories returned by
1180      {@link android.content.Context#getExternalFilesDir} and
1181      {@link android.content.Context#getExternalCacheDir}.</p>
1182      <p>Starting in API level 29, apps don't need to request this permission to access files in
1183      their app-specific directory on external storage, or their own files in the
1184      <a href="{@docRoot}reference/android/provider/MediaStore"><code>MediaStore</code></a>. Apps
1185      shouldn't request this permission unless they need to access other apps' files in the
1186      <code>MediaStore</code>. Read more about these changes in the
1187      <a href="{@docRoot}training/data-storage#scoped-storage">scoped storage</a> section of the
1188      developer documentation.</p>
1189      <p>If <em>both</em> your <a
1190      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1191      minSdkVersion}</a> and <a
1192      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1193      targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1194      grants your app this permission. If you don't need this permission, be sure your <a
1195      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1196      targetSdkVersion}</a> is 4 or higher.</p>
1197
1198      <p> This is a soft restricted permission which cannot be held by an app it its
1199      full form until the installer on record allowlists the permission.
1200      Specifically, if the permission is allowlisted the holder app can access
1201      external storage and the visual and aural media collections while if the
1202      permission is not allowlisted the holder app can only access to the visual
1203      and aural medial collections. Also the permission is immutably restricted
1204      meaning that the allowlist state can be specified only at install time and
1205      cannot change until the app is installed. For more details see
1206      {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1207     <p>Protection level: dangerous -->
1208    <permission android:name="android.permission.READ_EXTERNAL_STORAGE"
1209        android:permissionGroup="android.permission-group.UNDEFINED"
1210        android:label="@string/permlab_sdcardRead"
1211        android:description="@string/permdesc_sdcardRead"
1212        android:permissionFlags="softRestricted|immutablyRestricted"
1213        android:protectionLevel="dangerous" />
1214
1215    <!-- Required to be able to read audio files from shared storage.
1216     <p>Protection level: dangerous -->
1217    <permission-group android:name="android.permission-group.READ_MEDIA_AURAL"
1218                      android:icon="@drawable/perm_group_read_media_aural"
1219                      android:label="@string/permgrouplab_readMediaAural"
1220                      android:description="@string/permgroupdesc_readMediaAural"
1221                      android:priority="950" />
1222
1223    <!-- Allows an application to read audio files from external storage.
1224      <p>This permission is enforced starting in API level
1225      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1226      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read audio files from
1227      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1228      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1229      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1230      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read audio files.
1231     <p>Protection level: dangerous -->
1232    <permission android:name="android.permission.READ_MEDIA_AUDIO"
1233                android:permissionGroup="android.permission-group.UNDEFINED"
1234                android:label="@string/permlab_readMediaAudio"
1235                android:description="@string/permdesc_readMediaAudio"
1236                android:protectionLevel="dangerous" />
1237
1238    <!-- Required to be able to read image and video files from shared storage.
1239     <p>Protection level: dangerous -->
1240    <permission-group android:name="android.permission-group.READ_MEDIA_VISUAL"
1241                      android:icon="@drawable/perm_group_read_media_visual"
1242                      android:label="@string/permgrouplab_readMediaVisual"
1243                      android:description="@string/permgroupdesc_readMediaVisual"
1244                      android:priority="1000" />
1245
1246    <!-- Allows an application to read video files from external storage.
1247      <p>This permission is enforced starting in API level
1248      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1249      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read video files from
1250      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1251      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1252      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1253      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read video files.
1254   <p>Protection level: dangerous -->
1255    <permission android:name="android.permission.READ_MEDIA_VIDEO"
1256                android:permissionGroup="android.permission-group.UNDEFINED"
1257                android:label="@string/permlab_readMediaVideo"
1258                android:description="@string/permdesc_readMediaVideo"
1259                android:protectionLevel="dangerous" />
1260
1261    <!-- Allows an application to read image files from external storage.
1262      <p>This permission is enforced starting in API level
1263      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1264      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read image files from
1265      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1266      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1267      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1268      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read image files.
1269   <p>Protection level: dangerous -->
1270    <permission android:name="android.permission.READ_MEDIA_IMAGES"
1271                android:permissionGroup="android.permission-group.UNDEFINED"
1272                android:label="@string/permlab_readMediaImages"
1273                android:description="@string/permdesc_readMediaImages"
1274                android:protectionLevel="dangerous" />
1275
1276    <!-- Allows an application to read image or video files from external storage that a user has
1277      selected via the permission prompt photo picker. Apps can check this permission to verify that
1278      a user has decided to use the photo picker, instead of granting access to
1279      {@link #READ_MEDIA_IMAGES} or {@link #READ_MEDIA_VIDEO}. It does not prevent apps from
1280      accessing the standard photo picker manually. This permission should be requested alongside
1281      {@link #READ_MEDIA_IMAGES} and/or {@link #READ_MEDIA_VIDEO}, depending on which type of media
1282      is desired.
1283      <p> This permission will be automatically added to an app's manifest if the app requests
1284      {@link #READ_MEDIA_IMAGES}, {@link #READ_MEDIA_VIDEO}, or {@link #ACCESS_MEDIA_LOCATION}
1285      regardless of target SDK. If an app does not request this permission, then the grant dialog
1286      will return `PERMISSION_GRANTED` for {@link #READ_MEDIA_IMAGES} and/or
1287      {@link #READ_MEDIA_VIDEO}, but the app will only have access to the media selected by the
1288      user. This false grant state will persist until the app goes into the background.
1289   <p>Protection level: dangerous -->
1290    <permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED"
1291        android:permissionGroup="android.permission-group.UNDEFINED"
1292        android:label="@string/permlab_readVisualUserSelect"
1293        android:description="@string/permdesc_readVisualUserSelect"
1294        android:protectionLevel="dangerous" />
1295
1296    <!-- Allows an application to write to external storage.
1297         <p><strong>Note: </strong>If your app targets {@link android.os.Build.VERSION_CODES#R} or
1298         higher, this permission has no effect.
1299
1300         <p>If your app is on a device that runs API level 19 or higher, you don't need to declare
1301         this permission to read and write files in your application-specific directories returned
1302         by {@link android.content.Context#getExternalFilesDir} and
1303         {@link android.content.Context#getExternalCacheDir}.
1304
1305         <p>Learn more about how to
1306         <a href="{@docRoot}training/data-storage/shared/media#update-other-apps-files">modify media
1307         files</a> that your app doesn't own, and how to
1308         <a href="{@docRoot}training/data-storage/shared/documents-files">modify non-media files</a>
1309         that your app doesn't own.
1310
1311         <p>If your app is a file manager and needs broad access to external storage files, then
1312         the system must place your app on an allowlist so that you can successfully request the
1313         <a href="#MANAGE_EXTERNAL_STORAGE><code>MANAGE_EXTERNAL_STORAGE</code></a> permission.
1314         Learn more about the appropriate use cases for
1315         <a href="{@docRoot}training/data-storage/manage-all-files>managing all files on a storage
1316         device</a>.
1317
1318         <p>If <em>both</em> your <a
1319         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1320         minSdkVersion}</a> and <a
1321         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1322         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1323         grants your app this permission. If you don't need this permission, be sure your <a
1324         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1325         targetSdkVersion}</a> is 4 or higher.
1326         <p>Protection level: dangerous</p>
1327    -->
1328    <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
1329        android:permissionGroup="android.permission-group.UNDEFINED"
1330        android:label="@string/permlab_sdcardWrite"
1331        android:description="@string/permdesc_sdcardWrite"
1332        android:permissionFlags="softRestricted|immutablyRestricted"
1333        android:protectionLevel="dangerous" />
1334
1335    <!-- Allows an application to access any geographic locations persisted in the
1336         user's shared collection.
1337         <p>Protection level: dangerous -->
1338    <permission android:name="android.permission.ACCESS_MEDIA_LOCATION"
1339        android:permissionGroup="android.permission-group.UNDEFINED"
1340        android:label="@string/permlab_mediaLocation"
1341        android:description="@string/permdesc_mediaLocation"
1342        android:protectionLevel="dangerous" />
1343
1344    <!-- @hide @SystemApi @TestApi
1345         Allows an application to modify OBB files visible to other apps. -->
1346    <permission android:name="android.permission.WRITE_OBB"
1347        android:protectionLevel="signature|privileged" />
1348
1349    <!-- Allows an application a broad access to external storage in scoped storage.
1350         Intended to be used by few apps that need to manage files on behalf of the users.
1351         <p>Protection level: signature|appop|preinstalled -->
1352    <permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
1353        android:permissionGroup="android.permission-group.UNDEFINED"
1354        android:protectionLevel="signature|appop|preinstalled" />
1355
1356    <!-- Allows an application to modify and delete media files on this device or any connected
1357         storage device without user confirmation. Applications must already be granted the
1358         {@link #READ_EXTERNAL_STORAGE} or {@link #MANAGE_EXTERNAL_STORAGE}} permissions for this
1359         permission to take effect.
1360         <p>Even if applications are granted this permission, if applications want to modify or
1361         delete media files, they also must get the access by calling
1362         {@link android.provider.MediaStore#createWriteRequest(ContentResolver, Collection)},
1363         {@link android.provider.MediaStore#createDeleteRequest(ContentResolver, Collection)}, or
1364         {@link android.provider.MediaStore#createTrashRequest(ContentResolver, Collection, boolean)}.
1365         <p>This permission doesn't give read or write access directly. It only prevents the user
1366         confirmation dialog for these requests.
1367         <p>If applications are not granted {@link #ACCESS_MEDIA_LOCATION}, the system also pops up
1368         the user confirmation dialog for the write request.
1369         <p>Protection level: signature|appop|preinstalled -->
1370    <permission android:name="android.permission.MANAGE_MEDIA"
1371        android:protectionLevel="signature|appop|preinstalled" />
1372
1373    <!-- ====================================================================== -->
1374    <!-- Permissions for accessing the device location                          -->
1375    <!-- ====================================================================== -->
1376    <eat-comment />
1377
1378    <!-- Used for permissions that allow accessing the device location. -->
1379    <permission-group android:name="android.permission-group.LOCATION"
1380        android:icon="@drawable/perm_group_location"
1381        android:label="@string/permgrouplab_location"
1382        android:description="@string/permgroupdesc_location"
1383        android:priority="400" />
1384
1385    <!-- Allows an app to access precise location.
1386         Alternatively, you might want {@link #ACCESS_COARSE_LOCATION}.
1387         <p>Protection level: dangerous
1388    -->
1389    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
1390        android:permissionGroup="android.permission-group.UNDEFINED"
1391        android:label="@string/permlab_accessFineLocation"
1392        android:description="@string/permdesc_accessFineLocation"
1393        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
1394        android:protectionLevel="dangerous|instant" />
1395
1396    <!-- Allows an app to access approximate location.
1397         Alternatively, you might want {@link #ACCESS_FINE_LOCATION}.
1398         <p>Protection level: dangerous
1399    -->
1400    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
1401        android:permissionGroup="android.permission-group.UNDEFINED"
1402        android:label="@string/permlab_accessCoarseLocation"
1403        android:description="@string/permdesc_accessCoarseLocation"
1404        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
1405        android:protectionLevel="dangerous|instant" />
1406
1407    <!-- Allows an app to access location in the background. If you're requesting this permission,
1408         you must also request either {@link #ACCESS_COARSE_LOCATION} or
1409         {@link #ACCESS_FINE_LOCATION}. Requesting this permission by itself doesn't give you
1410         location access.
1411         <p>Protection level: dangerous
1412
1413         <p> This is a hard restricted permission which cannot be held by an app until
1414         the installer on record allowlists the permission. For more details see
1415         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1416    -->
1417    <permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"
1418        android:permissionGroup="android.permission-group.UNDEFINED"
1419        android:label="@string/permlab_accessBackgroundLocation"
1420        android:permissionFlags="hardRestricted"
1421        android:description="@string/permdesc_accessBackgroundLocation"
1422        android:protectionLevel="dangerous|instant" />
1423
1424    <!-- Allows an application (emergency or advanced driver-assistance app) to bypass
1425    location settings.
1426         <p>Not for use by third-party applications.
1427         @SystemApi
1428         @hide
1429    -->
1430    <permission android:name="android.permission.LOCATION_BYPASS"
1431                android:protectionLevel="signature|privileged"/>
1432
1433    <!-- ====================================================================== -->
1434    <!-- Permissions for accessing the call log                                 -->
1435    <!-- ====================================================================== -->
1436    <eat-comment />
1437
1438    <!-- Used for permissions that are associated telephony features. -->
1439    <permission-group android:name="android.permission-group.CALL_LOG"
1440        android:icon="@drawable/perm_group_call_log"
1441        android:label="@string/permgrouplab_calllog"
1442        android:description="@string/permgroupdesc_calllog"
1443        android:priority="450" />
1444
1445    <!-- Allows an application to access the IMS call service: making and
1446         modifying a call
1447        <p>Protection level: signature|privileged
1448        @hide
1449    -->
1450    <permission android:name="android.permission.ACCESS_IMS_CALL_SERVICE"
1451        android:label="@string/permlab_accessImsCallService"
1452        android:description="@string/permdesc_accessImsCallService"
1453        android:protectionLevel="signature|privileged" />
1454
1455    <!-- @SystemApi @hide Allows an application to perform IMS Single Registration related actions.
1456         Only granted if the application is a system app AND is in the Default SMS Role.
1457         The permission is revoked when the app is taken out of the Default SMS Role.
1458        <p>Protection level: internal|role
1459    -->
1460    <permission android:name="android.permission.PERFORM_IMS_SINGLE_REGISTRATION"
1461        android:protectionLevel="internal|role" />
1462
1463    <!-- Allows an application to read the user's call log.
1464         <p class="note"><strong>Note:</strong> If your app uses the
1465         {@link #READ_CONTACTS} permission and <em>both</em> your <a
1466         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1467         minSdkVersion}</a> and <a
1468         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1469         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1470         grants your app this permission. If you don't need this permission, be sure your <a
1471         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1472         targetSdkVersion}</a> is 16 or higher.</p>
1473         <p>Protection level: dangerous
1474
1475         <p> This is a hard restricted permission which cannot be held by an app until
1476         the installer on record allowlists the permission. For more details see
1477         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1478    -->
1479    <permission android:name="android.permission.READ_CALL_LOG"
1480        android:permissionGroup="android.permission-group.UNDEFINED"
1481        android:label="@string/permlab_readCallLog"
1482        android:description="@string/permdesc_readCallLog"
1483        android:permissionFlags="hardRestricted"
1484        android:protectionLevel="dangerous" />
1485
1486    <!-- Allows an application to write and read the user's call log data.
1487         <p class="note"><strong>Note:</strong> If your app uses the
1488         {@link #WRITE_CONTACTS} permission and <em>both</em> your <a
1489         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1490         minSdkVersion}</a> and <a
1491         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1492         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1493         grants your app this permission. If you don't need this permission, be sure your <a
1494         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1495         targetSdkVersion}</a> is 16 or higher.</p>
1496         <p>Protection level: dangerous
1497
1498         <p> This is a hard restricted permission which cannot be held by an app until
1499         the installer on record allowlists the permission. For more details see
1500         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1501    -->
1502    <permission android:name="android.permission.WRITE_CALL_LOG"
1503        android:permissionGroup="android.permission-group.UNDEFINED"
1504        android:label="@string/permlab_writeCallLog"
1505        android:description="@string/permdesc_writeCallLog"
1506        android:permissionFlags="hardRestricted"
1507        android:protectionLevel="dangerous" />
1508
1509    <!-- Allows an application to see the number being dialed during an outgoing
1510         call with the option to redirect the call to a different number or
1511         abort the call altogether.
1512         <p>Protection level: dangerous
1513
1514         <p> This is a hard restricted permission which cannot be held by an app until
1515         the installer on record allowlists the permission. For more details see
1516         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1517
1518         @deprecated Applications should use {@link android.telecom.CallRedirectionService} instead
1519         of the {@link android.content.Intent#ACTION_NEW_OUTGOING_CALL} broadcast.
1520    -->
1521    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
1522        android:permissionGroup="android.permission-group.UNDEFINED"
1523        android:label="@string/permlab_processOutgoingCalls"
1524        android:description="@string/permdesc_processOutgoingCalls"
1525        android:permissionFlags="hardRestricted"
1526        android:protectionLevel="dangerous" />
1527
1528    <!-- ====================================================================== -->
1529    <!-- Permissions for accessing the device telephony                         -->
1530    <!-- ====================================================================== -->
1531    <eat-comment />
1532
1533    <!-- Used for permissions that are associated telephony features. -->
1534    <permission-group android:name="android.permission-group.PHONE"
1535        android:icon="@drawable/perm_group_phone_calls"
1536        android:label="@string/permgrouplab_phone"
1537        android:description="@string/permgroupdesc_phone"
1538        android:priority="500" />
1539
1540    <!-- Allows read only access to phone state, including the current cellular network information,
1541         the status of any ongoing calls, and a list of any {@link android.telecom.PhoneAccount}s
1542         registered on the device.
1543         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1544         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1545         minSdkVersion}</a> and <a
1546         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1547         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1548         grants your app this permission. If you don't need this permission, be sure your <a
1549         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1550         targetSdkVersion}</a> is 4 or higher.
1551         <p>Protection level: dangerous
1552    -->
1553    <permission android:name="android.permission.READ_PHONE_STATE"
1554        android:permissionGroup="android.permission-group.UNDEFINED"
1555        android:label="@string/permlab_readPhoneState"
1556        android:description="@string/permdesc_readPhoneState"
1557        android:protectionLevel="dangerous" />
1558
1559    <!-- Allows read only access to phone state with a non dangerous permission,
1560         including the information like cellular network type, software version. -->
1561    <permission android:name="android.permission.READ_BASIC_PHONE_STATE"
1562            android:permissionGroup="android.permission-group.UNDEFINED"
1563            android:label="@string/permlab_readBasicPhoneState"
1564            android:description="@string/permdesc_readBasicPhoneState"
1565            android:protectionLevel="normal" />
1566
1567    <!-- Allows read access to the device's phone number(s),
1568         which is exposed to instant applications.
1569         <p>Protection level: dangerous-->
1570    <permission android:name="android.permission.READ_PHONE_NUMBERS"
1571        android:permissionGroup="android.permission-group.UNDEFINED"
1572        android:label="@string/permlab_readPhoneNumbers"
1573        android:description="@string/permdesc_readPhoneNumbers"
1574        android:protectionLevel="dangerous|instant" />
1575
1576    <!-- Allows an application to initiate a phone call without going through
1577        the Dialer user interface for the user to confirm the call.
1578        <p class="note"><b>Note:</b> An app holding this permission can also call carrier MMI
1579        codes to change settings such as call forwarding or call waiting preferences.</p>
1580        <p>Protection level: dangerous</p>
1581    -->
1582    <permission android:name="android.permission.CALL_PHONE"
1583        android:permissionGroup="android.permission-group.UNDEFINED"
1584        android:permissionFlags="costsMoney"
1585        android:label="@string/permlab_callPhone"
1586        android:description="@string/permdesc_callPhone"
1587        android:protectionLevel="dangerous" />
1588
1589    <!-- Allows an application to add voicemails into the system.
1590         <p>Protection level: dangerous
1591    -->
1592    <permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
1593        android:permissionGroup="android.permission-group.UNDEFINED"
1594        android:label="@string/permlab_addVoicemail"
1595        android:description="@string/permdesc_addVoicemail"
1596        android:protectionLevel="dangerous" />
1597
1598    <!-- Allows an application to use SIP service.
1599         <p>Protection level: dangerous
1600    -->
1601    <permission android:name="android.permission.USE_SIP"
1602        android:permissionGroup="android.permission-group.UNDEFINED"
1603        android:description="@string/permdesc_use_sip"
1604        android:label="@string/permlab_use_sip"
1605        android:protectionLevel="dangerous"/>
1606
1607    <!-- Allows the app to answer an incoming phone call.
1608         <p>Protection level: dangerous
1609    -->
1610    <permission android:name="android.permission.ANSWER_PHONE_CALLS"
1611        android:permissionGroup="android.permission-group.UNDEFINED"
1612        android:label="@string/permlab_answerPhoneCalls"
1613        android:description="@string/permdesc_answerPhoneCalls"
1614        android:protectionLevel="dangerous|runtime" />
1615
1616    <!-- Allows a calling application which manages its own calls through the self-managed
1617         {@link android.telecom.ConnectionService} APIs.  See
1618         {@link android.telecom.PhoneAccount#CAPABILITY_SELF_MANAGED} for more information on the
1619         self-managed ConnectionService APIs.
1620         <p>Protection level: normal
1621    -->
1622    <permission android:name="android.permission.MANAGE_OWN_CALLS"
1623                android:label="@string/permlab_manageOwnCalls"
1624                android:description="@string/permdesc_manageOwnCalls"
1625                android:protectionLevel="normal" />
1626
1627    <!--Allows an app which implements the
1628        {@link android.telecom.InCallService InCallService} API to be eligible to be enabled as a
1629        calling companion app. This means that the Telecom framework will bind to the app's
1630        InCallService implementation when there are calls active. The app can use the InCallService
1631        API to view information about calls on the system and control these calls.
1632        <p>Protection level: normal
1633    -->
1634    <permission android:name="android.permission.CALL_COMPANION_APP"
1635                android:label="@string/permlab_callCompanionApp"
1636                android:description="@string/permdesc_callCompanionApp"
1637                android:protectionLevel="normal" />
1638
1639    <!-- Exempt this uid from restrictions to background audio recoding
1640     <p>Protection level: signature|privileged
1641     @hide
1642     @SystemApi
1643    -->
1644    <permission android:name="android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS"
1645                android:label="@string/permlab_exemptFromAudioRecordRestrictions"
1646                android:description="@string/permdesc_exemptFromAudioRecordRestrictions"
1647                android:protectionLevel="signature|privileged|role" />
1648
1649    <!-- Allows a calling app to continue a call which was started in another app.  An example is a
1650         video calling app that wants to continue a voice call on the user's mobile network.<p>
1651         When the handover of a call from one app to another takes place, there are two devices
1652         which are involved in the handover; the initiating and receiving devices.  The initiating
1653         device is where the request to handover the call was started, and the receiving device is
1654         where the handover request is confirmed by the other party.<p>
1655         This permission protects access to the
1656         {@link android.telecom.TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)} which
1657         the receiving side of the handover uses to accept a handover.
1658         <p>Protection level: dangerous
1659    -->
1660    <permission android:name="android.permission.ACCEPT_HANDOVER"
1661                android:permissionGroup="android.permission-group.UNDEFINED"
1662                android.label="@string/permlab_acceptHandover"
1663                android:description="@string/permdesc_acceptHandovers"
1664                android:protectionLevel="dangerous" />
1665
1666    <!-- ====================================================================== -->
1667    <!-- Permissions for accessing the device microphone                        -->
1668    <!-- ====================================================================== -->
1669    <eat-comment />
1670
1671    <!-- Used for permissions that are associated with accessing
1672         microphone audio from the device. Note that phone calls also capture audio
1673         but are in a separate (more visible) permission group. -->
1674    <permission-group android:name="android.permission-group.MICROPHONE"
1675        android:icon="@drawable/perm_group_microphone"
1676        android:label="@string/permgrouplab_microphone"
1677        android:description="@string/permgroupdesc_microphone"
1678        android:priority="600" />
1679
1680    <!-- Allows an application to record audio.
1681         <p>Protection level: dangerous
1682    -->
1683    <permission android:name="android.permission.RECORD_AUDIO"
1684        android:permissionGroup="android.permission-group.UNDEFINED"
1685        android:label="@string/permlab_recordAudio"
1686        android:description="@string/permdesc_recordAudio"
1687        android:backgroundPermission="android.permission.RECORD_BACKGROUND_AUDIO"
1688        android:protectionLevel="dangerous|instant" />
1689
1690    <!-- @SystemApi @TestApi Allows an application to record audio while in the background.
1691         This permission is not intended to be held by apps.
1692         <p>Protection level: internal
1693        @hide -->
1694    <permission android:name="android.permission.RECORD_BACKGROUND_AUDIO"
1695        android:permissionGroup="android.permission-group.UNDEFINED"
1696        android:label="@string/permlab_recordBackgroundAudio"
1697        android:description="@string/permdesc_recordBackgroundAudio"
1698        android:protectionLevel="internal|role" />
1699
1700    <!-- ====================================================================== -->
1701    <!-- Permissions for activity recognition                        -->
1702    <!-- ====================================================================== -->
1703    <eat-comment />
1704
1705    <!-- Used for permissions that are associated with activity recognition. -->
1706    <permission-group android:name="android.permission-group.ACTIVITY_RECOGNITION"
1707        android:icon="@drawable/perm_group_activity_recognition"
1708        android:label="@string/permgrouplab_activityRecognition"
1709        android:description="@string/permgroupdesc_activityRecognition"
1710        android:priority="1000" />
1711
1712    <!-- Allows an application to recognize physical activity.
1713         <p>Protection level: dangerous
1714    -->
1715    <permission android:name="android.permission.ACTIVITY_RECOGNITION"
1716        android:permissionGroup="android.permission-group.UNDEFINED"
1717        android:label="@string/permlab_activityRecognition"
1718        android:description="@string/permdesc_activityRecognition"
1719        android:protectionLevel="dangerous|instant" />
1720
1721    <!-- ====================================================================== -->
1722    <!-- Permissions for accessing the vendor UCE Service                              -->
1723    <!-- ====================================================================== -->
1724
1725    <!-- @hide Allows an application to Access UCE-Presence.
1726         <p>Protection level: signature|privileged
1727         @deprecated Framework should no longer use this permission to access the vendor UCE service
1728         using AIDL, it is instead implemented by RcsCapabilityExchangeImplBase
1729    -->
1730    <permission android:name="android.permission.ACCESS_UCE_PRESENCE_SERVICE"
1731        android:permissionGroup="android.permission-group.PHONE"
1732        android:protectionLevel="signature|privileged"/>
1733
1734    <!-- @hide Allows an application to Access UCE-OPTIONS.
1735         <p>Protection level: signature|privileged
1736         @deprecated Framework should no longer use this permission to access the vendor UCE service
1737         using AIDL, it is instead implemented by RcsCapabilityExchangeImplBase
1738    -->
1739    <permission android:name="android.permission.ACCESS_UCE_OPTIONS_SERVICE"
1740        android:permissionGroup="android.permission-group.PHONE"
1741        android:protectionLevel="signature|privileged"/>
1742
1743
1744
1745    <!-- ====================================================================== -->
1746    <!-- Permissions for accessing the device camera                            -->
1747    <!-- ====================================================================== -->
1748    <eat-comment />
1749
1750    <!-- Used for permissions that are associated with accessing
1751     camera or capturing images/video from the device. -->
1752    <permission-group android:name="android.permission-group.CAMERA"
1753        android:icon="@drawable/perm_group_camera"
1754        android:label="@string/permgrouplab_camera"
1755        android:description="@string/permgroupdesc_camera"
1756        android:priority="700" />
1757
1758    <!-- Required to be able to access the camera device.
1759         <p>This will automatically enforce the
1760         <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">
1761         uses-feature</a> manifest element for <em>all</em> camera features.
1762         If you do not require all camera features or can properly operate if a camera
1763         is not available, then you must modify your manifest as appropriate in order to
1764         install on devices that don't support all camera features.</p>
1765         <p>Protection level: dangerous
1766    -->
1767    <permission android:name="android.permission.CAMERA"
1768        android:permissionGroup="android.permission-group.UNDEFINED"
1769        android:label="@string/permlab_camera"
1770        android:description="@string/permdesc_camera"
1771        android:backgroundPermission="android.permission.BACKGROUND_CAMERA"
1772        android:protectionLevel="dangerous|instant" />
1773
1774    <!-- Required to be able to discover and connect to nearby Bluetooth devices.
1775         <p>Protection level: dangerous -->
1776    <permission-group android:name="android.permission-group.NEARBY_DEVICES"
1777        android:icon="@drawable/perm_group_nearby_devices"
1778        android:label="@string/permgrouplab_nearby_devices"
1779        android:description="@string/permgroupdesc_nearby_devices"
1780        android:priority="750" />
1781
1782    <!-- @SystemApi @TestApi Required to be able to access the camera device in the background.
1783         This permission is not intended to be held by apps.
1784         <p>Protection level: internal
1785        @hide -->
1786    <permission android:name="android.permission.BACKGROUND_CAMERA"
1787            android:permissionGroup="android.permission-group.UNDEFINED"
1788            android:label="@string/permlab_backgroundCamera"
1789            android:description="@string/permdesc_backgroundCamera"
1790            android:protectionLevel="internal|role" />
1791
1792    <!-- @SystemApi Required in addition to android.permission.CAMERA to be able to access
1793           system only camera devices.
1794           <p>Protection level: system|signature|role
1795           @hide -->
1796    <permission android:name="android.permission.SYSTEM_CAMERA"
1797        android:permissionGroup="android.permission-group.UNDEFINED"
1798        android:label="@string/permlab_systemCamera"
1799        android:description="@string/permdesc_systemCamera"
1800        android:protectionLevel="system|signature|role" />
1801
1802    <!-- @SystemApi Allows receiving the camera service notifications when a camera is opened
1803            (by a certain application package) or closed.
1804        @hide -->
1805    <permission android:name="android.permission.CAMERA_OPEN_CLOSE_LISTENER"
1806        android:permissionGroup="android.permission-group.UNDEFINED"
1807        android:label="@string/permlab_cameraOpenCloseListener"
1808        android:description="@string/permdesc_cameraOpenCloseListener"
1809        android:protectionLevel="signature" />
1810
1811    <!-- @SystemApi Allows camera access by Headless System User 0 when device is running in
1812            HSUM Mode.
1813         @FlaggedApi("com.android.internal.camera.flags.camera_hsum_permission")
1814    @hide -->
1815    <permission android:name="android.permission.CAMERA_HEADLESS_SYSTEM_USER"
1816        android:permissionGroup="android.permission-group.UNDEFINED"
1817        android:label="@string/permlab_cameraHeadlessSystemUser"
1818        android:description="@string/permdesc_cameraHeadlessSystemUser"
1819        android:protectionLevel="signature"
1820        android:featureFlag="com.android.internal.camera.flags.camera_hsum_permission" />
1821
1822
1823    <!-- @SystemApi Allows camera access of allowlisted driver assistance apps
1824         to be controlled separately.
1825         <p> Not for use by third-party applications.
1826         @FlaggedApi("com.android.internal.camera.flags.camera_privacy_allowlist")
1827         @hide
1828    -->
1829    <permission android:name="android.permission.CAMERA_PRIVACY_ALLOWLIST"
1830        android:protectionLevel="signature|privileged" />
1831
1832    <!-- ====================================================================== -->
1833    <!-- Permissions for accessing the device sensors                           -->
1834    <!-- ====================================================================== -->
1835    <eat-comment />
1836
1837    <!-- Used for permissions that are associated with accessing
1838         body or environmental sensors. -->
1839    <permission-group android:name="android.permission-group.SENSORS"
1840        android:icon="@drawable/perm_group_sensors"
1841        android:label="@string/permgrouplab_sensors"
1842        android:description="@string/permgroupdesc_sensors"
1843        android:priority="800" />
1844
1845    <!-- Allows an app to access sensor data with a sampling rate greater than 200 Hz.
1846        <p>Protection level: normal
1847    -->
1848    <permission android:name="android.permission.HIGH_SAMPLING_RATE_SENSORS"
1849                android:permissionGroup="android.permission-group.SENSORS"
1850                android:label="@string/permlab_highSamplingRateSensors"
1851                android:description="@string/permdesc_highSamplingRateSensors"
1852                android:protectionLevel="normal" />
1853
1854    <!-- Allows an application to access data from sensors that the user uses to
1855         measure what is happening inside their body, such as heart rate.
1856         <p>Protection level: dangerous -->
1857    <permission android:name="android.permission.BODY_SENSORS"
1858        android:permissionGroup="android.permission-group.UNDEFINED"
1859        android:label="@string/permlab_bodySensors"
1860        android:description="@string/permdesc_bodySensors"
1861        android:backgroundPermission="android.permission.BODY_SENSORS_BACKGROUND"
1862        android:protectionLevel="dangerous" />
1863
1864    <!-- Allows an application to access data from sensors that the user uses to measure what is
1865         happening inside their body, such as heart rate. If you're requesting this permission, you
1866         must also request {@link #BODY_SENSORS}. Requesting this permission by itself doesn't give
1867         you Body sensors access.
1868         <p>Protection level: dangerous
1869
1870         <p> This is a hard restricted permission which cannot be held by an app until
1871         the installer on record allowlists the permission. For more details see
1872         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1873    -->
1874    <permission android:name="android.permission.BODY_SENSORS_BACKGROUND"
1875        android:permissionGroup="android.permission-group.UNDEFINED"
1876        android:label="@string/permlab_bodySensors_background"
1877        android:description="@string/permdesc_bodySensors_background"
1878        android:protectionLevel="dangerous"
1879        android:permissionFlags="hardRestricted" />
1880
1881    <!-- Allows an app to use fingerprint hardware.
1882         <p>Protection level: normal
1883         @deprecated Applications should request {@link
1884         android.Manifest.permission#USE_BIOMETRIC} instead
1885    -->
1886    <permission android:name="android.permission.USE_FINGERPRINT"
1887        android:permissionGroup="android.permission-group.SENSORS"
1888        android:label="@string/permlab_useFingerprint"
1889        android:description="@string/permdesc_useFingerprint"
1890        android:protectionLevel="normal" />
1891
1892    <!-- Allows an app to use device supported biometric modalities.
1893         <p>Protection level: normal
1894    -->
1895    <permission android:name="android.permission.USE_BIOMETRIC"
1896        android:permissionGroup="android.permission-group.SENSORS"
1897        android:label="@string/permlab_useBiometric"
1898        android:description="@string/permdesc_useBiometric"
1899        android:protectionLevel="normal" />
1900
1901    <!-- ====================================================================== -->
1902    <!-- Permissions for posting notifications                                  -->
1903    <!-- ====================================================================== -->
1904    <eat-comment />
1905
1906    <!-- Used for permissions that are associated with posting notifications
1907    -->
1908    <permission-group android:name="android.permission-group.NOTIFICATIONS"
1909          android:icon="@drawable/ic_notifications_alerted"
1910          android:label="@string/permgrouplab_notifications"
1911          android:description="@string/permgroupdesc_notifications"
1912          android:priority="850" />
1913
1914    <!-- Allows an app to post notifications
1915         <p>Protection level: dangerous
1916    -->
1917    <permission android:name="android.permission.POST_NOTIFICATIONS"
1918                android:permissionGroup="android.permission-group.UNDEFINED"
1919                android:label="@string/permlab_postNotification"
1920                android:description="@string/permdesc_postNotification"
1921                android:protectionLevel="dangerous|instant" />
1922    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
1923
1924    <!-- ====================================================================== -->
1925    <!-- REMOVED PERMISSIONS                                                    -->
1926    <!-- ====================================================================== -->
1927
1928    <!-- @hide We need to keep this around for backwards compatibility -->
1929    <permission android:name="android.permission.READ_PROFILE"
1930        android:protectionLevel="normal"
1931        android:permissionFlags="removed"/>
1932
1933    <!-- @hide We need to keep this around for backwards compatibility -->
1934    <permission android:name="android.permission.WRITE_PROFILE"
1935        android:protectionLevel="normal"
1936        android:permissionFlags="removed"/>
1937
1938    <!-- @hide We need to keep this around for backwards compatibility -->
1939    <permission android:name="android.permission.READ_SOCIAL_STREAM"
1940        android:protectionLevel="normal"
1941        android:permissionFlags="removed"/>
1942
1943    <!-- @hide We need to keep this around for backwards compatibility -->
1944    <permission android:name="android.permission.WRITE_SOCIAL_STREAM"
1945        android:protectionLevel="normal"
1946        android:permissionFlags="removed"/>
1947
1948    <!-- @hide We need to keep this around for backwards compatibility -->
1949    <permission android:name="android.permission.READ_USER_DICTIONARY"
1950        android:protectionLevel="normal"
1951        android:permissionFlags="removed"/>
1952
1953    <!-- @hide We need to keep this around for backwards compatibility -->
1954    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
1955        android:protectionLevel="normal"
1956        android:permissionFlags="removed"/>
1957
1958    <!-- @SystemApi @hide We need to keep this around for backwards compatibility -->
1959    <permission android:name="android.permission.WRITE_SMS"
1960        android:protectionLevel="normal"
1961        android:permissionFlags="removed"/>
1962
1963    <!-- @hide We need to keep this around for backwards compatibility -->
1964    <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
1965        android:protectionLevel="normal"
1966        android:permissionFlags="removed"/>
1967
1968    <!-- @hide We need to keep this around for backwards compatibility -->
1969    <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
1970        android:protectionLevel="normal"
1971        android:permissionFlags="removed"/>
1972
1973    <!-- @hide We need to keep this around for backwards compatibility -->
1974    <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"
1975        android:protectionLevel="normal"
1976        android:permissionFlags="removed"/>
1977
1978    <!-- @hide We need to keep this around for backwards compatibility -->
1979    <permission android:name="android.permission.MANAGE_ACCOUNTS"
1980        android:protectionLevel="normal"
1981        android:permissionFlags="removed"/>
1982
1983    <!-- @hide We need to keep this around for backwards compatibility -->
1984    <permission android:name="android.permission.USE_CREDENTIALS"
1985        android:protectionLevel="normal"
1986        android:permissionFlags="removed"/>
1987
1988    <!-- @hide We need to keep this around for backwards compatibility -->
1989    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
1990        android:protectionLevel="normal"
1991        android:permissionFlags="removed"/>
1992
1993    <!-- @hide We need to keep this around for backwards compatibility -->
1994    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
1995        android:protectionLevel="normal"
1996        android:permissionFlags="removed"/>
1997
1998    <!-- @hide We need to keep this around for backwards compatibility -->
1999    <permission android:name="android.permission.FLASHLIGHT"
2000        android:protectionLevel="normal"
2001        android:permissionFlags="removed"/>
2002
2003    <!-- ====================================================================== -->
2004    <!-- INSTALL PERMISSIONS                                                    -->
2005    <!-- ====================================================================== -->
2006
2007    <!-- ================================== -->
2008    <!-- Permissions for accessing messages -->
2009    <!-- ================================== -->
2010    <eat-comment />
2011
2012    <!-- Allows an application (Phone) to send a request to other applications
2013         to handle the respond-via-message action during incoming calls.
2014         <p>Not for use by third-party applications. -->
2015    <permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE"
2016        android:protectionLevel="signature|privileged" />
2017
2018    <!-- @SystemApi Allows an application to send SMS to premium shortcodes without user permission.
2019         <p>Not for use by third-party applications.
2020         @hide -->
2021    <permission android:name="android.permission.SEND_SMS_NO_CONFIRMATION"
2022        android:protectionLevel="signature|privileged" />
2023
2024    <!-- Allows an application to filter carrier specific sms.
2025         @hide -->
2026    <permission android:name="android.permission.CARRIER_FILTER_SMS"
2027        android:protectionLevel="signature|privileged" />
2028
2029    <!-- @SystemApi Allows an application to receive emergency cell broadcast messages,
2030         to record or display them to the user.
2031         <p>Not for use by third-party applications.
2032         @hide -->
2033    <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"
2034        android:protectionLevel="signature|privileged" />
2035
2036    <!-- @SystemApi Allows an application to monitor incoming Bluetooth MAP messages, to record
2037         or perform processing on them. -->
2038    <!-- @hide -->
2039    <permission android:name="android.permission.RECEIVE_BLUETOOTH_MAP"
2040        android:protectionLevel="signature|privileged" />
2041
2042    <!-- @SystemApi @hide Allows an application to execute contacts directory search.
2043         This should only be used by ContactsProvider.
2044         <p>Not for use by third-party applications. -->
2045    <permission android:name="android.permission.BIND_DIRECTORY_SEARCH"
2046        android:protectionLevel="signature|privileged" />
2047
2048    <!-- @SystemApi @hide Allows an application to modify the cell broadcasts configuration
2049         (i.e. enable or disable channels).
2050         <p>Not for use by third-party applications. -->
2051    <permission android:name="android.permission.MODIFY_CELL_BROADCASTS"
2052                android:protectionLevel="signature|privileged" />
2053
2054    <!-- =============================================================== -->
2055    <!-- Permissions for setting the device alarm                        -->
2056    <!-- =============================================================== -->
2057    <eat-comment />
2058
2059    <!-- Allows an application to broadcast an Intent to set an alarm for the user.
2060         <p>Protection level: normal
2061    -->
2062    <permission android:name="com.android.alarm.permission.SET_ALARM"
2063        android:label="@string/permlab_setAlarm"
2064        android:description="@string/permdesc_setAlarm"
2065        android:protectionLevel="normal" />
2066
2067    <!-- =============================================================== -->
2068    <!-- Permissions for accessing the user voicemail                    -->
2069    <!-- =============================================================== -->
2070    <eat-comment />
2071
2072    <!-- Allows an application to modify and remove existing voicemails in the system.
2073        <p>Protection level: signature|privileged|role
2074    -->
2075    <permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"
2076        android:protectionLevel="signature|privileged|role" />
2077
2078    <!-- Allows an application to read voicemails in the system.
2079         <p>Protection level: signature|privileged|role
2080    -->
2081    <permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"
2082        android:protectionLevel="signature|privileged|role" />
2083
2084    <!-- ======================================= -->
2085    <!-- Permissions for accessing location info -->
2086    <!-- ======================================= -->
2087    <eat-comment />
2088
2089    <!-- Allows an application to access extra location provider commands.
2090         <p>Protection level: normal
2091    -->
2092    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
2093        android:label="@string/permlab_accessLocationExtraCommands"
2094        android:description="@string/permdesc_accessLocationExtraCommands"
2095        android:protectionLevel="normal" />
2096
2097    <!-- Allows an application to install a location provider into the Location Manager.
2098    <p>Not for use by third-party applications. -->
2099    <permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"
2100        android:protectionLevel="signature|privileged" />
2101
2102    <!-- @SystemApi @hide Allows an application to provide location-based time zone suggestions to
2103         the system server. This is needed because the system server discovers time zone providers
2104         by exposed intent actions and metadata, without it any app could potentially register
2105         itself as time zone provider. The system server checks for this permission.
2106         <p>Not for use by third-party applications.
2107    -->
2108    <permission android:name="android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE"
2109        android:protectionLevel="signature|privileged" />
2110
2111    <!-- @SystemApi @hide Allows an application to bind to a android.service.TimeZoneProviderService
2112         for the purpose of detecting the device's time zone. This prevents arbitrary clients
2113         connecting to the time zone provider service. The system server checks that the provider's
2114         intent service explicitly sets this permission via the android:permission attribute of the
2115         service.
2116         This is only expected to be possessed by the system server outside of tests.
2117         <p>Not for use by third-party applications.
2118    -->
2119    <permission android:name="android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE"
2120        android:protectionLevel="signature" />
2121
2122    <!-- @SystemApi @hide Allows HDMI-CEC service to access device and configuration files.
2123         This should only be used by HDMI-CEC service.
2124    -->
2125    <permission android:name="android.permission.HDMI_CEC"
2126        android:protectionLevel="signature|privileged|vendorPrivileged" />
2127
2128    <!-- Allows an application to use location features in hardware,
2129         such as the geofencing api.
2130         <p>Not for use by third-party applications. -->
2131    <permission android:name="android.permission.LOCATION_HARDWARE"
2132        android:protectionLevel="signature|privileged|role" />
2133    <uses-permission android:name="android.permission.LOCATION_HARDWARE"/>
2134
2135    <!-- @SystemApi Allows an application to use the Context Hub.
2136         <p>Not for use by third-party applications.
2137         @hide
2138    -->
2139    <permission android:name="android.permission.ACCESS_CONTEXT_HUB"
2140        android:protectionLevel="signature|privileged" />
2141    <uses-permission android:name="android.permission.ACCESS_CONTEXT_HUB"/>
2142
2143    <!-- @SystemApi Allows an application to create mock location providers for testing.
2144         <p>Protection level: signature
2145         @hide
2146    -->
2147    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
2148        android:protectionLevel="signature" />
2149
2150    <!-- @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
2151         Allows automotive applications to control location
2152         suspend state for power management use cases.
2153         <p>Not for use by third-party applications.
2154    -->
2155    <permission android:name="android.permission.CONTROL_AUTOMOTIVE_GNSS"
2156        android:protectionLevel="signature|privileged" />
2157
2158    <!-- @SystemApi @hide Allows an application to bind to a
2159         android.service.PopulationDensityProviderService for the purpose of
2160         querying population density. This prevents arbitrary clients connecting
2161         to the service. The system server checks that the provider's intent
2162         service explicitly sets this permission via the android:permission
2163         attribute of the service.
2164         This is only expected to be possessed by the system server outside of
2165         tests.
2166         @FlaggedApi(android.location.flags.Flags.FLAG_POPULATION_DENSITY_PROVIDER)
2167         <p>Protection level: signature
2168    -->
2169    <permission android:name="android.permission.BIND_POPULATION_DENSITY_PROVIDER_SERVICE"
2170        android:featureFlag="android.location.flags.population_density_provider"
2171        android:protectionLevel="signature" />
2172
2173    <!-- ======================================= -->
2174    <!-- Permissions for accessing networks -->
2175    <!-- ======================================= -->
2176    <eat-comment />
2177
2178    <!-- Allows applications to open network sockets.
2179         <p>Protection level: normal
2180    -->
2181    <permission android:name="android.permission.INTERNET"
2182        android:description="@string/permdesc_createNetworkSockets"
2183        android:label="@string/permlab_createNetworkSockets"
2184        android:protectionLevel="normal|instant" />
2185
2186    <!-- Allows applications to access information about networks.
2187         <p>Protection level: normal
2188    -->
2189    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
2190        android:description="@string/permdesc_accessNetworkState"
2191        android:label="@string/permlab_accessNetworkState"
2192        android:protectionLevel="normal|instant" />
2193
2194    <!-- Allows applications to access information about Wi-Fi networks.
2195         <p>Protection level: normal
2196    -->
2197    <permission android:name="android.permission.ACCESS_WIFI_STATE"
2198        android:description="@string/permdesc_accessWifiState"
2199        android:label="@string/permlab_accessWifiState"
2200        android:protectionLevel="normal" />
2201
2202    <!-- Allows applications to change Wi-Fi connectivity state.
2203         <p>Protection level: normal
2204    -->
2205    <permission android:name="android.permission.CHANGE_WIFI_STATE"
2206        android:description="@string/permdesc_changeWifiState"
2207        android:label="@string/permlab_changeWifiState"
2208        android:protectionLevel="normal" />
2209
2210    <!-- This permission is used to let OEMs grant their trusted app access to a subset of
2211         privileged wifi APIs to improve wifi performance. Allows applications to manage
2212         Wi-Fi network selection related features such as enable or disable global auto-join,
2213         modify connectivity scan intervals, and approve Wi-Fi Direct connections.
2214         <p>Not for use by third-party applications. -->
2215    <permission android:name="android.permission.MANAGE_WIFI_NETWORK_SELECTION"
2216                android:protectionLevel="signature|privileged|knownSigner"
2217                android:knownCerts="@array/wifi_known_signers" />
2218
2219    <!-- Allows applications to get notified when a Wi-Fi interface request cannot
2220         be satisfied without tearing down one or more other interfaces, and provide a decision
2221         whether to approve the request or reject it.
2222         <p>Not for use by third-party applications. -->
2223    <permission android:name="android.permission.MANAGE_WIFI_INTERFACES"
2224                android:protectionLevel="signature|privileged|knownSigner"
2225                android:knownCerts="@array/wifi_known_signers" />
2226
2227    <!-- @SystemApi @hide Allows apps to create and manage IPsec tunnels.
2228         <p>Only granted to applications that are currently bound by the
2229         system for creating and managing IPsec-based interfaces.
2230    -->
2231    <permission android:name="android.permission.MANAGE_IPSEC_TUNNELS"
2232        android:protectionLevel="signature|appop" />
2233
2234    <!-- @SystemApi @hide Allows apps to create and manage Test Networks.
2235         <p>Granted only to shell. CTS tests will use
2236         UiAutomation.AdoptShellPermissionIdentity() to gain access.
2237    -->
2238    <permission android:name="android.permission.MANAGE_TEST_NETWORKS"
2239        android:protectionLevel="signature" />
2240
2241    <!-- Allows direct access to the <RemoteAuth>Service interfaces.
2242         @hide -->
2243    <permission android:name="android.permission.MANAGE_REMOTE_AUTH"
2244                android:protectionLevel="signature" />
2245
2246    <!-- Allows direct access to the <RemoteAuth>Service authentication methods.
2247         @hide -->
2248    <permission android:name="android.permission.USE_REMOTE_AUTH"
2249                android:protectionLevel="signature" />
2250
2251    <!-- @SystemApi @hide Allows applications to read Wi-Fi credential.
2252         <p>Not for use by third-party applications. -->
2253    <permission android:name="android.permission.READ_WIFI_CREDENTIAL"
2254        android:protectionLevel="signature|privileged" />
2255
2256    <!-- @SystemApi @hide Allows applications to change tether state and run
2257         tether carrier provisioning.
2258         <p>Not for use by third-party applications. -->
2259    <permission android:name="android.permission.TETHER_PRIVILEGED"
2260        android:protectionLevel="signature|privileged" />
2261
2262    <!-- @SystemApi @hide Allow system apps to receive broadcast
2263         when a wifi network credential is changed.
2264         <p>Not for use by third-party applications. -->
2265    <permission android:name="android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE"
2266        android:protectionLevel="signature|privileged" />
2267
2268    <!-- Allows an application to modify any wifi configuration, even if created
2269     by another application. Once reconfigured the original creator cannot make any further
2270     modifications.
2271     <p>Not for use by third-party applications. -->
2272    <permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"
2273                android:protectionLevel="signature|privileged|knownSigner"
2274                android:knownCerts="@array/wifi_known_signers" />
2275
2276    <!-- @deprecated Allows applications to act as network scorers. @hide @SystemApi-->
2277    <permission android:name="android.permission.SCORE_NETWORKS"
2278        android:protectionLevel="signature|privileged" />
2279
2280    <!-- @deprecated Allows applications to request network
2281         recommendations and scores from the NetworkScoreService.
2282         @SystemApi
2283         <p>Not for use by third-party applications. @hide -->
2284    <permission android:name="android.permission.REQUEST_NETWORK_SCORES"
2285        android:protectionLevel="signature|setup" />
2286
2287    <!-- Allows applications to restart the Wi-Fi subsystem.
2288     @SystemApi
2289     <p>Not for use by third-party applications. @hide -->
2290    <permission android:name="android.permission.RESTART_WIFI_SUBSYSTEM"
2291                android:protectionLevel="signature|privileged" />
2292
2293    <!-- @SystemApi @hide Allows applications to toggle airplane mode.
2294         <p>Not for use by third-party or privileged applications.
2295    -->
2296    <permission android:name="android.permission.NETWORK_AIRPLANE_MODE"
2297        android:protectionLevel="signature" />
2298
2299    <!-- Allows network stack services (Connectivity and Wifi) to coordinate
2300         <p>Not for use by third-party or privileged applications.
2301         @SystemApi @TestApi
2302         @hide This should only be used by Connectivity and Wifi Services.
2303    -->
2304    <permission android:name="android.permission.NETWORK_STACK"
2305        android:protectionLevel="signature" />
2306
2307    <!-- @SystemApi @hide Allows an application to observe network policy changes. -->
2308    <permission android:name="android.permission.OBSERVE_NETWORK_POLICY"
2309                android:protectionLevel="signature" />
2310
2311    <!-- @SystemApi @hide Allows applications to register network factory or agent -->
2312    <permission android:name="android.permission.NETWORK_FACTORY"
2313                android:protectionLevel="signature|role" />
2314
2315    <!-- @SystemApi @hide Allows applications to access network stats provider -->
2316    <permission android:name="android.permission.NETWORK_STATS_PROVIDER"
2317                android:protectionLevel="signature" />
2318
2319    <!-- Allows Settings and SystemUI to call methods in Networking services
2320         <p>Not for use by third-party or privileged applications.
2321         @SystemApi @TestApi
2322         @hide This should only be used by Settings and SystemUI.
2323    -->
2324    <permission android:name="android.permission.NETWORK_SETTINGS"
2325        android:protectionLevel="signature" />
2326
2327    <!-- Allows holder to request bluetooth/wifi scan bypassing global "use location" setting and
2328         location permissions.
2329         <p>Not for use by third-party or privileged applications.
2330         @SystemApi
2331         @hide
2332    -->
2333    <permission android:name="android.permission.RADIO_SCAN_WITHOUT_LOCATION"
2334                android:protectionLevel="signature|companion" />
2335
2336    <!-- Allows SetupWizard to call methods in Networking services
2337         <p>Not for use by any other third-party or privileged applications.
2338         @SystemApi
2339         @hide This should only be used by SetupWizard.
2340    -->
2341    <permission android:name="android.permission.NETWORK_SETUP_WIZARD"
2342        android:protectionLevel="signature|setup" />
2343
2344    <!-- Allows Managed Provisioning to call methods in Networking services
2345         <p>Not for use by any other third-party or privileged applications.
2346         @SystemApi
2347         @hide This should only be used by ManagedProvisioning app.
2348    -->
2349    <permission android:name="android.permission.NETWORK_MANAGED_PROVISIONING"
2350        android:protectionLevel="signature|role" />
2351
2352    <!-- Allows Carrier Provisioning to call methods in Networking services
2353         <p>Not for use by any other third-party or privileged applications.
2354         @SystemApi
2355         @hide This should only be used by CarrierProvisioning.
2356    -->
2357    <permission android:name="android.permission.NETWORK_CARRIER_PROVISIONING"
2358        android:protectionLevel="signature|privileged" />
2359
2360    <!-- #SystemApi @hide Allows applications to access information about LoWPAN interfaces.
2361         <p>Not for use by third-party applications. -->
2362    <permission android:name="android.permission.ACCESS_LOWPAN_STATE"
2363        android:protectionLevel="signature|privileged" />
2364
2365    <!-- #SystemApi @hide Allows applications to change LoWPAN connectivity state.
2366         <p>Not for use by third-party applications. -->
2367    <permission android:name="android.permission.CHANGE_LOWPAN_STATE"
2368        android:protectionLevel="signature|privileged" />
2369
2370    <!-- #SystemApi @hide Allows applications to read LoWPAN credential.
2371         <p>Not for use by third-party applications. -->
2372    <permission android:name="android.permission.READ_LOWPAN_CREDENTIAL"
2373        android:protectionLevel="signature|privileged" />
2374
2375    <!-- #SystemApi @hide Allows a service to register or unregister
2376         new LoWPAN interfaces.
2377         <p>Not for use by third-party applications. -->
2378    <permission android:name="android.permission.MANAGE_LOWPAN_INTERFACES"
2379        android:protectionLevel="signature|privileged" />
2380
2381    <!-- @SystemApi @hide Allows changing Thread network state and access to Thread network
2382        credentials such as Network Key and PSKc.
2383        <p>Not for use by third-party applications.
2384        @FlaggedApi("com.android.net.thread.platform.flags.thread_enabled_platform") -->
2385    <permission android:name="android.permission.THREAD_NETWORK_PRIVILEGED"
2386                android:protectionLevel="signature|privileged" />
2387
2388    <!-- @hide Allows access to Thread network APIs or shell commands ("cmd thread_network") which
2389        are only for testing. -->
2390    <permission android:name="android.permission.THREAD_NETWORK_TESTING"
2391                android:protectionLevel="signature" />
2392
2393    <!-- #SystemApi @hide Allows an app to bypass Private DNS.
2394         <p>Not for use by third-party applications.
2395         TODO: publish as system API in next API release. -->
2396    <permission android:name="android.permission.NETWORK_BYPASS_PRIVATE_DNS"
2397        android:protectionLevel="signature" />
2398
2399    <!-- @SystemApi @hide Allows device mobility state to be set so that Wifi scan interval can
2400         be increased when the device is stationary in order to save power.
2401         <p>Not for use by third-party applications. -->
2402    <permission android:name="android.permission.WIFI_SET_DEVICE_MOBILITY_STATE"
2403        android:protectionLevel="signature|privileged" />
2404
2405    <!-- @SystemApi @hide Allows privileged system APK to update Wifi usability stats and score.
2406         <p>Not for use by third-party applications. -->
2407    <permission android:name="android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE"
2408        android:protectionLevel="signature|privileged" />
2409
2410    <!-- @SystemApi @hide Allows applications to update Wifi/Cellular coex channels to avoid.
2411             <p>Not for use by third-party applications. -->
2412    <permission android:name="android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS"
2413        android:protectionLevel="signature|role" />
2414
2415    <!-- @SystemApi @hide Allows applications to access Wifi/Cellular coex channels being avoided.
2416         <p>Not for use by third-party applications. -->
2417    <permission android:name="android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS"
2418        android:protectionLevel="signature|role" />
2419
2420    <!-- @SystemApi @hide Allows system APK to manage country code.
2421             <p>Not for use by third-party applications. -->
2422    <permission android:name="android.permission.MANAGE_WIFI_COUNTRY_CODE"
2423        android:protectionLevel="signature" />
2424
2425    <!-- @SystemApi @hide Allows an application to manage an automotive device's application network
2426         preference as it relates to OEM_PAID and OEM_PRIVATE capable networks.
2427         <p>Not for use by third-party or privileged applications. -->
2428    <permission android:name="android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE"
2429        android:protectionLevel="signature" />
2430
2431    <!-- @SystemApi @hide Allows an application to manage ethernet networks.
2432         <p>Not for use by third-party or privileged applications. -->
2433    <permission android:name="android.permission.MANAGE_ETHERNET_NETWORKS"
2434        android:protectionLevel="signature" />
2435
2436    <!-- Allows system apps to call methods to register itself as a mDNS offload engine.
2437        <p>Not for use by third-party or privileged applications.
2438        @SystemApi
2439        @FlaggedApi("android.net.platform.flags.register_nsd_offload_engine")
2440        @hide This should only be used by system apps.
2441    -->
2442    <permission android:name="android.permission.REGISTER_NSD_OFFLOAD_ENGINE"
2443        android:protectionLevel="signature"
2444        android:featureFlag="android.net.platform.flags.register_nsd_offload_engine" />
2445
2446    <!-- ======================================= -->
2447    <!-- Permissions for short range, peripheral networks -->
2448    <!-- ======================================= -->
2449    <eat-comment />
2450
2451    <!-- Allows applications to connect to paired bluetooth devices.
2452         <p>Protection level: normal
2453    -->
2454    <permission android:name="android.permission.BLUETOOTH"
2455        android:description="@string/permdesc_bluetooth"
2456        android:label="@string/permlab_bluetooth"
2457        android:protectionLevel="normal" />
2458
2459    <!-- Required to be able to discover and pair nearby Bluetooth devices.
2460         <p>Protection level: dangerous -->
2461    <permission android:name="android.permission.BLUETOOTH_SCAN"
2462        android:permissionGroup="android.permission-group.UNDEFINED"
2463        android:description="@string/permdesc_bluetooth_scan"
2464        android:label="@string/permlab_bluetooth_scan"
2465        android:protectionLevel="dangerous" />
2466
2467    <!-- Required to be able to connect to paired Bluetooth devices.
2468         <p>Protection level: dangerous -->
2469    <permission android:name="android.permission.BLUETOOTH_CONNECT"
2470        android:permissionGroup="android.permission-group.UNDEFINED"
2471        android:description="@string/permdesc_bluetooth_connect"
2472        android:label="@string/permlab_bluetooth_connect"
2473        android:protectionLevel="dangerous" />
2474
2475    <!-- Required to be able to advertise to nearby Bluetooth devices.
2476         <p>Protection level: dangerous -->
2477    <permission android:name="android.permission.BLUETOOTH_ADVERTISE"
2478        android:permissionGroup="android.permission-group.UNDEFINED"
2479        android:description="@string/permdesc_bluetooth_advertise"
2480        android:label="@string/permlab_bluetooth_advertise"
2481        android:protectionLevel="dangerous" />
2482
2483    <!-- Required to be able to range to devices using ultra-wideband.
2484         <p>Protection level: dangerous -->
2485    <permission android:name="android.permission.UWB_RANGING"
2486        android:permissionGroup="android.permission-group.UNDEFINED"
2487        android:description="@string/permdesc_uwb_ranging"
2488        android:label="@string/permlab_uwb_ranging"
2489        android:protectionLevel="dangerous" />
2490
2491    <!-- Required to be able to advertise and connect to nearby devices via Wi-Fi.
2492         <p>Protection level: dangerous -->
2493    <permission android:name="android.permission.NEARBY_WIFI_DEVICES"
2494                android:permissionGroup="android.permission-group.UNDEFINED"
2495                android:description="@string/permdesc_nearby_wifi_devices"
2496                android:label="@string/permlab_nearby_wifi_devices"
2497                android:protectionLevel="dangerous" />
2498
2499    <!-- Required to be able to range to devices using generic ranging module.
2500         @FlaggedApi("android.permission.flags.ranging_permission_enabled")
2501         <p>Protection level: dangerous -->
2502    <permission android:name="android.permission.RANGING"
2503        android:permissionGroup="android.permission-group.UNDEFINED"
2504        android:description="@string/permdesc_ranging"
2505        android:label="@string/permlab_ranging"
2506        android:protectionLevel="dangerous"
2507        android:featureFlag="android.permission.flags.ranging_permission_enabled"/>
2508
2509    <!-- @SystemApi @TestApi Allows an application to suspend other apps, which will prevent the
2510         user from using them until they are unsuspended.
2511         @hide
2512    -->
2513    <permission android:name="android.permission.SUSPEND_APPS"
2514        android:protectionLevel="signature|role|verifier" />
2515
2516    <!-- @SystemApi
2517         @hide
2518         @FlaggedApi("android.content.pm.quarantined_enabled")
2519         Allows an application to quarantine other apps, which will prevent
2520         them from running without explicit user action.
2521    -->
2522    <permission android:name="android.permission.QUARANTINE_APPS"
2523        android:protectionLevel="signature|verifier"
2524        android:featureFlag="android.content.pm.quarantined_enabled" />
2525
2526    <!-- Allows applications to discover and pair bluetooth devices.
2527         <p>Protection level: normal
2528    -->
2529    <permission android:name="android.permission.BLUETOOTH_ADMIN"
2530        android:description="@string/permdesc_bluetoothAdmin"
2531        android:label="@string/permlab_bluetoothAdmin"
2532        android:protectionLevel="normal" />
2533
2534    <!-- Allows applications to pair bluetooth devices without user interaction, and to
2535         allow or disallow phonebook access or message access.
2536         <p>Not for use by third-party applications. -->
2537    <permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
2538        android:protectionLevel="signature|privileged" />
2539
2540    <!-- @SystemApi Control access to email providers exclusively for Bluetooth
2541         @hide
2542    -->
2543    <permission android:name="android.permission.BLUETOOTH_MAP"
2544        android:protectionLevel="signature|role" />
2545
2546    <!-- Allows bluetooth stack to access files
2547         This should only be granted to the Bluetooth apk.
2548         @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
2549    -->
2550    <permission android:name="android.permission.BLUETOOTH_STACK"
2551        android:protectionLevel="signature|role" />
2552
2553    <!-- Allows uhid write access for creating virtual input devices
2554         @hide
2555    -->
2556    <permission android:name="android.permission.VIRTUAL_INPUT_DEVICE"
2557        android:protectionLevel="signature" />
2558
2559    <!-- Allows applications to perform I/O operations over NFC.
2560         <p>Protection level: normal
2561    -->
2562    <permission android:name="android.permission.NFC"
2563        android:description="@string/permdesc_nfc"
2564        android:label="@string/permlab_nfc"
2565        android:protectionLevel="normal" />
2566
2567    <!-- Allows applications to receive NFC transaction events.
2568         <p>Protection level: normal
2569    -->
2570    <permission android:name="android.permission.NFC_TRANSACTION_EVENT"
2571        android:description="@string/permdesc_nfcTransactionEvent"
2572        android:label="@string/permlab_nfcTransactionEvent"
2573      android:protectionLevel="normal" />
2574
2575    <!-- Allows applications to receive NFC preferred payment service information.
2576         <p>Protection level: normal
2577    -->
2578    <permission android:name="android.permission.NFC_PREFERRED_PAYMENT_INFO"
2579        android:description="@string/permdesc_preferredPaymentInfo"
2580        android:label="@string/permlab_preferredPaymentInfo"
2581        android:protectionLevel="normal" />
2582
2583    <!-- @SystemApi Allows access to set NFC controller always on states.
2584         <p>Protection level: signature|privileged
2585         @hide -->
2586    <permission android:name="android.permission.NFC_SET_CONTROLLER_ALWAYS_ON"
2587        android:protectionLevel="signature|privileged" />
2588
2589    <!-- @SystemApi Allows an internal user to use privileged SecureElement APIs.
2590         Applications holding this permission can access OMAPI reset system API
2591         and bypass OMAPI AccessControlEnforcer.
2592         <p>Not for use by third-party applications.
2593         @hide -->
2594    <permission android:name="android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION"
2595        android:protectionLevel="signature|privileged" />
2596
2597    <!-- @deprecated This permission used to allow too broad access to sensitive methods and all its
2598         uses have been replaced by a more appropriate permission. Most uses have been replaced with
2599         a NETWORK_STACK or NETWORK_SETTINGS check. Please look up the documentation of the
2600         individual functions to figure out what permission now protects the individual function.
2601         @SystemApi Allows an internal user to use privileged ConnectivityManager APIs.
2602         @hide -->
2603    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
2604        android:protectionLevel="signature|privileged" />
2605
2606    <!-- @SystemApi Allows an internal user to use restricted Networks.
2607         @hide -->
2608    <permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"
2609        android:protectionLevel="signature|privileged" />
2610    <uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>
2611
2612    <!-- @SystemApi Allows an internal user to set signal strength in NetworkRequest. This kind of
2613         request will wake up device when signal strength meets the given value.
2614         @hide -->
2615    <permission android:name="android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP"
2616                android:protectionLevel="signature|privileged" />
2617
2618    <!-- @SystemApi Allows a system application to access hardware packet offload capabilities.
2619         @hide -->
2620    <permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD"
2621        android:protectionLevel="signature|privileged" />
2622
2623    <!-- @SystemApi
2624         @hide -->
2625    <permission android:name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"
2626        android:protectionLevel="signature|privileged" />
2627
2628    <!-- @SystemApi Allows access to the loop radio (Android@Home mesh network) device.
2629         @hide -->
2630    <permission android:name="android.permission.LOOP_RADIO"
2631        android:protectionLevel="signature|privileged" />
2632
2633    <!-- Allows sending and receiving handover transfer status from Wifi and Bluetooth
2634         @hide -->
2635    <permission android:name="android.permission.NFC_HANDOVER_STATUS"
2636        android:protectionLevel="signature|privileged" />
2637
2638    <!-- @SystemApi Allows internal management of Bluetooth state when on wireless consent mode.
2639         <p>Not for use by third-party applications.
2640         @hide -->
2641    <permission android:name="android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED"
2642        android:protectionLevel="signature" />
2643
2644    <!-- @hide Allows the device to be reset, clearing all data and enables Test Harness Mode. -->
2645    <permission android:name="android.permission.ENABLE_TEST_HARNESS_MODE"
2646        android:protectionLevel="signature" />
2647
2648    <!-- @SystemApi Allows access to ultra wideband device.
2649     <p>Not for use by third-party applications.
2650     @hide -->
2651    <permission android:name="android.permission.UWB_PRIVILEGED"
2652                android:protectionLevel="signature|privileged" />
2653
2654    <!-- ================================== -->
2655    <!-- Permissions for accessing accounts -->
2656    <!-- ================================== -->
2657    <eat-comment />
2658
2659    <!-- Allows access to the list of accounts in the Accounts Service.
2660
2661    <p class="note"><strong>Note:</strong> Beginning with Android 6.0 (API level
2662    23), if an app shares the signature of the authenticator that manages an
2663    account, it does not need <code>"GET_ACCOUNTS"</code> permission to read
2664    information about that account. On Android 5.1 and lower, all apps need
2665    <code>"GET_ACCOUNTS"</code> permission to read information about any
2666    account.</p>
2667
2668    <p>Protection level: dangerous
2669    -->
2670    <permission android:name="android.permission.GET_ACCOUNTS"
2671        android:permissionGroup="android.permission-group.UNDEFINED"
2672        android:protectionLevel="dangerous"
2673        android:description="@string/permdesc_getAccounts"
2674        android:label="@string/permlab_getAccounts" />
2675    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
2676
2677    <!-- @SystemApi Allows access to remove an account.
2678         @FlaggedApi(android.app.admin.flags.Flags.FLAG_SPLIT_CREATE_MANAGED_PROFILE_ENABLED)
2679         <p>Not for use by third-party applications.
2680         @hide -->
2681    <permission android:name="android.permission.REMOVE_ACCOUNTS"
2682        android:protectionLevel="signature|role"
2683        android:featureFlag="android.app.admin.flags.split_create_managed_profile_enabled" />
2684
2685    <!-- @SystemApi Allows access to copy an account to another user.
2686         @FlaggedApi(android.app.admin.flags.Flags.FLAG_SPLIT_CREATE_MANAGED_PROFILE_ENABLED)
2687         <p>Not for use by third-party applications.
2688         @hide -->
2689    <permission android:name="android.permission.COPY_ACCOUNTS"
2690        android:protectionLevel="signature|role"
2691        android:featureFlag="android.app.admin.flags.split_create_managed_profile_enabled" />
2692
2693    <!-- Allows applications to call into AccountAuthenticators.
2694    <p>Not for use by third-party applications. -->
2695    <permission android:name="android.permission.ACCOUNT_MANAGER"
2696        android:protectionLevel="signature" />
2697
2698    <!-- ================================== -->
2699    <!-- Permissions for accessing hardware that may effect battery life-->
2700    <!-- ================================== -->
2701    <eat-comment />
2702
2703    <!-- Allows applications to enter Wi-Fi Multicast mode.
2704         <p>Protection level: normal
2705    -->
2706    <permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
2707        android:description="@string/permdesc_changeWifiMulticastState"
2708        android:label="@string/permlab_changeWifiMulticastState"
2709        android:protectionLevel="normal" />
2710
2711    <!-- Allows access to the vibrator.
2712         <p>Protection level: normal
2713    -->
2714    <permission android:name="android.permission.VIBRATE"
2715        android:label="@string/permlab_vibrate"
2716        android:description="@string/permdesc_vibrate"
2717        android:protectionLevel="normal|instant" />
2718
2719    <!-- Allows access to the vibrator always-on settings.
2720         <p>Protection level: signature
2721         @hide
2722    -->
2723    <permission android:name="android.permission.VIBRATE_ALWAYS_ON"
2724        android:protectionLevel="signature" />
2725
2726    <!-- Allows access to system-only haptic feedback constants.
2727         <p>Protection level: signature
2728         @hide
2729    -->
2730    <permission android:name="android.permission.VIBRATE_SYSTEM_CONSTANTS"
2731        android:protectionLevel="signature" />
2732
2733    <!-- @SystemApi Allows access to perform vendor effects in the vibrator.
2734         <p>Protection level: signature
2735         @FlaggedApi(android.os.vibrator.Flags.FLAG_VENDOR_VIBRATION_EFFECTS)
2736         @hide
2737    -->
2738    <permission android:name="android.permission.VIBRATE_VENDOR_EFFECTS"
2739        android:protectionLevel="signature|privileged"
2740        android:featureFlag="android.os.vibrator.vendor_vibration_effects" />
2741
2742    <!-- @SystemApi Allows access to start a vendor vibration session.
2743         <p>Protection level: signature
2744        @FlaggedApi(android.os.vibrator.Flags.FLAG_VENDOR_VIBRATION_EFFECTS)
2745        @hide
2746    -->
2747    <permission android:name="android.permission.START_VIBRATION_SESSIONS"
2748        android:protectionLevel="signature|privileged"
2749        android:featureFlag="android.os.vibrator.vendor_vibration_effects" />
2750
2751    <!-- @SystemApi Allows access to the vibrator state.
2752         <p>Protection level: signature
2753         @hide
2754    -->
2755    <permission android:name="android.permission.ACCESS_VIBRATOR_STATE"
2756        android:label="@string/permdesc_vibrator_state"
2757        android:description="@string/permdesc_vibrator_state"
2758        android:protectionLevel="signature|privileged" />
2759
2760    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
2761         from dimming.
2762         <p>Protection level: normal
2763    -->
2764    <permission android:name="android.permission.WAKE_LOCK"
2765        android:label="@string/permlab_wakeLock"
2766        android:description="@string/permdesc_wakeLock"
2767        android:protectionLevel="normal|instant" />
2768
2769    <!-- Allows using the device's IR transmitter, if available.
2770         <p>Protection level: normal
2771    -->
2772    <permission android:name="android.permission.TRANSMIT_IR"
2773        android:label="@string/permlab_transmitIr"
2774        android:description="@string/permdesc_transmitIr"
2775        android:protectionLevel="normal" />
2776
2777    <!-- Allows an app to turn on the screen on, e.g. with
2778         {@link android.os.PowerManager#ACQUIRE_CAUSES_WAKEUP}.
2779         <p>Intended to only be used by home automation apps.
2780    -->
2781    <permission android:name="android.permission.TURN_SCREEN_ON"
2782        android:label="@string/permlab_turnScreenOn"
2783        android:description="@string/permdesc_turnScreenOn"
2784        android:protectionLevel="signature|privileged|appop" />
2785
2786    <!-- ==================================================== -->
2787    <!-- Permissions related to changing audio settings   -->
2788    <!-- ==================================================== -->
2789    <eat-comment />
2790
2791    <!-- Allows an application to modify global audio settings.
2792         <p>Protection level: normal
2793    -->
2794    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
2795        android:label="@string/permlab_modifyAudioSettings"
2796        android:description="@string/permdesc_modifyAudioSettings"
2797        android:protectionLevel="normal" />
2798
2799    <!-- ==================================================== -->
2800    <!-- Permissions related to screen capture   -->
2801    <!-- ==================================================== -->
2802    <eat-comment />
2803
2804    <!-- Allows an application to capture screen content to perform a screenshot using the intent
2805         action {@link android.content.Intent#ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE}.
2806         <p>Protection level: internal|role
2807         <p>Intended for use by ROLE_NOTES only.
2808    -->
2809    <permission android:name="android.permission.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE"
2810        android:protectionLevel="internal|role" />
2811
2812    <!-- Allows an application to get notified when a screen capture of its windows is attempted.
2813         <p>Protection level: normal
2814    -->
2815    <permission android:name="android.permission.DETECT_SCREEN_CAPTURE"
2816                android:label="@string/permlab_detectScreenCapture"
2817                android:description="@string/permdesc_detectScreenCapture"
2818                android:protectionLevel="normal" />
2819
2820    <!-- Allows an application to get notified when it is being recorded.
2821         <p>Protection level: normal
2822         @FlaggedApi("com.android.window.flags.screen_recording_callbacks")
2823    -->
2824    <permission android:name="android.permission.DETECT_SCREEN_RECORDING"
2825                android:protectionLevel="normal"
2826                android:featureFlag="com.android.window.flags.screen_recording_callbacks" />
2827
2828    <!-- ======================================== -->
2829    <!-- Permissions for factory reset protection -->
2830    <!-- ======================================== -->
2831    <eat-comment />
2832
2833    <!-- @SystemApi Allows an application to set a factory reset protection (FRP) policy.
2834         <p>Not for use by third-party applications.
2835         @hide
2836    -->
2837    <permission android:name="android.permission.MANAGE_FACTORY_RESET_PROTECTION"
2838        android:protectionLevel="signature|privileged"/>
2839
2840    <!-- ======================================== -->
2841    <!-- Permissions for lost mode -->
2842    <!-- ======================================== -->
2843    <eat-comment />
2844
2845    <!-- @SystemApi Allows an application to trigger lost mode on an organization-owned device.
2846         <p>Not for use by third-party applications.
2847         @hide
2848    -->
2849    <permission android:name="android.permission.TRIGGER_LOST_MODE"
2850        android:protectionLevel="signature|role"/>
2851
2852    <!-- ================================== -->
2853    <!-- Permissions for accessing hardware -->
2854    <!-- ================================== -->
2855    <eat-comment />
2856
2857    <!-- @SystemApi Allows an application to manage preferences and permissions for USB devices
2858         @hide -->
2859    <permission android:name="android.permission.MANAGE_USB"
2860        android:protectionLevel="signature|privileged" />
2861
2862    <!-- @SystemApi Allows an application to manage Android Debug Bridge settings.
2863         <p>Not for use by third-party applications.
2864         @hide -->
2865    <permission android:name="android.permission.MANAGE_DEBUGGING"
2866        android:protectionLevel="signature|privileged" />
2867
2868    <!-- @SystemApi Allows an application to access the MTP USB kernel driver.
2869         For use only by the device side MTP implementation.
2870         @hide -->
2871    <permission android:name="android.permission.ACCESS_MTP"
2872        android:protectionLevel="signature|privileged" />
2873
2874    <!-- @SystemApi Allows access to hardware peripherals.  Intended only for hardware testing.
2875         <p>Not for use by third-party applications.
2876         @hide
2877    -->
2878    <permission android:name="android.permission.HARDWARE_TEST"
2879        android:protectionLevel="signature" />
2880
2881    <!-- @hide Allows an application to manage DynamicSystem image -->
2882    <permission android:name="android.permission.MANAGE_DYNAMIC_SYSTEM"
2883        android:protectionLevel="signature" />
2884
2885    <!-- @SystemApi Allows an application to install a DynamicSystem image and get status updates.
2886         @hide -->
2887    <permission android:name="android.permission.INSTALL_DYNAMIC_SYSTEM"
2888        android:protectionLevel="signature|privileged" />
2889
2890    <!-- @SystemApi Allows access to Broadcast Radio
2891         @hide This is not a third-party API (intended for system apps).-->
2892    <permission android:name="android.permission.ACCESS_BROADCAST_RADIO"
2893        android:protectionLevel="signature|privileged" />
2894
2895    <!-- @deprecated @SystemApi Allows access to FM
2896         @hide This is not a third-party API (intended for system apps).-->
2897    <permission android:name="android.permission.ACCESS_FM_RADIO"
2898        android:protectionLevel="signature|privileged" />
2899
2900    <!-- Allows access to configure network interfaces, configure/use IPSec, etc.
2901         @hide -->
2902    <permission android:name="android.permission.NET_ADMIN"
2903        android:protectionLevel="signature|role" />
2904
2905    <!-- Allows registration for remote audio playback. @hide -->
2906    <permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK"
2907        android:protectionLevel="signature" />
2908
2909    <!-- Allows TvInputService to access underlying TV input hardware such as
2910         built-in tuners and HDMI-in's.
2911         <p>This should only be used by OEM's TvInputService's.
2912         @hide @SystemApi -->
2913    <permission android:name="android.permission.TV_INPUT_HARDWARE"
2914        android:protectionLevel="signature|privileged|vendorPrivileged" />
2915
2916    <!-- Allows to capture a frame of TV input hardware such as
2917         built-in tuners and HDMI-in's.
2918         <p>Not for use by third-party applications.
2919         @hide @SystemApi -->
2920    <permission android:name="android.permission.CAPTURE_TV_INPUT"
2921        android:protectionLevel="signature|privileged" />
2922
2923    <!-- @hide Allows TvInputService to access DVB device.
2924   <p>Not for use by third-party applications. -->
2925    <permission android:name="android.permission.DVB_DEVICE"
2926        android:protectionLevel="signature|privileged" />
2927
2928    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by carrier state
2929         @hide <p>Not for use by third-party applications. -->
2930    <permission android:name="android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE"
2931        android:protectionLevel="signature|privileged" />
2932
2933    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by user state
2934         @hide <p>Not for use by third-party applications. -->
2935    <permission android:name="android.permission.MANAGE_USER_OEM_UNLOCK_STATE"
2936        android:protectionLevel="signature|privileged" />
2937
2938    <!-- @SystemApi Allows reading the OEM unlock state
2939         @hide <p>Not for use by third-party applications. -->
2940    <permission android:name="android.permission.READ_OEM_UNLOCK_STATE"
2941        android:protectionLevel="signature|privileged" />
2942
2943    <!-- @hide Allows enabling/disabling OEM unlock
2944   <p>Not for use by third-party applications. -->
2945    <permission android:name="android.permission.OEM_UNLOCK_STATE"
2946        android:protectionLevel="signature" />
2947
2948    <!-- @SystemApi Allows configuration of factory reset protection
2949         @FlaggedApi("android.security.frp_enforcement")
2950         @hide <p>Not for use by third-party applications. -->
2951    <permission android:name="android.permission.CONFIGURE_FACTORY_RESET_PROTECTION"
2952        android:protectionLevel="signature|privileged" />
2953
2954    <!-- @SystemApi @hide Allows querying state of PersistentDataBlock
2955   <p>Not for use by third-party applications. -->
2956    <permission android:name="android.permission.ACCESS_PDB_STATE"
2957        android:protectionLevel="signature|role" />
2958
2959    <!-- Allows testing if a passwords is forbidden by the admins.
2960         @hide <p>Not for use by third-party applications. -->
2961    <permission android:name="android.permission.TEST_BLACKLISTED_PASSWORD"
2962        android:protectionLevel="signature" />
2963
2964    <!-- @hide Allows system update service to notify device owner about pending updates.
2965   <p>Not for use by third-party applications. -->
2966    <permission android:name="android.permission.NOTIFY_PENDING_SYSTEM_UPDATE"
2967        android:protectionLevel="signature|privileged" />
2968
2969    <!-- =========================================== -->
2970    <!-- Permissions associated with camera and image capture -->
2971    <!-- =========================================== -->
2972    <eat-comment />
2973
2974    <!-- @SystemApi Allows disabling the transmit-indicator LED that is normally on when
2975         a camera is in use by an application.
2976         @hide -->
2977    <permission android:name="android.permission.CAMERA_DISABLE_TRANSMIT_LED"
2978        android:protectionLevel="signature|privileged" />
2979
2980    <!-- Allows sending the camera service notifications about system-wide events.
2981        @hide -->
2982    <permission android:name="android.permission.CAMERA_SEND_SYSTEM_EVENTS"
2983        android:protectionLevel="signature|privileged" />
2984
2985    <!-- Allows injecting the external camera to replace the internal camera.
2986        @hide -->
2987    <permission android:name="android.permission.CAMERA_INJECT_EXTERNAL_CAMERA"
2988        android:protectionLevel="signature" />
2989
2990    <!-- =========================================== -->
2991    <!-- Permissions associated with telephony state -->
2992    <!-- =========================================== -->
2993    <eat-comment />
2994
2995    <!-- @SystemApi Allows granting runtime permissions to telephony related components.
2996         @hide -->
2997    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS"
2998        android:protectionLevel="signature" />
2999
3000    <!-- Allows modification of the telephony state - power on, mmi, etc.
3001         Does not include placing calls.
3002         <p>Not for use by third-party applications. -->
3003    <permission android:name="android.permission.MODIFY_PHONE_STATE"
3004        android:protectionLevel="signature|privileged|role" />
3005
3006    <!-- Allows read only access to precise phone state.
3007         Allows reading of detailed information about phone state for special-use applications
3008         such as dialers, carrier applications, or ims applications. -->
3009    <permission android:name="android.permission.READ_PRECISE_PHONE_STATE"
3010        android:protectionLevel="signature|privileged" />
3011
3012    <!-- @SystemApi @TestApi Allows read access to privileged phone state.
3013         @hide Used internally. -->
3014    <permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
3015        android:protectionLevel="signature|privileged|role" />
3016
3017    <!-- Allows to read device identifiers and use ICC based authentication like EAP-AKA.
3018         Often required in authentication to access the carrier's server and manage services
3019         of the subscriber.
3020         <p>Protection level: signature|appop -->
3021    <permission android:name="android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER"
3022        android:protectionLevel="signature|appop" />
3023
3024    <!-- @SystemApi Allows read access to emergency number information for ongoing calls or SMS
3025         sessions.
3026         @hide Used internally. -->
3027    <permission android:name="android.permission.READ_ACTIVE_EMERGENCY_SESSION"
3028        android:protectionLevel="signature" />
3029
3030    <!-- Allows listen permission to always reported system signal strength.
3031         @hide Used internally. -->
3032    <permission android:name="android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH"
3033        android:protectionLevel="signature|role" />
3034
3035    <!-- @SystemApi Protects the ability to register any PhoneAccount with
3036         PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION. This capability indicates that the PhoneAccount
3037         corresponds to a device SIM.
3038         @hide -->
3039    <permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION"
3040        android:protectionLevel="signature|privileged" />
3041
3042    <!-- @SystemApi Protects the ability to register any PhoneAccount with
3043         PhoneAccount#CAPABILITY_CALL_PROVIDER.
3044         @hide -->
3045    <permission android:name="android.permission.REGISTER_CALL_PROVIDER"
3046        android:protectionLevel="signature|privileged" />
3047
3048    <!-- @SystemApi Protects the ability to register any PhoneAccount with
3049         PhoneAccount#CAPABILITY_CONNECTION_MANAGER
3050         @hide -->
3051    <permission android:name="android.permission.REGISTER_CONNECTION_MANAGER"
3052        android:protectionLevel="signature|privileged" />
3053
3054    <!-- Must be required by a {@link android.telecom.InCallService},
3055         to ensure that only the system can bind to it.
3056         <p>Protection level: signature|privileged
3057    -->
3058    <permission android:name="android.permission.BIND_INCALL_SERVICE"
3059        android:protectionLevel="signature|privileged" />
3060
3061    <!-- Must be required by a {@link android.telecom.CallStreamingService},
3062         to ensure that only the system can bind to it.
3063         <p>Protection level: signature
3064         @SystemApi @hide-->
3065    <permission android:name="android.permission.BIND_CALL_STREAMING_SERVICE"
3066        android:protectionLevel="signature" />
3067
3068    <!-- Allows to query ongoing call details and manage ongoing calls
3069     <p>Protection level: signature|appop -->
3070    <permission android:name="android.permission.MANAGE_ONGOING_CALLS"
3071        android:protectionLevel="signature|appop"
3072        android:label="@string/permlab_manageOngoingCalls"
3073        android:description="@string/permdesc_manageOngoingCalls" />
3074
3075    <!-- Allows the app to request network scans from telephony.
3076         <p>Not for use by third-party applications.
3077         @SystemApi @hide-->
3078    <permission android:name="android.permission.NETWORK_SCAN"
3079        android:protectionLevel="signature|privileged" />
3080
3081    <!-- Must be required by a link {@link android.telephony.VisualVoicemailService} to ensure that
3082         only the system can bind to it.
3083         <p>Protection level: signature|privileged
3084    -->
3085    <permission
3086      android:name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
3087      android:protectionLevel="signature|privileged"/>
3088
3089    <!-- Must be required by a {@link android.telecom.CallScreeningService},
3090         to ensure that only the system can bind to it.
3091         <p>Protection level: signature|privileged
3092    -->
3093    <permission android:name="android.permission.BIND_SCREENING_SERVICE"
3094        android:protectionLevel="signature|privileged" />
3095
3096    <!-- Must be required by a {@link android.telecom.PhoneAccountSuggestionService},
3097         to ensure that only the system can bind to it.
3098         <p>Protection level: signature
3099         @SystemApi
3100         @hide
3101    -->
3102    <permission android:name="android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE"
3103        android:protectionLevel="signature" />
3104
3105    <!-- Must be required by a {@link android.telecom.CallDiagnosticService},
3106         to ensure that only the system can bind to it.
3107         <p>Protection level: signature
3108         @SystemApi
3109         @hide
3110    -->
3111    <permission android:name="android.permission.BIND_CALL_DIAGNOSTIC_SERVICE"
3112        android:protectionLevel="signature" />
3113
3114    <!-- Must be required by a {@link android.telecom.CallRedirectionService},
3115         to ensure that only the system can bind to it.
3116         <p>Protection level: signature|privileged
3117    -->
3118    <permission android:name="android.permission.BIND_CALL_REDIRECTION_SERVICE"
3119                android:protectionLevel="signature|privileged" />
3120
3121    <!-- Must be required by a {@link android.telecom.ConnectionService},
3122         to ensure that only the system can bind to it.
3123         @deprecated {@link android.telecom.ConnectionService}s should require
3124                 android.permission.BIND_TELECOM_CONNECTION_SERVICE instead.
3125         @SystemApi
3126         @hide -->
3127    <permission android:name="android.permission.BIND_CONNECTION_SERVICE"
3128        android:protectionLevel="signature|privileged" />
3129
3130    <!-- Must be required by a {@link android.telecom.ConnectionService},
3131         to ensure that only the system can bind to it.
3132         <p>Protection level: signature|privileged
3133    -->
3134    <permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
3135        android:protectionLevel="signature|privileged" />
3136
3137    <!-- @SystemApi Allows an application to control the in-call experience.
3138         @hide -->
3139    <permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"
3140        android:protectionLevel="signature|privileged|role" />
3141
3142    <!-- Allows an application to receive STK related commands.
3143         @hide -->
3144    <permission android:name="android.permission.RECEIVE_STK_COMMANDS"
3145        android:protectionLevel="signature|privileged" />
3146
3147      <!-- Allows an application to send EMBMS download intents to apps
3148           @hide -->
3149    <permission android:name="android.permission.SEND_EMBMS_INTENTS"
3150        android:protectionLevel="signature|privileged" />
3151
3152
3153    <!-- Allows internal management of the sensor framework
3154         @hide -->
3155    <permission android:name="android.permission.MANAGE_SENSORS"
3156        android:protectionLevel="signature" />
3157
3158    <!-- Must be required by a DomainSelectionService to ensure that only the
3159         system can bind to it.
3160         <p>Protection level: signature
3161         @SystemApi
3162         @hide
3163         @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service")
3164    -->
3165    <permission android:name="android.permission.BIND_DOMAIN_SELECTION_SERVICE"
3166        android:protectionLevel="signature" />
3167
3168    <!-- Must be required by an ImsService to ensure that only the
3169         system can bind to it.
3170         <p>Protection level: signature|privileged|vendorPrivileged
3171         @SystemApi
3172         @hide
3173    -->
3174    <permission android:name="android.permission.BIND_IMS_SERVICE"
3175        android:protectionLevel="signature|privileged|vendorPrivileged" />
3176
3177    <!-- Must be required by a SatelliteService to ensure that only the
3178         system can bind to it.
3179         <p>Protection level: signature|privileged|vendorPrivileged
3180         @SystemApi
3181         @hide
3182    -->
3183    <permission android:name="android.permission.BIND_SATELLITE_SERVICE"
3184        android:protectionLevel="signature|privileged|vendorPrivileged" />
3185
3186    <!-- Must be required by a SatelliteGatewayService to ensure that only the
3187         system can bind to it.
3188         <p>Protection level: signature
3189         @hide
3190    -->
3191    <permission android:name="android.permission.BIND_SATELLITE_GATEWAY_SERVICE"
3192        android:protectionLevel="signature" />
3193
3194    <!-- Must be required by a telephony data service to ensure that only the
3195         system can bind to it.
3196         <p>Protection level: signature
3197         @SystemApi
3198         @hide
3199    -->
3200    <permission android:name="android.permission.BIND_TELEPHONY_DATA_SERVICE"
3201        android:protectionLevel="signature" />
3202
3203    <!-- Must be required by a NetworkService to ensure that only the
3204         system can bind to it.
3205         <p>Protection level: signature
3206         @SystemApi
3207         @hide
3208    -->
3209    <permission android:name="android.permission.BIND_TELEPHONY_NETWORK_SERVICE"
3210                android:protectionLevel="signature" />
3211
3212    <!-- @SystemApi Allows an application to manage embedded subscriptions (those on a eUICC)
3213         through EuiccManager APIs.
3214         <p>Protection level: signature|privileged|development
3215         @hide
3216    -->
3217    <permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
3218                android:protectionLevel="signature|privileged|development" />
3219
3220    <!-- @SystemApi Must be required by an EuiccService to ensure that only the system can bind to
3221         it.
3222         <p>Protection level: signature
3223         @hide
3224    -->
3225    <permission android:name="android.permission.BIND_EUICC_SERVICE"
3226                android:protectionLevel="signature" />
3227
3228    <!-- Required for reading information about carrier apps from SystemConfigManager.
3229         <p>Protection level: signature
3230         @SystemApi
3231         @hide
3232    -->
3233    <permission android:name="android.permission.READ_CARRIER_APP_INFO"
3234        android:protectionLevel="signature" />
3235
3236    <!-- Must be required by an GbaService to ensure that only the
3237         system can bind to it.
3238         <p>Protection level: signature
3239         @SystemApi
3240         @hide
3241    -->
3242    <permission android:name="android.permission.BIND_GBA_SERVICE"
3243        android:protectionLevel="signature" />
3244
3245    <!-- Required for an Application to access APIs related to RCS User Capability Exchange.
3246         <p> This permission is only granted to system applications fulfilling the SMS, Dialer, and
3247         Contacts app roles.
3248         <p>Protection level: internal|role
3249         @SystemApi
3250         @hide -->
3251    <permission android:name="android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE"
3252        android:protectionLevel="internal|role" />
3253
3254    <!-- Used to provide the Telecom framework with access to the last known call ID.
3255         <p>Protection level: signature
3256         @SystemApi
3257         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
3258         @hide
3259    -->
3260    <permission android:name="android.permission.ACCESS_LAST_KNOWN_CELL_ID"
3261        android:protectionLevel="signature"
3262        android:label="@string/permlab_accessLastKnownCellId"
3263        android:description="@string/permdesc_accessLastKnownCellId"/>
3264
3265    <!-- ================================== -->
3266    <!-- Permissions for sdcard interaction -->
3267    <!-- ================================== -->
3268    <eat-comment />
3269
3270    <!-- @SystemApi @TestApi Allows an application to write to internal media storage
3271         @deprecated This permission is no longer honored in the system and no longer adds
3272         the media_rw gid as a supplementary gid to the holder. Use the
3273         android.permission.MANAGE_EXTERNAL_STORAGE instead.
3274         @hide  -->
3275    <permission android:name="android.permission.WRITE_MEDIA_STORAGE"
3276        android:protectionLevel="signature|privileged" />
3277
3278    <!-- Allows an application to manage access to documents, usually as part
3279         of a document picker.
3280         <p>This permission should <em>only</em> be requested by the platform
3281         document management app.  This permission cannot be granted to
3282         third-party apps.
3283    -->
3284    <permission android:name="android.permission.MANAGE_DOCUMENTS"
3285        android:protectionLevel="signature|role" />
3286
3287    <!-- Allows an application to manage access to crates, usually as part
3288         of a crates picker.
3289         <p>This permission should <em>only</em> be requested by the platform
3290         management app.  This permission cannot be granted to
3291         third-party apps.
3292         @hide
3293         @TestApi
3294    -->
3295    <permission android:name="android.permission.MANAGE_CRATES"
3296                android:protectionLevel="signature" />
3297
3298    <!-- @hide Allows an application to cache content.
3299         <p>Not for use by third-party applications.
3300    -->
3301    <permission android:name="android.permission.CACHE_CONTENT"
3302        android:protectionLevel="signature|role" />
3303
3304    <!-- @SystemApi @hide
3305         Allows an application to aggressively allocate disk space.
3306         <p>Not for use by third-party applications.
3307    -->
3308    <permission android:name="android.permission.ALLOCATE_AGGRESSIVE"
3309        android:protectionLevel="signature|privileged" />
3310
3311    <!-- @SystemApi @hide
3312         Allows an application to use reserved disk space.
3313         <p>Not for use by third-party applications.  Should only be requested by
3314         apps that provide core system functionality, to ensure system stability
3315         when disk is otherwise completely full.
3316    -->
3317    <permission android:name="android.permission.USE_RESERVED_DISK"
3318        android:protectionLevel="signature|privileged" />
3319
3320    <!-- ================================== -->
3321    <!-- Permissions for screenlock         -->
3322    <!-- ================================== -->
3323    <eat-comment />
3324
3325    <!-- Allows applications to disable the keyguard if it is not secure.
3326         <p>Protection level: normal
3327    -->
3328    <permission android:name="android.permission.DISABLE_KEYGUARD"
3329        android:description="@string/permdesc_disableKeyguard"
3330        android:label="@string/permlab_disableKeyguard"
3331        android:protectionLevel="normal" />
3332
3333    <!-- Allows an application to request the screen lock complexity and prompt users to update the
3334     screen lock to a certain complexity level.
3335     <p>Protection level: normal
3336    -->
3337    <permission android:name="android.permission.REQUEST_PASSWORD_COMPLEXITY"
3338                android:label="@string/permlab_requestPasswordComplexity"
3339                android:description="@string/permdesc_requestPasswordComplexity"
3340                android:protectionLevel="normal" />
3341
3342    <!-- ================================== -->
3343    <!-- Permissions to access other installed applications  -->
3344    <!-- ================================== -->
3345    <eat-comment />
3346
3347    <!-- @deprecated No longer enforced. -->
3348    <permission android:name="android.permission.GET_TASKS"
3349        android:label="@string/permlab_getTasks"
3350        android:description="@string/permdesc_getTasks"
3351        android:protectionLevel="normal" />
3352
3353    <!-- New version of GET_TASKS that apps can request, since GET_TASKS doesn't really
3354         give access to task information.  We need this new one because there are
3355         many existing apps that use add libraries and such that have validation
3356         code to ensure the app has requested the GET_TASKS permission by seeing
3357         if it has been granted the permission...  if it hasn't, it kills the app
3358         with a message about being upset.  So we need to have it continue to look
3359         like the app is getting that permission, even though it will never be
3360         checked, and new privileged apps can now request this one for real access.
3361         @hide
3362         @SystemApi -->
3363    <permission android:name="android.permission.REAL_GET_TASKS"
3364        android:protectionLevel="signature|privileged" />
3365
3366    <!-- @SystemApi Allows an application to start a task from a ActivityManager#RecentTaskInfo.
3367         @hide -->
3368    <permission android:name="android.permission.START_TASKS_FROM_RECENTS"
3369        android:protectionLevel="signature|privileged|recents" />
3370
3371    <!-- @SystemApi @hide Allows an application to call APIs that allow it to do interactions
3372         across the users on the device, using singleton services and
3373         user-targeted broadcasts.  This permission is not available to
3374         third party applications. -->
3375    <permission android:name="android.permission.INTERACT_ACROSS_USERS"
3376        android:protectionLevel="signature|privileged|development|role" />
3377
3378    <!-- @SystemApi Fuller form of {@link android.Manifest.permission#INTERACT_ACROSS_USERS}
3379         that removes restrictions on where broadcasts can be sent and allows other
3380         types of interactions
3381         @hide -->
3382    <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
3383        android:protectionLevel="signature|installer|module|role" />
3384    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
3385
3386    <!-- Allows interaction across profiles in the same profile group. -->
3387    <permission android:name="android.permission.INTERACT_ACROSS_PROFILES"
3388        android:protectionLevel="signature|appop" />
3389
3390    <!-- Allows applications to access profiles with
3391        {@code android.content.pm.UserProperties#PROFILE_API_VISIBILITY_HIDDEN} user property, e.g.
3392        {@link android.os.UserManager#USER_TYPE_PROFILE_PRIVATE}.
3393        <p>Protection level: normal
3394        @FlaggedApi("android.multiuser.enable_permission_to_access_hidden_profiles") -->
3395    <permission android:name="android.permission.ACCESS_HIDDEN_PROFILES"
3396        android:label="@string/permlab_accessHiddenProfile"
3397        android:description="@string/permdesc_accessHiddenProfile"
3398        android:protectionLevel="normal" />
3399
3400    <!-- @SystemApi @hide Allows privileged applications to get details about profiles with
3401        {@code android.content.pm.UserProperties#PROFILE_API_VISIBILITY_HIDDEN} user property, e.g.
3402        {@link android.os.UserManager#USER_TYPE_PROFILE_PRIVATE}. Removes extra requirements such
3403        as having {@link android.app.role.RoleManager#ROLE_HOME} role for LauncherApps APIs.
3404        @FlaggedApi("android.multiuser.enable_permission_to_access_hidden_profiles") -->
3405    <permission
3406        android:name="android.permission.ACCESS_HIDDEN_PROFILES_FULL"
3407        android:protectionLevel="signature|privileged" />
3408
3409    <!-- @SystemApi @hide Allows starting activities across profiles in the same profile group. -->
3410    <permission android:name="android.permission.START_CROSS_PROFILE_ACTIVITIES"
3411                android:protectionLevel="signature|role" />
3412
3413    <!-- @SystemApi Allows configuring apps to have the INTERACT_ACROSS_PROFILES permission so that
3414         they can interact across profiles in the same profile group.
3415         @hide -->
3416    <permission android:name="android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES"
3417        android:protectionLevel="signature|role" />
3418
3419    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query and manage
3420         users on the device. This permission is not available to
3421         third party applications. -->
3422    <permission android:name="android.permission.MANAGE_USERS"
3423        android:protectionLevel="signature|privileged" />
3424
3425    <!-- @SystemApi @hide Allows an application to create, remove users and get the list of
3426         users on the device. Applications holding this permission can create users (including
3427         normal, restricted, guest, managed, and demo users) and can optionally endow them with the
3428         ephemeral property. For creating users with other kinds of properties,
3429         {@link android.Manifest.permission#MANAGE_USERS} is needed.
3430         This permission is not available to third party applications. -->
3431    <permission android:name="android.permission.CREATE_USERS"
3432        android:protectionLevel="signature" />
3433
3434    <!-- @SystemApi @hide Allows an application to set user association
3435         with a certain subscription. Used by Enterprise to associate a
3436         subscription with a work or personal profile. -->
3437    <permission android:name="android.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION"
3438                android:protectionLevel="signature" />
3439
3440    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query users on the
3441         device. -->
3442    <permission android:name="android.permission.QUERY_USERS"
3443                android:protectionLevel="signature|privileged|role" />
3444
3445    <!-- Allows an application to access data blobs across users. -->
3446    <permission android:name="android.permission.ACCESS_BLOBS_ACROSS_USERS"
3447        android:protectionLevel="signature|privileged|development|role" />
3448
3449    <!-- @SystemApi @hide Allows an application to set the profile owners and the device owner.
3450         This permission is not available to third party applications.-->
3451    <permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"
3452        android:protectionLevel="signature|role"
3453        android:label="@string/permlab_manageProfileAndDeviceOwners"
3454        android:description="@string/permdesc_manageProfileAndDeviceOwners" />
3455
3456    <!-- @SystemApi @hide Allows an application to query device policies set by any admin on
3457         the device.-->
3458    <permission android:name="android.permission.QUERY_ADMIN_POLICY"
3459                android:protectionLevel="signature|role" />
3460
3461    <!-- @SystemApi @hide Allows an application to exempt apps from platform restrictions.-->
3462    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS"
3463                android:protectionLevel="internal|role" />
3464
3465    <!-- Allows an application to manage device policy relating to time.
3466        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3467        APIs protected by this permission on users different to the calling user.
3468        <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_TIME"
3472                android:protectionLevel="internal|role" />
3473
3474    <!-- Allows an application to set the grant state of runtime permissions on packages.
3475        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} 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_RUNTIME_PERMISSIONS"
3481                android:protectionLevel="internal|role" />
3482
3483    <!-- Allows an application to manage the identity of the managing organization.
3484        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} 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_ORGANIZATION_IDENTITY"
3490                android:protectionLevel="internal|role" />
3491
3492    <!-- Allows an application to set support messages for when a user action is affected by an
3493        active policy.
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_SUPPORT_MESSAGE"
3500                android:protectionLevel="internal|role" />
3501
3502    <!-- Allows an application to manage backup service policy.
3503        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3504        APIs protected by this permission on users different to the calling user.
3505        <p>Protection level: internal|role
3506        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3507    -->
3508    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BACKUP_SERVICE"
3509                android:protectionLevel="internal|role" />
3510
3511    <!-- Allows an application to manage lock task policy.
3512        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3513        APIs protected by this permission on users different to the calling user.
3514        <p>Protection level: internal|role
3515        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3516    -->
3517    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK"
3518                android:protectionLevel="internal|role" />
3519
3520    <!-- Allows an application to manage policy regarding modifying applications.
3521        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3522        APIs protected by this permission on users different to the calling user.
3523        <p>Protection level: internal|role
3524        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3525    -->
3526    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL"
3527                android:protectionLevel="internal|role" />
3528
3529    <!-- Allows an application to manage installing from unknown sources policy.
3530        <p>MANAGE_SECURITY_CRITICAL_DEVICE_POLICY_ACROSS_USERS is required to call APIs protected
3531        by this permission on users different to the calling user.
3532        <p>Protection level: internal|role
3533        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3534    -->
3535    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES"
3536                android:protectionLevel="internal|role" />
3537
3538    <!-- Allows an application to manage application restrictions.
3539        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3540        APIs protected by this permission on users different to the calling user.
3541        <p>Protection level: internal|role
3542        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3543    -->
3544    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_RESTRICTIONS"
3545                android:protectionLevel="internal|role" />
3546
3547    <!-- Allows an application to manage calling policy.
3548        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3549        APIs protected by this permission on users different to the calling user.
3550        <p>Protection level: internal|role
3551        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3552    -->
3553    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CALLS"
3554                android:protectionLevel="internal|role" />
3555
3556    <!-- Allows an application to manage debugging features policy.
3557        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3558        APIs protected by this permission on users different to the calling user.
3559        <p>Protection level: internal|role
3560        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3561    -->
3562    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES"
3563                android:protectionLevel="internal|role" />
3564
3565    <!-- Allows an application to manage policy preventing users from modifying users.
3566        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3567        APIs protected by this permission on users different to the calling user
3568        <p>Protection level: internal|role
3569        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3570    -->
3571    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MODIFY_USERS"
3572                android:protectionLevel="internal|role" />
3573
3574    <!-- Allows an application to manage safe boot policy.
3575        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3576        APIs protected by this permission on users different to the calling user.
3577        <p>Protection level: internal|role
3578        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3579    -->
3580    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SAFE_BOOT"
3581                android:protectionLevel="internal|role" />
3582
3583    <!-- Allows an application to set policy related to restricting a user's ability to use or
3584    enable and disable the microphone.
3585        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3586        APIs protected by this permission on users different to the calling user.
3587        <p>Protection level: internal|role
3588        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3589    -->
3590    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MICROPHONE"
3591                android:protectionLevel="internal|role" />
3592
3593    <!-- Allows an application to set policy related to restricting a user's ability to use or
3594    enable and disable the camera.
3595        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3596        APIs protected by this permission on users different to the calling user.
3597        <p>Protection level: internal|role
3598        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3599    -->
3600    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CAMERA"
3601                android:protectionLevel="internal|role" />
3602
3603    <!-- Allows an application to manage policy related to keyguard.
3604        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL} is
3605        required to call APIs protected by this permission on users different to the calling user.
3606        <p>Protection level: internal|role
3607        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3608    -->
3609    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_KEYGUARD"
3610                android:protectionLevel="internal|role" />
3611
3612    <!-- Allows an application to set policy related to account management.
3613        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3614        APIs protected by this permission on users different to the calling user.
3615        <p>Protection level: internal|role
3616        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3617    -->
3618    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT"
3619                android:protectionLevel="internal|role" />
3620
3621    <!-- Allows an application to set policy related to hiding and suspending packages.
3622        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3623        APIs protected by this permission on users different to the calling user.
3624        <p>Protection level: internal|role
3625        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3626    -->
3627    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PACKAGE_STATE"
3628                android:protectionLevel="internal|role" />
3629
3630    <!-- Allows an application to force set a new device unlock password or a managed profile
3631    challenge on current user.
3632        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3633        APIs protected by this permission on users different to the calling user.
3634        <p>Protection level: internal|role
3635        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3636    -->
3637    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RESET_PASSWORD"
3638                android:protectionLevel="internal|role" />
3639
3640    <!-- Allows an application to set policy related to the status bar.
3641        <p>Protection level: internal|role
3642        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3643    -->
3644    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_STATUS_BAR"
3645                android:protectionLevel="internal|role" />
3646
3647    <!-- Allows an application to set policy related to bluetooth.
3648        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3649        APIs protected by this permission on users different to the calling user.
3650        <p>Protection level: internal|role
3651        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3652    -->
3653    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BLUETOOTH"
3654                android:protectionLevel="internal|role" />
3655
3656    <!-- Allows an application to set policy related to fun.
3657        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3658        APIs protected by this permission on users different to the calling user.
3659        <p>Protection level: internal|role
3660        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3661    -->
3662    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_FUN"
3663                android:protectionLevel="internal|role" />
3664
3665    <!-- Allows an application to set policy related to airplane mode.
3666        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3667        APIs protected by this permission on users different to the calling user.
3668        <p>Protection level: internal|role
3669        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3670    -->
3671    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AIRPLANE_MODE"
3672                android:protectionLevel="internal|role" />
3673
3674    <!-- Allows an application to set policy related to mobile networks.
3675        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3676        APIs protected by this permission on users different to the calling user.
3677        <p>Protection level: internal|role
3678        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3679    -->
3680    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MOBILE_NETWORK"
3681                android:protectionLevel="internal|role" />
3682
3683    <!-- Allows an application to set policy related to physical media.
3684        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3685        APIs protected by this permission on users different to the calling user.
3686        <p>Protection level: internal|role
3687        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3688    -->
3689    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA"
3690                android:protectionLevel="internal|role" />
3691
3692    <!-- Allows an application to set policy related to sms.
3693        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3694        APIs protected by this permission on users different to the calling user.
3695        <p>Protection level: internal|role
3696        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3697    -->
3698    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SMS"
3699                android:protectionLevel="internal|role" />
3700
3701    <!-- Allows an application to set policy related to usb file transfers.
3702        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3703        APIs protected by this permission on users different to the calling user.
3704        <p>Protection level: internal|role
3705        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3706    -->
3707    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER"
3708                android:protectionLevel="internal|role" />
3709
3710    <!-- Allows an application to set policy related to lock credentials.
3711        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL} is
3712        required to call APIs protected by this permission on users different to the calling user.
3713        <p>Protection level: internal|role
3714        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3715    -->
3716    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS"
3717                android:protectionLevel="internal|role" />
3718
3719    <!-- Allows an application to set policy related to Wifi.
3720        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3721        required to call APIs protected by this permission on users different to the calling user.
3722        <p>Protection level: internal|role
3723        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3724    -->
3725    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIFI"
3726                android:protectionLevel="internal|role" />
3727
3728    <!-- Allows an application to set policy related to screen capture.
3729        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3730        required to call APIs protected by this permission on users different to the calling user.
3731        <p>Protection level: internal|role
3732        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3733    -->
3734    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SCREEN_CAPTURE"
3735                android:protectionLevel="internal|role" />
3736
3737    <!-- Allows an application to set policy related to input methods.
3738        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} 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_INPUT_METHODS"
3744                android:protectionLevel="internal|role" />
3745
3746    <!-- Allows an application to set policy related to restricting the user from configuring
3747     private DNS.
3748        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3749        required to call APIs protected by this permission on users different to the calling user.
3750        <p>Protection level: internal|role
3751        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3752    -->
3753    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS"
3754                android:protectionLevel="internal|role" />
3755
3756    <!-- Allows an application to set policy related to the default sms application.
3757        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3758        required to call APIs protected by this permission on users different to the calling user.
3759        <p>Protection level: internal|role
3760        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3761    -->
3762    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEFAULT_SMS"
3763                android:protectionLevel="internal|role" />
3764
3765    <!-- Allows an application to set policy related to profiles.
3766        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3767        required to call APIs protected by this permission on users different to the calling user.
3768        <p>Protection level: internal|role
3769        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3770    -->
3771    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROFILES"
3772                android:protectionLevel="internal|role" />
3773
3774    <!-- Allows an application to set policy related to interacting with profiles (e.g. Disallowing
3775    cross-profile copy and paste).
3776        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3777        required to call APIs protected by this permission on users different to the calling user.
3778        <p>Protection level: internal|role
3779        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3780    -->
3781    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROFILE_INTERACTION"
3782                android:protectionLevel="internal|role" />
3783
3784    <!-- Allows an application to set policy related to VPNs.
3785        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3786        required to call APIs protected by this permission on users different to the calling user.
3787        <p>Protection level: internal|role
3788        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3789    -->
3790    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_VPN"
3791                android:protectionLevel="internal|role" />
3792
3793    <!-- Allows an application to set policy related to audio output.
3794        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3795        required to call APIs protected by this permission on users different to the calling user.
3796        <p>Protection level: internal|role
3797        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3798    -->
3799    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUDIO_OUTPUT"
3800                android:protectionLevel="internal|role" />
3801
3802    <!-- Allows an application to set policy related to the display.
3803        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3804        required to call APIs protected by this permission on users different to the calling user.
3805        <p>Protection level: internal|role
3806        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3807    -->
3808    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DISPLAY"
3809                android:protectionLevel="internal|role" />
3810
3811    <!-- Allows an application to set policy related to location.
3812        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3813        required to call APIs protected by this permission on users different to the calling user.
3814        <p>Protection level: internal|role
3815        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3816    -->
3817    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCATION"
3818                android:protectionLevel="internal|role" />
3819
3820    <!-- Allows an application to set policy related to factory reset.
3821        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3822        required to call APIs protected by this permission on users different to the calling user.
3823        <p>Protection level: internal|role
3824        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3825    -->
3826    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_FACTORY_RESET"
3827                android:protectionLevel="internal|role" />
3828
3829    <!-- Allows an application to set policy related to the wallpaper.
3830        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3831        required to call APIs protected by this permission on users different to the calling user.
3832        <p>Protection level: internal|role
3833        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3834    -->
3835    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WALLPAPER"
3836                android:protectionLevel="internal|role" />
3837
3838    <!-- Allows an application to set policy related to the usage of the contents of the screen.
3839        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3840        required to call APIs protected by this permission on users different to the calling user.
3841        <p>Protection level: internal|role
3842        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3843    -->
3844    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SCREEN_CONTENT"
3845                android:protectionLevel="internal|role" />
3846
3847    <!-- Allows an application to set policy related to system dialogs.
3848        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3849        required to call APIs protected by this permission on users different to the calling user.
3850        <p>Protection level: internal|role
3851        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3852    -->
3853    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS"
3854                android:protectionLevel="internal|role" />
3855
3856    <!-- Allows an application to set policy related to users running in the background.
3857        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3858        required to call APIs protected by this permission on users different to the calling user.
3859        <p>Protection level: internal|role
3860        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3861    -->
3862    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND"
3863                android:protectionLevel="internal|role" />
3864
3865    <!-- Allows an application to set policy related to printing.
3866        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3867        required to call APIs protected by this permission on users different to the calling user.
3868        <p>Protection level: internal|role
3869        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3870    -->
3871    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PRINTING"
3872                android:protectionLevel="internal|role" />
3873
3874    <!-- Allows an application to set policy related to nearby communications (e.g. Beam and
3875    nearby streaming).
3876        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3877        required to call APIs protected by this permission on users different to the calling user.
3878        <p>Protection level: internal|role
3879        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3880    -->
3881    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION"
3882                android:protectionLevel="internal|role" />
3883
3884    <!-- Allows an application to set policy related to <a
3885    href="https://www.threadgroup.org">Thread</a> network.
3886        <p>Protection level: internal|role
3887        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3888        @FlaggedApi("com.android.net.thread.platform.flags.thread_user_restriction_enabled")
3889    -->
3890    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_THREAD_NETWORK"
3891                android:protectionLevel="internal|role" />
3892
3893    <!-- Allows an application to set policy related to sending assist content to a
3894        privileged app such as the Assistant app.
3895        <p>Protection level: internal|role
3896        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3897    -->
3898    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT"
3899        android:protectionLevel="internal|role" />
3900
3901    <!-- Allows an application to set policy related to windows.
3902        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3903        required to call APIs protected by this permission on users different to the calling user.
3904        <p>Protection level: internal|role
3905        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3906    -->
3907    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WINDOWS"
3908                android:protectionLevel="internal|role" />
3909
3910    <!-- Allows an application to set policy related to locale.
3911        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3912        required to call APIs protected by this permission on users different to the calling user.
3913        <p>Protection level: internal|role
3914        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3915    -->
3916    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCALE"
3917                android:protectionLevel="internal|role" />
3918
3919    <!-- Allows an application to set policy related to autofill.
3920        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3921        required to call APIs protected by this permission on users different to the calling user.
3922        <p>Protection level: internal|role
3923        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3924    -->
3925    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUTOFILL"
3926                android:protectionLevel="internal|role" />
3927
3928    <!-- Allows an application to set policy related to users.
3929        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3930        required to call APIs protected by this permission on users different to the calling user.
3931        <p>Protection level: internal|role
3932        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3933    -->
3934    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USERS"
3935                android:protectionLevel="internal|role" />
3936
3937    <!-- Allows an application to set policy related to certificates.
3938        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3939        required to call APIs protected by this permission on users different to the calling user.
3940        <p>Protection level: internal|role
3941        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3942    -->
3943    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES"
3944                android:protectionLevel="internal|role" />
3945
3946    <!-- Allows an application to set policy related to override APNs.
3947        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3948        required to call APIs protected by this permission on users different to the calling user.
3949        <p>Protection level: internal|role
3950        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3951    -->
3952    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_OVERRIDE_APN"
3953                android:protectionLevel="internal|role" />
3954
3955    <!-- Allows an application to set policy related to security logging.
3956        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3957        required to call APIs protected by this permission on users different to the calling user.
3958        <p>Protection level: internal|role
3959        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3960    -->
3961    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SECURITY_LOGGING"
3962                android:protectionLevel="internal|role" />
3963
3964    <!-- Allows an application to use audit logging API.
3965        @hide
3966        @SystemApi
3967    -->
3968    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING"
3969        android:protectionLevel="internal|role" />
3970
3971    <!-- Allows an application to set policy related to system updates.
3972        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3973        required to call APIs protected by this permission on users different to the calling user.
3974        <p>Protection level: internal|role
3975        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3976    -->
3977    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_UPDATES"
3978                android:protectionLevel="internal|role" />
3979
3980    <!-- Allows an application query system updates.
3981        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3982        required to call APIs protected by this permission on users different to the calling user.
3983        <p>Protection level: internal|role
3984        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3985    -->
3986    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES"
3987                android:protectionLevel="internal|role" />
3988
3989    <!-- Allows an application to set policy related to private DNS.
3990        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3991        required to call APIs protected by this permission on users different to the calling user.
3992        <p>Protection level: internal|role
3993        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
3994    -->
3995    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PRIVATE_DNS"
3996                android:protectionLevel="internal|role" />
3997
3998    <!-- Allows an application to set policy related to settings.
3999        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
4000        required to call APIs protected by this permission on users different to the calling user.
4001        <p>Protection level: internal|role
4002        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4003    -->
4004    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SETTINGS"
4005                android:protectionLevel="internal|role" />
4006
4007    <!-- Allows an application to set policy related to network logging.
4008        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
4009        required to call APIs protected by this permission on users different to the calling user.
4010        <p>Protection level: internal|role
4011        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4012    -->
4013    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_NETWORK_LOGGING"
4014                android:protectionLevel="internal|role" />
4015
4016    <!-- Allows an application to set policy related to usb data signalling.
4017        <p>Protection level: internal|role
4018        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4019    -->
4020    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING"
4021                android:protectionLevel="internal|role" />
4022
4023    <!-- Allows an application to set policy related to suspending personal apps.
4024        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
4025        required to call APIs protected by this permission on users different to the calling user.
4026        <p>Protection level: internal|role
4027        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4028    -->
4029    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS"
4030                android:protectionLevel="internal|role" />
4031
4032    <!-- Allows an application to set policy related to keeping uninstalled packages.
4033        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
4034        required to call APIs protected by this permission on users different to the calling user.
4035        <p>Protection level: internal|role
4036        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4037    -->
4038    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES"
4039                android:protectionLevel="internal|role" />
4040
4041    <!-- Allows an application to manage policy related to accessibility.
4042        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to
4043        call APIs protected by this permission on users different to the calling user.
4044        <p>Protection level: internal|role
4045        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4046    -->
4047    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACCESSIBILITY"
4048                android:protectionLevel="internal|role" />
4049
4050    <!-- Allows an application to manage policy related to common criteria mode.
4051        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4052        APIs protected by this permission on users different to the calling user.
4053        <p>Protection level: internal|role
4054        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4055    -->
4056    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE"
4057                android:protectionLevel="internal|role" />
4058
4059    <!-- Allows an application to manage policy related to metered data.
4060        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4061        APIs protected by this permission on users different to the calling user.
4062        <p>Protection level: internal|role
4063        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4064    -->
4065    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_METERED_DATA"
4066                android:protectionLevel="internal|role" />
4067
4068    <!-- Allows an application to set a network-independent global HTTP proxy.
4069        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4070        APIs protected by this permission on users different to the calling user.
4071        <p>Protection level: internal|role
4072        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4073    -->
4074    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROXY"
4075                android:protectionLevel="internal|role" />
4076
4077    <!-- Allows an application to request bugreports with user consent.
4078        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4079        APIs protected by this permission on users different to the calling user.
4080        <p>Protection level: internal|role
4081        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4082    -->
4083    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BUGREPORT"
4084                android:protectionLevel="internal|role" />
4085
4086    <!-- Allows an application to manage policy related to application user data.
4087        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4088        APIs protected by this permission on users different to the calling user.
4089        <p>Protection level: internal|role
4090        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4091    -->
4092    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_USER_DATA"
4093                android:protectionLevel="internal|role" />
4094
4095    <!-- Allows an application to lock a profile or the device with the appropriate cross-user
4096    permission.
4097        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4098        APIs protected by this permission on users different to the calling user.
4099        <p>Protection level: internal|role
4100        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4101    -->
4102    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK"
4103                android:protectionLevel="internal|role" />
4104
4105    <!-- Allows an application to query the device stolen state.
4106        @FlaggedApi("android.app.admin.flags.device_theft_api_enabled")
4107        @hide
4108        @SystemApi
4109    -->
4110    <permission android:name="android.permission.QUERY_DEVICE_STOLEN_STATE"
4111                android:protectionLevel="internal|role" />
4112
4113    <!-- Allows an application to manage policy related to system apps.
4114        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4115        APIs protected by this permission on users different to the calling user.
4116        <p>Protection level: internal|role
4117        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4118    -->
4119    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_APPS"
4120                android:protectionLevel="internal|role" />
4121
4122    <!-- Allows an application to manage policy related to wiping data.
4123        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
4124        APIs protected by this permission on users different to the calling user.
4125        <p>Protection level: internal|role
4126        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4127    -->
4128    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIPE_DATA"
4129                android:protectionLevel="internal|role" />
4130
4131    <!-- Allows an application to manage policy related to the Memory Tagging Extension (MTE).
4132        <p>Protection level: internal|role
4133        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4134    -->
4135    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MTE"
4136                android:protectionLevel="internal|role" />
4137
4138    <!-- Allows an application to manage policy related to device identifiers.
4139        <p>Protection level: internal|role
4140        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4141    -->
4142    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS"
4143                android:protectionLevel="internal|role" />
4144
4145    <!-- Allows an application to manage policy related to content protection.
4146        <p>Protection level: internal|role
4147        @FlaggedApi("android.view.contentprotection.flags.manage_device_policy_enabled")
4148    -->
4149    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION"
4150                android:protectionLevel="internal|role" />
4151
4152    <!-- Allows an application to manage policy related to AppFunctions.
4153        <p>Protection level: internal|role
4154        @FlaggedApi(android.app.appfunctions.flags.Flags.FLAG_ENABLE_APP_FUNCTION_MANAGER)
4155    -->
4156    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_FUNCTIONS"
4157        android:featureFlag="android.app.appfunctions.flags.enable_app_function_manager"
4158        android:protectionLevel="internal|role" />
4159
4160    <!-- Allows an application to set policy related to subscriptions downloaded by an admin.
4161        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
4162        APIs protected by this permission on users different to the calling user.
4163        <p>Protection level: internal|role
4164        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4165    -->
4166    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS"
4167        android:protectionLevel="internal|role" />
4168
4169    <!-- Allows an application to manage policy related to block package uninstallation.
4170        <p>Protection level: internal|role
4171        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4172    -->
4173    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL"
4174        android:protectionLevel="internal|role" />
4175
4176    <!-- Allows an application to manage policy related to camera toggle.
4177        <p>Protection level: internal|role
4178        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4179    -->
4180    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CAMERA_TOGGLE"
4181        android:protectionLevel="internal|role" />
4182
4183    <!-- Allows an application to manage policy related to microphone toggle.
4184        <p>Protection level: internal|role
4185        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4186    -->
4187    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE"
4188        android:protectionLevel="internal|role" />
4189
4190    <!-- Allows an application to set device policies outside the current user
4191        that are critical for securing data within the current user.
4192        <p>Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_*
4193        permissions across all users on the device provided they are required for securing data
4194        within the current user.
4195        <p>Protection level: internal|role
4196        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4197    -->
4198    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL"
4199                android:protectionLevel="internal|role" />
4200
4201    <!-- Allows an application to set device policies outside the current user
4202        that are required for securing device ownership without accessing user data.
4203        <p>Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_*
4204        permissions across all users on the device provided they do not grant access to user data.
4205        <p>Protection level: internal|role
4206        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4207    -->
4208    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS"
4209                android:protectionLevel="internal|role" />
4210
4211    <!-- Allows an application to set device policies outside the current user.
4212        <p>Fuller form of {@link android.Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS}
4213             that removes the restriction on accessing user data.
4214        <p>Holding this permission allows the use of any other held MANAGE_DEVICE_POLICY_*
4215            permissions across all users on the device.
4216        <p>Protection level: internal|role
4217        <p>Intended for use by the DEVICE_POLICY_MANAGEMENT role only.
4218    -->
4219    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL"
4220                android:protectionLevel="internal|role" />
4221
4222    <!-- Allows the holder to manage and retrieve max storage limit for admin policies. This
4223        permission is only grantable on rooted devices.
4224        @TestAPI
4225        @hide -->
4226    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_STORAGE_LIMIT"
4227                android:protectionLevel="internal" />
4228
4229    <!-- Allows an application to access EnhancedConfirmationManager.
4230        @SystemApi
4231        @FlaggedApi("android.permission.flags.enhanced_confirmation_mode_apis_enabled")
4232        @hide This is not a third-party API (intended for OEMs and system apps). -->
4233    <permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES"
4234                android:protectionLevel="signature|installer" />
4235    <uses-permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES" />
4236
4237    <!-- Allows an application to modify the device's advanced protection mode status, and query
4238         the list of enabled features
4239        @FlaggedApi(android.security.Flags.FLAG_AAPM_API)
4240        @SystemApi
4241        @hide -->
4242    <permission android:name="android.permission.MANAGE_ADVANCED_PROTECTION_MODE"
4243        android:protectionLevel="signature|privileged"
4244        android:featureFlag="android.security.aapm_api"/>
4245    <uses-permission android:name="android.permission.MANAGE_ADVANCED_PROTECTION_MODE"
4246        android:featureFlag="android.security.aapm_api"/>
4247
4248    <!-- Allows an application to query the device's advanced protection mode status.
4249        @FlaggedApi(android.security.Flags.FLAG_AAPM_API) -->
4250    <permission android:name="android.permission.QUERY_ADVANCED_PROTECTION_MODE"
4251        android:protectionLevel="normal"
4252        android:featureFlag="android.security.aapm_api"/>
4253    <uses-permission android:name="android.permission.QUERY_ADVANCED_PROTECTION_MODE"
4254        android:featureFlag="android.security.aapm_api"/>
4255
4256    <!-- Allows an application to read the state of the IntrusionDetectionService
4257         @FlaggedApi(android.security.Flags.FLAG_AFL_API)
4258         @SystemApi
4259         @hide -->
4260    <permission android:name="android.permission.READ_INTRUSION_DETECTION_STATE"
4261        android:featureFlag="android.security.afl_api"
4262        android:protectionLevel="signature|privileged" />
4263    <uses-permission android:name="android.permission.READ_INTRUSION_DETECTION_STATE"
4264        android:featureFlag="android.security.afl_api"/>
4265
4266    <!-- Allows an application to change the state of the IntrusionDetectionService
4267         @FlaggedApi(android.security.Flags.FLAG_AFL_API)
4268         @SystemApi
4269         @hide -->
4270    <permission android:name="android.permission.MANAGE_INTRUSION_DETECTION_STATE"
4271        android:featureFlag="android.security.afl_api"
4272        android:protectionLevel="signature|privileged" />
4273    <uses-permission android:name="android.permission.MANAGE_INTRUSION_DETECTION_STATE"
4274        android:featureFlag="android.security.afl_api"/>
4275
4276    <!-- Must be required by any IntrusionDetectionEventTransportService to ensure that
4277         only the system can bind to it.
4278         @FlaggedApi(android.security.Flags.FLAG_AFL_API)
4279         @SystemApi
4280         @hide -->
4281    <permission android:name="android.permission.BIND_INTRUSION_DETECTION_EVENT_TRANSPORT_SERVICE"
4282        android:featureFlag="android.security.afl_api"
4283        android:protectionLevel="signature" />
4284    <uses-permission android:name="android.permission.BIND_INTRUSION_DETECTION_EVENT_TRANSPORT_SERVICE"
4285        android:featureFlag="android.security.afl_api"/>
4286
4287    <!-- @SystemApi @hide Allows an application to set a device owner on retail demo devices.-->
4288    <permission android:name="android.permission.PROVISION_DEMO_DEVICE"
4289                android:protectionLevel="signature|setup|knownSigner"
4290                android:knownCerts="@array/demo_device_provisioning_known_signers" />
4291
4292    <!-- @TestApi @hide Allows an application to reset the record of previous system update freeze
4293         periods. -->
4294    <permission android:name="android.permission.CLEAR_FREEZE_PERIOD"
4295                android:protectionLevel="signature" />
4296
4297    <!-- @TestApi @hide Allows an application to force available DevicePolicyManager logs to
4298         DPC. -->
4299    <permission android:name="android.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS"
4300                android:protectionLevel="signature" />
4301
4302    <!-- Allows an application to get full detailed information about
4303         recently running tasks, with full fidelity to the real state.
4304         @hide -->
4305    <permission android:name="android.permission.GET_DETAILED_TASKS"
4306        android:protectionLevel="signature" />
4307
4308    <!-- Allows an application to change the Z-order of tasks.
4309         <p>Protection level: normal
4310    -->
4311    <permission android:name="android.permission.REORDER_TASKS"
4312        android:label="@string/permlab_reorderTasks"
4313        android:description="@string/permdesc_reorderTasks"
4314        android:protectionLevel="normal" />
4315
4316    <!-- @SystemApi @TestApi @hide Allows an application to change to remove/kill tasks -->
4317    <permission android:name="android.permission.REMOVE_TASKS"
4318        android:protectionLevel="signature|recents|role" />
4319
4320    <!-- @deprecated Use MANAGE_ACTIVITY_TASKS instead.
4321         @SystemApi @TestApi @hide Allows an application to create/manage/remove stacks -->
4322    <permission android:name="android.permission.MANAGE_ACTIVITY_STACKS"
4323        android:protectionLevel="signature" />
4324
4325    <!-- @SystemApi @TestApi @hide Allows an application to create/manage/remove tasks -->
4326    <permission android:name="android.permission.MANAGE_ACTIVITY_TASKS"
4327        android:protectionLevel="signature|recents" />
4328
4329    <!-- @SystemApi @TestApi @hide Allows an application to embed other activities -->
4330    <permission android:name="android.permission.ACTIVITY_EMBEDDING"
4331                android:protectionLevel="signature|privileged" />
4332
4333    <!-- Allows an application to embed any other apps in untrusted embedding mode without the need
4334         for the embedded app to consent.
4335         <p>For now, this permission is only granted to the Assistant application selected by
4336         the user.
4337         {@see https://developer.android.com/guide/topics/large-screens/activity-embedding#trust_model}
4338         @SystemApi
4339         @FlaggedApi("com.android.window.flags.untrusted_embedding_any_app_permission")
4340         @hide
4341        -->
4342    <permission android:name="android.permission.EMBED_ANY_APP_IN_UNTRUSTED_MODE"
4343                android:protectionLevel="internal|role" />
4344
4345    <!-- Allows an application to start any activity, regardless of permission
4346         protection or exported state.
4347         @hide -->
4348    <permission android:name="android.permission.START_ANY_ACTIVITY"
4349        android:protectionLevel="signature" />
4350
4351    <!-- @SystemApi @hide Allows an application to start activities from background -->
4352    <permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"
4353        android:protectionLevel="signature|privileged|vendorPrivileged|oem|verifier|role" />
4354
4355    <!-- Allows an application to start foreground services from the background at any time.
4356         <em>This permission is not for use by third-party applications</em>,
4357         with the only exception being if the app is the default SMS app.
4358         Otherwise, it's only usable by privileged apps, app verifier app, and apps with
4359         any of the EMERGENCY or SYSTEM GALLERY roles.
4360         -->
4361    <permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"
4362                android:protectionLevel="signature|privileged|vendorPrivileged|oem|verifier|role"/>
4363
4364    <!-- Allows an application to request interactive options when sending a broadcast.
4365         @hide -->
4366    <permission android:name="android.permission.BROADCAST_OPTION_INTERACTIVE"
4367                android:protectionLevel="signature|privileged" />
4368
4369    <!-- @SystemApi Must be required by activities that handle the intent action
4370         {@link Intent#ACTION_SEND_SHOW_SUSPENDED_APP_DETAILS}. This is for use by apps that
4371         hold {@link Manifest.permission#SUSPEND_APPS} to interact with the system.
4372         <p>Not for use by third-party applications.
4373         @hide -->
4374    <permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS"
4375                android:protectionLevel="signature" />
4376    <uses-permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS" />
4377
4378    <!-- Allows an application to start an activity as another app, provided that app has been
4379         granted a permissionToken from the ActivityManagerService.
4380         @hide -->
4381    <permission android:name="android.permission.START_ACTIVITY_AS_CALLER"
4382        android:protectionLevel="signature" />
4383
4384    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
4385        API is no longer supported. -->
4386    <permission android:name="android.permission.RESTART_PACKAGES"
4387        android:label="@string/permlab_killBackgroundProcesses"
4388        android:description="@string/permdesc_killBackgroundProcesses"
4389        android:protectionLevel="normal" />
4390
4391    <!-- Allows an application to call
4392        {@link android.app.ActivityManager#killBackgroundProcesses}.
4393        <p>As of Android version {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE},
4394        the {@link android.app.ActivityManager#killBackgroundProcesses} is no longer available to
4395        third party applications. For backwards compatibility, the background processes of the
4396        caller's own package will still be killed when calling this API. If the caller has
4397        the system permission {@code KILL_ALL_BACKGROUND_PROCESSES}, other processes will be
4398        killed too.
4399
4400         <p>Protection level: normal
4401    -->
4402    <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
4403        android:label="@string/permlab_killBackgroundProcesses"
4404        android:description="@string/permdesc_killBackgroundProcesses"
4405        android:protectionLevel="normal" />
4406
4407    <!-- @SystemApi @hide Allows an application to call
4408        {@link android.app.ActivityManager#killBackgroundProcesses}
4409        to kill background processes of other apps.
4410         <p>Not for use by third-party applications.
4411    -->
4412    <permission android:name="android.permission.KILL_ALL_BACKGROUND_PROCESSES"
4413        android:label="@string/permlab_killBackgroundProcesses"
4414        android:description="@string/permdesc_killBackgroundProcesses"
4415        android:protectionLevel="signature|privileged" />
4416
4417    <!-- @SystemApi @hide Allows an application to query process states and current
4418         OOM adjustment scores.
4419         <p>Not for use by third-party applications. -->
4420    <permission android:name="android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"
4421        android:protectionLevel="signature|privileged|development" />
4422
4423    <!-- Allows use of PendingIntent.getIntent(), .
4424         @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
4425         -->
4426    <permission android:name="android.permission.GET_INTENT_SENDER_INTENT"
4427        android:protectionLevel="signature" />
4428
4429    <!-- ================================== -->
4430    <!-- Permissions affecting the display of other applications  -->
4431    <!-- ================================== -->
4432    <eat-comment />
4433
4434    <!-- Allows an app to create windows using the type
4435         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
4436         shown on top of all other apps.  Very few apps
4437         should use this permission; these windows are intended for
4438         system-level interaction with the user.
4439
4440         <p class="note"><strong>Note:</strong> If the app
4441         targets API level 23 or higher, the app user must explicitly grant
4442         this permission to the app through a permission management screen. The app requests
4443         the user's approval by sending an intent with action
4444         {@link android.provider.Settings#ACTION_MANAGE_OVERLAY_PERMISSION}.
4445         The app can check whether it has this authorization by calling
4446         {@link android.provider.Settings#canDrawOverlays
4447         Settings.canDrawOverlays()}.
4448         <p>Protection level: signature|setup|appop|installer|pre23|development -->
4449    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
4450        android:label="@string/permlab_systemAlertWindow"
4451        android:description="@string/permdesc_systemAlertWindow"
4452        android:protectionLevel="signature|setup|appop|installer|pre23|development" />
4453
4454    <!-- @SystemApi @hide Allows an application to create windows using the type
4455         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
4456         shown on top of all other apps.
4457
4458         Allows an application to use
4459         {@link android.view.WindowManager.LayoutsParams#setSystemApplicationOverlay(boolean)}
4460         to create overlays that will stay visible, even if another window is requesting overlays to
4461         be hidden through {@link android.view.Window#setHideOverlayWindows(boolean)}.
4462
4463         <p>Not for use by third-party applications. -->
4464    <permission android:name="android.permission.SYSTEM_APPLICATION_OVERLAY"
4465                android:protectionLevel="signature|recents|role|installer"/>
4466
4467    <!-- @deprecated Use {@link android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
4468         @hide
4469    -->
4470    <permission android:name="android.permission.RUN_IN_BACKGROUND"
4471        android:label="@string/permlab_runInBackground"
4472        android:description="@string/permdesc_runInBackground"
4473        android:protectionLevel="signature" />
4474
4475    <!-- @deprecated Use
4476        {@link android.Manifest.permission#REQUEST_COMPANION_USE_DATA_IN_BACKGROUND}
4477         @hide
4478    -->
4479    <permission android:name="android.permission.USE_DATA_IN_BACKGROUND"
4480        android:label="@string/permlab_useDataInBackground"
4481        android:description="@string/permdesc_useDataInBackground"
4482        android:protectionLevel="signature" />
4483
4484    <!-- @hide Allows an application to set display offsets for the screen.
4485         This permission is not available to third party applications. -->
4486    <permission android:name="android.permission.SET_DISPLAY_OFFSET"
4487        android:protectionLevel="signature|privileged" />
4488
4489    <!-- Allows a companion app to run in the background. This permission implies
4490         {@link android.Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND},
4491         and allows to start a foreground service from the background.
4492         If an app does not have to run in the background, but only needs to start a foreground
4493         service from the background, consider using
4494         {@link android.Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND},
4495         which is less powerful.
4496         <p>Protection level: normal
4497    -->
4498    <permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"
4499                android:label="@string/permlab_runInBackground"
4500                android:description="@string/permdesc_runInBackground"
4501                android:protectionLevel="normal" />
4502
4503    <!-- Allows a companion app to start a foreground service from the background.
4504         {@see android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
4505         <p>Protection level: normal
4506         -->
4507    <permission android:name="android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND"
4508                android:label="@string/permlab_startForegroundServicesFromBackground"
4509                android:description="@string/permdesc_startForegroundServicesFromBackground"
4510                android:protectionLevel="normal"/>
4511
4512    <!-- Allows a companion app to use data in the background.
4513         <p>Protection level: normal
4514    -->
4515    <permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"
4516                android:label="@string/permlab_useDataInBackground"
4517                android:description="@string/permdesc_useDataInBackground"
4518                android:protectionLevel="normal" />
4519
4520    <!-- Allows app to request to be associated with a device via
4521         {@link android.companion.CompanionDeviceManager}
4522         as a "watch"
4523         <p>Protection level: normal
4524     -->
4525    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_WATCH"
4526                android:label="@string/permlab_companionProfileWatch"
4527                android:description="@string/permdesc_companionProfileWatch"
4528                android:protectionLevel="normal" />
4529
4530    <!-- Allows app to request to be associated with a device via
4531         {@link android.companion.CompanionDeviceManager}
4532         as "glasses"
4533         <p>Protection level: normal
4534     -->
4535    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_GLASSES"
4536        android:protectionLevel="normal" />
4537
4538    <!-- Allows application to request to be associated with a virtual display capable of streaming
4539         Android applications
4540         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_APP_STREAMING})
4541         by {@link android.companion.CompanionDeviceManager}.
4542        <p>Not for use by third-party applications.
4543    -->
4544    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_APP_STREAMING"
4545                android:protectionLevel="signature|privileged" />
4546
4547    <!-- Allows application to request to stream content from an Android host to a nearby device
4548         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_NEARBY_DEVICE_STREAMING})
4549         by {@link android.companion.CompanionDeviceManager}.
4550        <p>Not for use by third-party applications.
4551    -->
4552    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING"
4553        android:protectionLevel="signature|privileged" />
4554
4555    <!-- Allows application to request to be associated with a vehicle head unit capable of
4556         automotive projection
4557         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_AUTOMOTIVE_PROJECTION})
4558         by {@link android.companion.CompanionDeviceManager}.
4559        <p>Not for use by third-party applications.
4560    -->
4561    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION"
4562                android:protectionLevel="internal|role" />
4563
4564    <!-- Allows application to request to be associated with a computer to share functionality
4565         and/or data with other devices, such as notifications, photos and media
4566         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_COMPUTER})
4567         by {@link android.companion.CompanionDeviceManager}.
4568        <p>Not for use by third-party applications.
4569    -->
4570    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_COMPUTER"
4571                android:protectionLevel="signature|privileged" />
4572
4573    <!-- Allows an application to create a "self-managed" association.
4574    -->
4575    <permission android:name="android.permission.REQUEST_COMPANION_SELF_MANAGED"
4576                android:protectionLevel="signature|privileged" />
4577
4578    <!-- Allows a companion app to associate to Wi-Fi.
4579         <p>Only for use by a single pre-approved app.
4580         @hide
4581         @SystemApi
4582    -->
4583    <permission android:name="android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS"
4584                android:protectionLevel="signature|privileged" />
4585
4586    <!-- Allows an app to read and listen to projection state.
4587         @hide
4588         @SystemApi
4589    -->
4590    <permission android:name="android.permission.READ_PROJECTION_STATE"
4591                android:protectionLevel="signature" />
4592
4593    <!-- Allows an app to set and release automotive projection.
4594         @hide
4595         @SystemApi
4596    -->
4597    <permission android:name="android.permission.TOGGLE_AUTOMOTIVE_PROJECTION"
4598                android:protectionLevel="internal|role" />
4599
4600    <!-- Allows an app to prevent non-system-overlay windows from being drawn on top of it -->
4601    <permission android:name="android.permission.HIDE_OVERLAY_WINDOWS"
4602                android:label="@string/permlab_hideOverlayWindows"
4603                android:description="@string/permdesc_hideOverlayWindows"
4604                android:protectionLevel="normal" />
4605
4606    <!-- Allows an app to enter Picture-in-Picture mode when the user is not explicitly requesting
4607        it. This includes using {@link PictureInPictureParams.Builder#setAutoEnterEnabled} as well
4608        as lifecycle methods such as {@link Activity#onUserLeaveHint} and {@link Activity#onPause}
4609        to enter PiP when the user leaves the app.
4610        This permission should only be used for certain PiP
4611        <a href="{@docRoot}training/tv/get-started/multitasking#usage-types">usage types</a>.
4612        @FlaggedApi(android.app.Flags.FLAG_ENABLE_TV_IMPLICIT_ENTER_PIP_RESTRICTION)
4613     -->
4614    <permission android:name="android.permission.TV_IMPLICIT_ENTER_PIP"
4615        android:protectionLevel="normal"
4616        android:featureFlag="android.app.enable_tv_implicit_enter_pip_restriction" />
4617
4618    <!-- ================================== -->
4619    <!-- Permissions affecting the system wallpaper -->
4620    <!-- ================================== -->
4621    <eat-comment />
4622
4623    <!-- Allows applications to set the wallpaper.
4624         <p>Protection level: normal
4625     -->
4626    <permission android:name="android.permission.SET_WALLPAPER"
4627        android:label="@string/permlab_setWallpaper"
4628        android:description="@string/permdesc_setWallpaper"
4629        android:protectionLevel="normal" />
4630
4631    <!-- Allows applications to set the wallpaper hints.
4632         <p>Protection level: normal
4633    -->
4634    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
4635        android:label="@string/permlab_setWallpaperHints"
4636        android:description="@string/permdesc_setWallpaperHints"
4637        android:protectionLevel="normal" />
4638
4639    <!-- Allow the app to read the system and lock wallpaper images.
4640        <p>Not for use by third-party applications.
4641        @hide
4642        @SystemApi
4643    -->
4644    <permission android:name="android.permission.READ_WALLPAPER_INTERNAL"
4645        android:protectionLevel="signature|privileged" />
4646
4647    <!-- Allow apps to always update wallpaper by sending data.
4648        @SystemApi
4649        @hide
4650        @FlaggedApi("com.android.window.flags.always_update_wallpaper_permission")
4651    -->
4652    <permission android:name="android.permission.ALWAYS_UPDATE_WALLPAPER"
4653        android:protectionLevel="internal|role" />
4654
4655    <!-- ===================================================== -->
4656    <!-- Permissions for changing the system clock / time zone -->
4657    <!-- ===================================================== -->
4658    <eat-comment />
4659
4660    <!-- Allows applications to set the system time directly.
4661         <p>Not for use by third-party applications. -->
4662    <permission android:name="android.permission.SET_TIME"
4663        android:protectionLevel="signature|privileged|role" />
4664
4665    <!-- Allows applications to set the system time zone directly.
4666         <p>Not for use by third-party applications.
4667    -->
4668    <permission android:name="android.permission.SET_TIME_ZONE"
4669        android:label="@string/permlab_setTimeZone"
4670        android:description="@string/permdesc_setTimeZone"
4671        android:protectionLevel="signature|privileged|role" />
4672
4673    <!-- Allows telephony to suggest the time / time zone.
4674         <p>Not for use by third-party applications.
4675         @hide
4676     -->
4677    <permission android:name="android.permission.SUGGEST_TELEPHONY_TIME_AND_ZONE"
4678        android:protectionLevel="signature" />
4679
4680    <!-- Allows applications like settings to suggest the user's manually chosen time / time zone.
4681         <p>Not for use by third-party applications.
4682         @hide
4683    -->
4684    <permission android:name="android.permission.SUGGEST_MANUAL_TIME_AND_ZONE"
4685        android:protectionLevel="signature" />
4686
4687    <!-- Allows system clock time suggestions from an external clock / time source to be made.
4688         The nature of "external" could be highly form-factor specific. Example, times
4689         obtained via the VHAL for Android Auto OS.
4690         <p>Not for use by third-party applications.
4691         @SystemApi @hide
4692    -->
4693    <permission android:name="android.permission.SUGGEST_EXTERNAL_TIME"
4694        android:protectionLevel="signature|privileged" />
4695
4696    <!-- Allows applications like settings to manage configuration associated with automatic time
4697         and time zone detection.
4698         <p>Not for use by third-party applications.
4699         @SystemApi @hide
4700    -->
4701    <permission android:name="android.permission.MANAGE_TIME_AND_ZONE_DETECTION"
4702        android:protectionLevel="signature|privileged" />
4703
4704    <!-- ==================================================== -->
4705    <!-- Permissions related to changing status bar   -->
4706    <!-- ==================================================== -->
4707    <eat-comment />
4708
4709    <!-- Allows an application to expand or collapse the status bar.
4710         <p>Protection level: normal
4711    -->
4712    <permission android:name="android.permission.EXPAND_STATUS_BAR"
4713        android:label="@string/permlab_expandStatusBar"
4714        android:description="@string/permdesc_expandStatusBar"
4715        android:protectionLevel="normal" />
4716
4717    <!-- ============================================================== -->
4718    <!-- Permissions related to adding/removing shortcuts from Launcher -->
4719    <!-- ============================================================== -->
4720    <eat-comment />
4721
4722    <!-- Allows an application to install a shortcut in Launcher.
4723         <p>In Android O (API level 26) and higher, the <code>INSTALL_SHORTCUT</code> broadcast no
4724         longer has any effect on your app because it's a private, implicit
4725         broadcast. Instead, you should create an app shortcut by using the
4726         {@link android.content.pm.ShortcutManager#requestPinShortcut requestPinShortcut()}
4727         method from the {@link android.content.pm.ShortcutManager} class.
4728         <p>Protection level: normal
4729    -->
4730    <permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
4731        android:label="@string/permlab_install_shortcut"
4732        android:description="@string/permdesc_install_shortcut"
4733        android:protectionLevel="normal"/>
4734
4735    <!-- <p class="caution"><strong>Don't use this permission in your app.</strong><br>This
4736         permission is no longer supported.
4737    -->
4738    <permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"
4739        android:label="@string/permlab_uninstall_shortcut"
4740        android:description="@string/permdesc_uninstall_shortcut"
4741        android:protectionLevel="normal"/>
4742
4743    <!-- ==================================================== -->
4744    <!-- Permissions related to accessing sync settings   -->
4745    <!-- ==================================================== -->
4746    <eat-comment />
4747
4748    <!-- Allows applications to read the sync settings.
4749         <p>Protection level: normal
4750    -->
4751    <permission android:name="android.permission.READ_SYNC_SETTINGS"
4752        android:description="@string/permdesc_readSyncSettings"
4753        android:label="@string/permlab_readSyncSettings"
4754        android:protectionLevel="normal" />
4755
4756    <!-- Allows applications to write the sync settings.
4757         <p>Protection level: normal
4758    -->
4759    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
4760        android:description="@string/permdesc_writeSyncSettings"
4761        android:label="@string/permlab_writeSyncSettings"
4762        android:protectionLevel="normal" />
4763
4764    <!-- Allows applications to read the sync stats.
4765         <p>Protection level: normal
4766    -->
4767    <permission android:name="android.permission.READ_SYNC_STATS"
4768        android:description="@string/permdesc_readSyncStats"
4769        android:label="@string/permlab_readSyncStats"
4770        android:protectionLevel="normal" />
4771
4772    <!-- ============================================ -->
4773    <!-- Permissions for low-level system interaction -->
4774    <!-- ============================================ -->
4775    <eat-comment />
4776
4777    <!-- @SystemApi @hide Change the screen compatibility mode of applications -->
4778    <permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
4779        android:protectionLevel="signature" />
4780
4781    <!-- Allows an application to modify the current configuration, such
4782         as locale.
4783         <p>Protection level: signature|privileged|development -->
4784    <permission android:name="android.permission.CHANGE_CONFIGURATION"
4785        android:protectionLevel="signature|privileged|development|role" />
4786
4787    <!-- Allows an application to read or write the system settings.
4788
4789        <p class="note"><strong>Note:</strong> If the app targets API level 23
4790        or higher, the app user
4791        must explicitly grant this permission to the app through a permission management screen.
4792        The app requests the user's approval by sending an intent with action
4793        {@link android.provider.Settings#ACTION_MANAGE_WRITE_SETTINGS}. The app
4794        can check whether it has this authorization by calling {@link
4795        android.provider.Settings.System#canWrite Settings.System.canWrite()}.
4796
4797        <p>Protection level: signature|preinstalled|appop|pre23
4798    -->
4799    <permission android:name="android.permission.WRITE_SETTINGS"
4800        android:label="@string/permlab_writeSettings"
4801        android:description="@string/permdesc_writeSettings"
4802        android:protectionLevel="signature|preinstalled|appop|pre23|role" />
4803
4804    <!-- Allows an application to modify the Google service map.
4805    <p>Not for use by third-party applications. -->
4806    <permission android:name="android.permission.WRITE_GSERVICES"
4807        android:protectionLevel="signature|privileged" />
4808
4809    <!-- @SystemApi @TestApi @hide Allows an application to modify config settings.
4810    <p>Not for use by third-party applications. -->
4811    <permission android:name="android.permission.WRITE_DEVICE_CONFIG"
4812        android:protectionLevel="signature|verifier|configurator"/>
4813
4814    <!-- @SystemApi @TestApi @hide Allows an application to modify only allowlisted settings.
4815    <p>Not for use by third-party applications. -->
4816    <permission android:name="android.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG"
4817        android:protectionLevel="signature|verifier|configurator"/>
4818
4819    <!-- @SystemApi @TestApi @hide Allows an application to read/write sync disabled mode config.
4820    <p>Not for use by third-party applications. -->
4821    <permission android:name="android.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG"
4822        android:protectionLevel="signature|verifier|configurator"/>
4823
4824    <!-- @SystemApi @hide Allows an application to read config settings.
4825    <p>Not for use by third-party applications. -->
4826    <permission android:name="android.permission.READ_DEVICE_CONFIG"
4827        android:protectionLevel="signature|preinstalled" />
4828
4829    <!-- @SystemApi @hide Allows applications like settings to read system-owned
4830     application-specific locale configs.
4831     <p>Not for use by third-party applications. -->
4832    <permission android:name="android.permission.READ_APP_SPECIFIC_LOCALES"
4833                android:protectionLevel="signature|installer" />
4834
4835    <!-- @hide Allows applications to set an application-specific {@link LocaleConfig}.
4836    <p>Not for use by third-party applications. -->
4837    <permission android:name="android.permission.SET_APP_SPECIFIC_LOCALECONFIG"
4838        android:protectionLevel="signature" />
4839
4840    <!-- @SystemApi @hide Allows an application to monitor {@link android.provider.Settings.Config} access.
4841    <p>Not for use by third-party applications. -->
4842    <permission android:name="android.permission.MONITOR_DEVICE_CONFIG_ACCESS"
4843        android:protectionLevel="signature"/>
4844
4845    <!-- @SystemApi @TestApi Allows an application to call
4846        {@link android.app.ActivityManager#forceStopPackage}.
4847        @hide -->
4848    <permission android:name="android.permission.FORCE_STOP_PACKAGES"
4849        android:protectionLevel="signature|privileged" />
4850
4851    <!-- @SystemApi @hide Allows an application to retrieve the content of the active window
4852         An active window is the window that has fired an accessibility event. -->
4853    <permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"
4854        android:protectionLevel="signature|privileged" />
4855
4856    <!-- Modify the global animation scaling factor.
4857    <p>Not for use by third-party applications. -->
4858    <permission android:name="android.permission.SET_ANIMATION_SCALE"
4859        android:protectionLevel="signature|privileged|development" />
4860
4861    <!-- @deprecated This functionality will be removed in the future; please do
4862         not use. Allow an application to make its activities persistent. -->
4863    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
4864        android:label="@string/permlab_persistentActivity"
4865        android:description="@string/permdesc_persistentActivity"
4866        android:protectionLevel="normal" />
4867
4868    <!-- Allows an application to find out the space used by any package.
4869         <p>Protection level: normal
4870    -->
4871    <permission android:name="android.permission.GET_PACKAGE_SIZE"
4872        android:label="@string/permlab_getPackageSize"
4873        android:description="@string/permdesc_getPackageSize"
4874        android:protectionLevel="normal" />
4875
4876    <!-- @deprecated No longer useful, see
4877         {@link android.content.pm.PackageManager#addPackageToPreferred}
4878         for details. -->
4879    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
4880        android:protectionLevel="signature|installer|verifier" />
4881
4882    <!-- Allows an application to receive the
4883         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
4884         broadcast after the system finishes booting.  If you don't
4885         request this permission, you will not receive the broadcast at
4886         that time.  Though holding this permission does not have any
4887         security implications, it can have a negative impact on the
4888         user experience by increasing the amount of time it takes the
4889         system to start and allowing applications to have themselves
4890         running without the user being aware of them.  As such, you must
4891         explicitly declare your use of this facility to make that visible
4892         to the user.
4893         <p>Protection level: normal
4894    -->
4895    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
4896        android:label="@string/permlab_receiveBootCompleted"
4897        android:description="@string/permdesc_receiveBootCompleted"
4898        android:protectionLevel="normal" />
4899
4900    <!-- Allows an application to broadcast sticky intents.  These are
4901         broadcasts whose data is held by the system after being finished,
4902         so that clients can quickly retrieve that data without having
4903         to wait for the next broadcast.
4904         <p>Protection level: normal
4905    -->
4906    <permission android:name="android.permission.BROADCAST_STICKY"
4907        android:label="@string/permlab_broadcastSticky"
4908        android:description="@string/permdesc_broadcastSticky"
4909        android:protectionLevel="normal" />
4910
4911    <!-- Allows mounting and unmounting file systems for removable storage.
4912    <p>Not for use by third-party applications.-->
4913    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
4914        android:protectionLevel="signature|privileged" />
4915
4916    <!-- Allows formatting file systems for removable storage.
4917    <p>Not for use by third-party applications. -->
4918    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
4919        android:protectionLevel="signature|privileged" />
4920
4921    <!-- @hide -->
4922    <permission android:name="android.permission.STORAGE_INTERNAL"
4923        android:protectionLevel="signature" />
4924
4925    <!-- Allows access to ASEC non-destructive API calls
4926         @hide  -->
4927    <permission android:name="android.permission.ASEC_ACCESS"
4928        android:protectionLevel="signature" />
4929
4930    <!-- Allows creation of ASEC volumes
4931         @hide  -->
4932    <permission android:name="android.permission.ASEC_CREATE"
4933        android:protectionLevel="signature" />
4934
4935    <!-- Allows destruction of ASEC volumes
4936         @hide  -->
4937    <permission android:name="android.permission.ASEC_DESTROY"
4938        android:protectionLevel="signature" />
4939
4940    <!-- Allows mount / unmount of ASEC volumes
4941         @hide  -->
4942    <permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"
4943        android:protectionLevel="signature" />
4944
4945    <!-- Allows rename of ASEC volumes
4946         @hide  -->
4947    <permission android:name="android.permission.ASEC_RENAME"
4948        android:protectionLevel="signature" />
4949
4950    <!-- Allows applications to write the apn settings and read sensitive fields of
4951         an existing apn settings like user and password.
4952    <p>Not for use by third-party applications. -->
4953    <permission android:name="android.permission.WRITE_APN_SETTINGS"
4954        android:protectionLevel="signature|privileged" />
4955
4956    <!-- Allows applications to change network connectivity state.
4957         <p>Protection level: normal
4958    -->
4959    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
4960        android:description="@string/permdesc_changeNetworkState"
4961        android:label="@string/permlab_changeNetworkState"
4962        android:protectionLevel="normal" />
4963
4964    <!-- Allows an application to clear the caches of all installed
4965         applications on the device.
4966         <p>Protection level: signature|privileged
4967    -->
4968    <permission android:name="android.permission.CLEAR_APP_CACHE"
4969        android:protectionLevel="signature|privileged" />
4970
4971    <!-- @SystemApi Allows an application to use any media decoder when decoding for playback
4972         @hide -->
4973    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
4974        android:protectionLevel="signature|privileged" />
4975
4976    <!-- @SystemApi Allows an application to install and/or uninstall CA certificates on
4977         behalf of the user.
4978         @hide -->
4979    <permission android:name="android.permission.MANAGE_CA_CERTIFICATES"
4980        android:protectionLevel="signature|privileged" />
4981
4982    <!-- @SystemApi Allows an application to do certain operations needed for
4983         interacting with the recovery (system update) system.
4984         @hide -->
4985    <permission android:name="android.permission.RECOVERY"
4986        android:protectionLevel="signature|privileged" />
4987
4988    <!-- @SystemApi Allows an application to do certain operations needed for
4989         resume on reboot feature.
4990         @hide -->
4991    <permission android:name="android.permission.BIND_RESUME_ON_REBOOT_SERVICE"
4992        android:protectionLevel="signature" />
4993
4994    <!-- @SystemApi Allows an application to read system update info.
4995         @hide -->
4996    <permission android:name="android.permission.READ_SYSTEM_UPDATE_INFO"
4997        android:protectionLevel="signature|privileged" />
4998
4999    <!-- Allows the system to bind to an application's task services
5000         @hide -->
5001    <permission android:name="android.permission.BIND_JOB_SERVICE"
5002        android:protectionLevel="signature" />
5003    <uses-permission android:name="android.permission.BIND_JOB_SERVICE"/>
5004
5005    <!-- Allows an application to initiate configuration updates
5006         <p>An application requesting this permission is responsible for
5007         verifying the source and integrity of any update before passing
5008         it off to the various individual installer components
5009         @hide -->
5010    <permission android:name="android.permission.UPDATE_CONFIG"
5011        android:protectionLevel="signature|privileged" />
5012
5013    <!-- Allows an application to query the current time zone rules state
5014         on device.
5015         @SystemApi @hide
5016         @deprecated Vestigial permission declaration. No longer used. -->
5017    <permission android:name="android.permission.QUERY_TIME_ZONE_RULES"
5018                android:protectionLevel="signature|privileged" />
5019
5020    <!-- Allows a time zone rule updater application to request
5021         the system installs / uninstalls timezone rules.
5022         <p>An application requesting this permission is responsible for
5023         verifying the source and integrity of the update before passing
5024         it off to the installer components.
5025         @SystemApi @hide
5026         @deprecated Vestigial permission declaration. No longer used. -->
5027    <permission android:name="android.permission.UPDATE_TIME_ZONE_RULES"
5028        android:protectionLevel="signature|privileged" />
5029
5030    <!-- Allows the system to reset throttling in shortcut manager.
5031         @hide -->
5032    <permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING"
5033        android:protectionLevel="signature" />
5034
5035    <!-- Allows the system to bind to the discovered Network Recommendation Service.
5036         @SystemApi @hide -->
5037    <permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"
5038        android:protectionLevel="signature" />
5039    <uses-permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"/>
5040
5041    <!-- Allows an application to enable, disable and change priority of
5042         runtime resource overlays.
5043         @hide -->
5044    <permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES"
5045        android:protectionLevel="signature|privileged" />
5046
5047    <!-- Allows an application to set, update and remove the credential management app.
5048         @hide -->
5049    <permission android:name="android.permission.MANAGE_CREDENTIAL_MANAGEMENT_APP"
5050        android:protectionLevel="signature" />
5051
5052    <!-- Allows a font updater application to request that the system installs/uninstalls/updates
5053         font files. @SystemApi @hide -->
5054    <permission android:name="android.permission.UPDATE_FONTS"
5055        android:protectionLevel="signature|privileged" />
5056
5057    <!-- Allows an application to use the AttestationVerificationService.
5058         @hide -->
5059    <permission android:name="android.permission.USE_ATTESTATION_VERIFICATION_SERVICE"
5060                android:protectionLevel="signature" />
5061
5062    <!-- Allows an application to export a AttestationVerificationService to verify attestations on
5063         behalf of AttestationVerificationManager for system-defined attestation profiles.
5064         @hide -->
5065    <permission android:name="android.permission.VERIFY_ATTESTATION"
5066                android:protectionLevel="signature" />
5067
5068    <!-- Must be required by any AttestationVerificationService to ensure that only the system can
5069         bind to it.
5070         @hide -->
5071    <permission android:name="android.permission.BIND_ATTESTATION_VERIFICATION_SERVICE"
5072                android:protectionLevel="signature" />
5073
5074    <!-- Allows the caller to generate keymint keys with the INCLUDE_UNIQUE_ID tag, which
5075         uniquely identifies the device via the attestation certificate.
5076         @hide @TestApi -->
5077    <permission android:name="android.permission.REQUEST_UNIQUE_ID_ATTESTATION"
5078         android:protectionLevel="signature" />
5079
5080    <!-- Allows an application to use the RemoteKeyProvisioningService.
5081         @hide -->
5082    <permission android:name="android.permission.BIND_RKP_SERVICE"
5083                android:protectionLevel="signature" />
5084
5085    <!-- Allows an application to get enabled credential manager providers.
5086         @hide -->
5087    <permission android:name="android.permission.LIST_ENABLED_CREDENTIAL_PROVIDERS"
5088        android:protectionLevel="signature|privileged" />
5089
5090    <!-- Allows a system application to be registered with credential manager without
5091         having to be enabled by the user.
5092         @hide @SystemApi -->
5093    <permission android:name="android.permission.PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE"
5094                android:protectionLevel="signature|privileged" />
5095
5096    <!-- Allows specifying candidate credential providers to be queried in Credential Manager
5097    get flows, or to be preferred as a default in the Credential Manager create flows.
5098     <p>Protection level: normal -->
5099    <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS"
5100                android:protectionLevel="normal" />
5101
5102    <!-- Allows a browser to invoke credential manager APIs on behalf of another RP.
5103        <p>Protection level: normal -->
5104    <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ORIGIN"
5105        android:protectionLevel="normal" />
5106
5107    <!-- Allows a browser to invoke the set of query apis to get metadata about credential
5108         candidates prepared during the CredentialManager.prepareGetCredential API.
5109        <p>Protection level: normal -->
5110    <permission android:name="android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS"
5111                android:protectionLevel="normal" />
5112
5113    <!-- Allows permission to use Credential Manager UI for providing and saving credentials
5114         @hide -->
5115    <permission android:name="android.permission.LAUNCH_CREDENTIAL_SELECTOR"
5116        android:protectionLevel="signature" />
5117
5118    <!-- Allows an application to be able to store and retrieve credentials from a remote
5119         device.
5120    <p>Protection level: signature|privileged|role -->
5121    <permission android:name="android.permission.PROVIDE_REMOTE_CREDENTIALS"
5122                android:protectionLevel="signature|privileged|role" />
5123
5124    <!-- @FlaggedApi(com.android.settingslib.flags.Flags.FLAG_SETTINGS_CATALYST)
5125         Allows an application to access the Settings Preference services to read settings exposed
5126         by the system Settings app and system apps that contribute settings surfaced by the
5127         Settings app.
5128         <p>This allows the calling application to read settings values through the host
5129         application, agnostic of underlying storage. -->
5130    <permission android:name="android.permission.READ_SYSTEM_PREFERENCES"
5131        android:protectionLevel="signature|privileged|role"
5132        android:featureFlag="com.android.settingslib.flags.settings_catalyst" />
5133
5134    <!-- @FlaggedApi(com.android.settingslib.flags.Flags.FLAG_WRITE_SYSTEM_PREFERENCE_PERMISSION_ENABLED)
5135         Allows an application to access the Settings Preference services to write settings
5136         values exposed by the system Settings app and system apps that contribute settings surfaced
5137         in the Settings app.
5138         <p>This allows the calling application to write settings values
5139         through the host application, agnostic of underlying storage.
5140         <p>Protection Level: signature|privileged|appop -->
5141    <permission android:name="android.permission.WRITE_SYSTEM_PREFERENCES"
5142        android:protectionLevel="signature|privileged|appop"
5143        android:featureFlag="com.android.settingslib.flags.write_system_preference_permission_enabled" />
5144
5145    <!-- ========================================= -->
5146    <!-- Permissions for special development tools -->
5147    <!-- ========================================= -->
5148    <eat-comment />
5149
5150    <!-- Allows an application to read or write the secure system settings.
5151    <p>Not for use by third-party applications. -->
5152    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
5153        android:protectionLevel="signature|privileged|development|role|installer" />
5154
5155    <!-- Allows an application to retrieve state dump information from system services.
5156    <p>Not for use by third-party applications. -->
5157    <permission android:name="android.permission.DUMP"
5158        android:protectionLevel="signature|privileged|development" />
5159
5160    <!-- Allows an application to start tracing for InputMethod and WindowManager.
5161    <p>Not for use by third-party applications.
5162    @hide -->
5163    <permission android:name="android.permission.CONTROL_UI_TRACING"
5164        android:protectionLevel="signature|privileged|development" />
5165
5166    <!-- Allows an application to read the low-level system log files.
5167    <p>Not for use by third-party applications, because
5168    Log entries can contain the user's private information. -->
5169    <permission android:name="android.permission.READ_LOGS"
5170        android:protectionLevel="signature|privileged|development" />
5171
5172    <!-- Configure an application for debugging.
5173    <p>Not for use by third-party applications. -->
5174    <permission android:name="android.permission.SET_DEBUG_APP"
5175        android:protectionLevel="signature|privileged|development" />
5176
5177    <!-- Allows an application to access the data in Dropbox.
5178    <p>Not for use by third-party applications.
5179    @FlaggedApi("com.android.server.feature.flags.enable_read_dropbox_permission") -->
5180    <permission android:name="android.permission.READ_DROPBOX_DATA"
5181        android:protectionLevel="signature|privileged|development" />
5182
5183    <!-- Allows an application to set the maximum number of (not needed)
5184         application processes that can be running.
5185         <p>Not for use by third-party applications. -->
5186    <permission android:name="android.permission.SET_PROCESS_LIMIT"
5187        android:protectionLevel="signature|privileged|development" />
5188
5189    <!-- Allows an application to control whether activities are immediately
5190         finished when put in the background.
5191         <p>Not for use by third-party applications. -->
5192    <permission android:name="android.permission.SET_ALWAYS_FINISH"
5193        android:protectionLevel="signature|privileged|development" />
5194
5195    <!-- Allow an application to request that a signal be sent to all persistent processes.
5196    <p>Not for use by third-party applications. -->
5197    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
5198        android:protectionLevel="signature|privileged|development" />
5199
5200    <!-- @hide @SystemApi Must be required by a
5201         {@link com.android.service.tracing.TraceReportService}, to ensure that only the system
5202         can bind to it.
5203        <p>Not for use by third-party applications. -->
5204    <permission android:name="android.permission.BIND_TRACE_REPORT_SERVICE"
5205                android:protectionLevel="signature" />
5206
5207    <!-- @hide @SystemApi @TestApi
5208         Allow an application to approve incident and bug reports to be
5209         shared off-device.  There can be only one application installed on the
5210         device with this permission, and since this is a privileged permission, it
5211         must be in priv-app.
5212        <p>Not for use by third-party applications. -->
5213    <permission android:name="android.permission.APPROVE_INCIDENT_REPORTS"
5214        android:protectionLevel="signature|incidentReportApprover" />
5215
5216    <!-- @hide Allow an application to approve an incident or bug report approval from
5217        the system. -->
5218    <permission android:name="android.permission.REQUEST_INCIDENT_REPORT_APPROVAL"
5219        android:protectionLevel="signature|privileged" />
5220
5221    <!-- ==================================== -->
5222    <!-- Private permissions                  -->
5223    <!-- ==================================== -->
5224    <eat-comment />
5225
5226    <!-- Allows access to the list of accounts in the Accounts Service.
5227         <p>Protection level: signature|privileged -->
5228    <permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"
5229        android:protectionLevel="signature|privileged" />
5230
5231    <!-- Allows but does not guarantee access to user passwords at the conclusion of add account
5232    @hide -->
5233    <permission android:name="android.permission.GET_PASSWORD"
5234        android:protectionLevel="signature" />
5235
5236    <!-- Allows applications to RW to diagnostic resources.
5237    <p>Not for use by third-party applications. -->
5238    <permission android:name="android.permission.DIAGNOSTIC"
5239        android:protectionLevel="signature" />
5240
5241    <!-- Allows an application to open, close, or disable the status bar
5242         and its icons.
5243         <p>Not for use by third-party applications. -->
5244    <permission android:name="android.permission.STATUS_BAR"
5245        android:protectionLevel="signature|privileged|recents" />
5246
5247    <!-- Allows an application to trigger bugreport via shell using the bugreport API.
5248        <p>Not for use by third-party applications.
5249        @hide
5250    -->
5251    <permission android:name="android.permission.TRIGGER_SHELL_BUGREPORT"
5252        android:protectionLevel="signature" />
5253
5254    <!-- Allows an application to trigger profcollect report upload via shell.
5255        <p>Not for use by third-party applications.
5256        @hide
5257    -->
5258    <permission android:name="android.permission.TRIGGER_SHELL_PROFCOLLECT_UPLOAD"
5259        android:protectionLevel="signature" />
5260
5261    <!-- Allows an application to be the status bar.  Currently used only by SystemUI.apk
5262        @hide
5263        @SystemApi -->
5264    <permission android:name="android.permission.STATUS_BAR_SERVICE"
5265        android:protectionLevel="signature|recents" />
5266
5267    <!-- Allows an application to bind to third party quick settings tiles.
5268         <p>Should only be requested by the System, should be required by
5269         TileService declarations.-->
5270    <permission android:name="android.permission.BIND_QUICK_SETTINGS_TILE"
5271        android:protectionLevel="signature|recents" />
5272
5273    <!-- Allows SystemUI to request third party controls.
5274         <p>Should only be requested by the System and required by
5275         {@link android.service.controls.ControlsProviderService} declarations.
5276    -->
5277    <permission android:name="android.permission.BIND_CONTROLS"
5278        android:protectionLevel="signature" />
5279
5280    <!-- @SystemApi Allows an application to force a BACK operation on whatever is the
5281         top activity.
5282         <p>Not for use by third-party applications.
5283         @hide
5284    -->
5285    <permission android:name="android.permission.FORCE_BACK"
5286        android:protectionLevel="signature" />
5287
5288    <!-- Allows an application to update device statistics.
5289    <p>Not for use by third-party applications. -->
5290    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
5291        android:protectionLevel="signature|privileged|role" />
5292
5293    <!-- @SystemApi @hide Allows an application to collect application operation statistics.
5294         Not for use by third party apps. -->
5295    <permission android:name="android.permission.GET_APP_OPS_STATS"
5296        android:protectionLevel="signature|privileged|development" />
5297
5298    <!-- @SystemApi @hide Allows an application to collect historical application operation
5299         statistics.
5300         <p>Not for use by third party applications.
5301    -->
5302    <permission android:name="android.permission.GET_HISTORICAL_APP_OPS_STATS"
5303        android:protectionLevel="internal|role" />
5304
5305    <!-- @SystemApi Allows an application to update application operation statistics. Not for
5306         use by third party apps.
5307         @hide -->
5308    <permission android:name="android.permission.UPDATE_APP_OPS_STATS"
5309        android:protectionLevel="signature|privileged|installer|role" />
5310
5311    <!-- @SystemApi Allows an application to update the user app op restrictions.
5312         Not for use by third party apps.
5313         @hide -->
5314    <permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS"
5315        android:protectionLevel="signature|installer" />
5316
5317    <!-- @TestApi Allows an application to update the user app op modes.
5318         Not for use by third party apps.
5319         @hide -->
5320    <permission android:name="android.permission.MANAGE_APP_OPS_MODES"
5321        android:protectionLevel="signature|installer|verifier|role" />
5322
5323    <!-- @SystemApi Allows an application to open windows that are for use by parts
5324         of the system user interface.
5325         <p>Not for use by third-party applications.
5326         @hide
5327    -->
5328    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
5329        android:protectionLevel="signature|module|recents" />
5330
5331    <!-- Allows an application to avoid all toast rate limiting restrictions.
5332         <p>Not for use by third-party applications.
5333         @hide
5334    -->
5335    <permission android:name="android.permission.UNLIMITED_TOASTS"
5336                android:protectionLevel="signature" />
5337    <uses-permission android:name="android.permission.UNLIMITED_TOASTS" />
5338
5339    <!-- @SystemApi Allows an application to use
5340         {@link android.view.WindowManager.LayoutsParams#SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS}
5341         to hide non-system-overlay windows.
5342         <p>Not for use by third-party applications.
5343         @deprecated Use {@link android.Manifest.permission#HIDE_OVERLAY_WINDOWS} instead
5344         @hide
5345    -->
5346    <permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"
5347                android:protectionLevel="signature|preinstalled" />
5348
5349    <!-- @SystemApi Allows an application to manage (create, destroy,
5350         Z-order) application tokens in the window manager.
5351         <p>Not for use by third-party applications.
5352         @hide
5353    -->
5354    <permission android:name="android.permission.MANAGE_APP_TOKENS"
5355        android:protectionLevel="signature" />
5356
5357    <!-- Allows System UI to register listeners for events from Window Manager.
5358         @hide -->
5359    <permission android:name="android.permission.REGISTER_WINDOW_MANAGER_LISTENERS"
5360        android:protectionLevel="signature" />
5361
5362    <!-- @hide Allows the application to temporarily freeze the screen for a
5363         full-screen transition. -->
5364    <permission android:name="android.permission.FREEZE_SCREEN"
5365        android:protectionLevel="signature" />
5366
5367    <!-- @SystemApi Allows an application to inject user events (keys, touch, trackball)
5368         into the event stream and deliver them to ANY window.  Without this
5369         permission, you can only deliver events to windows in your own process.
5370         <p>Not for use by third-party applications.
5371         @hide
5372    -->
5373    <permission android:name="android.permission.INJECT_EVENTS"
5374        android:protectionLevel="signature" />
5375
5376    <!-- @hide Allows an application to register an input filter which filters the stream
5377         of user events (keys, touch, trackball) before they are dispatched to any window. -->
5378    <permission android:name="android.permission.FILTER_EVENTS"
5379        android:protectionLevel="signature" />
5380
5381    <!-- @hide Allows an application to retrieve the window token from the accessibility manager. -->
5382    <permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN"
5383        android:protectionLevel="signature" />
5384
5385    <!-- @hide Allows an application to modify accessibility information from another app. -->
5386    <permission android:name="android.permission.MODIFY_ACCESSIBILITY_DATA"
5387                android:protectionLevel="signature" />
5388
5389    <!-- @hide Allows an application to perform accessibility operations (e.g. send events) on
5390         behalf of another package. -->
5391    <permission android:name="android.permission.ACT_AS_PACKAGE_FOR_ACCESSIBILITY"
5392                android:protectionLevel="signature" />
5393
5394    <!-- @hide Allows an application to change the accessibility volume. -->
5395    <permission android:name="android.permission.CHANGE_ACCESSIBILITY_VOLUME"
5396                android:protectionLevel="signature" />
5397
5398    <!-- @FlaggedApi("com.android.server.accessibility.motion_event_observing")
5399    @hide
5400    @TestApi
5401    Allows an accessibility service to observe motion events without consuming them. -->
5402    <permission android:name="android.permission.ACCESSIBILITY_MOTION_EVENT_OBSERVING"
5403                android:protectionLevel="signature" />
5404
5405    <!-- @hide Allows an application to collect frame statistics -->
5406    <permission android:name="android.permission.FRAME_STATS"
5407         android:protectionLevel="signature" />
5408
5409    <!-- @hide Allows an application to temporary enable accessibility on the device. -->
5410    <permission android:name="android.permission.TEMPORARY_ENABLE_ACCESSIBILITY"
5411        android:protectionLevel="signature" />
5412
5413    <!-- @SystemApi Allows an application to launch detail settings activity of a particular
5414         accessibility service.
5415         <p>Not for use by third-party applications.
5416         @hide -->
5417    <permission android:name="android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS"
5418        android:protectionLevel="signature|installer" />
5419
5420    <!-- @SystemApi Allows an application to watch and control how activities are
5421         started globally in the system.  Only for is in debugging
5422         (usually the monkey command).
5423         <p>Not for use by third-party applications.
5424         @hide
5425    -->
5426    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
5427        android:protectionLevel="signature" />
5428
5429    <!-- @SystemApi Allows an application to call the activity manager shutdown() API
5430         to put the higher-level system there into a shutdown state.
5431         @hide -->
5432    <permission android:name="android.permission.SHUTDOWN"
5433        android:protectionLevel="signature|privileged|role" />
5434
5435    <!-- @SystemApi Allows an application to tell the activity manager to temporarily
5436         stop application switches, putting it into a special mode that
5437         prevents applications from immediately switching away from some
5438         critical UI such as the home screen.
5439         @hide -->
5440    <permission android:name="android.permission.STOP_APP_SWITCHES"
5441        android:protectionLevel="signature|privileged|recents" />
5442
5443    <!-- @SystemApi Allows an application to retrieve private information about
5444         the current top activity, such as any assist context it can provide.
5445         <p>Not for use by third-party applications.
5446         @hide
5447    -->
5448    <permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"
5449        android:protectionLevel="signature|recents" />
5450
5451    <!-- @SystemApi Allows an application to set the system audio caption and its UI
5452     enabled state.
5453     <p>Not for use by third-party applications.
5454     @hide -->
5455    <permission android:name="android.permission.SET_SYSTEM_AUDIO_CAPTION"
5456                android:protectionLevel="signature|role" />
5457
5458    <!-- Allows an application to retrieve the current state of keys and
5459         switches.
5460         <p>Not for use by third-party applications.
5461         @deprecated The API that used this permission has been removed. -->
5462    <permission android:name="android.permission.READ_INPUT_STATE"
5463        android:protectionLevel="signature" />
5464
5465    <!-- Must be required by an {@link android.inputmethodservice.InputMethodService},
5466         to ensure that only the system can bind to it.
5467         <p>Protection level: signature
5468    -->
5469    <permission android:name="android.permission.BIND_INPUT_METHOD"
5470        android:protectionLevel="signature" />
5471
5472    <!-- Allows access to Test APIs defined in {@link android.view.inputmethod.InputMethodManager}.
5473         @hide
5474         @TestApi -->
5475    <permission android:name="android.permission.TEST_INPUT_METHOD"
5476        android:protectionLevel="signature" />
5477
5478    <!-- Must be required by an {@link android.media.midi.MidiDeviceService},
5479         to ensure that only the system can bind to it.
5480         <p>Protection level: signature
5481    -->
5482    <permission android:name="android.permission.BIND_MIDI_DEVICE_SERVICE"
5483        android:protectionLevel="signature" />
5484
5485    <!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
5486         to ensure that only the system can bind to it.
5487         <p>Protection level: signature
5488    -->
5489    <permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
5490        android:protectionLevel="signature" />
5491
5492    <!-- Must be required by a {@link android.printservice.PrintService},
5493         to ensure that only the system can bind to it.
5494         <p>Protection level: signature
5495    -->
5496    <permission android:name="android.permission.BIND_PRINT_SERVICE"
5497        android:protectionLevel="signature" />
5498
5499    <!-- Must be required by a {@link android.printservice.recommendation.RecommendationService},
5500     to ensure that only the system can bind to it.
5501     @hide
5502     @SystemApi
5503     <p>Protection level: signature
5504    -->
5505    <permission android:name="android.permission.BIND_PRINT_RECOMMENDATION_SERVICE"
5506            android:protectionLevel="signature" />
5507
5508    <!-- Allows applications to get the installed and enabled print services.
5509         @hide
5510         @SystemApi
5511         <p>Protection level: signature|preinstalled
5512    -->
5513    <permission android:name="android.permission.READ_PRINT_SERVICES"
5514        android:protectionLevel="signature|preinstalled" />
5515
5516    <!-- Allows applications to get the currently recommended print services for printers.
5517         @hide
5518         @SystemApi
5519         <p>Protection level: signature|preinstalled
5520    -->
5521    <permission android:name="android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS"
5522        android:protectionLevel="signature|preinstalled" />
5523
5524    <!-- Must be required by a {@link android.nfc.cardemulation.HostApduService}
5525         or {@link android.nfc.cardemulation.OffHostApduService} to ensure that only
5526         the system can bind to it.
5527         <p>Protection level: signature
5528    -->
5529    <permission android:name="android.permission.BIND_NFC_SERVICE"
5530        android:protectionLevel="signature|module" />
5531
5532    <!-- Must be required by a {@link android.service.quickaccesswallet.QuickAccessWalletService}
5533         to ensure that only the system can bind to it.
5534         <p>Protection level: signature
5535    -->
5536    <permission android:name="android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE"
5537                android:protectionLevel="signature" />
5538
5539    <!-- Must be required by the PrintSpooler to ensure that only the system can bind to it.
5540         @hide -->
5541    <permission android:name="android.permission.BIND_PRINT_SPOOLER_SERVICE"
5542        android:protectionLevel="signature" />
5543
5544    <!-- Must be required by the CompanionDeviceManager to ensure that only the system can bind to it.
5545         @hide -->
5546    <permission android:name="android.permission.BIND_COMPANION_DEVICE_MANAGER_SERVICE"
5547        android:protectionLevel="signature" />
5548
5549    <!-- Must be required by any
5550         {@link android.companion.CompanionDeviceService}s
5551         to ensure that only the system can bind to it. -->
5552    <permission android:name="android.permission.BIND_COMPANION_DEVICE_SERVICE"
5553                android:protectionLevel="signature" />
5554
5555    <!-- @SystemApi Must be required by the RuntimePermissionPresenterService to ensure
5556         that only the system can bind to it.
5557         @hide -->
5558    <permission android:name="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE"
5559        android:protectionLevel="signature" />
5560
5561    <!-- Must be required by a TextService (e.g. SpellCheckerService)
5562         to ensure that only the system can bind to it.
5563         <p>Protection level: signature
5564    -->
5565    <permission android:name="android.permission.BIND_TEXT_SERVICE"
5566        android:protectionLevel="signature" />
5567
5568    <!-- @SystemApi Must be required by a AttentionService
5569         to ensure that only the system can bind to it.
5570         <p>Protection level: signature
5571         @hide
5572    -->
5573    <permission android:name="android.permission.BIND_ATTENTION_SERVICE"
5574                android:protectionLevel="signature" />
5575    <uses-permission android:name="android.permission.BIND_ATTENTION_SERVICE" />
5576
5577    <!-- @SystemApi Must be required by a RotationResolverService
5578         to ensure that only the system can bind to it.
5579         <p>Protection level: signature
5580         @hide
5581    -->
5582    <permission android:name="android.permission.BIND_ROTATION_RESOLVER_SERVICE"
5583        android:protectionLevel="signature" />
5584    <uses-permission android:name="android.permission.BIND_ROTATION_RESOLVER_SERVICE" />
5585
5586    <!-- Must be required by a {@link android.net.VpnService},
5587         to ensure that only the system can bind to it.
5588         <p>Protection level: signature
5589    -->
5590    <permission android:name="android.permission.BIND_VPN_SERVICE"
5591        android:protectionLevel="signature" />
5592
5593    <!-- Must be required by a {@link android.service.wallpaper.WallpaperService},
5594         to ensure that only the system can bind to it.
5595         <p>Protection level: signature|privileged
5596    -->
5597    <permission android:name="android.permission.BIND_WALLPAPER"
5598        android:protectionLevel="signature|privileged" />
5599
5600
5601    <!-- Must be required by a game service to ensure that only the
5602         system can bind to it.
5603         <p>Protection level: signature
5604         @hide
5605    -->
5606    <permission android:name="android.permission.BIND_GAME_SERVICE"
5607                android:protectionLevel="signature" />
5608
5609    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService},
5610         to ensure that only the system can bind to it.
5611         <p>Protection level: signature
5612    -->
5613    <permission android:name="android.permission.BIND_VOICE_INTERACTION"
5614        android:protectionLevel="signature" />
5615
5616    <!-- @SystemApi Must be required by a {@link android.service.voice.HotwordDetectionService},
5617         to ensure that only the system can bind to it.
5618         <p>Protection level: signature
5619         @hide This is not a third-party API (intended for OEMs and system apps).
5620    -->
5621    <permission android:name="android.permission.BIND_HOTWORD_DETECTION_SERVICE"
5622        android:protectionLevel="signature" />
5623
5624    <!-- @SystemApi Allows an application to manage hotword detection and visual query detection
5625         on the device.
5626         <p>Protection level: internal|preinstalled
5627         @hide This is not a third-party API (intended for OEMs and system apps).
5628    -->
5629    <permission android:name="android.permission.MANAGE_HOTWORD_DETECTION"
5630                android:protectionLevel="internal|preinstalled" />
5631
5632    <!-- @SystemApi Must be required by a {@link android.service.voice.VisualQueryDetectionService},
5633         to ensure that only the system can bind to it.
5634         <p>Protection level: signature
5635         @hide This is not a third-party API (intended for OEMs and system apps).
5636    -->
5637    <permission android:name="android.permission.BIND_VISUAL_QUERY_DETECTION_SERVICE"
5638        android:protectionLevel="signature" />
5639
5640    <!-- Allows an application to subscribe to device locked and keyguard locked (i.e., showing)
5641        state.
5642         <p>Protection level: signature|role
5643         <p>Intended for use by ROLE_ASSISTANT and signature apps only.
5644    -->
5645    <permission android:name="android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE"
5646                android:protectionLevel="signature|module|role"/>
5647
5648    <!-- Must be required by a {@link android.service.autofill.AutofillService},
5649         to ensure that only the system can bind to it.
5650         <p>Protection level: signature
5651    -->
5652    <permission android:name="android.permission.BIND_AUTOFILL_SERVICE"
5653        android:protectionLevel="signature" />
5654
5655    <!-- Must be required by a
5656         {@link android.service.assist.classification.FieldClassificationService},
5657         to ensure that only the system can bind to it.
5658         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5659         <p>Protection level: signature
5660    -->
5661    <permission android:name="android.permission.BIND_FIELD_CLASSIFICATION_SERVICE"
5662                android:protectionLevel="signature" />
5663
5664    <!-- Must be required by a CredentialProviderService to ensure that only the
5665         system can bind to it.
5666         <p>Protection level: signature
5667    -->
5668    <permission android:name="android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE"
5669                android:protectionLevel="signature" />
5670
5671   <!-- Alternative version of android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE.
5672        This permission was renamed during the O previews but it was supported on the final O
5673        release, so we need to carry it over.
5674        <p>Protection level: signature
5675        @hide
5676    -->
5677    <permission android:name="android.permission.BIND_AUTOFILL"
5678        android:protectionLevel="signature" />
5679
5680    <!-- Must be required by an {@link android.service.autofill.AutofillFieldClassificationService}
5681         to ensure that only the system can bind to it.
5682         @hide This is not a third-party API (intended for OEMs and system apps).
5683    -->
5684    <permission android:name="android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE"
5685                android:protectionLevel="signature" />
5686
5687    <!-- Must be required by an {@link android.service.autofill.InlineSuggestionRenderService}
5688         to ensure that only the system can bind to it.
5689         @hide This is not a third-party API (intended for OEMs and system apps).
5690    -->
5691    <permission android:name="android.permission.BIND_INLINE_SUGGESTION_RENDER_SERVICE"
5692                android:protectionLevel="signature" />
5693
5694    <!-- Must be required by a android.service.textclassifier.TextClassifierService,
5695         to ensure that only the system can bind to it.
5696         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5697         <p>Protection level: signature
5698    -->
5699    <permission android:name="android.permission.BIND_TEXTCLASSIFIER_SERVICE"
5700                android:protectionLevel="signature" />
5701
5702    <!-- Must be required by a
5703         {@link android.service.remotelockscreenvalidation.RemoteLockscreenValidationService}
5704         to ensure that only the system can bind to it.
5705         @SystemApi @hide This is not a third-party API
5706         <p>Protection level: signature
5707    -->
5708    <permission android:name="android.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE"
5709        android:protectionLevel="signature" />
5710
5711    <!-- Must be required by a android.service.selectiontoolbar.SelectionToolbarRenderService,
5712          to ensure that only the system can bind to it.
5713          @hide This is not a third-party API (intended for OEMs and system apps).
5714          <p>Protection level: signature
5715    -->
5716    <permission android:name="android.permission.BIND_SELECTION_TOOLBAR_RENDER_SERVICE"
5717                android:protectionLevel="signature" />
5718
5719    <!-- Must be required by a android.service.contentcapture.ContentCaptureService,
5720         to ensure that only the system can bind to it.
5721         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5722         <p>Protection level: signature
5723    -->
5724    <permission android:name="android.permission.BIND_CONTENT_CAPTURE_SERVICE"
5725                android:protectionLevel="signature" />
5726
5727    <!-- Must be required by a android.service.translation.TranslationService,
5728         to ensure that only the system can bind to it.
5729         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5730         <p>Protection level: signature
5731     -->
5732    <permission android:name="android.permission.BIND_TRANSLATION_SERVICE"
5733                android:protectionLevel="signature" />
5734
5735    <!-- @SystemApi Allows apps to use ui translation functions.
5736         <p>Protection level: signature|privileged
5737         @hide Not for use by third-party applications.
5738    -->
5739    <permission android:name="android.permission.MANAGE_UI_TRANSLATION"
5740                android:protectionLevel="signature|privileged|role" />
5741
5742    <!-- Must be required by a android.service.contentsuggestions.ContentSuggestionsService,
5743         to ensure that only the system can bind to it.
5744         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5745         <p>Protection level: signature
5746    -->
5747    <permission android:name="android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE"
5748                android:protectionLevel="signature" />
5749
5750    <!-- Must be required by a
5751         android.service.wallpapereffectsgeneration.WallpaperEffectsGenerationService,
5752         to ensure that only the system can bind to it.
5753         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5754         <p>Protection level: signature
5755   -->
5756    <permission android:name="android.permission.BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE"
5757        android:protectionLevel="signature" />
5758
5759
5760    <!-- Must be declared by a android.service.musicrecognition.MusicRecognitionService,
5761         to ensure that only the system can bind to it.
5762         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5763         <p>Protection level: signature
5764    -->
5765    <permission android:name="android.permission.BIND_MUSIC_RECOGNITION_SERVICE"
5766        android:protectionLevel="signature" />
5767
5768    <!-- Must be required by a android.service.autofill.augmented.AugmentedAutofillService,
5769         to ensure that only the system can bind to it.
5770         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5771         <p>Protection level: signature
5772    -->
5773    <permission android:name="android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE"
5774                android:protectionLevel="signature" />
5775
5776    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService} implementation
5777         to enroll its own sound models. This is a more restrictive permission than the higher-level
5778         permission KEYPHRASE_ENROLLMENT_APPLICATION. For the caller to enroll sound models with
5779         this permission, it must hold the permission and be the active VoiceInteractionService in
5780         the system.
5781         {@see Settings.Secure.VOICE_INTERACTION_SERVICE}
5782         @hide @SystemApi Intended for OEM and system apps.
5783         <p>Protection level: signature|privileged
5784    -->
5785    <permission android:name="android.permission.MANAGE_VOICE_KEYPHRASES"
5786        android:protectionLevel="signature|privileged" />
5787
5788    <!-- Must be required by a keyphrase enrollment application, to enroll sound models. This is
5789         treated as a higher-level permission to MANAGE_VOICE_KEYPHRASES as a caller can enroll
5790         sound models at any time. This permission should be reserved for system enrollment
5791         applications detected by {@link android.hardware.soundtrigger.KeyphraseEnrollmentInfo}
5792         only.
5793         @hide @SystemApi Intended for OEM and system apps.
5794         <p>Protection level: signature|privileged
5795    -->
5796    <permission android:name="android.permission.KEYPHRASE_ENROLLMENT_APPLICATION"
5797        android:protectionLevel="signature|privileged" />
5798
5799    <!-- Must be required by a {@link com.android.media.remotedisplay.RemoteDisplayProvider},
5800         to ensure that only the system can bind to it.
5801         @hide -->
5802    <permission android:name="android.permission.BIND_REMOTE_DISPLAY"
5803        android:protectionLevel="signature" />
5804
5805    <!-- Must be required by a android.media.tv.ad.TvAdService to ensure that only the system can
5806         bind to it.
5807         <p>Protection level: signature|privileged
5808         @FlaggedApi("android.media.tv.flags.enable_ad_service_fw")
5809    -->
5810    <permission android:name="android.permission.BIND_TV_AD_SERVICE"
5811                android:protectionLevel="signature|privileged" />
5812
5813    <!-- Must be required by a {@link android.media.tv.TvInputService}
5814         to ensure that only the system can bind to it.
5815         <p>Protection level: signature|privileged
5816    -->
5817    <permission android:name="android.permission.BIND_TV_INPUT"
5818        android:protectionLevel="signature|privileged" />
5819
5820    <!-- This permission is required among systems services to always keep the
5821         binding with TvInputManagerService.
5822         <p>This should only be used by the OEM TvInputService.
5823         @FlaggedApi("android.media.tv.flags.tif_unbind_inactive_tis")
5824         <p>Protection level: signature|privileged|vendorPrivileged
5825         @hide
5826    -->
5827    <permission android:name="android.permission.ALWAYS_BOUND_TV_INPUT"
5828        android:protectionLevel="signature|privileged|vendorPrivileged"
5829        android:featureFlag="android.media.tv.flags.tif_unbind_inactive_tis"/>
5830
5831    <!-- Must be required by a {@link android.media.tv.interactive.TvInteractiveAppService}
5832         to ensure that only the system can bind to it.
5833         <p>Protection level: signature|privileged
5834    -->
5835    <permission android:name="android.permission.BIND_TV_INTERACTIVE_APP"
5836                android:protectionLevel="signature|privileged" />
5837
5838    <!-- @SystemApi
5839         Must be required by a {@link com.android.media.tv.remoteprovider.TvRemoteProvider}
5840         to ensure that only the system can bind to it.
5841         <p>Protection level: signature|privileged
5842         <p>Not for use by third-party applications. </p>
5843         @hide  -->
5844    <permission android:name="android.permission.BIND_TV_REMOTE_SERVICE"
5845        android:protectionLevel="signature|privileged" />
5846
5847    <!-- @SystemApi
5848         Must be required for a virtual remote controller for TV.
5849         <p>Protection level: signature|privileged
5850         <p>Not for use by third-party applications. </p>
5851         @hide  -->
5852    <permission android:name="android.permission.TV_VIRTUAL_REMOTE_CONTROLLER"
5853        android:protectionLevel="signature|privileged" />
5854
5855    <!-- Allows an application to change HDMI CEC active source.
5856         <p>Not for use by third-party applications.
5857         @hide -->
5858    <permission android:name="android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE"
5859        android:protectionLevel="signature|privileged" />
5860
5861    <!-- @SystemApi Allows an application to modify parental controls
5862         <p>Not for use by third-party applications.
5863         @hide -->
5864    <permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS"
5865        android:protectionLevel="signature|privileged" />
5866
5867    <!-- @SystemApi Allows an application to read TvContentRatingSystemInfo
5868         <p>Not for use by third-party applications.
5869         @hide -->
5870    <permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS"
5871        android:protectionLevel="signature|privileged" />
5872
5873    <!-- Allows an application to notify TV inputs by sending broadcasts.
5874         <p>Protection level: signature|privileged
5875         <p>Not for use by third-party applications.
5876         @hide @SystemApi -->
5877    <permission android:name="android.permission.NOTIFY_TV_INPUTS"
5878         android:protectionLevel="signature|privileged" />
5879
5880    <!-- This permission is required among systems services when accessing
5881         tuner resource management related APIs or information.
5882         <p>Protection level: signature|privileged|vendorPrivileged
5883         <p>This should only be used by the OEM TvInputService.
5884         @hide -->
5885    <permission android:name="android.permission.TUNER_RESOURCE_ACCESS"
5886         android:protectionLevel="signature|privileged|vendorPrivileged" />
5887
5888    <!-- @SystemApi This permission is required by Media Resource Manager Service when
5889         system services create MediaCodecs on behalf of other processes and apps.
5890         <p>Protection level: signature|privileged|vendorPrivileged
5891         <p>Not for use by third-party applications.
5892         @hide -->
5893    <permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID"
5894         android:protectionLevel="signature|privileged|vendorPrivileged" />
5895    <uses-permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID" />
5896
5897    <!-- This permission is required by Media Resource Observer Service when
5898         accessing its registerObserver Api.
5899         <p>Protection level: signature|privileged
5900         <p>Not for use by third-party applications.
5901         @hide -->
5902    <permission android:name="android.permission.REGISTER_MEDIA_RESOURCE_OBSERVER"
5903         android:protectionLevel="signature|privileged" />
5904
5905    <!-- Must be required by a {@link android.media.routing.MediaRouteService}
5906         to ensure that only the system can interact with it.
5907         @hide -->
5908    <permission android:name="android.permission.BIND_ROUTE_PROVIDER"
5909        android:protectionLevel="signature" />
5910
5911    <!-- Must be required by device administration receiver, to ensure that only the
5912         system can interact with it.
5913         <p>Protection level: signature
5914    -->
5915    <permission android:name="android.permission.BIND_DEVICE_ADMIN"
5916        android:protectionLevel="signature|role" />
5917
5918    <!-- @SystemApi Required to add or remove another application as a device admin.
5919         <p>Not for use by third-party applications.
5920         @hide -->
5921    <permission android:name="android.permission.MANAGE_DEVICE_ADMINS"
5922        android:protectionLevel="signature|role" />
5923
5924    <!-- @SystemApi Allows an app to reset the device password.
5925         <p>Not for use by third-party applications.
5926         @hide -->
5927    <permission android:name="android.permission.RESET_PASSWORD"
5928        android:protectionLevel="signature|privileged" />
5929
5930    <!-- @SystemApi Allows an app to lock the device.
5931         <p>Not for use by third-party applications.
5932         @hide -->
5933    <permission android:name="android.permission.LOCK_DEVICE"
5934        android:protectionLevel="signature|privileged" />
5935
5936    <!-- @SystemApi Allows low-level access to setting the orientation (actually
5937         rotation) of the screen.
5938         <p>Not for use by third-party applications.
5939         @hide
5940    -->
5941    <permission android:name="android.permission.SET_ORIENTATION"
5942        android:protectionLevel="signature|recents" />
5943
5944    <!-- @SystemApi Allows low-level access to setting the pointer speed.
5945         <p>Not for use by third-party applications.
5946         @hide
5947    -->
5948    <permission android:name="android.permission.SET_POINTER_SPEED"
5949        android:protectionLevel="signature" />
5950
5951    <!-- Allows low-level access to setting input device calibration.
5952         <p>Not for use by normal applications.
5953         @hide -->
5954    <permission android:name="android.permission.SET_INPUT_CALIBRATION"
5955        android:protectionLevel="signature" />
5956
5957    <!-- Allows low-level access to setting the keyboard layout.
5958         <p>Not for use by third-party applications.
5959         @hide
5960         @TestApi -->
5961    <permission android:name="android.permission.SET_KEYBOARD_LAYOUT"
5962        android:protectionLevel="signature" />
5963
5964    <!-- Allows an app to schedule a prioritized alarm that can be used to perform
5965         background work even when the device is in doze.
5966         <p>Not for use by third-party applications.
5967         @hide
5968         @SystemApi
5969     -->
5970    <permission android:name="android.permission.SCHEDULE_PRIORITIZED_ALARM"
5971                android:protectionLevel="signature|privileged"/>
5972
5973    <!-- Allows applications to use exact alarm APIs.
5974         <p>This is a special access permission that can be revoked by the system or the user.
5975         It should only be used to enable <b>user-facing features</b> that require exact alarms.
5976         For more details, please go through the associated
5977          <a href="{@docRoot}training/scheduling/alarms#exact">developer docs</a>.
5978         <p>Apps need to target API {@link android.os.Build.VERSION_CODES#S} or above to be able to
5979         request this permission. Note that apps targeting lower API levels do not need this
5980         permission to use exact alarm APIs.
5981         <p>Apps that hold this permission and target API
5982         {@link android.os.Build.VERSION_CODES#TIRAMISU} and below always stay in the
5983         {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_WORKING_SET WORKING_SET} or
5984         lower standby bucket.
5985         <p>If your app relies on exact alarms for core functionality, it can instead request
5986         {@link android.Manifest.permission#USE_EXACT_ALARM} once it targets API
5987         {@link android.os.Build.VERSION_CODES#TIRAMISU}. All apps using exact alarms for secondary
5988         features (which should still be user facing) should continue using this permission.
5989         <p>Protection level: signature|privileged|appop
5990     -->
5991    <permission android:name="android.permission.SCHEDULE_EXACT_ALARM"
5992        android:label="@string/permlab_schedule_exact_alarm"
5993        android:description="@string/permdesc_schedule_exact_alarm"
5994        android:protectionLevel="signature|privileged|appop"/>
5995
5996    <!-- Allows apps to use exact alarms just like with {@link
5997         android.Manifest.permission#SCHEDULE_EXACT_ALARM} but without needing to request this
5998         permission from the user.
5999         <p><b> This is only intended for use by apps that rely on exact alarms for their core
6000         functionality.</b> You should continue using {@code SCHEDULE_EXACT_ALARM} if your app needs
6001         exact alarms for a secondary feature that users may or may not use within your app.
6002         <p> Keep in mind that this is a powerful permission and app stores may enforce policies to
6003         audit and review the use of this permission. Such audits may involve removal from the app
6004         store if the app is found to be misusing this permission.
6005         <p> Apps need to target API {@link android.os.Build.VERSION_CODES#TIRAMISU} or above to be
6006         able to request this permission. Note that only one of {@code USE_EXACT_ALARM} or
6007         {@code SCHEDULE_EXACT_ALARM} should be requested on a device. If your app is already using
6008         {@code SCHEDULE_EXACT_ALARM} on older SDKs but needs {@code USE_EXACT_ALARM} on SDK 33 and
6009         above, then {@code SCHEDULE_EXACT_ALARM} should be declared with a max-sdk attribute, like:
6010         <pre>
6011         &lt;uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"
6012         &Tab; android:maxSdkVersion="32" /&gt;
6013         </pre>
6014         <p>Apps that hold this permission, always stay in the
6015         {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_WORKING_SET WORKING_SET} or
6016         lower standby bucket.
6017    -->
6018    <permission android:name="android.permission.USE_EXACT_ALARM"
6019                android:label="@string/permlab_use_exact_alarm"
6020                android:description="@string/permdesc_use_exact_alarm"
6021                android:protectionLevel="normal"/>
6022
6023    <!-- Allows an application to query tablet mode state and monitor changes
6024         in it.
6025         <p>Not for use by third-party applications.
6026         @hide -->
6027    <permission android:name="android.permission.TABLET_MODE"
6028        android:protectionLevel="signature" />
6029
6030    <!-- Allows an application to request installing packages. Apps
6031         targeting APIs greater than 25 must hold this permission in
6032         order to use {@link android.content.Intent#ACTION_INSTALL_PACKAGE}.
6033         <p>Protection level: signature
6034    -->
6035    <permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"
6036        android:label="@string/permlab_requestInstallPackages"
6037        android:description="@string/permdesc_requestInstallPackages"
6038        android:protectionLevel="signature|appop" />
6039
6040    <!-- Allows an application to request deleting packages. Apps
6041         targeting APIs {@link android.os.Build.VERSION_CODES#P} or greater must hold this
6042         permission in order to use {@link android.content.Intent#ACTION_UNINSTALL_PACKAGE} or
6043         {@link android.content.pm.PackageInstaller#uninstall}.
6044         <p>Protection level: normal
6045    -->
6046    <permission android:name="android.permission.REQUEST_DELETE_PACKAGES"
6047        android:label="@string/permlab_requestDeletePackages"
6048        android:description="@string/permdesc_requestDeletePackages"
6049        android:protectionLevel="normal" />
6050
6051    <!-- Allows an application to install packages.
6052    <p>Not for use by third-party applications. -->
6053    <permission android:name="android.permission.INSTALL_PACKAGES"
6054      android:protectionLevel="signature|privileged" />
6055
6056    <!-- @SystemApi Allows an application to install self updates. This is a limited version
6057         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
6058        <p>Not for use by third-party applications.
6059        @hide
6060    -->
6061    <permission android:name="android.permission.INSTALL_SELF_UPDATES"
6062        android:protectionLevel="signature|privileged" />
6063
6064    <!-- @SystemApi Allows an application to install updates. This is a limited version
6065         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
6066        <p>Not for use by third-party applications.
6067        @hide
6068    -->
6069    <permission android:name="android.permission.INSTALL_PACKAGE_UPDATES"
6070        android:protectionLevel="signature|privileged" />
6071
6072    <!-- @SystemApi Allows an application to install existing system packages. This is a limited
6073         version of {@link android.Manifest.permission#INSTALL_PACKAGES}.
6074         <p>Not for use by third-party applications.
6075         TODO(b/80204953): remove this permission once we have a long-term solution.
6076         @hide
6077    -->
6078    <permission android:name="com.android.permission.INSTALL_EXISTING_PACKAGES"
6079        android:protectionLevel="signature|privileged|role" />
6080
6081    <!-- Allows an application to use the package installer v2 APIs.
6082         <p>The package installer v2 APIs are still a work in progress and we're
6083         currently validating they work in all scenarios.
6084         <p>Not for use by third-party applications.
6085         @hide
6086    -->
6087    <permission android:name="com.android.permission.USE_INSTALLER_V2"
6088        android:protectionLevel="signature|privileged" />
6089
6090    <!-- @TestApi Allows a testOnly application to get installed.
6091        <p>Not for use by third-party applications.
6092        @hide
6093    -->
6094    <permission android:name="android.permission.INSTALL_TEST_ONLY_PACKAGE"
6095                android:protectionLevel="signature" />
6096
6097    <!-- @SystemApi Allows an application to install DPCs only, an application is
6098         considered a DPC if it has a {@link android.app.admin.DeviceAdminReceiver}
6099         protected by {@link android.Manifest.permission#BIND_DEVICE_ADMIN).
6100         This is a limited version of
6101         {@link android.Manifest.permission#INSTALL_PACKAGES}.
6102         @hide
6103    -->
6104    <permission android:name="android.permission.INSTALL_DPC_PACKAGES"
6105                android:protectionLevel="signature|role" />
6106
6107    <!-- @SystemApi Allows an application to read resolved paths to the APKs (Base and any splits)
6108         of a session based install.
6109         <p>Not for use by third-party applications.
6110         @hide
6111         @FlaggedApi("android.content.pm.get_resolved_apk_path")
6112    -->
6113    <permission android:name="android.permission.READ_INSTALLED_SESSION_PATHS"
6114                android:protectionLevel="signature|installer" />
6115    <uses-permission android:name="android.permission.READ_INSTALLED_SESSION_PATHS" />
6116
6117    <!-- Allows an application to use System Data Loaders.
6118         <p>Not for use by third-party applications.
6119         @hide
6120    -->
6121    <permission android:name="com.android.permission.USE_SYSTEM_DATA_LOADERS"
6122                android:protectionLevel="signature" />
6123
6124    <!-- @SystemApi @TestApi Allows an application to clear user data.
6125         <p>Not for use by third-party applications
6126         @hide
6127    -->
6128    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
6129        android:protectionLevel="signature|installer" />
6130
6131    <!-- @hide Allows an application to get the URI permissions
6132         granted to another application.
6133         <p>Not for use by third-party applications
6134    -->
6135    <permission android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS"
6136        android:protectionLevel="signature" />
6137
6138    <!-- @hide Allows an application to clear the URI permissions
6139         granted to another application.
6140         <p>Not for use by third-party applications
6141    -->
6142    <permission
6143        android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS"
6144        android:protectionLevel="signature" />
6145
6146    <!-- @hide
6147         Allows an application to change the status of Scoped Access Directory requests granted or
6148         rejected by the user.
6149         <p>This permission should <em>only</em> be requested by the platform
6150         settings app.  This permission cannot be granted to third-party apps.
6151         <p>Protection level: signature
6152    -->
6153    <permission
6154         android:name="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS"
6155         android:protectionLevel="signature" />
6156
6157    <!-- @hide
6158         Allows an application to change the status of a persistable URI permission granted
6159         to another application.
6160         <p>This permission should <em>only</em> be requested by the platform
6161         settings app.  This permission cannot be granted to third-party apps.
6162         <p>Protection level: signature
6163    -->
6164    <permission android:name="android.permission.FORCE_PERSISTABLE_URI_PERMISSIONS"
6165        android:protectionLevel="signature" />
6166
6167    <!-- Old permission for deleting an app's cache files, no longer used,
6168         but signals for us to quietly ignore calls instead of throwing an exception.
6169         <p>Protection level: signature|privileged -->
6170    <permission android:name="android.permission.DELETE_CACHE_FILES"
6171        android:protectionLevel="signature|privileged" />
6172
6173    <!-- Allows an application to delete cache files.
6174         @hide -->
6175    <permission android:name="android.permission.INTERNAL_DELETE_CACHE_FILES"
6176        android:protectionLevel="signature" />
6177
6178    <!-- Allows an application to delete packages.
6179         <p>Not for use by third-party applications.
6180         <p>Starting in {@link android.os.Build.VERSION_CODES#N}, user confirmation is requested
6181         when the application deleting the package is not the same application that installed the
6182         package. -->
6183    <permission android:name="android.permission.DELETE_PACKAGES"
6184        android:protectionLevel="signature|privileged|role" />
6185
6186    <!-- @SystemApi Allows an application to move location of installed package.
6187         @hide -->
6188    <permission android:name="android.permission.MOVE_PACKAGE"
6189        android:protectionLevel="signature|privileged" />
6190
6191    <!-- @TestApi Allows an application to keep uninstalled packages as apks.
6192         @hide -->
6193    <permission android:name="android.permission.KEEP_UNINSTALLED_PACKAGES"
6194        android:protectionLevel="signature" />
6195
6196    <!-- Allows an application to change whether an application component (other than its own) is
6197         enabled or not.
6198         <p>Not for use by third-party applications. -->
6199    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
6200        android:protectionLevel="signature|privileged|role" />
6201
6202    <!-- @SystemApi @TestApi iAllows an application to grant specific permissions.
6203         @hide -->
6204    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS"
6205        android:protectionLevel="signature|installer|verifier" />
6206
6207    <!-- @SystemApi Allows an application to launch the settings page which manages various
6208         permissions.
6209         @hide -->
6210    <permission android:name="android.permission.LAUNCH_PERMISSION_SETTINGS"
6211                android:protectionLevel="signature|privileged" />
6212
6213    <!-- @SystemApi Allows an app that has this permission and the permissions to install packages
6214         to request certain runtime permissions to be granted at installation.
6215         @hide -->
6216    <permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS"
6217        android:protectionLevel="signature|installer|verifier" />
6218
6219    <!-- @SystemApi Allows an application to revoke specific permissions.
6220        @hide -->
6221    <permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS"
6222         android:protectionLevel="signature|installer|verifier" />
6223
6224   <!-- @TestApi Allows an application to revoke the POST_NOTIFICATIONS permission from an app
6225        without killing the app. Only granted to the shell.
6226        @hide -->
6227    <permission android:name="android.permission.REVOKE_POST_NOTIFICATIONS_WITHOUT_KILL"
6228        android:protectionLevel="signature" />
6229
6230    <!-- @SystemApi Allows the system to read runtime permission state.
6231        @hide -->
6232    <permission android:name="android.permission.GET_RUNTIME_PERMISSIONS"
6233                android:protectionLevel="signature" />
6234
6235    <!-- @SystemApi Allows the system to restore runtime permission state. This might grant
6236    permissions, hence this is a more scoped, less powerful variant of GRANT_RUNTIME_PERMISSIONS.
6237    Among other restrictions this cannot override user choices.
6238    @hide -->
6239    <permission android:name="android.permission.RESTORE_RUNTIME_PERMISSIONS"
6240                android:protectionLevel="signature" />
6241
6242    <!-- @SystemApi @TestApi Allows an application to change policy_fixed permissions.
6243    @hide -->
6244    <permission android:name="android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY"
6245                android:protectionLevel="signature|installer" />
6246
6247    <!-- @SystemApi @TestApi Allows an application to upgrade runtime permissions.
6248    @hide -->
6249    <permission android:name="android.permission.UPGRADE_RUNTIME_PERMISSIONS"
6250                android:protectionLevel="signature" />
6251
6252    <!-- @SystemApi Allows an application to allowlist restricted permissions
6253         on any of the allowlists.
6254    @hide -->
6255    <permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS"
6256                android:protectionLevel="signature|installer" />
6257
6258    <!-- @SystemApi Allows an application to an exempt an app from having its permission be
6259        auto-revoked when unused for an extended period of time.
6260        @hide -->
6261    <permission android:name="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS"
6262        android:protectionLevel="signature|installer" />
6263
6264    <!-- @hide Allows an application to observe permission changes. -->
6265    <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"
6266        android:protectionLevel="signature|privileged" />
6267
6268    <!-- @SystemApi Allows an application to start and stop one time permission sessions
6269    @hide -->
6270    <permission android:name="android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS"
6271                android:protectionLevel="signature|installer" />
6272
6273    <!-- @SystemApi Allows an application to manage the holders of a role.
6274         @hide -->
6275    <permission android:name="android.permission.MANAGE_ROLE_HOLDERS"
6276                android:protectionLevel="signature|installer|module" />
6277    <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />
6278
6279    <!-- @SystemApi Allows an application to manage the holders of roles associated with default
6280         applications.
6281         @hide -->
6282    <permission android:name="android.permission.MANAGE_DEFAULT_APPLICATIONS"
6283                android:protectionLevel="signature|role" />
6284
6285    <!-- @SystemApi Allows an application to bypass role qualification. This allows switching role
6286         holders to otherwise non eligible holders. Only the shell is allowed to do this, the
6287         qualification for the shell role itself cannot be bypassed, and each role needs to
6288         explicitly allow bypassing qualification in its definition. The bypass state will not be
6289         persisted across reboot.
6290     @hide -->
6291    <permission android:name="android.permission.BYPASS_ROLE_QUALIFICATION"
6292                android:protectionLevel="internal|role" />
6293
6294    <!-- @SystemApi Allows an application to observe role holder changes.
6295         @hide -->
6296    <permission android:name="android.permission.OBSERVE_ROLE_HOLDERS"
6297                android:protectionLevel="signature|installer|module" />
6298
6299    <!-- Allows an application to manage the companion devices.
6300         @hide -->
6301    <permission android:name="android.permission.MANAGE_COMPANION_DEVICES"
6302                android:protectionLevel="module|signature|role" />
6303
6304    <!-- Allows an application to subscribe to notifications about the presence status change
6305         of their associated companion device
6306         -->
6307    <permission android:name="android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE"
6308                android:label="@string/permlab_observeCompanionDevicePresence"
6309                android:description="@string/permdesc_observeCompanionDevicePresence"
6310                android:protectionLevel="normal" />
6311
6312    <!-- Allows an application to subscribe to notifications about the nearby devices' presence
6313         status change base on the UUIDs.
6314         <p>Not for use by third-party applications.</p>
6315         @FlaggedApi("android.companion.device_presence")
6316    -->
6317    <permission android:name="android.permission.REQUEST_OBSERVE_DEVICE_UUID_PRESENCE"
6318                android:protectionLevel="signature|privileged" />
6319
6320    <!-- Allows an application to deliver companion messages to system
6321         -->
6322    <permission android:name="android.permission.DELIVER_COMPANION_MESSAGES"
6323                android:label="@string/permlab_deliverCompanionMessages"
6324                android:description="@string/permdesc_deliverCompanionMessages"
6325                android:protectionLevel="normal" />
6326
6327    <!-- Allows an application to send and receive messages via CDM transports.
6328         @hide -->
6329    <permission android:name="android.permission.USE_COMPANION_TRANSPORTS"
6330        android:protectionLevel="signature" />
6331
6332    <!-- Allows an application to create new companion device associations.
6333         @SystemApi
6334         @hide -->
6335    <permission android:name="android.permission.ASSOCIATE_COMPANION_DEVICES"
6336        android:protectionLevel="internal|role" />
6337
6338    <!-- @SystemApi Allows an application to use SurfaceFlinger's low level features.
6339         <p>Not for use by third-party applications.
6340         @hide
6341    -->
6342    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
6343        android:protectionLevel="signature" />
6344
6345    <!-- @SystemApi Allows an application to rotate a surface by arbitrary degree.
6346         This is a sub-feature of ACCESS_SURFACE_FLINGER and can be granted in a more concrete way.
6347         <p>Not for use by third-party applications.
6348         @hide
6349    -->
6350    <permission android:name="android.permission.ROTATE_SURFACE_FLINGER"
6351        android:protectionLevel="signature|recents" />
6352
6353    <!-- Allows an application to provide hints to SurfaceFlinger that can influence
6354         its wakes up time to compose the next frame. This is a subset of the capabilities granted
6355         by {@link #ACCESS_SURFACE_FLINGER}.
6356         <p>Not for use by third-party applications.
6357         @hide
6358    -->
6359    <permission android:name="android.permission.WAKEUP_SURFACE_FLINGER"
6360        android:protectionLevel="signature|recents" />
6361
6362    <!-- Allows an application to take screen shots and more generally
6363         get access to the frame buffer data.
6364         <p>Not for use by third-party applications.
6365          @hide
6366          @removed -->
6367    <permission android:name="android.permission.READ_FRAME_BUFFER"
6368        android:protectionLevel="signature|recents" />
6369
6370      <!-- Allows an application to change the touch mode state.
6371           Without this permission, an app can only change the touch mode
6372           if it currently has focus.
6373           @hide -->
6374    <permission android:name="android.permission.MODIFY_TOUCH_MODE_STATE"
6375        android:protectionLevel="signature" />
6376
6377    <!-- Allows an application to use InputFlinger's low level features.
6378         @hide -->
6379    <permission android:name="android.permission.ACCESS_INPUT_FLINGER"
6380        android:protectionLevel="signature" />
6381
6382    <!-- Allows an application to disable/enable input devices.
6383         Could be used to prevent unwanted touch events
6384         on a touchscreen, for example during swimming or rain.
6385         @hide -->
6386    <permission android:name="android.permission.DISABLE_INPUT_DEVICE"
6387        android:protectionLevel="signature" />
6388
6389    <!-- Allows an application to configure and connect to Wifi displays -->
6390    <permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY"
6391        android:protectionLevel="signature|knownSigner"
6392        android:knownCerts="@array/wifi_known_signers" />
6393
6394    <!-- Allows an application to control low-level features of Wifi displays
6395         such as opening an RTSP socket.  This permission should only be used
6396         by the display manager.
6397         @hide -->
6398    <permission android:name="android.permission.CONTROL_WIFI_DISPLAY"
6399        android:protectionLevel="signature" />
6400
6401    <!-- Allows an application to control the color modes set for displays system-wide.
6402         <p>Not for use by third-party applications.</p>
6403         @hide -->
6404    <permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE"
6405        android:protectionLevel="signature" />
6406
6407    <!-- Allows an application to control the lights on the device.
6408         @hide
6409         @SystemApi
6410         @TestApi -->
6411    <permission android:name="android.permission.CONTROL_DEVICE_LIGHTS"
6412        android:protectionLevel="signature|privileged" />
6413
6414    <!-- Allows an application to control the color saturation of the display.
6415         @hide
6416         @SystemApi -->
6417    <permission android:name="android.permission.CONTROL_DISPLAY_SATURATION"
6418        android:protectionLevel="signature|privileged" />
6419
6420    <!-- Allows an application to control display color transformations.
6421         <p>Not for use by third-party applications.</p>
6422         @hide
6423         @SystemApi -->
6424    <permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS"
6425        android:protectionLevel="signature|privileged" />
6426
6427    <!-- Allows an application to collect usage information about brightness slider changes.
6428         <p>Not for use by third-party applications.</p>
6429         @hide
6430         @SystemApi
6431         @TestApi -->
6432    <permission android:name="android.permission.BRIGHTNESS_SLIDER_USAGE"
6433        android:protectionLevel="signature|privileged|development" />
6434
6435    <!-- Allows an application to collect ambient light stats.
6436         <p>Not for use by third party applications.</p>
6437         @hide
6438         @SystemApi -->
6439    <permission android:name="android.permission.ACCESS_AMBIENT_LIGHT_STATS"
6440        android:protectionLevel="signature|privileged|development" />
6441
6442    <!-- Allows an application to modify the display brightness configuration
6443         @hide
6444         @SystemApi
6445         @TestApi -->
6446    <permission android:name="android.permission.CONFIGURE_DISPLAY_BRIGHTNESS"
6447        android:protectionLevel="signature|privileged|development" />
6448
6449    <!-- Allows an application to control the system's display brightness
6450         @hide -->
6451    <permission android:name="android.permission.CONTROL_DISPLAY_BRIGHTNESS"
6452        android:protectionLevel="signature" />
6453
6454    <!-- Allows an application to override the display mode requests
6455         so the app requested mode will be selected and user settings and display
6456         policies will be ignored.
6457         @hide
6458         @TestApi -->
6459    <permission android:name="android.permission.OVERRIDE_DISPLAY_MODE_REQUESTS"
6460                android:protectionLevel="signature" />
6461
6462    <!-- Allows an application to modify the refresh rate switching type. This
6463         matches Setting.Secure.MATCH_CONTENT_FRAME_RATE.
6464         @hide
6465         @TestApi -->
6466    <permission android:name="android.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE"
6467                android:protectionLevel="signature" />
6468
6469    <!-- Allows an application to modify the user preferred display mode.
6470         @hide
6471         @TestApi -->
6472    <permission android:name="android.permission.MODIFY_USER_PREFERRED_DISPLAY_MODE"
6473                android:protectionLevel="signature" />
6474
6475    <!-- Allows an application to modify the HDR conversion mode.
6476         @hide
6477         @TestApi -->
6478    <permission android:name="android.permission.MODIFY_HDR_CONVERSION_MODE"
6479                android:protectionLevel="signature" />
6480
6481    <!-- @SystemApi Allows an application to control VPN.
6482         <p>Not for use by third-party applications.</p>
6483         @hide -->
6484    <permission android:name="android.permission.CONTROL_VPN"
6485        android:protectionLevel="signature|privileged" />
6486    <uses-permission android:name="android.permission.CONTROL_VPN" />
6487
6488    <!-- Allows an application to access and modify always-on VPN configuration.
6489         <p>Not for use by third-party or privileged applications.
6490         @hide -->
6491    <permission android:name="android.permission.CONTROL_ALWAYS_ON_VPN"
6492        android:protectionLevel="signature" />
6493
6494    <!-- @SystemApi Allows an application to capture the audio from tuner input devices types,
6495     such as FM_TUNER.
6496
6497     <p>Not for use by third-party applications.</p>
6498     @hide -->
6499    <permission android:name="android.permission.CAPTURE_TUNER_AUDIO_INPUT"
6500                android:protectionLevel="signature|privileged" />
6501
6502    <!-- Allows an application to capture audio output.
6503         Use the {@code CAPTURE_MEDIA_OUTPUT} permission if only the {@code USAGE_UNKNOWN}),
6504         {@code USAGE_MEDIA}) or {@code USAGE_GAME}) usages are intended to be captured.
6505         <p>Not for use by third-party applications.</p> -->
6506    <permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"
6507        android:protectionLevel="signature|privileged|role" />
6508
6509    <!-- @SystemApi Allows an application to capture the audio played by other apps
6510         that have set an allow capture policy of
6511         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}.
6512
6513         Without this permission, only audio with an allow capture policy of
6514         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_ALL} can be used.
6515
6516         There are strong restriction listed at
6517         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
6518         on what an app can do with the captured audio.
6519
6520         See {@code CAPTURE_AUDIO_OUTPUT} for capturing audio use cases other than media playback.
6521
6522         <p>Not for use by third-party applications.</p>
6523         @hide -->
6524    <permission android:name="android.permission.CAPTURE_MEDIA_OUTPUT"
6525        android:protectionLevel="signature|privileged|role" />
6526
6527    <!-- @SystemApi Allows an application to capture the audio played by other apps
6528        with the {@code USAGE_VOICE_COMMUNICATION} usage.
6529
6530        The application may opt out of capturing by setting an allow capture policy of
6531        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_NONE}.
6532
6533        There are strong restriction listed at
6534        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
6535        on what an app can do with the captured audio.
6536
6537        See {@code CAPTURE_AUDIO_OUTPUT} and {@code CAPTURE_MEDIA_OUTPUT} for capturing
6538        audio use cases other than voice communication playback.
6539
6540        <p>Not for use by third-party applications.</p>
6541        @hide -->
6542    <permission android:name="android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT"
6543        android:protectionLevel="signature|privileged|role" />
6544
6545    <!-- @SystemApi Allows an application to bypass concurrency restrictions while
6546        recording audio. For example, apps with this permission can continue to record
6547        while a voice call is active.</p>
6548     @FlaggedApi(android.media.audio.Flags.FLAG_CONCURRENT_AUDIO_RECORD_BYPASS_PERMISSION)
6549     @hide -->
6550    <permission android:name="android.permission.BYPASS_CONCURRENT_RECORD_AUDIO_RESTRICTION"
6551        android:featureFlag="android.media.audio.concurrent_audio_record_bypass_permission"
6552        android:protectionLevel="signature|privileged" />
6553
6554    <!-- @SystemApi Allows an application to capture audio for hotword detection.
6555         <p>Not for use by third-party applications.</p>
6556         @hide -->
6557    <permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD"
6558        android:protectionLevel="signature|privileged|role" />
6559
6560    <!-- @SystemApi Allows an application to access the ultrasound content.
6561         <p>Not for use by third-party applications.</p>
6562         @hide -->
6563    <permission android:name="android.permission.ACCESS_ULTRASOUND"
6564        android:protectionLevel="signature|privileged" />
6565
6566    <!-- Puts an application in the chain of trust for sound trigger
6567         operations. Being in the chain of trust allows an application to
6568         delegate an identity of a separate entity to the sound trigger system
6569         and vouch for the authenticity of this identity.
6570         <p>Not for use by third-party applications.</p>
6571         @hide -->
6572    <permission android:name="android.permission.SOUNDTRIGGER_DELEGATE_IDENTITY"
6573        android:protectionLevel="signature|privileged" />
6574
6575    <!-- @SystemApi Allows an application to modify audio routing and override policy decisions.
6576         <p>Not for use by third-party applications.</p>
6577         @hide -->
6578    <permission android:name="android.permission.MODIFY_AUDIO_ROUTING"
6579        android:protectionLevel="signature|privileged|role" />
6580
6581    <!--@SystemApi Allows an application to modify system audio settings that shouldn't be
6582        controllable by external apps, such as volume settings or volume behaviors for audio
6583        devices, regardless of their connection status.
6584        <p>Not for use by third-party applications.
6585        @hide -->
6586    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED"
6587                android:protectionLevel="signature|privileged" />
6588
6589    <!-- @SystemApi Allows an application to access the uplink and downlink audio of an ongoing
6590        call.
6591         <p>Not for use by third-party applications.</p>
6592         @hide -->
6593    <permission android:name="android.permission.CALL_AUDIO_INTERCEPTION"
6594                android:protectionLevel="signature|privileged|role" />
6595
6596    <!-- @TestApi Allows an application to query audio related state.
6597         @hide -->
6598    <permission android:name="android.permission.QUERY_AUDIO_STATE"
6599                android:protectionLevel="signature|role" />
6600
6601    <!-- Allows an application to modify what effects are applied to all audio
6602         (matching certain criteria) from any application.
6603         <p>Not for use by third-party applications.</p>
6604         @hide -->
6605    <permission android:name="android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS"
6606        android:protectionLevel="signature|privileged" />
6607
6608    <!-- @SystemApi Allows an application to disable system sound effects when the user exits one of
6609         the application's activities.
6610         <p>Not for use by third-party applications.</p>
6611         @hide -->
6612    <permission android:name="android.permission.DISABLE_SYSTEM_SOUND_EFFECTS"
6613        android:protectionLevel="signature|privileged" />
6614
6615    <!-- @SystemApi Allows an application to provide remote displays.
6616         <p>Not for use by third-party applications.</p>
6617         @hide -->
6618    <permission android:name="android.permission.REMOTE_DISPLAY_PROVIDER"
6619        android:protectionLevel="signature|privileged" />
6620
6621    <!-- Allows an application to capture video output.
6622         <p>Not for use by third-party applications.</p>
6623          @hide
6624          @removed -->
6625    <permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"
6626        android:protectionLevel="signature" />
6627
6628    <!-- Allows an application to capture secure video output.
6629         <p>Not for use by third-party applications.</p>
6630          @hide
6631          @removed -->
6632    <permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT"
6633        android:protectionLevel="signature|role" />
6634
6635    <!-- Allows an application to know what content is playing and control its playback.
6636         <p>Not for use by third-party applications due to privacy of media consumption</p>  -->
6637    <permission android:name="android.permission.MEDIA_CONTENT_CONTROL"
6638        android:protectionLevel="signature|privileged" />
6639
6640    <!-- Allows an application to control the routing of media apps.
6641         <p>Only for use by role COMPANION_DEVICE_WATCH</p>
6642         @FlaggedApi("com.android.media.flags.enable_privileged_routing_for_media_routing_control")
6643         -->
6644    <permission android:name="android.permission.MEDIA_ROUTING_CONTROL"
6645                android:protectionLevel="signature|appop" />
6646
6647    <!-- @SystemApi @hide Allows an application to set the volume key long-press listener.
6648         <p>When it's set, the application will receive the volume key long-press event
6649         instead of changing volume.</p>
6650         <p>Not for use by third-party applications</p> -->
6651    <permission android:name="android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER"
6652        android:protectionLevel="signature|privileged|development" />
6653
6654    <!-- @SystemApi @hide Allows an application to set media key event listener.
6655         <p>When it's set, the application will receive the media key event before
6656         any other media sessions. If the event is handled by the listener, other sessions
6657         cannot get the event.</p>
6658         <p>Not for use by third-party applications</p> -->
6659    <permission android:name="android.permission.SET_MEDIA_KEY_LISTENER"
6660        android:protectionLevel="signature|privileged|development" />
6661
6662    <!-- @SystemApi Required to be able to disable the device (very dangerous!).
6663         <p>Not for use by third-party applications.
6664         @hide
6665    -->
6666    <permission android:name="android.permission.BRICK"
6667        android:protectionLevel="signature" />
6668
6669    <!-- Required to be able to reboot the device.
6670    <p>Not for use by third-party applications. -->
6671    <permission android:name="android.permission.REBOOT"
6672        android:protectionLevel="signature|privileged" />
6673
6674   <!-- @SystemApi Allows low-level access to power management.
6675        <p>Not for use by third-party applications.
6676        @hide
6677    -->
6678   <permission android:name="android.permission.DEVICE_POWER"
6679        android:protectionLevel="signature|role" />
6680
6681    <!-- Allows toggling battery saver on the system.
6682         Superseded by DEVICE_POWER permission. @hide @SystemApi
6683    -->
6684    <permission android:name="android.permission.POWER_SAVER"
6685        android:protectionLevel="signature|privileged" />
6686
6687    <!-- Allows providing the system with battery predictions.
6688         Superseded by DEVICE_POWER permission. @hide @SystemApi
6689    -->
6690    <permission android:name="android.permission.BATTERY_PREDICTION"
6691        android:protectionLevel="signature|privileged" />
6692
6693   <!-- Allows access to the PowerManager.userActivity function.
6694   <p>Not for use by third-party applications. @hide @SystemApi -->
6695    <permission android:name="android.permission.USER_ACTIVITY"
6696        android:protectionLevel="signature|privileged" />
6697
6698    <!-- @hide @SystemApi Allows an application to manage Low Power Standby settings.
6699         <p>Not for use by third-party applications. -->
6700    <permission android:name="android.permission.MANAGE_LOW_POWER_STANDBY"
6701                android:protectionLevel="signature|privileged" />
6702
6703    <!-- @hide @SystemApi Allows an application to request ports to remain open during
6704         Low Power Standby.
6705         <p>Not for use by third-party applications. -->
6706    <permission android:name="android.permission.SET_LOW_POWER_STANDBY_PORTS"
6707        android:protectionLevel="signature|privileged" />
6708
6709   <!-- @hide Allows low-level access to tun tap driver -->
6710    <permission android:name="android.permission.NET_TUNNELING"
6711        android:protectionLevel="signature|role" />
6712
6713    <!-- Run as a manufacturer test application, running as the root user.
6714         Only available when the device is running in manufacturer test mode.
6715         <p>Not for use by third-party applications.
6716    -->
6717    <permission android:name="android.permission.FACTORY_TEST"
6718        android:protectionLevel="signature" />
6719
6720    <!-- @hide @TestApi @SystemApi Allows an application to broadcast the intent {@link
6721         android.content.Intent#ACTION_CLOSE_SYSTEM_DIALOGS}.
6722         <p>Not for use by third-party applications.
6723    -->
6724    <permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS"
6725        android:protectionLevel="signature|privileged|recents" />
6726    <uses-permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS" />
6727
6728    <!-- Allows an application to broadcast a notification that an application
6729         package has been removed.
6730         <p>Not for use by third-party applications.
6731    -->
6732    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
6733        android:protectionLevel="signature" />
6734
6735    <!-- Allows an application to broadcast an SMS receipt notification.
6736         <p>Not for use by third-party applications.
6737    -->
6738    <permission android:name="android.permission.BROADCAST_SMS"
6739        android:protectionLevel="signature" />
6740
6741    <!-- Allows an application to broadcast a WAP PUSH receipt notification.
6742         <p>Not for use by third-party applications.
6743    -->
6744    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
6745        android:protectionLevel="signature" />
6746
6747    <!-- @SystemApi Allows an application to broadcast privileged networking requests.
6748         <p>Not for use by third-party applications.
6749         @hide
6750         @deprecated Use {@link android.Manifest.permission#REQUEST_NETWORK_SCORES} instead
6751    -->
6752    <permission android:name="android.permission.BROADCAST_NETWORK_PRIVILEGED"
6753        android:protectionLevel="signature|privileged" />
6754
6755    <!-- Not for use by third-party applications. -->
6756    <permission android:name="android.permission.MASTER_CLEAR"
6757        android:protectionLevel="signature|privileged|role" />
6758
6759    <!-- Allows an application to call any phone number, including emergency
6760         numbers, without going through the Dialer user interface for the user
6761         to confirm the call being placed.
6762         <p>Not for use by third-party applications. -->
6763    <permission android:name="android.permission.CALL_PRIVILEGED"
6764        android:protectionLevel="signature|privileged" />
6765    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
6766
6767    <!-- @SystemApi Allows an application to perform CDMA OTA provisioning @hide -->
6768    <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"
6769        android:protectionLevel="signature|privileged|role" />
6770
6771    <!-- @SystemApi Allows an application to perform SIM Activation @hide -->
6772    <permission android:name="android.permission.PERFORM_SIM_ACTIVATION"
6773        android:protectionLevel="signature|privileged" />
6774
6775    <!-- Allows enabling/disabling location update notifications from
6776         the radio.
6777         <p>Not for use by third-party applications. -->
6778    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
6779        android:protectionLevel="signature|privileged" />
6780
6781    <!-- Allows read/write access to the "properties" table in the checkin
6782         database, to change values that get uploaded.
6783         <p>Not for use by third-party applications. -->
6784    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
6785        android:protectionLevel="signature|privileged" />
6786
6787    <!-- Allows an application to collect component usage
6788         statistics
6789         <p>Declaring the permission implies intention to use the API and the user of the
6790         device can grant permission through the Settings application.
6791         <p>Protection level: signature|privileged|development|appop|retailDemo -->
6792    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
6793        android:protectionLevel="signature|privileged|development|appop|retailDemo" />
6794    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
6795
6796    <!-- @SystemApi @hide
6797         @FlaggedApi("android.app.usage.report_usage_stats_permission")
6798         Allows trusted system components to report events to UsageStatsManager -->
6799    <permission android:name="android.permission.REPORT_USAGE_STATS"
6800                android:protectionLevel="signature|module" />
6801
6802    <!-- Allows an application to query broadcast response stats (see
6803         {@link android.app.usage.BroadcastResponseStats}).
6804         @SystemApi
6805         @hide
6806    -->
6807    <permission android:name="android.permission.ACCESS_BROADCAST_RESPONSE_STATS"
6808        android:protectionLevel="signature|privileged|development" />
6809
6810    <!-- Allows a data loader to read a package's access logs. The access logs contain the
6811         set of pages referenced over time.
6812         <p>Declaring the permission implies intention to use the API and the user of the
6813         device can grant permission through the Settings application.
6814         <p>Protection level: signature|privileged|appop
6815         <p>A data loader has to be the one which provides data to install an app.
6816         <p>A data loader has to have both permission:LOADER_USAGE_STATS AND
6817         appop:LOADER_USAGE_STATS allowed to be able to access the read logs. -->
6818    <permission android:name="android.permission.LOADER_USAGE_STATS"
6819        android:protectionLevel="signature|privileged|appop" />
6820    <uses-permission android:name="android.permission.LOADER_USAGE_STATS" />
6821
6822    <!-- @hide @SystemApi Allows an application to observe usage time of apps. The app can register
6823         for callbacks when apps reach a certain usage time limit, etc. -->
6824    <permission android:name="android.permission.OBSERVE_APP_USAGE"
6825        android:protectionLevel="signature|privileged|role" />
6826
6827    <!-- @hide @TestApi @SystemApi Allows an application to change the app idle state of an app.
6828         <p>Not for use by third-party applications. -->
6829    <permission android:name="android.permission.CHANGE_APP_IDLE_STATE"
6830        android:protectionLevel="signature|privileged" />
6831
6832    <!-- @hide @SystemApi Allows an application to change the estimated launch time of an app.
6833         <p>Not for use by third-party applications. -->
6834    <permission android:name="android.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE"
6835        android:protectionLevel="signature|privileged" />
6836
6837    <!-- @hide @SystemApi Allows an application to temporarily allowlist an inactive app to
6838         access the network and acquire wakelocks.
6839         <p>Not for use by third-party applications. -->
6840    <permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"
6841        android:protectionLevel="signature|privileged" />
6842
6843    <!-- Permission an application must hold in order to use
6844         {@link android.provider.Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS}.
6845         <p>Protection level: normal -->
6846    <permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
6847        android:label="@string/permlab_requestIgnoreBatteryOptimizations"
6848        android:description="@string/permdesc_requestIgnoreBatteryOptimizations"
6849        android:protectionLevel="normal" />
6850
6851    <!-- Allows an application to collect battery statistics
6852         <p>Protection level: signature|privileged|development -->
6853    <permission android:name="android.permission.BATTERY_STATS"
6854        android:protectionLevel="signature|privileged|development" />
6855
6856    <!-- @SystemApi @hide Allows an application to collect high-precision PowerMonitor readings
6857         <p>Protection level: signature|privileged|development
6858         @FlaggedApi(android.permission.flags.Flags.FLAG_FINE_POWER_MONITOR_PERMISSION) -->
6859    <permission android:name="android.permission.ACCESS_FINE_POWER_MONITORS"
6860        android:protectionLevel="signature|privileged|development"
6861        android:featureFlag="android.permission.flags.fine_power_monitor_permission" />
6862
6863    <!--Allows an application to manage statscompanion.
6864    <p>Not for use by third-party applications.
6865         @hide -->
6866    <permission android:name="android.permission.STATSCOMPANION"
6867        android:protectionLevel="signature" />
6868
6869    <!--@SystemApi @hide Allows an application to register stats pull atom callbacks.
6870    <p>Not for use by third-party applications.-->
6871    <permission android:name="android.permission.REGISTER_STATS_PULL_ATOM"
6872                android:protectionLevel="signature|privileged" />
6873
6874    <!-- @SystemApi @hide Allows an application to read restricted stats from statsd.
6875         <p>Not for use by third-party applications. -->
6876    <permission android:name="android.permission.READ_RESTRICTED_STATS"
6877                android:protectionLevel="internal|privileged" />
6878
6879    <!-- @SystemApi Allows an application to control the backup and restore process.
6880    <p>Not for use by third-party applications.
6881         @hide pending API council -->
6882    <permission android:name="android.permission.BACKUP"
6883        android:protectionLevel="signature|privileged" />
6884
6885    <!-- @SystemApi Allows an application to make modifications to device settings such that these
6886         modifications will be overridden by settings restore..
6887    <p>Not for use by third-party applications.
6888         @hide -->
6889    <permission android:name="android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE"
6890                android:protectionLevel="signature|setup" />
6891
6892    <!-- @SystemApi Allows application to manage
6893         {@link android.security.keystore.recovery.RecoveryController}.
6894         <p>Not for use by third-party applications.
6895         @hide -->
6896    <permission android:name="android.permission.RECOVER_KEYSTORE"
6897        android:protectionLevel="signature|privileged" />
6898
6899    <!-- Allows a package to launch the secure full-backup confirmation UI.
6900         ONLY the system process may hold this permission.
6901         @hide -->
6902    <permission android:name="android.permission.CONFIRM_FULL_BACKUP"
6903        android:protectionLevel="signature" />
6904
6905    <!-- Must be required by a {@link android.widget.RemoteViewsService},
6906         to ensure that only the system can bind to it.
6907         <p>Protection level: signature|privileged -->
6908    <permission android:name="android.permission.BIND_REMOTEVIEWS"
6909        android:protectionLevel="signature|privileged" />
6910
6911    <!-- Allows an application to tell the AppWidget service which application
6912         can access AppWidget's data.  The normal user flow is that a user
6913         picks an AppWidget to go into a particular host, thereby giving that
6914         host application access to the private data from the AppWidget app.
6915         An application that has this permission should honor that contract.
6916         <p>Not for use by third-party applications. -->
6917    <permission android:name="android.permission.BIND_APPWIDGET"
6918        android:protectionLevel="signature|privileged" />
6919
6920    <!-- @hide Allows sysui to manage user grants of slice permissions. -->
6921    <permission android:name="android.permission.MANAGE_SLICE_PERMISSIONS"
6922        android:protectionLevel="signature" />
6923
6924    <!-- @SystemApi Private permission, to restrict who can bring up a dialog to add a new
6925         keyguard widget
6926         @hide -->
6927    <permission android:name="android.permission.BIND_KEYGUARD_APPWIDGET"
6928        android:protectionLevel="signature|privileged" />
6929
6930    <!-- @SystemApi Internal permission allowing an application to query/set which
6931         applications can bind AppWidgets.
6932         @hide -->
6933    <permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"
6934        android:protectionLevel="signature|privileged" />
6935
6936    <!-- Allows applications to change the background data setting.
6937    <p>Not for use by third-party applications.
6938         @hide pending API council -->
6939    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
6940        android:protectionLevel="signature" />
6941
6942    <!-- This permission can be used on content providers to allow the global
6943         search system to access their data.  Typically it used when the
6944         provider has some permissions protecting it (which global search
6945         would not be expected to hold), and added as a read-only permission
6946         to the path in the provider where global search queries are
6947         performed.  This permission can not be held by regular applications;
6948         it is used by applications to protect themselves from everyone else
6949         besides global search.
6950         <p>Protection level: signature|privileged -->
6951    <permission android:name="android.permission.GLOBAL_SEARCH"
6952        android:protectionLevel="signature|privileged" />
6953
6954    <!-- Internal permission protecting access to the global search
6955         system: ensures that only the system can access the provider
6956         to perform queries (since this otherwise provides unrestricted
6957         access to a variety of content providers), and to write the
6958         search statistics (to keep applications from gaming the source
6959         ranking).
6960         @hide -->
6961    <permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"
6962        android:protectionLevel="signature" />
6963
6964    <!-- @SystemApi Internal permission to allows an application to read indexable data.
6965        @hide -->
6966    <permission android:name="android.permission.READ_SEARCH_INDEXABLES"
6967        android:protectionLevel="signature|privileged" />
6968
6969    <!-- @SystemApi Internal permission to allows an application to bind to suggestion service.
6970        @hide -->
6971    <permission android:name="android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE"
6972                android:protectionLevel="signature" />
6973
6974    <!-- @hide Internal permission to allows an application to access card content provider. -->
6975    <permission android:name="android.permission.WRITE_SETTINGS_HOMEPAGE_DATA"
6976                android:protectionLevel="signature|privileged" />
6977
6978    <!-- An application needs this permission for
6979         {@link android.provider.Settings#ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY} to show its
6980         {@link android.app.Activity} embedded in Settings app. -->
6981    <permission android:name="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK"
6982                android:protectionLevel="signature|preinstalled" />
6983
6984    <!-- @SystemApi {@link android.app.Activity} should require this permission to ensure that only
6985         the settings app can embed it in a multi pane window.
6986         @hide -->
6987    <permission android:name="android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS"
6988                android:protectionLevel="signature" />
6989
6990    <!-- @SystemApi Allows applications to set a live wallpaper.
6991         @hide XXX Change to signature once the picker is moved to its
6992         own apk as Ghod Intended. -->
6993    <permission android:name="android.permission.SET_WALLPAPER_COMPONENT"
6994        android:protectionLevel="signature|privileged" />
6995
6996    <!-- @SystemApi Allows applications to set the wallpaper dim amount.
6997         @hide. -->
6998    <permission android:name="android.permission.SET_WALLPAPER_DIM_AMOUNT"
6999        android:protectionLevel="signature|privileged" />
7000
7001    <!-- @SystemApi Allows applications to read dream settings and dream state.
7002         @hide -->
7003    <permission android:name="android.permission.READ_DREAM_STATE"
7004        android:protectionLevel="signature|privileged" />
7005
7006    <!-- @SystemApi Allows applications to write dream settings, and start or stop dreaming.
7007         @hide -->
7008    <permission android:name="android.permission.WRITE_DREAM_STATE"
7009        android:protectionLevel="signature|privileged" />
7010
7011    <!-- @hide Allows applications to read whether ambient display is suppressed. -->
7012    <permission android:name="android.permission.READ_DREAM_SUPPRESSION"
7013        android:protectionLevel="signature" />
7014
7015    <!-- @SystemApi Allow an application to read and write the cache partition.
7016         @hide -->
7017    <permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
7018        android:protectionLevel="signature|privileged" />
7019
7020    <!-- Must be required by default container service so that only
7021         the system can bind to it and use it to copy
7022         protected data to secure containers or files
7023         accessible to the system.
7024         @hide -->
7025    <permission android:name="android.permission.COPY_PROTECTED_DATA"
7026        android:protectionLevel="signature" />
7027
7028    <!-- @SystemApi Internal permission protecting access to the encryption methods
7029        @hide
7030    -->
7031    <permission android:name="android.permission.CRYPT_KEEPER"
7032        android:protectionLevel="signature|privileged|role" />
7033
7034    <!-- @SystemApi Allows an application to read historical network usage for
7035         specific networks and applications. @hide -->
7036    <permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"
7037        android:protectionLevel="signature|privileged" />
7038
7039    <!-- Allows an application to manage network policies (such as warning and disable
7040         limits) and to define application-specific rules. @hide -->
7041    <permission android:name="android.permission.MANAGE_NETWORK_POLICY"
7042        android:protectionLevel="signature" />
7043
7044    <!-- @SystemApi @hide @deprecated use UPDATE_DEVICE_STATS instead -->
7045    <permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"
7046        android:protectionLevel="signature|privileged" />
7047
7048    <!-- @SystemApi @hide Allows an application to manage carrier subscription plans. -->
7049    <permission android:name="android.permission.MANAGE_SUBSCRIPTION_PLANS"
7050        android:protectionLevel="signature|privileged" />
7051
7052    <!-- @SystemApi @hide Allows for reading subscription plan fields for status and end date.
7053         @FlaggedApi(com.android.internal.telephony.flags.Flags.FLAG_SUBSCRIPTION_PLAN_ALLOW_STATUS_AND_END_DATE)
7054    -->
7055    <permission android:name="android.permission.READ_SUBSCRIPTION_PLANS"
7056        android:protectionLevel="signature|privileged"
7057        android:featureFlag="com.android.internal.telephony.flags.subscription_plan_allow_status_and_end_date" />
7058
7059    <!-- C2DM permission.
7060         @hide Used internally.
7061     -->
7062    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
7063          android:protectionLevel="signature" />
7064    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
7065
7066    <!-- @SystemApi @hide Package verifier needs to have this permission before the PackageManager will
7067         trust it to verify packages.
7068    -->
7069    <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
7070        android:protectionLevel="signature|privileged" />
7071
7072    <!-- Must be required by package verifier receiver, to ensure that only the
7073         system can interact with it.
7074         @hide
7075    -->
7076    <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
7077        android:protectionLevel="signature" />
7078
7079    <!-- @hide Rollback manager needs to have this permission before the PackageManager will
7080         trust it to enable rollback.
7081    -->
7082    <permission android:name="android.permission.PACKAGE_ROLLBACK_AGENT"
7083        android:protectionLevel="signature" />
7084
7085    <!-- @SystemApi @TestApi @hide Allows managing apk level rollbacks. -->
7086    <permission android:name="android.permission.MANAGE_ROLLBACKS"
7087        android:protectionLevel="signature|privileged" />
7088
7089    <!-- @TestApi @hide Allows testing apk level rollbacks. -->
7090    <permission android:name="android.permission.TEST_MANAGE_ROLLBACKS"
7091        android:protectionLevel="signature" />
7092
7093    <!-- @SystemApi @hide Allows an application to mark other applications as harmful -->
7094    <permission android:name="android.permission.SET_HARMFUL_APP_WARNINGS"
7095        android:protectionLevel="signature|verifier" />
7096
7097    <!-- @SystemApi @hide Intent filter verifier needs to have this permission before the
7098         PackageManager will trust it to verify intent filters.
7099    -->
7100    <permission android:name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"
7101        android:protectionLevel="signature|privileged" />
7102
7103    <!-- Must be required by intent filter verifier rintent-filtereceiver, to ensure that only the
7104         system can interact with it.
7105         @hide
7106    -->
7107    <permission android:name="android.permission.BIND_INTENT_FILTER_VERIFIER"
7108        android:protectionLevel="signature" />
7109
7110    <!-- @SystemApi @hide Domain verification agent package needs to have this permission before the
7111         system will trust it to verify domains.
7112
7113         TODO(159952358): STOPSHIP: This must be updated to the new "internal" protectionLevel
7114    -->
7115    <permission android:name="android.permission.DOMAIN_VERIFICATION_AGENT"
7116        android:protectionLevel="internal|privileged" />
7117
7118    <!-- @SystemApi @hide Must be required by the domain verification agent's intent
7119         BroadcastReceiver, to ensure that only the system can interact with it.
7120    -->
7121    <permission android:name="android.permission.BIND_DOMAIN_VERIFICATION_AGENT"
7122        android:protectionLevel="signature" />
7123
7124    <!-- @SystemApi @hide Allows an app like Settings to update the user's grants to what domains
7125         an app is allowed to automatically open.
7126    -->
7127    <permission android:name="android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION"
7128        android:protectionLevel="signature" />
7129
7130    <!-- @SystemApi Allows applications to access serial ports via the SerialManager.
7131         @hide -->
7132    <permission android:name="android.permission.SERIAL_PORT"
7133        android:protectionLevel="signature|privileged" />
7134
7135    <!-- Allows the holder to access content providers from outside an ApplicationThread.
7136         This permission is enforced by the ActivityManagerService on the corresponding APIs,
7137         in particular ActivityManagerService#getContentProviderExternal(String) and
7138         ActivityManagerService#removeContentProviderExternal(String).
7139         @hide
7140    -->
7141    <permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
7142        android:protectionLevel="signature" />
7143
7144    <!-- @SystemApi Allows an application to hold an UpdateLock, recommending that a headless
7145         OTA reboot *not* occur while the lock is held.
7146         @hide -->
7147    <permission android:name="android.permission.UPDATE_LOCK"
7148        android:protectionLevel="signature|privileged" />
7149
7150    <!-- @SystemApi Allows an application the opportunity to become a
7151         {@link android.service.notification.NotificationAssistantService}.
7152         User permission is still required before access is granted.
7153         @hide -->
7154    <permission android:name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE"
7155                android:protectionLevel="signature|privileged|role" />
7156
7157    <!-- @SystemApi @TestApi Allows an application to read the current set of notifications, including
7158         any metadata and intents attached.
7159         @hide -->
7160    <permission android:name="android.permission.ACCESS_NOTIFICATIONS"
7161        android:protectionLevel="signature|privileged|appop" />
7162
7163    <!-- Marker permission for applications that wish to access notification policy. This permission
7164        is not supported on managed profiles.
7165         <p>Protection level: normal
7166    -->
7167    <permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"
7168        android:description="@string/permdesc_access_notification_policy"
7169        android:label="@string/permlab_access_notification_policy"
7170        android:protectionLevel="normal" />
7171
7172    <!-- Allows modification of do not disturb rules and policies. Only allowed for system
7173        processes.
7174        @hide -->
7175    <permission android:name="android.permission.MANAGE_NOTIFICATIONS"
7176                android:protectionLevel="signature" />
7177
7178    <!-- @SystemApi @TestApi Allows adding/removing enabled notification listener components.
7179        @hide -->
7180    <permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS"
7181                android:protectionLevel="signature|installer" />
7182    <uses-permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS" />
7183
7184    <!-- @SystemApi Allows notifications to be colorized
7185         <p>Not for use by third-party applications. @hide -->
7186    <permission android:name="android.permission.USE_COLORIZED_NOTIFICATIONS"
7187                android:protectionLevel="signature|setup|role" />
7188
7189    <!-- Allows access to keyguard secure storage.  Only allowed for system processes.
7190        @hide -->
7191    <permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
7192        android:protectionLevel="signature|setup" />
7193
7194    <!-- Allows applications to set the initial lockscreen state.
7195         <p>Not for use by third-party applications. @hide -->
7196    <permission android:name="android.permission.SET_INITIAL_LOCK"
7197        android:protectionLevel="signature|setup"/>
7198
7199    <!-- @TestApi Allows applications to set and verify lockscreen credentials.
7200        @hide -->
7201    <permission android:name="android.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS"
7202                android:protectionLevel="signature"/>
7203
7204    <!-- @SystemApi Allows application to verify lockscreen credentials provided by a remote device.
7205         @hide -->
7206    <permission android:name="android.permission.CHECK_REMOTE_LOCKSCREEN"
7207        android:protectionLevel="signature|privileged" />
7208
7209    <!-- Allows managing (adding, removing) fingerprint templates. Reserved for the system. @hide -->
7210    <permission android:name="android.permission.MANAGE_FINGERPRINT"
7211        android:protectionLevel="signature|privileged" />
7212
7213    <!-- Allows managing (adding, removing) face templates. Reserved for the system. @hide -->
7214    <permission android:name="android.permission.MANAGE_FACE"
7215        android:protectionLevel="signature|privileged" />
7216
7217    <!-- Allows an app to reset fingerprint attempt counter. Reserved for the system. @hide -->
7218    <permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT"
7219        android:protectionLevel="signature" />
7220
7221    <!-- Allows access to TestApis for various components in the biometric stack, including
7222         FingerprintService, FaceService, BiometricService. Used by com.android.server.biometrics
7223         CTS tests. @hide @TestApi -->
7224    <permission android:name="android.permission.TEST_BIOMETRIC"
7225        android:protectionLevel="signature" />
7226
7227    <!-- Allows direct access to the <Biometric>Service interfaces. Reserved for the system. @hide -->
7228    <permission android:name="android.permission.MANAGE_BIOMETRIC"
7229        android:protectionLevel="signature" />
7230
7231    <!-- Allows direct access to the <Biometric>Service authentication methods. Reserved for the system. @hide -->
7232    <permission android:name="android.permission.USE_BIOMETRIC_INTERNAL"
7233        android:protectionLevel="signature" />
7234
7235    <!-- Allows the system to control the BiometricDialog (SystemUI). Reserved for the system. @hide -->
7236    <permission android:name="android.permission.MANAGE_BIOMETRIC_DIALOG"
7237                android:protectionLevel="signature" />
7238
7239    <!-- Allows an application to set the advanced features on BiometricDialog (SystemUI), including
7240         logo, logo description, and content view with more options button.
7241         <p>Not for use by third-party applications.
7242    -->
7243    <permission android:name="android.permission.SET_BIOMETRIC_DIALOG_ADVANCED"
7244                android:protectionLevel="signature|privileged" />
7245
7246    <!-- Allows an application to control keyguard.  Only allowed for system processes.
7247        @hide -->
7248    <permission android:name="android.permission.CONTROL_KEYGUARD"
7249        android:protectionLevel="signature" />
7250
7251    <!-- @SystemApi Allows an application to control keyguard features like secure notifications.
7252         @hide -->
7253    <permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS"
7254        android:protectionLevel="signature|privileged" />
7255
7256    <!-- @SystemApi Allows an application to manage weak escrow token on the device. This permission
7257         is not available to third party applications.
7258         @hide -->
7259    <permission android:name="android.permission.MANAGE_WEAK_ESCROW_TOKEN"
7260        android:protectionLevel="signature|privileged" />
7261
7262    <!-- Allows an application to listen to trust changes.  Only allowed for system processes.
7263        @hide -->
7264    <permission android:name="android.permission.TRUST_LISTENER"
7265        android:protectionLevel="signature" />
7266
7267    <!-- @SystemApi Allows an application to provide a trust agent.
7268         @hide For security reasons, this is a platform-only permission. -->
7269    <permission android:name="android.permission.PROVIDE_TRUST_AGENT"
7270        android:protectionLevel="signature|privileged" />
7271
7272    <!-- @SystemApi Allows an application to show a message
7273         on the keyguard when asking to dismiss it.
7274         @hide For security reasons, this is a platform-only permission. -->
7275    <permission android:name="android.permission.SHOW_KEYGUARD_MESSAGE"
7276        android:protectionLevel="signature|privileged" />
7277
7278    <!-- Allows an application to launch the trust agent settings activity.
7279        @hide -->
7280    <permission android:name="android.permission.LAUNCH_TRUST_AGENT_SETTINGS"
7281        android:protectionLevel="signature|privileged" />
7282
7283    <!-- @SystemApi Must be required by an {@link
7284        android.service.trust.TrustAgentService},
7285        to ensure that only the system can bind to it.
7286        @hide -->
7287    <permission android:name="android.permission.BIND_TRUST_AGENT"
7288        android:protectionLevel="signature" />
7289
7290    <!-- Must be required by an {@link
7291         android.service.notification.NotificationListenerService},
7292         to ensure that only the system can bind to it.
7293         <p>Protection level: signature
7294    -->
7295    <permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
7296        android:protectionLevel="signature" />
7297
7298    <!-- @SystemApi Must be required by an {@link
7299         android.service.notification.NotificationAssistantService} to ensure that only the system
7300         can bind to it.
7301         <p>Protection level: signature
7302         @hide
7303    -->
7304    <permission android:name="android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE"
7305        android:protectionLevel="signature" />
7306
7307    <!-- Must be required by a {@link
7308         android.service.chooser.ChooserTargetService}, to ensure that
7309         only the system can bind to it.
7310         <p>Protection level: signature
7311
7312         @deprecated For publishing direct share targets, please follow the instructions in
7313         https://developer.android.com/training/sharing/receive.html#providing-direct-share-targets
7314         instead.
7315    -->
7316    <permission android:name="android.permission.BIND_CHOOSER_TARGET_SERVICE"
7317        android:protectionLevel="signature" />
7318
7319    <!-- @SystemApi Must be held by services that extend
7320         {@link android.service.resolver.ResolverRankerService}.
7321         <p>Protection level: signature|privileged
7322         @hide
7323    -->
7324    <permission android:name="android.permission.PROVIDE_RESOLVER_RANKER_SERVICE"
7325                android:protectionLevel="signature|privileged" />
7326
7327    <!-- @SystemApi Must be required by services that extend
7328         {@link android.service.resolver.ResolverRankerService}, to ensure that only the system can
7329         bind to them.
7330         <p>Protection level: signature
7331         @hide
7332    -->
7333    <permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE"
7334        android:protectionLevel="signature" />
7335
7336    <!-- Must be required by a {@link
7337         android.service.notification.ConditionProviderService},
7338         to ensure that only the system can bind to it.
7339         <p>Protection level: signature
7340         -->
7341    <permission android:name="android.permission.BIND_CONDITION_PROVIDER_SERVICE"
7342        android:protectionLevel="signature" />
7343
7344    <!-- Must be required by an {@link android.service.dreams.DreamService},
7345         to ensure that only the system can bind to it.
7346         <p>Protection level: signature
7347    -->
7348    <permission android:name="android.permission.BIND_DREAM_SERVICE"
7349        android:protectionLevel="signature" />
7350
7351    <!-- Must be required by an {@link android.app.usage.CacheQuotaService} to ensure that only the
7352         system can bind to it.
7353         @hide This is not a third-party API (intended for OEMs and system apps).
7354    -->
7355    <permission android:name="android.permission.BIND_CACHE_QUOTA_SERVICE"
7356                android:protectionLevel="signature" />
7357
7358    <!-- @SystemApi Allows an application to call into a carrier setup flow. It is up to the
7359         carrier setup application to enforce that this permission is required
7360         @hide This is not a third-party API (intended for OEMs and system apps). -->
7361    <permission android:name="android.permission.INVOKE_CARRIER_SETUP"
7362        android:protectionLevel="signature|privileged" />
7363
7364    <!-- @SystemApi Allows an application to listen for network condition observations.
7365         @hide This is not a third-party API (intended for system apps). -->
7366    <permission android:name="android.permission.ACCESS_NETWORK_CONDITIONS"
7367        android:protectionLevel="signature|privileged" />
7368
7369    <!-- @SystemApi Allows an application to provision and access DRM certificates
7370         @hide This is not a third-party API (intended for system apps). -->
7371    <permission android:name="android.permission.ACCESS_DRM_CERTIFICATES"
7372        android:protectionLevel="signature|privileged" />
7373
7374    <!-- Api Allows an application to manage media projection sessions.
7375         @hide This is not a third-party API (intended for system apps). -->
7376    <permission android:name="android.permission.MANAGE_MEDIA_PROJECTION"
7377        android:protectionLevel="signature" />
7378
7379    <!-- @hide @TestApi Allows an application to record sensitive content during media
7380         projection. This is intended for on device screen recording system app.
7381         @FlaggedApi("android.permission.flags.sensitive_notification_app_protection") -->
7382    <permission android:name="android.permission.RECORD_SENSITIVE_CONTENT"
7383        android:protectionLevel="signature"
7384        android:featureFlag="android.permission.flags.sensitive_notification_app_protection"/>
7385
7386    <!-- @SystemApi Allows an application to read install sessions
7387         @hide This is not a third-party API (intended for system apps). -->
7388    <permission android:name="android.permission.READ_INSTALL_SESSIONS"
7389        android:label="@string/permlab_readInstallSessions"
7390        android:description="@string/permdesc_readInstallSessions"
7391        android:protectionLevel="normal"/>
7392
7393    <!-- @SystemApi Allows an application to remove DRM certificates
7394         @hide This is not a third-party API (intended for system apps). -->
7395    <permission android:name="android.permission.REMOVE_DRM_CERTIFICATES"
7396        android:protectionLevel="signature|privileged" />
7397
7398    <!-- @deprecated Use {@link android.Manifest.permission#BIND_CARRIER_SERVICES} instead -->
7399    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE"
7400        android:protectionLevel="signature|privileged" />
7401
7402    <!-- Allows an application to interact with the currently active
7403         {@link android.service.voice.VoiceInteractionService}.
7404         @hide -->
7405    <permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE"
7406        android:protectionLevel="signature" />
7407
7408    <!-- The system process that is allowed to bind to services in carrier apps will
7409         have this permission. Carrier apps should use this permission to protect
7410         their services that only the system is allowed to bind to.
7411         <p>Protection level: signature|privileged
7412    -->
7413    <permission android:name="android.permission.BIND_CARRIER_SERVICES"
7414        android:label="@string/permlab_bindCarrierServices"
7415        android:description="@string/permdesc_bindCarrierServices"
7416        android:protectionLevel="signature|privileged" />
7417
7418    <!--
7419        Allows the holder to start the permission usage screen for an app.
7420        <p>Protection level: signature|installer
7421    -->
7422    <permission android:name="android.permission.START_VIEW_PERMISSION_USAGE"
7423        android:label="@string/permlab_startViewPermissionUsage"
7424        android:description="@string/permdesc_startViewPermissionUsage"
7425        android:protectionLevel="signature|installer|module" />
7426
7427    <!--
7428        @SystemApi
7429        Allows the holder to start the screen to review permission decisions.
7430        <p>Protection level: signature|installer
7431        @hide -->
7432    <permission android:name="android.permission.START_REVIEW_PERMISSION_DECISIONS"
7433        android:label="@string/permlab_startReviewPermissionDecisions"
7434        android:description="@string/permdesc_startReviewPermissionDecisions"
7435        android:protectionLevel="signature|installer" />
7436
7437    <!--
7438        Allows the holder to start the screen with a list of app features.
7439        <p>Protection level: signature|installer
7440    -->
7441    <permission android:name="android.permission.START_VIEW_APP_FEATURES"
7442                android:label="@string/permlab_startViewAppFeatures"
7443                android:description="@string/permdesc_startViewAppFeatures"
7444                android:protectionLevel="signature|installer" />
7445
7446    <!-- Allows an application to query whether DO_NOT_ASK_CREDENTIALS_ON_BOOT
7447         flag is set.
7448         @hide -->
7449    <permission android:name="android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT"
7450                android:protectionLevel="signature" />
7451
7452    <!-- @SystemApi Allows applications to kill UIDs.
7453        <p>This permission can be granted to the SYSTEM_SUPERVISOR role used for parental
7454        controls.
7455        <p>Not for use by third-party applications.
7456         @hide -->
7457    <permission android:name="android.permission.KILL_UID"
7458                android:protectionLevel="signature|installer|role" />
7459
7460    <!-- @SystemApi Allows applications to read the local WiFi and Bluetooth MAC address.
7461        @hide -->
7462    <permission android:name="android.permission.LOCAL_MAC_ADDRESS"
7463                android:protectionLevel="signature|privileged" />
7464    <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"/>
7465
7466    <!-- @SystemApi Allows access to MAC addresses of WiFi and Bluetooth peer devices.
7467        @hide -->
7468    <permission android:name="android.permission.PEERS_MAC_ADDRESS"
7469                android:protectionLevel="signature|setup|role" />
7470
7471    <!-- Allows the Nfc stack to dispatch Nfc messages to applications. Applications
7472        can use this permission to ensure incoming Nfc messages are from the Nfc stack
7473        and not simulated by another application.
7474        @hide -->
7475    <permission android:name="android.permission.DISPATCH_NFC_MESSAGE"
7476                android:protectionLevel="signature|privileged" />
7477
7478    <!-- @SystemApi Allows changing day / night mode when system is configured with
7479         config_lockDayNightMode set to true. If requesting app does not have permission,
7480         it will be ignored.
7481        @hide -->
7482    <permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"
7483      android:protectionLevel="signature|privileged|role" />
7484
7485    <!-- @SystemApi Allows entering or exiting car mode using a specified priority.
7486        This permission is required to use UiModeManager while specifying a priority for the calling
7487        app.  A device manufacturer uses this permission to prioritize the apps which can
7488        potentially request to enter car-mode on a device to help establish the correct behavior
7489        where multiple such apps are active at the same time.
7490        @hide -->
7491    <permission android:name="android.permission.ENTER_CAR_MODE_PRIORITIZED"
7492                android:protectionLevel="signature|privileged" />
7493
7494    <!-- @SystemApi Required to receive ACTION_ENTER_CAR_MODE_PRIVILEGED or
7495        ACTION_EXIT_CAR_MODE_PRIVILEGED.
7496        @hide -->
7497    <permission android:name="android.permission.HANDLE_CAR_MODE_CHANGES"
7498                android:protectionLevel="signature|privileged" />
7499
7500    <!-- @SystemApi Allows the holder to send category_car notifications.
7501        @hide -->
7502    <permission
7503        android:name="android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS"
7504        android:protectionLevel="signature|privileged" />
7505
7506    <!-- The system process is explicitly the only one allowed to launch the
7507         confirmation UI for full backup/restore -->
7508    <uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
7509
7510    <!-- @SystemApi Allows the holder to access and manage instant applications on the device.
7511         @hide -->
7512    <permission android:name="android.permission.ACCESS_INSTANT_APPS"
7513            android:protectionLevel="signature|installer|verifier|role" />
7514    <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS"/>
7515
7516    <!-- Allows the holder to view the instant applications on the device.
7517    @hide -->
7518    <permission android:name="android.permission.VIEW_INSTANT_APPS"
7519                android:protectionLevel="signature|preinstalled" />
7520
7521    <!-- Allows the holder to manage whether the system can bind to services
7522         provided by instant apps. This permission is intended to protect
7523         test/development fucntionality and should be used only in such cases.
7524    @hide -->
7525    <permission android:name="android.permission.MANAGE_BIND_INSTANT_SERVICE"
7526                android:protectionLevel="signature" />
7527
7528    <!-- Allows receiving the usage of media resource e.g. video/audio codec and
7529         graphic memory.
7530         @hide -->
7531    <permission android:name="android.permission.RECEIVE_MEDIA_RESOURCE_USAGE"
7532                android:protectionLevel="signature|privileged" />
7533
7534    <!-- Must be required by system/priv apps when accessing the sound trigger
7535         APIs given by {@link SoundTriggerManager}.
7536         @hide
7537         @SystemApi -->
7538    <permission android:name="android.permission.MANAGE_SOUND_TRIGGER"
7539        android:protectionLevel="signature|privileged|role" />
7540
7541    <!-- Must be required by system/priv apps to run sound trigger recognition sessions while in
7542         battery saver mode.
7543         @hide
7544         @SystemApi -->
7545    <permission android:name="android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER"
7546                android:protectionLevel="signature|privileged" />
7547
7548    <!-- Must be required by system/priv apps implementing sound trigger detection services
7549         @hide
7550         @SystemApi -->
7551    <permission android:name="android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE"
7552        android:protectionLevel="signature" />
7553
7554    <!-- @SystemApi Allows trusted applications to dispatch managed provisioning message to Managed
7555         Provisioning app. If requesting app does not have permission, it will be ignored.
7556         @hide -->
7557    <permission android:name="android.permission.DISPATCH_PROVISIONING_MESSAGE"
7558                android:protectionLevel="signature|privileged" />
7559
7560    <!-- Allows the holder to read blocked numbers. See
7561         {@link android.provider.BlockedNumberContract}.
7562         @SystemApi
7563         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
7564         @hide -->
7565    <permission android:name="android.permission.READ_BLOCKED_NUMBERS"
7566                android:protectionLevel="signature" />
7567
7568    <!-- Allows the holder to write blocked numbers. See
7569         {@link android.provider.BlockedNumberContract}.
7570         @SystemApi
7571         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
7572         @hide -->
7573    <permission android:name="android.permission.WRITE_BLOCKED_NUMBERS"
7574                android:protectionLevel="signature" />
7575
7576    <!-- Must be required by an {@link android.service.vr.VrListenerService}, to ensure that only
7577         the system can bind to it.
7578         <p>Protection level: signature -->
7579    <permission android:name="android.permission.BIND_VR_LISTENER_SERVICE"
7580        android:protectionLevel="signature" />
7581
7582    <!-- Must be required by system apps when accessing restricted VR APIs.
7583         @hide
7584         @SystemApi
7585         <p>Protection level: signature -->
7586    <permission android:name="android.permission.RESTRICTED_VR_ACCESS"
7587        android:protectionLevel="signature|preinstalled" />
7588
7589    <!-- Required to make calls to {@link android.service.vr.IVrManager}.
7590         @hide -->
7591    <permission android:name="android.permission.ACCESS_VR_MANAGER"
7592            android:protectionLevel="signature" />
7593
7594    <!-- Required to access VR-Mode state and state change events via {android.app.VrStateCallback}
7595         @hide -->
7596    <permission android:name="android.permission.ACCESS_VR_STATE"
7597        android:protectionLevel="signature|preinstalled" />
7598
7599    <!-- Allows an application to allowlist tasks during lock task mode
7600         @hide <p>Not for use by third-party applications.</p> -->
7601    <permission android:name="android.permission.UPDATE_LOCK_TASK_PACKAGES"
7602        android:protectionLevel="signature|setup" />
7603
7604    <!-- @SystemApi Allows an application to replace the app name displayed alongside notifications
7605         in the N-release and later.
7606         @hide  <p>Not for use by third-party applications.</p> -->
7607    <permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"
7608                android:protectionLevel="signature|privileged" />
7609
7610    <!-- @SystemApi Allows an application to show notifications before the device is provisioned.
7611         @hide  <p>Not for use by third-party applications.</p> -->
7612    <permission android:name="android.permission.NOTIFICATION_DURING_SETUP"
7613                android:protectionLevel="signature|privileged" />
7614
7615    <!-- @SystemApi Allows an application to manage auto-fill sessions.
7616         @hide  <p>Not for use by third-party applications.</p> -->
7617    <permission android:name="android.permission.MANAGE_AUTO_FILL"
7618        android:protectionLevel="signature" />
7619
7620    <!-- @SystemApi Allows an application to manage the content capture service.
7621         @hide  <p>Not for use by third-party applications.</p> -->
7622    <permission android:name="android.permission.MANAGE_CONTENT_CAPTURE"
7623        android:protectionLevel="signature" />
7624
7625    <!-- @SystemApi Allows an application to manager the rotation resolver service.
7626         @hide <p>Not for use by third-party applications.</p> -->
7627    <permission android:name="android.permission.MANAGE_ROTATION_RESOLVER"
7628        android:protectionLevel="signature"/>
7629
7630    <!-- @SystemApi Allows an application to manage the cloudsearch service.
7631          @hide  <p>Not for use by third-party applications.</p> -->
7632    <permission android:name="android.permission.MANAGE_CLOUDSEARCH"
7633        android:protectionLevel="signature|privileged|role" />
7634
7635    <!-- @SystemApi Allows an application to manage the music recognition service.
7636         @hide  <p>Not for use by third-party applications.</p> -->
7637    <permission android:name="android.permission.MANAGE_MUSIC_RECOGNITION"
7638        android:protectionLevel="signature|privileged|role" />
7639
7640    <!-- @SystemApi Allows an application to manage speech recognition service.
7641     @hide  <p>Not for use by third-party applications.</p> -->
7642    <permission android:name="android.permission.MANAGE_SPEECH_RECOGNITION"
7643        android:protectionLevel="signature" />
7644
7645    <!-- @SystemApi Allows an application to interact with the content suggestions service.
7646         @hide  <p>Not for use by third-party applications.</p> -->
7647    <permission android:name="android.permission.MANAGE_CONTENT_SUGGESTIONS"
7648        android:protectionLevel="signature|role" />
7649
7650    <!-- @SystemApi Allows an application to manage the app predictions service.
7651         @hide  <p>Not for use by third-party applications.</p> -->
7652    <permission android:name="android.permission.MANAGE_APP_PREDICTIONS"
7653        android:protectionLevel="signature|role" />
7654
7655    <!-- @SystemApi Allows an application to manage the search ui service.
7656     @hide  <p>Not for use by third-party applications.</p> -->
7657    <permission android:name="android.permission.MANAGE_SEARCH_UI"
7658        android:protectionLevel="signature|role" />
7659
7660    <!-- @SystemApi Allows an application to manage the smartspace service.
7661     @hide  <p>Not for use by third-party applications.</p> -->
7662    <permission android:name="android.permission.MANAGE_SMARTSPACE"
7663        android:protectionLevel="signature" />
7664
7665    <!-- @SystemApi Allows an application to access the smartspace service as a client.
7666     @FlaggedApi(android.app.smartspace.flags.Flags.FLAG_ACCESS_SMARTSPACE)
7667     @hide  <p>Not for use by third-party applications.</p> -->
7668    <permission android:name="android.permission.ACCESS_SMARTSPACE"
7669        android:protectionLevel="signature|privileged|development" />
7670
7671    <!-- @SystemApi Allows an application to start a contextual search.
7672         @FlaggedApi("android.app.contextualsearch.flags.enable_service")
7673         @hide  <p>Not for use by third-party applications.</p> -->
7674    <permission android:name="android.permission.ACCESS_CONTEXTUAL_SEARCH"
7675        android:protectionLevel="signature|privileged"
7676        android:featureFlag="android.app.contextualsearch.flags.enable_service"/>
7677
7678    <!-- @SystemApi Allows an application to manage the wallpaper effects
7679     generation service.
7680     @hide  <p>Not for use by third-party applications.</p> -->
7681    <permission android:name="android.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION"
7682        android:protectionLevel="signature|privileged" />
7683
7684    <!-- Allows an app to set the theme overlay in /vendor/overlay
7685         being used.
7686         @hide  <p>Not for use by third-party applications.</p> -->
7687    <permission android:name="android.permission.MODIFY_THEME_OVERLAY"
7688                android:protectionLevel="signature" />
7689
7690    <!-- Allows an instant app to create foreground services.
7691         <p>Protection level: signature|development|instant|appop -->
7692    <permission android:name="android.permission.INSTANT_APP_FOREGROUND_SERVICE"
7693        android:protectionLevel="signature|development|instant|appop" />
7694
7695    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7696         Service.startForeground}.
7697         <p>Protection level: normal
7698    -->
7699    <permission android:name="android.permission.FOREGROUND_SERVICE"
7700        android:description="@string/permdesc_foregroundService"
7701        android:label="@string/permlab_foregroundService"
7702        android:protectionLevel="normal|instant" />
7703
7704    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7705         Service.startForeground} with the type "camera".
7706         <p>Protection level: normal|instant
7707    -->
7708    <permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"
7709        android:description="@string/permdesc_foregroundServiceCamera"
7710        android:label="@string/permlab_foregroundServiceCamera"
7711        android:protectionLevel="normal|instant" />
7712
7713    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7714         Service.startForeground} with the type "connectedDevice".
7715         <p>Protection level: normal|instant
7716    -->
7717    <permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE"
7718        android:description="@string/permdesc_foregroundServiceConnectedDevice"
7719        android:label="@string/permlab_foregroundServiceConnectedDevice"
7720        android:protectionLevel="normal|instant" />
7721
7722    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7723         Service.startForeground} with the type "dataSync".
7724         <p>Protection level: normal|instant
7725    -->
7726    <permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"
7727        android:description="@string/permdesc_foregroundServiceDataSync"
7728        android:label="@string/permlab_foregroundServiceDataSync"
7729        android:protectionLevel="normal|instant" />
7730
7731    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7732         Service.startForeground} with the type "location".
7733         <p>Protection level: normal|instant
7734    -->
7735    <permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION"
7736        android:description="@string/permdesc_foregroundServiceLocation"
7737        android:label="@string/permlab_foregroundServiceLocation"
7738        android:protectionLevel="normal|instant" />
7739
7740    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7741         Service.startForeground} with the type "mediaPlayback".
7742         <p>Protection level: normal|instant
7743    -->
7744    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"
7745        android:description="@string/permdesc_foregroundServiceMediaPlayback"
7746        android:label="@string/permlab_foregroundServiceMediaPlayback"
7747        android:protectionLevel="normal|instant" />
7748
7749    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7750         Service.startForeground} with the type "mediaProjection".
7751         <p>Protection level: normal|instant
7752    -->
7753    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION"
7754        android:description="@string/permdesc_foregroundServiceMediaProjection"
7755        android:label="@string/permlab_foregroundServiceMediaProjection"
7756        android:protectionLevel="normal|instant" />
7757
7758    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7759         Service.startForeground} with the type "microphone".
7760         <p>Protection level: normal|instant
7761    -->
7762    <permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE"
7763        android:description="@string/permdesc_foregroundServiceMicrophone"
7764        android:label="@string/permlab_foregroundServiceMicrophone"
7765        android:protectionLevel="normal|instant" />
7766
7767    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7768         Service.startForeground} with the type "phoneCall".
7769         <p>Protection level: normal|instant
7770    -->
7771    <permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL"
7772        android:description="@string/permdesc_foregroundServicePhoneCall"
7773        android:label="@string/permlab_foregroundServicePhoneCall"
7774        android:protectionLevel="normal|instant" />
7775
7776    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7777         Service.startForeground} with the type "health".
7778         <p>Protection level: normal|instant
7779    -->
7780    <permission android:name="android.permission.FOREGROUND_SERVICE_HEALTH"
7781        android:description="@string/permdesc_foregroundServiceHealth"
7782        android:label="@string/permlab_foregroundServiceHealth"
7783        android:protectionLevel="normal|instant" />
7784
7785    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7786         Service.startForeground} with the type "remoteMessaging".
7787         <p>Protection level: normal|instant
7788    -->
7789    <permission android:name="android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING"
7790        android:description="@string/permdesc_foregroundServiceRemoteMessaging"
7791        android:label="@string/permlab_foregroundServiceRemoteMessaging"
7792        android:protectionLevel="normal|instant" />
7793
7794    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7795         Service.startForeground} with the type "systemExempted".
7796         Apps are allowed to use this type only in the use cases listed in
7797         {@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED}.
7798         <p>Protection level: normal|instant
7799    -->
7800    <permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED"
7801        android:description="@string/permdesc_foregroundServiceSystemExempted"
7802        android:label="@string/permlab_foregroundServiceSystemExempted"
7803        android:protectionLevel="normal|instant" />
7804
7805    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7806         Service.startForeground} with the type "fileManagement".
7807         <p>Protection level: normal|instant
7808         @hide
7809    -->
7810    <permission android:name="android.permission.FOREGROUND_SERVICE_FILE_MANAGEMENT"
7811        android:description="@string/permdesc_foregroundServiceFileManagement"
7812        android:label="@string/permlab_foregroundServiceFileManagement"
7813        android:protectionLevel="normal|instant" />
7814
7815    <!-- @FlaggedApi("android.content.pm.introduce_media_processing_type")
7816         Allows a regular application to use {@link android.app.Service#startForeground
7817         Service.startForeground} with the type "mediaProcessing".
7818         <p>Protection level: normal|instant
7819    -->
7820    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROCESSING"
7821                android:description="@string/permdesc_foregroundServiceMediaProcessing"
7822                android:label="@string/permlab_foregroundServiceMediaProcessing"
7823                android:protectionLevel="normal|instant" />
7824
7825    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7826         Service.startForeground} with the type "specialUse".
7827         <p>Protection level: normal|appop|instant
7828    -->
7829    <permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"
7830        android:description="@string/permdesc_foregroundServiceSpecialUse"
7831        android:label="@string/permlab_foregroundServiceSpecialUse"
7832        android:protectionLevel="normal|appop|instant" />
7833
7834    <!-- @SystemApi Allows to access all app shortcuts.
7835         @hide -->
7836    <permission android:name="android.permission.ACCESS_SHORTCUTS"
7837        android:protectionLevel="signature|role|recents" />
7838
7839    <!-- @SystemApi Allows unlimited calls to shortcut mutation APIs.
7840         @hide -->
7841    <permission android:name="android.permission.UNLIMITED_SHORTCUTS_API_CALLS"
7842        android:protectionLevel="signature|role" />
7843
7844    <!-- @SystemApi Allows an application to read the runtime profiles of other apps.
7845         @hide <p>Not for use by third-party applications. -->
7846    <permission android:name="android.permission.READ_RUNTIME_PROFILES"
7847                android:protectionLevel="signature|privileged" />
7848
7849    <!-- @hide Allows audio policy management. -->
7850    <permission android:name="android.permission.MANAGE_AUDIO_POLICY"
7851        android:protectionLevel="signature" />
7852
7853    <!-- @SystemApi Allows an application to turn on / off quiet mode.
7854         @hide -->
7855    <permission android:name="android.permission.MODIFY_QUIET_MODE"
7856                android:protectionLevel="signature|privileged|development|role" />
7857
7858    <!-- Allows internal management of the camera framework
7859         @hide -->
7860    <permission android:name="android.permission.MANAGE_CAMERA"
7861        android:protectionLevel="signature" />
7862
7863    <!-- Allows an application to control remote animations. See
7864         {@link ActivityOptions#makeRemoteAnimation}
7865         @hide <p>Not for use by third-party applications. -->
7866    <permission android:name="android.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS"
7867        android:protectionLevel="signature|privileged|recents" />
7868
7869    <!-- Allows an application to watch changes and/or active state of app ops.
7870         @hide <p>Not for use by third-party applications. -->
7871    <permission android:name="android.permission.WATCH_APPOPS"
7872        android:protectionLevel="signature|privileged" />
7873
7874    <!-- Allows hidden API checks to be disabled when starting a process.
7875         @hide <p>Not for use by third-party applications. -->
7876    <permission android:name="android.permission.DISABLE_HIDDEN_API_CHECKS"
7877                android:protectionLevel="signature" />
7878
7879    <!-- @hide Permission that protects the
7880        {@link android.provider.Telephony.Intents#ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL}
7881        broadcast -->
7882    <permission android:name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE"
7883        android:protectionLevel="signature|privileged" />
7884
7885    <!-- A subclass of {@link android.service.carrier.CarrierMessagingClientService} must be protected with this permission.
7886           <p>Protection level: signature -->
7887    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE"
7888        android:protectionLevel="signature" />
7889
7890    <!-- @FlaggedApi(android.crashrecovery.flags.Flags.FLAG_ENABLE_CRASHRECOVERY) @SystemApi
7891         Must be required by an {@link android.service.watchdog.ExplicitHealthCheckService} to
7892         ensure that only the system can bind to it.
7893         @hide This is not a third-party API (intended for OEMs and system apps).
7894    -->
7895    <permission android:name="android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE"
7896        android:protectionLevel="signature|privileged" />
7897
7898    <!-- @SystemApi Must be required by an {@link android.service.storage.ExternalStorageService} to
7899         ensure that only the system can bind to it.
7900         @hide This is not a third-party API (intended for OEMs and system apps).
7901    -->
7902    <permission android:name="android.permission.BIND_EXTERNAL_STORAGE_SERVICE"
7903        android:protectionLevel="signature" />
7904
7905    <!-- @hide Permission that allows configuring appops.
7906     <p>Not for use by third-party applications. -->
7907    <permission android:name="android.permission.MANAGE_APPOPS"
7908                android:protectionLevel="signature" />
7909
7910    <!-- @SystemApi Permission that allows background clipboard access.
7911         @hide Not for use by third-party applications. -->
7912    <permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"
7913        android:protectionLevel="signature|role" />
7914
7915    <!-- @SystemApi Permission that allows apps to disable the clipboard access notifications.
7916         @hide
7917         <p>Not for use by third-party applications. -->
7918    <permission android:name="android.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION"
7919        android:protectionLevel="signature|installer" />
7920
7921    <!-- @hide Permission that suppresses the notification when the clipboard is accessed.
7922         <p>Not for use by third-party applications. -->
7923    <permission android:name="android.permission.SUPPRESS_CLIPBOARD_ACCESS_NOTIFICATION"
7924                android:protectionLevel="signature" />
7925
7926    <!-- @SystemApi Allows modifying accessibility state.
7927        <p> The only approved role for this permission is COMPANION_DEVICE_APP_STREAMING.
7928         @hide -->
7929    <permission android:name="android.permission.MANAGE_ACCESSIBILITY"
7930        android:protectionLevel="signature|setup|recents|role" />
7931
7932    <!-- @SystemApi Allows an app to grant a profile owner access to device identifiers.
7933         <p>Not for use by third-party applications.
7934         @deprecated
7935         @hide -->
7936    <permission android:name="android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS"
7937        android:protectionLevel="signature" />
7938
7939    <!-- @SystemApi Allows an app to mark a profile owner as managing an organization-owned device.
7940         <p>Not for use by third-party applications.
7941         @hide -->
7942    <permission android:name="android.permission.MARK_DEVICE_ORGANIZATION_OWNED"
7943                android:protectionLevel="signature|role" />
7944
7945    <!-- Allows financial apps to read filtered sms messages.
7946         Protection level: signature|appop
7947         @deprecated The API that used this permission is no longer functional.  -->
7948    <permission android:name="android.permission.SMS_FINANCIAL_TRANSACTIONS"
7949        android:protectionLevel="signature|appop" />
7950
7951    <!-- Required for apps targeting {@link android.os.Build.VERSION_CODES#Q} that want to use
7952         {@link android.app.Notification.Builder#setFullScreenIntent notification full screen
7953         intents}.
7954         <p>Protection level: normal -->
7955    <permission android:name="android.permission.USE_FULL_SCREEN_INTENT"
7956                android:label="@string/permlab_fullScreenIntent"
7957                android:description="@string/permdesc_fullScreenIntent"
7958                android:protectionLevel="normal|appop" />
7959
7960    <!-- @SystemApi Required for the privileged assistant apps targeting
7961         {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM}
7962         that receive voice trigger from a sandboxed {@link HotwordDetectionService}.
7963         <p>Protection level: signature|privileged|appop
7964         @FlaggedApi("android.permission.flags.voice_activation_permission_apis")
7965         @hide -->
7966    <permission android:name="android.permission.RECEIVE_SANDBOX_TRIGGER_AUDIO"
7967                android:protectionLevel="signature|privileged|appop" />
7968
7969    <!-- @SystemApi Allows requesting the framework broadcast the
7970         {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY} intent.
7971         @hide -->
7972    <permission android:name="android.permission.SEND_DEVICE_CUSTOMIZATION_READY"
7973        android:protectionLevel="signature|privileged" />
7974
7975    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY}
7976         intent.
7977         @hide -->
7978    <permission android:name="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY"
7979        android:protectionLevel="signature|preinstalled" />
7980
7981    <!-- @SystemApi Allows wallpaper to be rendered in ambient mode.
7982         @hide -->
7983    <permission android:name="android.permission.AMBIENT_WALLPAPER"
7984                android:protectionLevel="signature|preinstalled" />
7985
7986    <!-- @SystemApi Allows sensor privacy to be modified.
7987         @hide -->
7988    <permission android:name="android.permission.MANAGE_SENSOR_PRIVACY"
7989                android:protectionLevel="internal|role|installer" />
7990
7991    <!-- @SystemApi Allows sensor privacy changes to be observed.
7992         @hide -->
7993    <permission android:name="android.permission.OBSERVE_SENSOR_PRIVACY"
7994                android:protectionLevel="internal|role|installer" />
7995
7996    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_REVIEW_ACCESSIBILITY_SERVICES}
7997         intent.
7998         @hide -->
7999    <permission android:name="android.permission.REVIEW_ACCESSIBILITY_SERVICES"
8000                android:protectionLevel="signature" />
8001
8002    <!-- @SystemApi Allows an activity to replace the app name and icon displayed in share targets
8003         in the sharesheet for the Q-release and later.
8004         @hide  <p>Not for use by third-party applications.</p> -->
8005    <permission android:name="android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON"
8006                android:protectionLevel="signature|privileged" />
8007
8008    <!-- @SystemApi Allows an application to access shared libraries.
8009         @hide -->
8010    <permission android:name="android.permission.ACCESS_SHARED_LIBRARIES"
8011        android:protectionLevel="signature|installer"
8012        android:featureFlag="!android.content.pm.sdk_dependency_installer" />
8013
8014    <!-- @SystemApi Allows an application to access shared libraries.
8015         @hide -->
8016    <permission android:name="android.permission.ACCESS_SHARED_LIBRARIES"
8017                android:protectionLevel="signature|installer|role"
8018        android:featureFlag="android.content.pm.sdk_dependency_installer" />
8019
8020    <!-- @SystemApi Permission held by the system to allow binding to the dependency installer role
8021         holder.
8022         @FlaggedApi(android.content.pm.Flags.FLAG_SDK_DEPENDENCY_INSTALLER)
8023         @hide -->
8024    <permission android:name="android.permission.BIND_DEPENDENCY_INSTALLER"
8025        android:protectionLevel="signature"
8026        android:featureFlag="android.content.pm.sdk_dependency_installer" />
8027
8028    <!-- @SystemApi Allows an application to install shared libraries of types
8029         {@link android.content.pm.SharedLibraryInfo#TYPE_STATIC} or
8030         {@link android.content.pm.SharedLibraryInfo#TYPE_SDK_PACKAGE}.
8031         @FlaggedApi(android.content.pm.Flags.FLAG_SDK_DEPENDENCY_INSTALLER)
8032         @hide -->
8033    <permission android:name="android.permission.INSTALL_DEPENDENCY_SHARED_LIBRARIES"
8034        android:protectionLevel="signature|role"
8035        android:featureFlag="android.content.pm.sdk_dependency_installer" />
8036
8037    <!-- Allows an app to log compat change usage.
8038         @hide  <p>Not for use by third-party applications.</p> -->
8039    <permission android:name="android.permission.LOG_COMPAT_CHANGE"
8040                android:protectionLevel="signature|privileged" />
8041    <!-- Allows an app to read compat change config.
8042         @hide  <p>Not for use by third-party applications.</p> -->
8043    <permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"
8044                android:protectionLevel="signature|privileged" />
8045    <!-- Allows an app to override compat change config.
8046         This permission only allows to override config on debuggable builds or test-apks and is
8047         therefore a less powerful version of OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD.
8048         @hide  <p>Not for use by third-party applications.</p> -->
8049    <permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG"
8050                android:protectionLevel="signature|privileged" />
8051    <!-- @SystemApi Allows an app to override compat change config on release builds.
8052        Only ChangeIds that are annotated as @Overridable can be overridden on release builds.
8053        @hide -->
8054    <permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD"
8055                android:protectionLevel="signature|privileged" />
8056
8057    <!-- Allows input events to be monitored. Very dangerous!  @hide -->
8058    <permission android:name="android.permission.MONITOR_INPUT"
8059                android:protectionLevel="signature|recents" />
8060    <!-- @SystemApi Allows the use of FLAG_SLIPPERY, which permits touch events to slip from the
8061         current window to the window where the touch currently is on top of.  @hide -->
8062    <permission android:name="android.permission.ALLOW_SLIPPERY_TOUCHES"
8063                android:protectionLevel="signature|privileged|recents|role" />
8064    <!--  Allows the caller to change the associations between input devices and displays.
8065        Very dangerous! @hide -->
8066    <permission android:name="android.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY"
8067                android:protectionLevel="signature" />
8068
8069    <!-- Allows query of any normal app on the device, regardless of manifest declarations.
8070        <p>Protection level: normal -->
8071    <permission android:name="android.permission.QUERY_ALL_PACKAGES"
8072                android:label="@string/permlab_queryAllPackages"
8073                android:description="@string/permdesc_queryAllPackages"
8074                android:protectionLevel="normal" />
8075    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
8076
8077    <!-- @hide Allow the caller to collect debugging data from processes that otherwise
8078        would require USAGE_STATS. Before sharing this data with other apps, holders
8079        of this permission are REQUIRED to themselves check that the caller has
8080        PACKAGE_USAGE_STATS and OP_GET_USAGE_STATS. -->
8081    <permission android:name="android.permission.PEEK_DROPBOX_DATA"
8082        android:protectionLevel="signature" />
8083
8084    <!-- @SystemApi Allows an application to access TV tuner HAL
8085         <p>Not for use by third-party applications.
8086         @hide -->
8087    <permission android:name="android.permission.ACCESS_TV_TUNER"
8088        android:protectionLevel="signature|privileged|vendorPrivileged" />
8089
8090    <!-- @SystemApi Allows an application to access descrambler of TV tuner HAL
8091         <p>Not for use by third-party applications.
8092         @hide -->
8093    <permission android:name="android.permission.ACCESS_TV_DESCRAMBLER"
8094        android:protectionLevel="signature|privileged|vendorPrivileged" />
8095
8096    <!-- @SystemApi Allows an application to access shared filter of TV tuner HAL
8097         <p>Not for use by third-party applications.
8098         @hide -->
8099    <permission android:name="android.permission.ACCESS_TV_SHARED_FILTER"
8100        android:protectionLevel="signature|privileged|vendorPrivileged" />
8101
8102    <!-- Allows an application to create trusted displays. @hide @SystemApi -->
8103    <permission android:name="android.permission.ADD_TRUSTED_DISPLAY"
8104                android:protectionLevel="signature|role" />
8105
8106    <!-- Allows an application to create always-unlocked displays. @hide @SystemApi -->
8107    <permission android:name="android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY"
8108                android:protectionLevel="signature|role"/>
8109
8110    <!-- Allows an application to create displays that mirror other displays' content.
8111         @FlaggedApi(android.companion.virtualdevice.flags.Flags.FLAG_ENABLE_LIMITED_VDM_ROLE)
8112         @hide @SystemApi -->
8113    <permission android:name="android.permission.ADD_MIRROR_DISPLAY"
8114        android:protectionLevel="internal|role"
8115        android:featureFlag="android.companion.virtualdevice.flags.enable_limited_vdm_role" />
8116
8117    <!-- @hide @SystemApi Allows an application to access locusId events in the usage stats. -->
8118    <permission android:name="android.permission.ACCESS_LOCUS_ID_USAGE_STATS"
8119                android:protectionLevel="signature|role" />
8120
8121    <!-- @hide @SystemApi Allows an application to manage app hibernation state. -->
8122    <permission android:name="android.permission.MANAGE_APP_HIBERNATION"
8123        android:protectionLevel="signature|installer" />
8124
8125    <!-- @hide @TestApi Allows apps to reset the state of {@link com.android.server.am.AppErrors}.
8126         <p>CTS tests will use UiAutomation.adoptShellPermissionIdentity() to gain access.  -->
8127    <permission android:name="android.permission.RESET_APP_ERRORS"
8128        android:protectionLevel="signature" />
8129
8130    <!-- @hide Allows ThemeOverlayController to delay launch of Home / SetupWizard on boot, ensuring
8131         Theme Palettes and Colors are ready  -->
8132    <permission android:name="android.permission.SET_THEME_OVERLAY_CONTROLLER_READY"
8133        android:protectionLevel="signature|setup" />
8134
8135    <!-- @hide Allows an application to create/destroy input consumer. -->
8136    <permission android:name="android.permission.INPUT_CONSUMER"
8137                android:protectionLevel="signature" />
8138
8139    <!-- @hide @TestApi Allows an application to control the system's device state managed by the
8140         {@link android.service.devicestate.DeviceStateManagerService}. For example, on foldable
8141         devices this would grant access to toggle between the folded and unfolded states. -->
8142    <permission android:name="android.permission.CONTROL_DEVICE_STATE"
8143                android:protectionLevel="signature" />
8144
8145    <!-- @hide @SystemApi Must be required by a
8146        {@link android.service.displayhash.DisplayHashingService}
8147        to ensure that only the system can bind to it.
8148        This is not a third-party API (intended for OEMs and system apps).
8149    -->
8150    <permission android:name="android.permission.BIND_DISPLAY_HASHING_SERVICE"
8151        android:protectionLevel="signature" />
8152
8153    <!-- @hide @TestApi Allows an application to enable/disable toast rate limiting.
8154         <p>Not for use by third-party applications.
8155    -->
8156    <permission android:name="android.permission.MANAGE_TOAST_RATE_LIMITING"
8157                android:protectionLevel="signature" />
8158
8159    <!-- @SystemApi Allows managing the Game Mode
8160     @hide -->
8161    <permission android:name="android.permission.MANAGE_GAME_MODE"
8162                android:protectionLevel="signature|privileged" />
8163
8164    <!-- @TestApi Allows setting the game service provider, meant for tests only.
8165     @hide -->
8166    <permission android:name="android.permission.SET_GAME_SERVICE"
8167                android:protectionLevel="signature" />
8168
8169    <!-- @SystemApi Allows accessing the frame rate per second of a given application
8170     @hide -->
8171    <permission android:name="android.permission.ACCESS_FPS_COUNTER"
8172                android:protectionLevel="signature|privileged" />
8173
8174    <!-- @SystemApi Allows the GameService provider to create GameSession and call GameSession
8175                    APIs and overlay a view on top of the game's Activity.
8176     @hide -->
8177    <permission android:name="android.permission.MANAGE_GAME_ACTIVITY"
8178                android:protectionLevel="signature|privileged" />
8179
8180    <!-- @SystemApi Allows the holder to register callbacks to inform the RebootReadinessManager
8181         when they are performing reboot-blocking work.
8182         @hide -->
8183    <permission android:name="android.permission.SIGNAL_REBOOT_READINESS"
8184                android:protectionLevel="signature|privileged" />
8185
8186    <!-- @SystemApi Allows the holder to launch an Intent Resolver flow with custom presentation
8187         and/or targets.
8188         @FlaggedApi("android.nfc.enable_nfc_mainline")
8189         @hide -->
8190    <permission android:name="android.permission.SHOW_CUSTOMIZED_RESOLVER"
8191                android:protectionLevel="signature|privileged" />
8192
8193    <!-- @hide Allows an application to get a People Tile preview for a given shortcut. -->
8194    <permission android:name="android.permission.GET_PEOPLE_TILE_PREVIEW"
8195        android:protectionLevel="signature|recents" />
8196
8197    <!-- @hide @SystemApi Allows an application to retrieve whether shortcut is backed by a
8198         Conversation.
8199         TODO(b/180412052): STOPSHIP: Define a role so it can be granted to Shell and AiAi. -->
8200    <permission android:name="android.permission.READ_PEOPLE_DATA"
8201                android:protectionLevel="signature|recents|role"/>
8202
8203    <!-- @hide @SystemApi Allows a logical component within an application to
8204         temporarily renounce a set of otherwise granted permissions. -->
8205    <permission android:name="android.permission.RENOUNCE_PERMISSIONS"
8206                android:protectionLevel="signature|privileged" />
8207
8208    <!-- Allows an application to read nearby streaming policy. The policy controls
8209         whether to allow the device to stream its notifications and apps to nearby devices.
8210         Applications that are not the device owner will need this permission to call
8211         {@link android.app.admin.DevicePolicyManager#getNearbyNotificationStreamingPolicy} or
8212         {@link android.app.admin.DevicePolicyManager#getNearbyAppStreamingPolicy}. -->
8213    <permission android:name="android.permission.READ_NEARBY_STREAMING_POLICY"
8214        android:protectionLevel="normal" />
8215
8216    <!-- @SystemApi Allows the holder to set the source of the data when setting a clip on the
8217         clipboard.
8218         @hide -->
8219    <permission android:name="android.permission.SET_CLIP_SOURCE"
8220                android:protectionLevel="signature|recents" />
8221
8222    <!-- @SystemApi Allows an application to access TV tuned info
8223         <p>Not for use by third-party applications.
8224         @hide -->
8225    <permission android:name="android.permission.ACCESS_TUNED_INFO"
8226        android:protectionLevel="signature|privileged|vendorPrivileged" />
8227
8228    <!-- Allows an application to indicate via
8229         {@link android.content.pm.PackageInstaller.SessionParams#setRequireUserAction(int)}
8230         that user action should not be required for an app update.
8231         <p>Protection level: normal
8232    -->
8233    <permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"
8234                android:label="@string/permlab_updatePackagesWithoutUserAction"
8235                android:description="@string/permdesc_updatePackagesWithoutUserAction"
8236                android:protectionLevel="normal" />
8237    <uses-permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"/>
8238
8239    <!-- Allows an application to indicate via {@link
8240         android.content.pm.PackageInstaller.SessionParams#setRequestUpdateOwnership}
8241         that it has the intention of becoming the update owner.
8242         <p>Protection level: normal
8243         -->
8244    <permission android:name="android.permission.ENFORCE_UPDATE_OWNERSHIP"
8245                android:protectionLevel="normal" />
8246    <uses-permission android:name="android.permission.ENFORCE_UPDATE_OWNERSHIP" />
8247
8248
8249    <!-- Allows an application to take screenshots of layers that normally would be blacked out when
8250         a screenshot is taken. Specifically, layers that have the flag
8251         {@link android.view.SurfaceControl#SECURE} will be screenshot if the caller requests to
8252         capture secure layers. Normally those layers will be rendered black.
8253         <p>Not for use by third-party applications.
8254         @hide
8255    -->
8256    <permission android:name="android.permission.CAPTURE_BLACKOUT_CONTENT"
8257        android:protectionLevel="signature" />
8258
8259    <!-- @SystemApi Allows an application to query over global data in AppSearch.
8260           @hide -->
8261    <permission android:name="android.permission.READ_GLOBAL_APP_SEARCH_DATA"
8262                android:protectionLevel="internal|role" />
8263
8264    <!-- Allows an application to query over global data in AppSearch that's visible to the
8265         ASSISTANT role.  -->
8266    <permission android:name="android.permission.READ_ASSISTANT_APP_SEARCH_DATA"
8267        android:protectionLevel="internal|role" />
8268
8269    <!-- Allows an application to query over global data in AppSearch that's visible to the
8270         HOME role.  -->
8271    <permission android:name="android.permission.READ_HOME_APP_SEARCH_DATA"
8272        android:protectionLevel="internal|role" />
8273
8274    <!-- Allows an assistive application to perform actions on behalf of users inside of
8275         applications.
8276         <p>For now, this permission is only granted to the Assistant application selected by
8277         the user.
8278         <p>Protection level: internal|role
8279    -->
8280    <permission android:name="android.permission.EXECUTE_APP_ACTION"
8281                android:protectionLevel="internal|role" />
8282
8283    <!-- Must be required by an {@link android.app.appfunctions.AppFunctionService},
8284         to ensure that only the system can bind to it.
8285         <p>Protection level: signature
8286         @FlaggedApi("android.app.appfunctions.flags.enable_app_function_manager")  -->
8287    <permission android:name="android.permission.BIND_APP_FUNCTION_SERVICE"
8288        android:featureFlag="android.app.appfunctions.flags.enable_app_function_manager"
8289        android:protectionLevel="signature" />
8290
8291    <!-- @SystemApi Allows a trusted application to perform actions on behalf of users inside of
8292         applications with privacy guarantees from the system.
8293         <p>This permission is currently only granted to system packages in the
8294         {@link android.app.role.SYSTEM_UI_INTELLIGENCE} role which complies with privacy
8295         requirements outlined in the Android CDD section "9.8.6 Content Capture".
8296         <p>Apps are not able to opt-out from caller having this permission.
8297         <p>Protection level: internal|role
8298         @hide
8299         @FlaggedApi("android.app.appfunctions.flags.enable_app_function_manager")  -->
8300    <permission android:name="android.permission.EXECUTE_APP_FUNCTIONS_TRUSTED"
8301        android:featureFlag="android.app.appfunctions.flags.enable_app_function_manager"
8302        android:protectionLevel="internal|role" />
8303
8304    <!-- @SystemApi Allows an application to perform actions on behalf of users inside of
8305         applications.
8306         <p>This permission is currently only granted to preinstalled / system apps having the
8307         {@link android.app.role.ASSISTANT} role.
8308         <p>Apps contributing app functions can opt to disallow callers with this permission,
8309         limiting to only callers with {@link android.permission.EXECUTE_APP_FUNCTIONS_TRUSTED}
8310         instead.
8311         <p>Protection level: internal|role
8312         @hide
8313         @FlaggedApi("android.app.appfunctions.flags.enable_app_function_manager")  -->
8314    <permission android:name="android.permission.EXECUTE_APP_FUNCTIONS"
8315        android:featureFlag="android.app.appfunctions.flags.enable_app_function_manager"
8316        android:protectionLevel="internal|role" />
8317
8318    <!-- Allows an application to display its suggestions using the autofill framework.
8319         <p>For now, this permission is only granted to the Browser application.
8320         <p>Protection level: internal|role
8321    -->
8322    <permission android:name="android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS"
8323                android:protectionLevel="internal|role" />
8324
8325    <!-- @SystemApi Allows an application to create virtual devices in VirtualDeviceManager.
8326         @hide -->
8327    <permission android:name="android.permission.CREATE_VIRTUAL_DEVICE"
8328                android:protectionLevel="internal|role" />
8329
8330    <!-- @SystemApi Must be required by a safety source to send an update using the
8331             {@link android.safetycenter.SafetyCenterManager}.
8332             <p>Protection level: internal|privileged
8333             @hide
8334        -->
8335    <permission android:name="android.permission.SEND_SAFETY_CENTER_UPDATE"
8336                android:protectionLevel="internal|privileged" />
8337
8338    <!-- @SystemApi Allows an application to launch device manager setup screens.
8339         <p>Not for use by third-party applications.
8340         @hide
8341    -->
8342    <permission android:name="android.permission.LAUNCH_DEVICE_MANAGER_SETUP"
8343        android:protectionLevel="signature|role" />
8344
8345    <!-- @SystemApi Allows an application to update certain device management related system
8346         resources.
8347         @hide -->
8348    <permission android:name="android.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES"
8349                android:protectionLevel="signature|role" />
8350
8351    <!-- @SystemApi Allows an app to read whether SafetyCenter is enabled/disabled.
8352             <p>Protection level: signature|privileged
8353             @hide
8354        -->
8355    <permission android:name="android.permission.READ_SAFETY_CENTER_STATUS"
8356        android:protectionLevel="signature|privileged" />
8357
8358    <!-- @SystemApi Required to access the safety center internal APIs using the
8359             {@link android.safetycenter.SafetyCenterManager}.
8360             <p>Protection level: internal|installer|role
8361             @hide
8362        -->
8363    <permission android:name="android.permission.MANAGE_SAFETY_CENTER"
8364                android:protectionLevel="internal|installer|role" />
8365
8366    <!-- @SystemApi Allows an application to access the AmbientContextEvent service.
8367         @hide
8368    -->
8369    <permission android:name="android.permission.ACCESS_AMBIENT_CONTEXT_EVENT"
8370                android:protectionLevel="signature|privileged|role"/>
8371
8372    <!-- @SystemApi Required by a AmbientContextEventDetectionService
8373         to ensure that only the service with this permission can bind to it.
8374         @hide
8375    -->
8376    <permission android:name="android.permission.BIND_AMBIENT_CONTEXT_DETECTION_SERVICE"
8377                android:protectionLevel="signature" />
8378
8379    <!-- @SystemApi Allows an app to set keep-clear areas without restrictions on the size or
8380        number of keep-clear areas (see {@link android.view.View#setPreferKeepClearRects}).
8381        When the system arranges floating windows onscreen, it might decide to ignore keep-clear
8382        areas from windows, whose owner does not have this permission.
8383        @hide
8384    -->
8385    <permission android:name="android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS"
8386                android:protectionLevel="signature|privileged" />
8387
8388    <!-- Allows an app to set gesture exclusion without restrictions on the vertical extent of the
8389         exclusions (see {@link android.view.View#setSystemGestureExclusionRects}).
8390         @hide
8391    -->
8392    <permission android:name="android.permission.SET_UNRESTRICTED_GESTURE_EXCLUSION"
8393                android:protectionLevel="signature|privileged|recents" />
8394
8395    <!-- @SystemApi Allows TV input apps and TV apps to use TIS extension interfaces for
8396         domain-specific features.
8397         <p>Protection level: signature|privileged|vendorPrivileged
8398         <p>Not for use by third-party applications.
8399         @hide
8400    -->
8401    <permission android:name="android.permission.TIS_EXTENSION_INTERFACE"
8402        android:protectionLevel="signature|privileged|vendorPrivileged" />
8403
8404    <!-- @SystemApi Allows an application to write to the security log buffer in logd.
8405         @hide -->
8406    <permission android:name="android.permission.WRITE_SECURITY_LOG"
8407        android:protectionLevel="signature|privileged" />
8408
8409    <!-- Allows an UID to be visible to the application based on an interaction between the
8410         two apps. This permission is not intended to be held by apps.
8411         @hide @TestApi @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES) -->
8412    <permission android:name="android.permission.MAKE_UID_VISIBLE"
8413                android:protectionLevel="signature" />
8414
8415    <!-- Limits the system as the only handler of the QUERY_PACKAGE_RESTART broadcast
8416         @hide -->
8417    <permission android:name="android.permission.HANDLE_QUERY_PACKAGE_RESTART"
8418                android:protectionLevel="signature" />
8419
8420    <!-- Allows low-level access to re-mapping modifier keys.
8421         <p>Not for use by third-party applications.
8422         @hide
8423         @TestApi -->
8424    <permission android:name="android.permission.REMAP_MODIFIER_KEYS"
8425                android:protectionLevel="signature" />
8426
8427    <!-- Allows low-level access to monitor keyboard backlight changes.
8428         <p>Not for use by third-party applications.
8429         @hide -->
8430    <permission android:name="android.permission.MONITOR_KEYBOARD_BACKLIGHT"
8431                android:protectionLevel="signature" />
8432
8433    <!-- Allows low-level access to monitor sticky modifier state changes when A11Y Sticky keys
8434         feature is enabled.
8435         <p>Not for use by third-party applications.
8436         @hide -->
8437    <permission android:name="android.permission.MONITOR_STICKY_MODIFIER_STATE"
8438                android:protectionLevel="signature" />
8439
8440    <!-- Allows low-level access to manage key gestures.
8441         <p>Not for use by third-party applications.
8442         @hide -->
8443    <permission android:name="android.permission.MANAGE_KEY_GESTURES"
8444                android:protectionLevel="signature"
8445                android:featureFlag="com.android.hardware.input.manage_key_gestures" />
8446
8447    <uses-permission android:name="android.permission.HANDLE_QUERY_PACKAGE_RESTART" />
8448
8449    <!-- Allows financed device kiosk apps to perform actions on the Device Lock service
8450         <p>Protection level: internal|role
8451         <p>Intended for use by the FINANCED_DEVICE_KIOSK role only.
8452    -->
8453    <permission android:name="android.permission.MANAGE_DEVICE_LOCK_STATE"
8454                android:protectionLevel="internal|role" />
8455
8456    <!-- @SystemApi Required by a WearableSensingService to
8457          ensure that only the caller with this permission can bind to it.
8458          <p> Protection level: signature
8459     @hide
8460    -->
8461    <permission android:name="android.permission.BIND_WEARABLE_SENSING_SERVICE"
8462                android:protectionLevel="signature" />
8463
8464    <!-- @SystemApi Allows an app to manage the wearable sensing service.
8465             <p>Protection level: signature|privileged
8466             @hide
8467        -->
8468    <permission android:name="android.permission.MANAGE_WEARABLE_SENSING_SERVICE"
8469                android:protectionLevel="signature|privileged" />
8470
8471    <!-- @SystemApi Allows an app to use the on-device intelligence service.
8472             <p>Protection level: signature|privileged
8473             @hide
8474         @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence")
8475        -->
8476    <permission android:name="android.permission.USE_ON_DEVICE_INTELLIGENCE"
8477        android:protectionLevel="signature|privileged" />
8478
8479
8480    <!-- @SystemApi Allows an app to bind the on-device intelligence service.
8481             <p>Protection level: signature|privileged
8482             @hide
8483         @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence")
8484        -->
8485    <permission android:name="android.permission.BIND_ON_DEVICE_INTELLIGENCE_SERVICE"
8486        android:protectionLevel="signature|privileged" />
8487
8488
8489    <!-- @SystemApi Allows an app to bind the on-device sandboxed service.
8490             <p>Protection level: signature|privileged
8491             @hide
8492         @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence")
8493        -->
8494    <permission android:name="android.permission.BIND_ON_DEVICE_SANDBOXED_INFERENCE_SERVICE"
8495        android:protectionLevel="signature"/>
8496
8497
8498    <!-- Allows applications to use the user-initiated jobs API. For more details
8499         see {@link android.app.job.JobInfo.Builder#setUserInitiated}.
8500         <p>Protection level: normal
8501     -->
8502    <permission android:name="android.permission.RUN_USER_INITIATED_JOBS"
8503                android:protectionLevel="normal"/>
8504
8505    <!-- Allows an app access to the installer provided app metadata.
8506        @SystemApi
8507        @hide
8508      -->
8509    <permission android:name="android.permission.GET_APP_METADATA"
8510                android:protectionLevel="signature|installer|verifier" />
8511
8512    <!-- @hide @SystemApi Allows an application to stage HealthConnect's remote data so that
8513         HealthConnect can later integrate it. -->
8514    <permission android:name="android.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA"
8515                android:protectionLevel="signature|knownSigner"
8516                android:knownCerts="@array/config_healthConnectRestoreKnownSigners"/>
8517
8518    <!-- @hide @TestApi Allows an application to clear HealthConnect's staged remote data for
8519         testing only. For security reasons, this is a platform-only permission. -->
8520    <permission android:name="android.permission.DELETE_STAGED_HEALTH_CONNECT_REMOTE_DATA"
8521                android:protectionLevel="signature" />
8522
8523    <!-- @hide @TestApi Allows tests running in CTS-in-sandbox mode to launch activities -->
8524    <permission android:name="android.permission.START_ACTIVITIES_FROM_SDK_SANDBOX"
8525                android:protectionLevel="signature" />
8526
8527    <!-- @SystemApi Allows the holder to call health connect migration APIs.
8528        @hide -->
8529    <permission android:name="android.permission.MIGRATE_HEALTH_CONNECT_DATA"
8530        android:protectionLevel="signature|knownSigner"
8531        android:knownCerts="@array/config_healthConnectMigrationKnownSigners" />
8532
8533    <!-- @hide @SystemApi Allows permitted apps to back up Health Connect data and settings.
8534             <p>Protection level: signature|knownSigner
8535         @FlaggedApi("android.permission.flags.health_connect_backup_restore_permission_enabled")
8536    -->
8537    <permission
8538        android:name="android.permission.BACKUP_HEALTH_CONNECT_DATA_AND_SETTINGS"
8539        android:protectionLevel="signature|knownSigner"
8540        android:knownCerts="@array/config_backupHealthConnectDataAndSettingsKnownSigners"
8541        android:featureFlag="android.permission.flags.health_connect_backup_restore_permission_enabled" />
8542
8543    <!-- @hide @SystemApi Allows permitted apps to restore Health Connect data and settings.
8544             <p>Protection level: signature|knownSigner
8545         @FlaggedApi("android.permission.flags.health_connect_backup_restore_permission_enabled")
8546    -->
8547    <permission
8548        android:name="android.permission.RESTORE_HEALTH_CONNECT_DATA_AND_SETTINGS"
8549        android:protectionLevel="signature|knownSigner"
8550        android:knownCerts="@array/config_restoreHealthConnectDataAndSettingsKnownSigners"
8551        android:featureFlag="android.permission.flags.health_connect_backup_restore_permission_enabled" />
8552
8553    <!-- @SystemApi Allows an app to query apps in clone profile. The permission is
8554         bidirectional in nature, i.e. cloned apps would be able to query apps in root user.
8555         The permission is not meant for 3P apps as of now.
8556         <p>Protection level: signature|privileged
8557         @hide
8558    -->
8559    <permission android:name="android.permission.QUERY_CLONED_APPS"
8560                android:protectionLevel="signature|privileged" />
8561
8562    <!-- @hide @SystemApi
8563         Allows applications to capture bugreport directly without consent dialog when using the
8564         bugreporting API on userdebug/eng build.
8565         <p>The application still needs to hold {@link android.permission.DUMP} permission and be
8566         bugreport-whitelisted to be able to capture a bugreport using the bugreporting API in the
8567         first place. Then, when the corresponding app op of this permission is ALLOWED, the
8568         bugreport can be captured directly without going through the consent dialog.
8569         <p>Protection level: internal|appop
8570         <p>Intended to only be used on userdebug/eng build.
8571         <p>Not for use by third-party applications. -->
8572    <permission android:name="android.permission.CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD"
8573                android:protectionLevel="internal|appop" />
8574
8575    <!-- @hide @SystemApi
8576         @FlaggedApi(android.os.Flags.FLAG_ALLOW_CONSENTLESS_BUGREPORT_DELEGATED_CONSENT)
8577         Allows system applications to capture bugreport directly without consent dialog when using
8578         the bugreporting API, and instead use the applications-owned consent page.
8579         <p>The application still needs to hold {@link android.permission.DUMP} permission and be
8580         bugreport-whitelisted to be able to capture a bugreport using the bugreporting API in the
8581         first place.
8582         <p>Protection level: signature|privileged
8583         <p>Not for use by third-party applications. -->
8584    <permission
8585        android:name="android.permission.CAPTURE_CONSENTLESS_BUGREPORT_DELEGATED_CONSENT"
8586        android:protectionLevel="signature|privileged"
8587        android:featureFlag="android.os.allow_consentless_bugreport_delegated_consent" />
8588
8589    <!-- @SystemApi Allows to call APIs that log process lifecycle events
8590         @hide -->
8591    <permission android:name="android.permission.LOG_FOREGROUND_RESOURCE_USE"
8592                android:protectionLevel="signature|module" />
8593
8594    <!-- @hide Allows the settings app to access GPU service APIs".
8595        <p>Not for use by third-party applications.
8596        <p>Protection level: signature
8597    -->
8598    <permission android:name="android.permission.ACCESS_GPU_SERVICE"
8599                android:protectionLevel="signature" />
8600
8601    <!-- @hide Allows an application to get type of any provider uri.
8602         <p>Not for use by third-party applications.
8603         <p>Protection level: signature
8604    -->
8605    <permission android:name="android.permission.GET_ANY_PROVIDER_TYPE"
8606                android:protectionLevel="signature" />
8607
8608
8609    <!-- @hide Allows internal applications to read and synchronize non-core flags.
8610         Apps without this permission can only read a subset of flags specifically intended
8611         for use in "core", (i.e. third party apps). Apps with this permission can define their
8612         own flags, and federate those values with other system-level apps.
8613         <p>Not for use by third-party applications.
8614         <p>Protection level: signature
8615    -->
8616    <permission android:name="android.permission.SYNC_FLAGS"
8617        android:protectionLevel="signature" />
8618
8619    <!-- @hide Allows internal applications to override flags in the FeatureFlags service.
8620         <p>Not for use by third-party applications.
8621         <p>Protection level: signature
8622    -->
8623    <permission android:name="android.permission.WRITE_FLAGS"
8624        android:protectionLevel="signature" />
8625
8626    <!-- @hide @SystemApi
8627         @FlaggedApi("android.app.get_binding_uid_importance")
8628         Allows to get the importance of an UID that has a service
8629         binding to the app.
8630         <p>Protection level: signature|privileged
8631    -->
8632    <permission android:name="android.permission.GET_BINDING_UID_IMPORTANCE"
8633        android:protectionLevel="signature|privileged" />
8634
8635    <!-- @hide Allows internal applications to manage displays.
8636        <p>This means intercept internal signals about displays being (dis-)connected
8637        and being able to enable or disable the external displays.
8638        <p>Not for use by third-party applications.
8639        <p>Protection level: signature
8640    -->
8641    <permission android:name="android.permission.MANAGE_DISPLAYS"
8642        android:protectionLevel="signature" />
8643
8644    <!-- @SystemApi Allows an app to track all preparations for a complete factory reset.
8645     <p>Protection level: signature|privileged
8646     @FlaggedApi("android.permission.flags.factory_reset_prep_permission_apis")
8647     @hide -->
8648    <permission android:name="android.permission.PREPARE_FACTORY_RESET"
8649        android:protectionLevel="signature|privileged" />
8650
8651    <!-- @SystemApi Allows focused window to override the default behavior of supported system keys.
8652        The following keycodes are supported:
8653        <p> KEYCODE_STEM_PRIMARY
8654        <p>If an app is granted this permission and has a focused window, it will be allowed to
8655           receive supported key events that are otherwise handled by the system. The app can choose
8656           to consume the key events and trigger its own behavior, in which case the default key
8657           behavior will be skipped.
8658        <p>For example, KEYCODE_STEM_PRIMARY by default opens recent app launcher. If the foreground
8659           fitness app is granted this permission, it can repurpose the KEYCODE_STEM_PRIMARY button
8660           to pause/resume the current fitness session.
8661        <p>Protection level: signature|privileged
8662        @FlaggedApi("com.android.input.flags.override_key_behavior_permission_apis")
8663        @hide -->
8664    <permission android:name="android.permission.OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW"
8665        android:protectionLevel="signature|privileged" />
8666
8667    <!-- @hide @SystemApi
8668        @FlaggedApi("android.view.flags.sensitive_content_app_protection_api")
8669        Allows apps with a NotificationListenerService to receive notifications with sensitive
8670        information
8671        <p>Apps with a NotificationListenerService without this permission will not be able
8672        to view certain types of sensitive information contained in notifications
8673        <p>Protection level: signature|role
8674    -->
8675    <permission android:name="android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS"
8676        android:protectionLevel="signature|role" />
8677
8678    <!-- @SystemApi
8679         @FlaggedApi("android.app.bic_client")
8680         Allows app to call BackgroundInstallControlManager API to retrieve silently installed apps
8681         for all users on device.
8682         <p>Apps with a BackgroundInstallControlManager client will not be able to call any API without
8683         this permission.
8684         <p>Protection level: signature|role
8685         @hide
8686     -->
8687    <permission android:name="android.permission.GET_BACKGROUND_INSTALLED_PACKAGES"
8688        android:protectionLevel="signature|role" />
8689
8690    <!-- @SystemApi Allows an application to read the system grammatical gender.
8691         @FlaggedApi("android.app.system_terms_of_address_enabled")
8692         <p>Protection level: signature|privileged
8693         @hide
8694    -->
8695    <permission android:name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER"
8696                android:protectionLevel="signature|privileged"/>
8697
8698    <!-- @SystemApi
8699        @FlaggedApi("android.content.pm.emergency_install_permission")
8700        Allows each app store in the system image to designate another app in the system image to
8701        update the app store
8702        <p>Protection level: signature|privileged
8703        @hide
8704    -->
8705    <permission android:name="android.permission.EMERGENCY_INSTALL_PACKAGES"
8706                android:protectionLevel="signature|privileged"/>
8707
8708    <!-- Allows internal applications to restrict display modes
8709       <p>Not for use by third-party applications.
8710       <p>Protection level: signature
8711       @hide
8712    -->
8713    <permission android:name="android.permission.RESTRICT_DISPLAY_MODES"
8714        android:protectionLevel="signature" />
8715
8716    <!-- Allows internal applications to override screen timeout temporarily
8717        <p>Protection level: signature
8718        <p>Not for use by third-party applications.
8719        @FlaggedApi("com.android.server.power.feature.flags.enable_early_screen_timeout_detector")
8720        @hide
8721    -->
8722    <permission android:name="android.permission.SCREEN_TIMEOUT_OVERRIDE"
8723                android:protectionLevel="signature" />
8724
8725    <!-- @SystemApi
8726        @FlaggedApi("android.security.fsverity_api")
8727        Allows app to setup fs-verity through FileIntegrityManager.
8728        <p>Protection level: signature|privileged
8729        @hide
8730    -->
8731    <permission android:name="android.permission.SETUP_FSVERITY"
8732                android:protectionLevel="signature|privileged"/>
8733
8734    <!-- @SystemApi
8735        @FlaggedApi(android.security.Flags.FLAG_SECURE_LOCKDOWN)
8736        Allows an application to lock down the device into an enhanced security state.
8737        <p>Not for use by third-party applications.
8738        <p>Protection level: signature|privileged
8739        @hide
8740    -->
8741    <permission android:name="android.permission.MANAGE_SECURE_LOCK_DEVICE"
8742        android:protectionLevel="signature|privileged"
8743        android:featureFlag="android.security.secure_lockdown" />
8744
8745    <!-- Allows app to enter trade-in-mode.
8746        <p>Protection level: signature
8747        @hide
8748    -->
8749    <permission android:name="android.permission.ENTER_TRADE_IN_MODE"
8750                android:protectionLevel="signature|privileged"
8751                android:featureFlag="com.android.tradeinmode.flags.enable_trade_in_mode" />
8752
8753    <!-- @SystemApi
8754        @FlaggedApi(com.android.art.flags.Flags.FLAG_EXECUTABLE_METHOD_FILE_OFFSETS)
8755        Ability to read program metadata and attach dynamic instrumentation.
8756        <p>Protection level: signature
8757        @hide
8758    -->
8759    <permission android:name="android.permission.DYNAMIC_INSTRUMENTATION"
8760                android:protectionLevel="signature"
8761                android:featureFlag="com.android.art.flags.executable_method_file_offsets" />
8762
8763    <!--
8764        @TestApi
8765        Signature permission reserved for testing. This should never be used to
8766        gate any actual functionality.
8767        <p>
8768        Protection level: signature
8769        @hide
8770    -->
8771    <permission android:name="android.permission.RESERVED_FOR_TESTING_SIGNATURE"
8772                android:protectionLevel="signature"/>
8773
8774    <!--
8775        This permission allows the system to receive PACKAGE_CHANGED broadcasts when the component
8776        state of a non-exported component has been changed.
8777        <p>Not for use by third-party applications. </p>
8778        <p>Protection level: internal
8779        @hide
8780    -->
8781    <permission
8782        android:name="android.permission.INTERNAL_RECEIVE_PACKAGE_CHANGED_BROADCAST_ON_COMPONENT_STATE_CHANGED"
8783        android:protectionLevel="internal"
8784        android:featureFlag="android.content.pm.reduce_broadcasts_for_component_state_changes"/>
8785
8786    <uses-permission
8787        android:name="android.permission.INTERNAL_RECEIVE_PACKAGE_CHANGED_BROADCAST_ON_COMPONENT_STATE_CHANGED"
8788        android:featureFlag="android.content.pm.reduce_broadcasts_for_component_state_changes"/>
8789
8790    <!-- @SystemApi
8791        @FlaggedApi("android.media.tv.flags.kids_mode_tvdb_sharing")
8792        This permission is required when accessing information related to
8793        singleUser-ed TIS session.
8794        <p>This should only be used by OEM.
8795        <p>Protection level: signature|privileged|vendorPrivileged
8796        @hide
8797    -->
8798    <permission android:name="android.permission.SINGLE_USER_TIS_ACCESS"
8799        android:protectionLevel="signature|privileged|vendorPrivileged"
8800        android:featureFlag="android.media.tv.flags.kids_mode_tvdb_sharing"/>
8801
8802    <!-- @SystemApi
8803        @FlaggedApi("android.permission.flags.text_classifier_choice_api_enabled")
8804        This permission is required to access the specific text classifier you need from the
8805        TextClassificationManager.
8806        <p>Protection level: signature|role
8807    @hide
8808    -->
8809    <permission android:name="android.permission.ACCESS_TEXT_CLASSIFIER_BY_TYPE"
8810        android:protectionLevel="signature|role"
8811        android:featureFlag="android.permission.flags.text_classifier_choice_api_enabled"/>
8812
8813    <!-- Attribution for Geofencing service. -->
8814    <attribution android:tag="GeofencingService" android:label="@string/geofencing_service"/>
8815    <!-- Attribution for Country Detector. -->
8816    <attribution android:tag="CountryDetector" android:label="@string/country_detector"/>
8817    <!-- Attribution for Location service. -->
8818    <attribution android:tag="LocationService" android:label="@string/location_service"/>
8819    <!-- Attribution for Gnss service. -->
8820    <attribution android:tag="GnssService" android:label="@string/gnss_service"/>
8821    <!-- Attribution for Sensor Notification service. -->
8822    <attribution android:tag="SensorNotificationService"
8823             android:label="@string/sensor_notification_service"/>
8824    <!-- Attribution for Twilight service. -->
8825    <attribution android:tag="TwilightService" android:label="@string/twilight_service"/>
8826    <!-- Attribution for Gnss Time Update service. -->
8827    <attribution android:tag="GnssTimeUpdateService"
8828                 android:label="@string/gnss_time_update_service"/>
8829    <!-- Attribution for MusicRecognitionManagerService.
8830         <p>Not for use by third-party applications.</p> -->
8831    <attribution android:tag="MusicRecognitionManagerService"
8832        android:label="@string/music_recognition_manager_service"/>
8833    <!-- Attribution for Device Policy Manager service. -->
8834    <attribution android:tag="DevicePolicyManagerService"
8835        android:label="@string/device_policy_manager_service"/>
8836
8837    <application android:process="system"
8838                 android:persistent="true"
8839                 android:hasCode="false"
8840                 android:label="@string/android_system_label"
8841                 android:allowClearUserData="false"
8842                 android:backupAgent="com.android.server.backup.SystemBackupAgent"
8843                 android:killAfterRestore="false"
8844                 android:icon="@drawable/ic_launcher_android"
8845                 android:supportsRtl="true"
8846                 android:theme="@style/Theme.DeviceDefault.Light.DarkActionBar"
8847                 android:defaultToDeviceProtectedStorage="true"
8848                 android:forceQueryable="true"
8849                 android:directBootAware="true">
8850        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityShortcutChooserActivity"
8851                  android:exported="false"
8852                  android:theme="@style/Theme.DeviceDefault.Dialog.Alert.DayNight"
8853                  android:finishOnCloseSystemDialogs="true"
8854                  android:excludeFromRecents="true"
8855                  android:documentLaunchMode="never"
8856                  android:relinquishTaskIdentity="true"
8857                  android:process=":ui"
8858                  android:visibleToInstantApps="true">
8859            <intent-filter>
8860                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
8861                <category android:name="android.intent.category.DEFAULT" />
8862            </intent-filter>
8863        </activity>
8864        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityButtonChooserActivity"
8865                  android:exported="false"
8866                  android:theme="@style/AccessibilityButtonChooserDialog"
8867                  android:finishOnCloseSystemDialogs="true"
8868                  android:excludeFromRecents="true"
8869                  android:documentLaunchMode="never"
8870                  android:relinquishTaskIdentity="true"
8871                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
8872                  android:process=":ui"
8873                  android:visibleToInstantApps="true">
8874            <intent-filter>
8875                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
8876                <category android:name="android.intent.category.DEFAULT" />
8877            </intent-filter>
8878        </activity>
8879        <activity android:name="com.android.internal.app.NfcResolverActivity"
8880                android:theme="@style/Theme.Dialog.Alert"
8881                android:finishOnCloseSystemDialogs="true"
8882                android:excludeFromRecents="true"
8883                android:multiprocess="true"
8884                android:permission="android.permission.SHOW_CUSTOMIZED_RESOLVER"
8885                android:exported="true">
8886            <intent-filter android:priority="100" >
8887                <action android:name="android.nfc.action.SHOW_NFC_RESOLVER" />
8888                <category android:name="android.intent.category.DEFAULT" />
8889            </intent-filter>
8890        </activity>
8891        <activity android:name="com.android.internal.app.IntentForwarderActivity"
8892                android:finishOnCloseSystemDialogs="true"
8893                android:theme="@style/Theme.DeviceDefault.Resolver"
8894                android:excludeFromRecents="true"
8895                android:documentLaunchMode="never"
8896                android:relinquishTaskIdentity="true"
8897                android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
8898                android:label="@string/user_owner_label"
8899                android:exported="true"
8900                android:visibleToInstantApps="true"
8901                >
8902        </activity>
8903        <activity-alias android:name="com.android.internal.app.ForwardIntentToParent"
8904                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
8905                android:exported="true"
8906                android:label="@string/user_owner_label">
8907        </activity-alias>
8908        <activity-alias android:name="com.android.internal.app.ForwardIntentToManagedProfile"
8909                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
8910                android:icon="@drawable/ic_corp_badge"
8911                android:exported="true"
8912                android:label="@string/managed_profile_label">
8913        </activity-alias>
8914        <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
8915                android:theme="@style/Theme.DeviceDefault.System.Dialog.Alert"
8916                android:label="@string/heavy_weight_switcher_title"
8917                android:finishOnCloseSystemDialogs="true"
8918                android:excludeFromRecents="true"
8919                android:process=":ui">
8920        </activity>
8921        <activity android:name="com.android.internal.app.PlatLogoActivity"
8922                android:theme="@style/Theme.NoTitleBar.Fullscreen"
8923                android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
8924                android:enableOnBackInvokedCallback="true"
8925                android:icon="@drawable/platlogo"
8926                android:process=":ui">
8927        </activity>
8928        <activity android:name="com.android.internal.app.DisableCarModeActivity"
8929                android:theme="@style/Theme.NoDisplay"
8930                android:excludeFromRecents="true"
8931                android:process=":ui">
8932        </activity>
8933
8934        <activity android:name="android.accounts.ChooseAccountActivity"
8935                android:excludeFromRecents="true"
8936                android:exported="true"
8937                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
8938                android:label="@string/choose_account_label"
8939                android:process=":ui"
8940                android:visibleToInstantApps="true">
8941        </activity>
8942
8943        <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
8944                android:excludeFromRecents="true"
8945                android:exported="true"
8946                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
8947                android:label="@string/choose_account_label"
8948                android:process=":ui"
8949                android:visibleToInstantApps="true">
8950        </activity>
8951
8952        <activity android:name="android.accounts.ChooseAccountTypeActivity"
8953                android:excludeFromRecents="true"
8954                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
8955                android:label="@string/choose_account_label"
8956                android:process=":ui"
8957                android:visibleToInstantApps="true">
8958        </activity>
8959
8960        <activity android:name="android.accounts.CantAddAccountActivity"
8961                android:excludeFromRecents="true"
8962                android:exported="true"
8963                android:theme="@style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
8964                android:process=":ui">
8965        </activity>
8966
8967        <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
8968                android:excludeFromRecents="true"
8969                android:exported="true"
8970                android:theme="@style/GrantCredentialsPermissionActivity"
8971                android:process=":ui"
8972                android:visibleToInstantApps="true">
8973        </activity>
8974
8975        <activity android:name="android.content.SyncActivityTooManyDeletes"
8976               android:theme="@style/Theme.DeviceDefault.Light.Dialog"
8977               android:label="@string/sync_too_many_deletes"
8978               android:process=":ui">
8979        </activity>
8980
8981        <activity android:name="com.android.internal.app.ShutdownActivity"
8982            android:permission="android.permission.SHUTDOWN"
8983            android:theme="@style/Theme.NoDisplay"
8984            android:exported="true"
8985            android:excludeFromRecents="true">
8986            <intent-filter>
8987                <action android:name="com.android.internal.intent.action.REQUEST_SHUTDOWN" />
8988                <category android:name="android.intent.category.DEFAULT" />
8989            </intent-filter>
8990            <intent-filter>
8991                <action android:name="android.intent.action.REBOOT" />
8992                <category android:name="android.intent.category.DEFAULT" />
8993            </intent-filter>
8994        </activity>
8995
8996        <activity android:name="com.android.internal.app.SystemUserHomeActivity"
8997                  android:enabled="false"
8998                  android:process=":ui"
8999                  android:systemUserOnly="true"
9000                  android:exported="true"
9001                  android:theme="@style/Theme.Translucent.NoTitleBar">
9002            <intent-filter android:priority="-100">
9003                <action android:name="android.intent.action.MAIN" />
9004                <category android:name="android.intent.category.HOME" />
9005            </intent-filter>
9006        </activity>
9007
9008        <!-- Activity to prompt user if it's ok to create a new user sandbox for a
9009             specified account. -->
9010        <activity android:name="com.android.internal.app.ConfirmUserCreationActivity"
9011                android:excludeFromRecents="true"
9012                android:process=":ui"
9013                android:exported="true"
9014                android:theme="@style/Theme.Dialog.Confirmation">
9015            <intent-filter android:priority="1000">
9016                <action android:name="android.os.action.CREATE_USER" />
9017                <category android:name="android.intent.category.DEFAULT" />
9018            </intent-filter>
9019        </activity>
9020
9021        <activity android:name="com.android.internal.app.SuspendedAppActivity"
9022                  android:theme="@style/Theme.Dialog.Confirmation"
9023                  android:excludeFromRecents="true"
9024                  android:process=":ui">
9025        </activity>
9026
9027        <activity android:name="com.android.internal.app.UnlaunchableAppActivity"
9028                android:theme="@style/Theme.Dialog.Confirmation"
9029                android:excludeFromRecents="true"
9030                android:process=":ui">
9031        </activity>
9032
9033        <activity android:name="com.android.internal.app.SetScreenLockDialogActivity"
9034                  android:theme="@style/Theme.Dialog.Confirmation"
9035                  android:excludeFromRecents="true"
9036                  android:process=":ui">
9037        </activity>
9038
9039        <activity android:name="com.android.internal.app.BlockedAppActivity"
9040                android:theme="@style/Theme.Dialog.Confirmation"
9041                android:excludeFromRecents="true"
9042                android:lockTaskMode="always"
9043                android:process=":ui">
9044        </activity>
9045
9046        <!-- BlockedAppStreamingActivity is launched as the system user. -->
9047        <activity android:name="com.android.internal.app.BlockedAppStreamingActivity"
9048            android:theme="@style/Theme.Dialog.Confirmation"
9049            android:excludeFromRecents="true"
9050            android:showForAllUsers="true"
9051            android:process=":ui">
9052        </activity>
9053
9054        <activity android:name="com.android.internal.app.LaunchAfterAuthenticationActivity"
9055                  android:theme="@style/Theme.Translucent.NoTitleBar"
9056                  android:excludeFromRecents="true"
9057                  android:process=":ui">
9058        </activity>
9059
9060        <activity android:name="com.android.settings.notification.NotificationAccessConfirmationActivity"
9061                  android:theme="@style/Theme.Dialog.Confirmation"
9062                  android:excludeFromRecents="true">
9063        </activity>
9064
9065        <activity android:name="com.android.internal.app.HarmfulAppWarningActivity"
9066                  android:theme="@style/Theme.Dialog.Confirmation"
9067                  android:excludeFromRecents="true"
9068                  android:process=":ui"
9069                  android:label="@string/harmful_app_warning_title"
9070                  android:exported="false">
9071        </activity>
9072
9073        <activity android:name="com.android.server.notification.NASLearnMoreActivity"
9074                  android:theme="@style/Theme.Dialog.Confirmation"
9075                  android:excludeFromRecents="true"
9076                  android:exported="false">
9077        </activity>
9078
9079        <activity android:name="android.service.games.GameSessionTrampolineActivity"
9080                  android:excludeFromRecents="true"
9081                  android:exported="true"
9082                  android:permission="android.permission.MANAGE_GAME_ACTIVITY"
9083                  android:theme="@style/Theme.GameSessionTrampoline">
9084        </activity>
9085
9086        <receiver android:name="com.android.server.BootReceiver"
9087                android:exported="true"
9088                android:systemUserOnly="true">
9089            <intent-filter android:priority="1000">
9090                <action android:name="android.intent.action.BOOT_COMPLETED" />
9091            </intent-filter>
9092        </receiver>
9093
9094        <receiver android:name="com.android.server.updates.CertPinInstallReceiver"
9095                android:exported="true"
9096                android:permission="android.permission.UPDATE_CONFIG">
9097            <intent-filter>
9098                <action android:name="android.intent.action.UPDATE_PINS" />
9099                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9100            </intent-filter>
9101        </receiver>
9102
9103        <receiver android:name="com.android.server.updates.IntentFirewallInstallReceiver"
9104                android:exported="true"
9105                android:permission="android.permission.UPDATE_CONFIG">
9106            <intent-filter>
9107                <action android:name="android.intent.action.UPDATE_INTENT_FIREWALL" />
9108                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9109            </intent-filter>
9110        </receiver>
9111
9112        <receiver android:name="com.android.server.updates.SmsShortCodesInstallReceiver"
9113                android:exported="true"
9114                android:permission="android.permission.UPDATE_CONFIG">
9115            <intent-filter>
9116                <action android:name="android.intent.action.UPDATE_SMS_SHORT_CODES" />
9117                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9118            </intent-filter>
9119        </receiver>
9120
9121        <receiver android:name="com.android.server.updates.NetworkWatchlistInstallReceiver"
9122                  android:exported="true"
9123                  android:permission="android.permission.UPDATE_CONFIG">
9124            <intent-filter>
9125                <action android:name="android.intent.action.UPDATE_NETWORK_WATCHLIST" />
9126                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9127            </intent-filter>
9128        </receiver>
9129
9130        <receiver android:name="com.android.server.updates.ApnDbInstallReceiver"
9131                android:exported="true"
9132                android:permission="android.permission.UPDATE_CONFIG">
9133            <intent-filter>
9134                <action android:name="com.android.internal.intent.action.UPDATE_APN_DB" />
9135                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9136            </intent-filter>
9137        </receiver>
9138
9139        <receiver android:name="com.android.server.updates.CarrierProvisioningUrlsInstallReceiver"
9140                android:exported="true"
9141                android:permission="android.permission.UPDATE_CONFIG">
9142            <intent-filter>
9143                <action android:name="android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS" />
9144                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9145            </intent-filter>
9146        </receiver>
9147
9148        <receiver android:name="com.android.server.updates.CertificateTransparencyLogInstallReceiver"
9149                android:exported="true"
9150                android:permission="android.permission.UPDATE_CONFIG">
9151            <intent-filter>
9152                <action android:name="android.intent.action.UPDATE_CT_LOGS" />
9153                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9154            </intent-filter>
9155        </receiver>
9156
9157        <receiver android:name="com.android.server.updates.LangIdInstallReceiver"
9158                android:exported="true"
9159                android:permission="android.permission.UPDATE_CONFIG">
9160            <intent-filter>
9161                <action android:name="android.intent.action.UPDATE_LANG_ID" />
9162                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9163            </intent-filter>
9164        </receiver>
9165
9166        <receiver android:name="com.android.server.updates.SmartSelectionInstallReceiver"
9167                android:exported="true"
9168                android:permission="android.permission.UPDATE_CONFIG">
9169            <intent-filter>
9170                <action android:name="android.intent.action.UPDATE_SMART_SELECTION" />
9171                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9172            </intent-filter>
9173        </receiver>
9174
9175        <receiver android:name="com.android.server.updates.ConversationActionsInstallReceiver"
9176                  android:exported="true"
9177                  android:permission="android.permission.UPDATE_CONFIG">
9178            <intent-filter>
9179                <action android:name="android.intent.action.UPDATE_CONVERSATION_ACTIONS" />
9180                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9181            </intent-filter>
9182        </receiver>
9183
9184        <receiver android:name="com.android.server.updates.CarrierIdInstallReceiver"
9185                  android:exported="true"
9186                  android:permission="android.permission.UPDATE_CONFIG">
9187            <intent-filter>
9188                <action android:name="android.os.action.UPDATE_CARRIER_ID_DB" />
9189                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9190            </intent-filter>
9191        </receiver>
9192
9193        <receiver android:name="com.android.server.updates.EmergencyNumberDbInstallReceiver"
9194                  android:exported="true"
9195                  android:permission="android.permission.UPDATE_CONFIG">
9196            <intent-filter>
9197                <action android:name="android.os.action.UPDATE_EMERGENCY_NUMBER_DB" />
9198                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
9199            </intent-filter>
9200        </receiver>
9201
9202        <receiver android:name="com.android.server.MasterClearReceiver"
9203            android:exported="true"
9204            android:permission="android.permission.MASTER_CLEAR">
9205            <intent-filter
9206                    android:priority="100" >
9207                <!-- For Checkin, Settings, etc.: action=FACTORY_RESET -->
9208                <action android:name="android.intent.action.FACTORY_RESET" />
9209                <!-- As above until all the references to the deprecated MASTER_CLEAR get updated to
9210                     FACTORY_RESET. -->
9211                <action android:name="android.intent.action.MASTER_CLEAR" />
9212
9213                <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
9214                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
9215                <category android:name="android.intent.category.MASTER_CLEAR" />
9216            </intent-filter>
9217        </receiver>
9218
9219        <receiver android:name="com.android.server.WallpaperUpdateReceiver"
9220                  android:exported="true"
9221                  android:permission="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY">
9222            <intent-filter>
9223                <action android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY"/>
9224            </intent-filter>
9225        </receiver>
9226
9227        <!-- Broadcast Receiver listens to sufficient verifier broadcast from Package Manager
9228            when installing new SDK. Verification of SDK code during installation time is run
9229            to determine compatibility with privacy sandbox restrictions. -->
9230        <receiver android:name="com.android.server.sdksandbox.SdkSandboxVerifierReceiver"
9231                 android:exported="false">
9232            <intent-filter>
9233                <action android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION"/>
9234            </intent-filter>
9235        </receiver>
9236
9237        <service android:name="android.hardware.location.GeofenceHardwareService"
9238            android:permission="android.permission.LOCATION_HARDWARE"
9239            android:exported="false" />
9240
9241        <service android:name="com.android.server.MountServiceIdler"
9242                 android:exported="true"
9243                 android:permission="android.permission.BIND_JOB_SERVICE" >
9244        </service>
9245
9246        <service android:name="com.android.server.SmartStorageMaintIdler"
9247                android:exported="true"
9248                android:permission="android.permission.BIND_JOB_SERVICE" >
9249        </service>
9250
9251        <service android:name="com.android.server.ZramWriteback"
9252                 android:exported="false"
9253                 android:permission="android.permission.BIND_JOB_SERVICE" >
9254        </service>
9255
9256        <service android:name="com.android.server.backup.FullBackupJob"
9257                 android:exported="true"
9258                 android:permission="android.permission.BIND_JOB_SERVICE" >
9259        </service>
9260
9261        <service android:name="com.android.server.backup.KeyValueBackupJob"
9262                 android:permission="android.permission.BIND_JOB_SERVICE" >
9263        </service>
9264
9265        <service android:name="com.android.server.content.SyncJobService"
9266                 android:permission="android.permission.BIND_JOB_SERVICE" >
9267        </service>
9268
9269        <service android:name="com.android.server.pm.BackgroundDexOptJobService"
9270                 android:exported="true"
9271                 android:permission="android.permission.BIND_JOB_SERVICE">
9272        </service>
9273
9274        <service android:name="com.android.server.pm.DynamicCodeLoggingService"
9275                 android:permission="android.permission.BIND_JOB_SERVICE">
9276        </service>
9277
9278        <service android:name="com.android.server.selinux.SelinuxAuditLogsService"
9279                 android:permission="android.permission.BIND_JOB_SERVICE">
9280        </service>
9281
9282        <service android:name="com.android.server.compos.IsolatedCompilationJobService"
9283                 android:permission="android.permission.BIND_JOB_SERVICE">
9284        </service>
9285
9286        <service android:name="com.android.system.virtualmachine.SecretkeeperJobService"
9287                 android:permission="android.permission.BIND_JOB_SERVICE">
9288        </service>
9289
9290        <service android:name="com.android.server.PruneInstantAppsJobService"
9291                 android:permission="android.permission.BIND_JOB_SERVICE" >
9292        </service>
9293
9294        <service android:name="com.android.server.storage.DiskStatsLoggingService"
9295                 android:permission="android.permission.BIND_JOB_SERVICE" >
9296        </service>
9297
9298        <service android:name="com.android.server.PreloadsFileCacheExpirationJobService"
9299                 android:permission="android.permission.BIND_JOB_SERVICE" >
9300        </service>
9301
9302        <service android:name="com.android.server.camera.CameraStatsJobService"
9303                 android:permission="android.permission.BIND_JOB_SERVICE" >
9304        </service>
9305
9306        <service android:name="com.android.server.usage.UsageStatsIdleService"
9307                 android:permission="android.permission.BIND_JOB_SERVICE" >
9308        </service>
9309
9310        <service android:name="com.android.server.net.watchlist.ReportWatchlistJobService"
9311                 android:permission="android.permission.BIND_JOB_SERVICE" >
9312        </service>
9313
9314        <service android:name="com.android.server.display.BrightnessIdleJob"
9315                 android:permission="android.permission.BIND_JOB_SERVICE" >
9316        </service>
9317
9318        <service android:name="com.android.server.people.data.DataMaintenanceService"
9319                 android:permission="android.permission.BIND_JOB_SERVICE" >
9320        </service>
9321
9322        <service android:name="com.android.server.profcollect.ProfcollectForwardingService$ProfcollectBGJobService"
9323                 android:permission="android.permission.BIND_JOB_SERVICE" >
9324        </service>
9325
9326        <service android:name="com.android.server.pm.GentleUpdateHelper$Service"
9327            android:permission="android.permission.BIND_JOB_SERVICE" >
9328        </service>
9329
9330        <service
9331                android:name="com.android.server.autofill.AutofillCompatAccessibilityService"
9332                android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
9333                android:visibleToInstantApps="true"
9334                android:exported="true">
9335            <meta-data
9336                    android:name="android.accessibilityservice"
9337                    android:resource="@xml/autofill_compat_accessibility_service" />
9338        </service>
9339
9340        <service android:name="com.android.server.blob.BlobStoreIdleJobService"
9341                 android:permission="android.permission.BIND_JOB_SERVICE">
9342        </service>
9343
9344        <service android:name="com.android.server.companion.association.InactiveAssociationsRemovalService"
9345                 android:permission="android.permission.BIND_JOB_SERVICE">
9346        </service>
9347
9348        <service android:name="com.android.server.appsearch.contactsindexer.ContactsIndexerMaintenanceService"
9349                 android:permission="android.permission.BIND_JOB_SERVICE">
9350        </service>
9351
9352        <service android:name="com.android.server.BinaryTransparencyService$UpdateMeasurementsJobService"
9353                 android:permission="android.permission.BIND_JOB_SERVICE">
9354        </service>
9355
9356        <service android:name="com.android.server.notification.ReviewNotificationPermissionsJobService"
9357                 android:permission="android.permission.BIND_JOB_SERVICE">
9358        </service>
9359
9360        <service android:name="com.android.server.notification.NotificationHistoryJobService"
9361                 android:permission="android.permission.BIND_JOB_SERVICE" >
9362        </service>
9363
9364        <service android:name="com.android.server.notification.NotificationBitmapJobService"
9365            android:permission="android.permission.BIND_JOB_SERVICE" >
9366        </service>
9367
9368        <service android:name="com.android.server.healthconnect.HealthConnectDailyService"
9369                 android:permission="android.permission.BIND_JOB_SERVICE" >
9370        </service>
9371
9372        <service android:name="com.android.server.healthconnect.migration.MigrationBroadcastJobService"
9373            android:permission="android.permission.BIND_JOB_SERVICE">
9374        </service>
9375
9376        <service android:name="com.android.server.healthconnect.backuprestore.BackupRestore$BackupRestoreJobService"
9377            android:permission="android.permission.BIND_JOB_SERVICE">
9378        </service>
9379
9380        <service android:name="com.android.server.pm.PackageManagerShellCommandDataLoader"
9381            android:exported="false">
9382            <intent-filter>
9383                <action android:name="android.intent.action.LOAD_DATA"/>
9384            </intent-filter>
9385        </service>
9386
9387        <!-- TODO: Move to ExtServices or relevant component. -->
9388        <service android:name="android.service.selectiontoolbar.DefaultSelectionToolbarRenderService"
9389                 android:permission="android.permission.BIND_SELECTION_TOOLBAR_RENDER_SERVICE"
9390                 android:process=":ui"
9391                 android:exported="false">
9392            <intent-filter>
9393                <action android:name="android.service.selectiontoolbar.SelectionToolbarRenderService"/>
9394            </intent-filter>
9395        </service>
9396
9397        <service android:name="com.android.server.art.BackgroundDexoptJobService"
9398                 android:permission="android.permission.BIND_JOB_SERVICE" >
9399        </service>
9400
9401        <service android:name="com.android.server.companion.datatransfer.contextsync.CallMetadataSyncInCallService"
9402                 android:permission="android.permission.BIND_INCALL_SERVICE"
9403                 android:enabled="@bool/config_enableContextSyncInCall"
9404                 android:exported="true">
9405            <meta-data android:name="android.telecom.INCLUDE_SELF_MANAGED_CALLS"
9406                       android:value="true" />
9407            <intent-filter>
9408                <action android:name="android.telecom.InCallService"/>
9409            </intent-filter>
9410        </service>
9411
9412        <service android:name="com.android.ecm.EnhancedConfirmationCallTrackerService"
9413            android:permission="android.permission.BIND_INCALL_SERVICE"
9414            android:featureFlag="android.permission.flags.enhanced_confirmation_in_call_apis_enabled"
9415            android:exported="true">
9416            <meta-data android:name="android.telecom.INCLUDE_SELF_MANAGED_CALLS"
9417                android:value="true" />
9418            <intent-filter>
9419                <action android:name="android.telecom.InCallService"/>
9420            </intent-filter>
9421        </service>
9422
9423        <service android:name="com.android.server.companion.datatransfer.contextsync.CallMetadataSyncConnectionService"
9424                 android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
9425                 android:exported="true">
9426            <intent-filter>
9427                <action android:name="android.telecom.ConnectionService"/>
9428            </intent-filter>
9429        </service>
9430
9431        <provider
9432            android:name="com.android.server.textclassifier.IconsContentProvider"
9433            android:authorities="com.android.textclassifier.icons"
9434            android:singleUser="true"
9435            android:enabled="true"
9436            android:exported="true">
9437        </provider>
9438
9439        <meta-data
9440            android:name="com.android.server.patch.25239169"
9441            android:value="true" />
9442
9443    </application>
9444
9445</manifest>
9446