1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/* //device/apps/common/AndroidManifest.xml
4**
5** Copyright 2006, The Android Open Source Project
6**
7** Licensed under the Apache License, Version 2.0 (the "License");
8** you may not use this file except in compliance with the License.
9** You may obtain a copy of the License at
10**
11**     http://www.apache.org/licenses/LICENSE-2.0
12**
13** Unless required by applicable law or agreed to in writing, software
14** distributed under the License is distributed on an "AS IS" BASIS,
15** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16** See the License for the specific language governing permissions and
17** limitations under the License.
18*/
19-->
20<manifest xmlns:android="http://schemas.android.com/apk/res/android"
21    package="android" coreApp="true" android:sharedUserId="android.uid.system"
22    android:sharedUserLabel="@string/android_system_label">
23
24    <!-- ================================================ -->
25    <!-- Special broadcasts that only the system can send -->
26    <!-- ================================================ -->
27    <eat-comment />
28
29    <protected-broadcast android:name="android.intent.action.SCREEN_OFF" />
30    <protected-broadcast android:name="android.intent.action.SCREEN_ON" />
31    <protected-broadcast android:name="android.intent.action.USER_PRESENT" />
32    <protected-broadcast android:name="android.intent.action.TIME_SET" />
33    <protected-broadcast android:name="android.intent.action.TIME_TICK" />
34    <protected-broadcast android:name="android.intent.action.TIMEZONE_CHANGED" />
35    <protected-broadcast android:name="android.intent.action.DATE_CHANGED" />
36    <protected-broadcast android:name="android.intent.action.PRE_BOOT_COMPLETED" />
37    <protected-broadcast android:name="android.intent.action.BOOT_COMPLETED" />
38    <protected-broadcast android:name="android.intent.action.PACKAGE_INSTALL" />
39    <protected-broadcast android:name="android.intent.action.PACKAGE_ADDED" />
40    <protected-broadcast android:name="android.intent.action.PACKAGE_REPLACED" />
41    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_REPLACED" />
42    <protected-broadcast android:name="android.intent.action.PACKAGE_REMOVED" />
43    <protected-broadcast android:name="android.intent.action.PACKAGE_REMOVED_INTERNAL" />
44    <protected-broadcast android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
45    <protected-broadcast android:name="android.intent.action.PACKAGE_CHANGED" />
46    <protected-broadcast android:name="android.intent.action.PACKAGE_FULLY_LOADED" />
47    <protected-broadcast android:name="android.intent.action.PACKAGE_ENABLE_ROLLBACK" />
48    <protected-broadcast android:name="android.intent.action.CANCEL_ENABLE_ROLLBACK" />
49    <protected-broadcast android:name="android.intent.action.ROLLBACK_COMMITTED" />
50    <protected-broadcast android:name="android.intent.action.PACKAGE_RESTARTED" />
51    <protected-broadcast android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
52    <protected-broadcast android:name="android.intent.action.PACKAGE_FIRST_LAUNCH" />
53    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION" />
54    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION" />
55    <protected-broadcast android:name="android.intent.action.PACKAGE_VERIFIED" />
56    <protected-broadcast android:name="android.intent.action.PACKAGES_SUSPENDED" />
57    <protected-broadcast android:name="android.intent.action.PACKAGES_UNSUSPENDED" />
58    <protected-broadcast android:name="android.intent.action.PACKAGES_SUSPENSION_CHANGED" />
59    <protected-broadcast android:name="android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY" />
60    <protected-broadcast android:name="android.intent.action.DISTRACTING_PACKAGES_CHANGED" />
61    <protected-broadcast android:name="android.intent.action.ACTION_PREFERRED_ACTIVITY_CHANGED" />
62    <protected-broadcast android:name="android.intent.action.UID_REMOVED" />
63    <protected-broadcast android:name="android.intent.action.QUERY_PACKAGE_RESTART" />
64    <protected-broadcast android:name="android.intent.action.CONFIGURATION_CHANGED" />
65    <protected-broadcast android:name="android.intent.action.SPLIT_CONFIGURATION_CHANGED" />
66    <protected-broadcast android:name="android.intent.action.LOCALE_CHANGED" />
67    <protected-broadcast android:name="android.intent.action.APPLICATION_LOCALE_CHANGED" />
68    <protected-broadcast android:name="android.intent.action.BATTERY_CHANGED" />
69    <protected-broadcast android:name="android.intent.action.BATTERY_LEVEL_CHANGED" />
70    <protected-broadcast android:name="android.intent.action.BATTERY_LOW" />
71    <protected-broadcast android:name="android.intent.action.BATTERY_OKAY" />
72    <protected-broadcast android:name="android.intent.action.ACTION_POWER_CONNECTED" />
73    <protected-broadcast android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
74    <protected-broadcast android:name="android.intent.action.ACTION_SHUTDOWN" />
75    <protected-broadcast android:name="android.intent.action.CHARGING" />
76    <protected-broadcast android:name="android.intent.action.DISCHARGING" />
77    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_LOW" />
78    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_OK" />
79    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_FULL" />
80    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_NOT_FULL" />
81    <protected-broadcast android:name="android.intent.action.NEW_OUTGOING_CALL" />
82    <protected-broadcast android:name="android.intent.action.REBOOT" />
83    <protected-broadcast android:name="android.intent.action.DOCK_EVENT" />
84    <protected-broadcast android:name="android.intent.action.THERMAL_EVENT" />
85    <protected-broadcast android:name="android.intent.action.MASTER_CLEAR_NOTIFICATION" />
86    <protected-broadcast android:name="android.intent.action.USER_ADDED" />
87    <protected-broadcast android:name="android.intent.action.USER_REMOVED" />
88    <protected-broadcast android:name="android.intent.action.USER_STARTING" />
89    <protected-broadcast android:name="android.intent.action.USER_STARTED" />
90    <protected-broadcast android:name="android.intent.action.USER_STOPPING" />
91    <protected-broadcast android:name="android.intent.action.USER_STOPPED" />
92    <protected-broadcast android:name="android.intent.action.USER_BACKGROUND" />
93    <protected-broadcast android:name="android.intent.action.USER_FOREGROUND" />
94    <protected-broadcast android:name="android.intent.action.USER_SWITCHED" />
95    <protected-broadcast android:name="android.intent.action.USER_INITIALIZE" />
96    <protected-broadcast android:name="android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION" />
97    <protected-broadcast android:name="android.intent.action.DOMAINS_NEED_VERIFICATION" />
98    <protected-broadcast android:name="android.intent.action.OVERLAY_ADDED" />
99    <protected-broadcast android:name="android.intent.action.OVERLAY_CHANGED" />
100    <protected-broadcast android:name="android.intent.action.OVERLAY_REMOVED" />
101    <protected-broadcast android:name="android.intent.action.OVERLAY_PRIORITY_CHANGED" />
102    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_SUSPENDED" />
103    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_UNSUSPENDED" />
104
105    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED" />
106    <protected-broadcast android:name="android.os.action.DEVICE_IDLE_MODE_CHANGED" />
107    <protected-broadcast android:name="android.os.action.POWER_SAVE_WHITELIST_CHANGED" />
108    <protected-broadcast android:name="android.os.action.POWER_SAVE_TEMP_WHITELIST_CHANGED" />
109    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED_INTERNAL" />
110    <protected-broadcast android:name="android.os.action.LOW_POWER_STANDBY_ENABLED_CHANGED" />
111    <protected-broadcast android:name="android.os.action.LOW_POWER_STANDBY_POLICY_CHANGED" />
112    <protected-broadcast android:name="android.os.action.LOW_POWER_STANDBY_PORTS_CHANGED" />
113    <protected-broadcast android:name="android.os.action.ENHANCED_DISCHARGE_PREDICTION_CHANGED" />
114
115    <!-- @deprecated This is rarely used and will be phased out soon. -->
116    <protected-broadcast android:name="android.os.action.SCREEN_BRIGHTNESS_BOOST_CHANGED" />
117
118    <protected-broadcast android:name="android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL" />
119
120    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE" />
121    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE" />
122    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE_PRIORITIZED" />
123    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE_PRIORITIZED" />
124    <protected-broadcast android:name="android.app.action.ENTER_DESK_MODE" />
125    <protected-broadcast android:name="android.app.action.EXIT_DESK_MODE" />
126    <protected-broadcast android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
127
128    <protected-broadcast android:name="android.app.action.USER_ADDED" />
129    <protected-broadcast android:name="android.app.action.USER_REMOVED" />
130    <protected-broadcast android:name="android.app.action.USER_STARTED" />
131    <protected-broadcast android:name="android.app.action.USER_STOPPED" />
132    <protected-broadcast android:name="android.app.action.USER_SWITCHED" />
133
134    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARING_DECLINED" />
135    <protected-broadcast android:name="android.app.action.BUGREPORT_FAILED" />
136    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARE" />
137    <protected-broadcast android:name="android.app.action.SHOW_DEVICE_MONITORING_DIALOG" />
138    <protected-broadcast android:name="android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED" />
139    <protected-broadcast android:name="android.intent.action.INCIDENT_REPORT_READY" />
140
141    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_UPDATE_OPTIONS" />
142    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DELETED" />
143    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DISABLED" />
144    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLED" />
145    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED" />
146    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_RESTORED" />
147    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLE_AND_UPDATE" />
148
149    <protected-broadcast android:name="android.os.action.SETTING_RESTORED" />
150
151    <protected-broadcast android:name="android.app.backup.intent.CLEAR" />
152    <protected-broadcast android:name="android.app.backup.intent.INIT" />
153
154    <protected-broadcast android:name="android.bluetooth.intent.DISCOVERABLE_TIMEOUT" />
155    <protected-broadcast android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
156    <protected-broadcast android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
157    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
158    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
159    <protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
160    <protected-broadcast android:name="android.bluetooth.adapter.action.BLUETOOTH_ADDRESS_CHANGED" />
161    <protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
162    <protected-broadcast android:name="android.bluetooth.device.action.UUID" />
163    <protected-broadcast android:name="android.bluetooth.device.action.MAS_INSTANCE" />
164    <protected-broadcast android:name="android.bluetooth.device.action.ALIAS_CHANGED" />
165    <protected-broadcast android:name="android.bluetooth.device.action.FOUND" />
166    <protected-broadcast android:name="android.bluetooth.device.action.CLASS_CHANGED" />
167    <protected-broadcast android:name="android.bluetooth.device.action.ACL_CONNECTED" />
168    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
169    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
170    <protected-broadcast android:name="android.bluetooth.device.action.NAME_CHANGED" />
171    <protected-broadcast android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
172    <protected-broadcast android:name="android.bluetooth.device.action.NAME_FAILED" />
173    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
174    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
175    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
176    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL" />
177    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST" />
178    <protected-broadcast android:name="android.bluetooth.device.action.SDP_RECORD" />
179    <protected-broadcast android:name="android.bluetooth.device.action.BATTERY_LEVEL_CHANGED" />
180    <protected-broadcast android:name="android.bluetooth.device.action.REMOTE_ISSUE_OCCURRED" />
181    <protected-broadcast android:name="android.bluetooth.devicepicker.action.LAUNCH" />
182    <protected-broadcast android:name="android.bluetooth.devicepicker.action.DEVICE_SELECTED" />
183    <protected-broadcast
184        android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
185    <protected-broadcast
186        android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />
187    <protected-broadcast
188        android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
189    <protected-broadcast
190        android:name="android.bluetooth.headset.action.HF_INDICATORS_VALUE_CHANGED" />
191    <protected-broadcast
192        android:name="android.bluetooth.headset.profile.action.ACTIVE_DEVICE_CHANGED" />
193    <protected-broadcast
194        android:name="android.bluetooth.headsetclient.profile.action.CONNECTION_STATE_CHANGED" />
195    <protected-broadcast
196        android:name="android.bluetooth.headsetclient.profile.action.AUDIO_STATE_CHANGED" />
197    <protected-broadcast
198        android:name="android.bluetooth.headsetclient.profile.action.AG_EVENT" />
199    <protected-broadcast
200        android:name="android.bluetooth.headsetclient.profile.action.AG_CALL_CHANGED" />
201    <protected-broadcast
202        android:name="android.bluetooth.headsetclient.profile.action.RESULT" />
203    <protected-broadcast
204        android:name="android.bluetooth.headsetclient.profile.action.LAST_VTAG" />
205    <protected-broadcast
206        android:name="android.bluetooth.headsetclient.profile.action.NETWORK_SERVICE_STATE_CHANGED" />
207    <protected-broadcast
208        android:name="android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED" />
209    <protected-broadcast
210        android:name="android.bluetooth.hearingaid.profile.action.PLAYING_STATE_CHANGED" />
211    <protected-broadcast
212        android:name="android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED" />
213    <protected-broadcast android:name="android.bluetooth.action.CSIS_CONNECTION_STATE_CHANGED" />
214    <protected-broadcast android:name="android.bluetooth.action.CSIS_DEVICE_AVAILABLE" />
215    <protected-broadcast android:name="android.bluetooth.action.CSIS_SET_MEMBER_AVAILABLE" />
216    <protected-broadcast
217        android:name="android.bluetooth.volume-control.profile.action.CONNECTION_STATE_CHANGED" />
218    <protected-broadcast
219        android:name="android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED" />
220    <protected-broadcast
221        android:name="android.bluetooth.a2dp.profile.action.ACTIVE_DEVICE_CHANGED" />
222    <protected-broadcast
223        android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
224    <protected-broadcast
225        android:name="android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED" />
226    <protected-broadcast
227        android:name="android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED" />
228    <protected-broadcast
229        android:name="android.bluetooth.a2dp-sink.profile.action.PLAYING_STATE_CHANGED" />
230    <protected-broadcast
231        android:name="android.bluetooth.a2dp-sink.profile.action.AUDIO_CONFIG_CHANGED" />
232    <protected-broadcast
233        android:name="android.bluetooth.avrcp-controller.profile.action.BROWSE_CONNECTION_STATE_CHANGED" />
234    <protected-broadcast
235        android:name="android.bluetooth.avrcp-controller.profile.action.CONNECTION_STATE_CHANGED" />
236    <protected-broadcast
237        android:name="android.bluetooth.avrcp-controller.profile.action.FOLDER_LIST" />
238    <protected-broadcast
239        android:name="android.bluetooth.avrcp-controller.profile.action.TRACK_EVENT" />
240    <protected-broadcast
241        android:name="android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED" />
242    <protected-broadcast
243        android:name="android.bluetooth.input.profile.action.IDLE_TIME_CHANGED" />
244    <protected-broadcast
245        android:name="android.bluetooth.input.profile.action.PROTOCOL_MODE_CHANGED" />
246    <protected-broadcast
247        android:name="android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS" />
248    <protected-broadcast
249        android:name="android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED" />
250    <protected-broadcast
251        android:name="android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED" />
252    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.CONNECTION_STATE_CHANGED" />
253    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_RECEIVED" />
254    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_SENT_SUCCESSFULLY" />
255    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELIVERED_SUCCESSFULLY" />
256    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_READ_STATUS_CHANGED" />
257    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELETED_STATUS_CHANGED" />
258    <protected-broadcast
259        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
260    <protected-broadcast
261        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
262    <protected-broadcast
263        android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" />
264    <protected-broadcast android:name="android.bluetooth.action.HAP_CONNECTION_STATE_CHANGED" />
265    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_CONNECTION_STATE_CHANGED" />
266    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_ACTIVE_DEVICE_CHANGED" />
267    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_CONF_CHANGED" />
268    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_GROUP_NODE_STATUS_CHANGED" />
269    <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_GROUP_STATUS_CHANGED" />
270    <protected-broadcast
271        android:name="android.bluetooth.action.TETHERING_STATE_CHANGED" />
272    <protected-broadcast android:name="android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED" />
273    <protected-broadcast android:name="android.bluetooth.pbapclient.profile.action.CONNECTION_STATE_CHANGED" />
274    <protected-broadcast android:name="android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED" />
275    <protected-broadcast android:name="android.btopp.intent.action.INCOMING_FILE_NOTIFICATION" />
276    <protected-broadcast android:name="android.btopp.intent.action.USER_CONFIRMATION_TIMEOUT" />
277    <protected-broadcast android:name="android.btopp.intent.action.LIST" />
278    <protected-broadcast android:name="android.btopp.intent.action.OPEN_OUTBOUND" />
279    <protected-broadcast android:name="android.btopp.intent.action.HIDE_COMPLETE" />
280    <protected-broadcast android:name="android.btopp.intent.action.CONFIRM" />
281    <protected-broadcast android:name="android.btopp.intent.action.HIDE" />
282    <protected-broadcast android:name="android.btopp.intent.action.RETRY" />
283    <protected-broadcast android:name="android.btopp.intent.action.OPEN" />
284    <protected-broadcast android:name="android.btopp.intent.action.OPEN_INBOUND" />
285    <protected-broadcast android:name="android.btopp.intent.action.TRANSFER_COMPLETE" />
286    <protected-broadcast android:name="android.btopp.intent.action.ACCEPT" />
287    <protected-broadcast android:name="android.btopp.intent.action.DECLINE" />
288    <protected-broadcast android:name="com.android.bluetooth.gatt.REFRESH_BATCHED_SCAN" />
289    <protected-broadcast android:name="com.android.bluetooth.pbap.authchall" />
290    <protected-broadcast android:name="com.android.bluetooth.pbap.userconfirmtimeout" />
291    <protected-broadcast android:name="com.android.bluetooth.pbap.authresponse" />
292    <protected-broadcast android:name="com.android.bluetooth.pbap.authcancelled" />
293    <protected-broadcast android:name="com.android.bluetooth.sap.USER_CONFIRM_TIMEOUT" />
294    <protected-broadcast android:name="com.android.bluetooth.sap.action.DISCONNECT_ACTION" />
295
296    <protected-broadcast android:name="android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED" />
297
298    <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" />
299    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_CHANGED" />
300    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_COMPLIANCE_CHANGED" />
301    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
302    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_DETACHED" />
303    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE" />
304    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
305    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
306
307    <protected-broadcast android:name="android.intent.action.HEADSET_PLUG" />
308    <protected-broadcast android:name="android.media.action.HDMI_AUDIO_PLUG" />
309    <protected-broadcast android:name="android.media.action.MICROPHONE_MUTE_CHANGED" />
310    <protected-broadcast android:name="android.media.action.SPEAKERPHONE_STATE_CHANGED" />
311
312    <protected-broadcast android:name="android.media.AUDIO_BECOMING_NOISY" />
313    <protected-broadcast android:name="android.media.RINGER_MODE_CHANGED" />
314    <protected-broadcast android:name="android.media.VIBRATE_SETTING_CHANGED" />
315    <protected-broadcast android:name="android.media.VOLUME_CHANGED_ACTION" />
316    <protected-broadcast android:name="android.media.MASTER_VOLUME_CHANGED_ACTION" />
317    <protected-broadcast android:name="android.media.MASTER_MUTE_CHANGED_ACTION" />
318    <protected-broadcast android:name="android.media.MASTER_MONO_CHANGED_ACTION" />
319    <protected-broadcast android:name="android.media.MASTER_BALANCE_CHANGED_ACTION" />
320    <protected-broadcast android:name="android.media.SCO_AUDIO_STATE_CHANGED" />
321    <protected-broadcast android:name="android.media.ACTION_SCO_AUDIO_STATE_UPDATED" />
322    <protected-broadcast android:name="com.android.server.audio.action.CHECK_MUSIC_ACTIVE" />
323
324    <protected-broadcast android:name="android.intent.action.MEDIA_REMOVED" />
325    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTED" />
326    <protected-broadcast android:name="android.intent.action.MEDIA_CHECKING" />
327    <protected-broadcast android:name="android.intent.action.MEDIA_NOFS" />
328    <protected-broadcast android:name="android.intent.action.MEDIA_MOUNTED" />
329    <protected-broadcast android:name="android.intent.action.MEDIA_SHARED" />
330    <protected-broadcast android:name="android.intent.action.MEDIA_UNSHARED" />
331    <protected-broadcast android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
332    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTABLE" />
333    <protected-broadcast android:name="android.intent.action.MEDIA_EJECT" />
334
335    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL" />
336    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE" />
337    <!-- @deprecated.  Only {@link android.net.ConnectivityManager.CONNECTIVITY_ACTION} is sent. -->
338    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE" />
339    <protected-broadcast android:name="android.net.conn.DATA_ACTIVITY_CHANGE" />
340    <protected-broadcast android:name="android.net.conn.RESTRICT_BACKGROUND_CHANGED" />
341    <protected-broadcast android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
342    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL_TEST_COMPLETED" />
343
344    <protected-broadcast android:name="android.net.nsd.STATE_CHANGED" />
345
346    <!-- For OMAPI -->
347    <protected-broadcast android:name="android.se.omapi.action.SECURE_ELEMENT_STATE_CHANGED" />
348
349    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
350    <protected-broadcast android:name="android.nfc.action.PREFERRED_PAYMENT_CHANGED" />
351    <protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
352    <protected-broadcast android:name="android.nfc.action.REQUIRE_UNLOCK_FOR_NFC" />
353    <protected-broadcast android:name="com.android.nfc.action.LLCP_UP" />
354    <protected-broadcast android:name="com.android.nfc.action.LLCP_DOWN" />
355    <protected-broadcast android:name="com.android.nfc.cardemulation.action.CLOSE_TAP_DIALOG" />
356    <protected-broadcast android:name="com.android.nfc.handover.action.ALLOW_CONNECT" />
357    <protected-broadcast android:name="com.android.nfc.handover.action.DENY_CONNECT" />
358    <protected-broadcast android:name="com.android.nfc.handover.action.TIMEOUT_CONNECT" />
359    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_ON_DETECTED" />
360    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED" />
361    <protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
362    <!-- For NFC to BT handover -->
363    <protected-broadcast android:name="android.btopp.intent.action.WHITELIST_DEVICE" />
364    <protected-broadcast android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER" />
365    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND" />
366    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE" />
367    <protected-broadcast android:name="com.android.nfc.handover.action.CANCEL_HANDOVER_TRANSFER" />
368
369    <protected-broadcast android:name="android.net.action.CLEAR_DNS_CACHE" />
370    <protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
371
372    <protected-broadcast android:name="android.os.UpdateLock.UPDATE_LOCK_CHANGED" />
373
374    <protected-broadcast android:name="android.intent.action.DREAMING_STARTED" />
375    <protected-broadcast android:name="android.intent.action.DREAMING_STOPPED" />
376    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
377
378    <protected-broadcast android:name="com.android.server.stats.action.TRIGGER_COLLECTION" />
379
380    <protected-broadcast android:name="com.android.server.WifiManager.action.START_SCAN" />
381    <protected-broadcast android:name="com.android.server.WifiManager.action.START_PNO" />
382    <protected-broadcast android:name="com.android.server.WifiManager.action.DELAYED_DRIVER_STOP" />
383    <protected-broadcast android:name="com.android.server.WifiManager.action.DEVICE_IDLE" />
384    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_ACCEPTED" />
385    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_DECLINED" />
386    <protected-broadcast android:name="com.android.internal.action.EUICC_FACTORY_RESET" />
387    <protected-broadcast
388        android:name="com.android.internal.action.EUICC_REMOVE_INVISIBLE_SUBSCRIPTIONS" />
389    <protected-broadcast android:name="com.android.server.usb.ACTION_OPEN_IN_APPS" />
390    <protected-broadcast android:name="com.android.server.am.DELETE_DUMPHEAP" />
391    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_WARNING" />
392    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_RAPID" />
393    <protected-broadcast android:name="com.android.server.wifi.ACTION_SHOW_SET_RANDOMIZATION_DETAILS" />
394    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_ALLOWED_APP" />
395    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISALLOWED_APP" />
396    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISMISSED" />
397    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_ALLOWED_CARRIER" />
398    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISALLOWED_CARRIER" />
399    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISMISSED" />
400    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.USER_DISMISSED_NOTIFICATION" />
401    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.CONNECT_TO_NETWORK" />
402    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_WIFI_NETWORK" />
403    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_NETWORK_AFTER_FAILURE" />
404    <protected-broadcast android:name="com.android.server.wifi.wakeup.DISMISS_NOTIFICATION" />
405    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_PREFERENCES" />
406    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_SETTINGS" />
407    <protected-broadcast android:name="com.android.server.wifi.wakeup.TURN_OFF_WIFI_WAKE" />
408    <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" />
409    <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
410    <protected-broadcast android:name="android.net.wifi.WIFI_CREDENTIAL_CHANGED" />
411    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED" />
412    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_RESOURCE_CHANGED" />
413    <protected-broadcast android:name="android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED" />
414    <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" />
415    <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" />
416    <protected-broadcast android:name="android.net.wifi.STATE_CHANGE" />
417    <protected-broadcast android:name="android.net.wifi.LINK_CONFIGURATION_CHANGED" />
418    <protected-broadcast android:name="android.net.wifi.CONFIGURED_NETWORKS_CHANGE" />
419    <protected-broadcast android:name="android.net.wifi.action.NETWORK_SETTINGS_RESET" />
420    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_DEAUTH_IMMINENT" />
421    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_ICON" />
422    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_OSU_PROVIDERS_LIST" />
423    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_SUBSCRIPTION_REMEDIATION" />
424    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW" />
425    <protected-broadcast android:name="android.net.wifi.action.REFRESH_USER_PROVISIONING" />
426    <protected-broadcast android:name="android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION" />
427    <protected-broadcast android:name="android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED" />
428    <protected-broadcast android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
429    <protected-broadcast android:name="android.net.wifi.supplicant.STATE_CHANGE" />
430    <protected-broadcast android:name="android.net.wifi.p2p.STATE_CHANGED" />
431    <protected-broadcast android:name="android.net.wifi.p2p.DISCOVERY_STATE_CHANGE" />
432    <protected-broadcast android:name="android.net.wifi.p2p.THIS_DEVICE_CHANGED" />
433    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
434    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
435    <protected-broadcast android:name="android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED" />
436    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
437    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
438    <!-- This broadcast is no longer sent in S but it should stay protected to avoid third party
439         apps broadcasting this and confusing old system apps that may not have been updated. -->
440    <protected-broadcast android:name="android.net.conn.NETWORK_CONDITIONS_MEASURED" />
441    <protected-broadcast
442            android:name="android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED" />
443    <protected-broadcast android:name="android.net.scoring.SCORE_NETWORKS" />
444    <protected-broadcast android:name="android.net.scoring.SCORER_CHANGED" />
445    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE" />
446    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" />
447    <protected-broadcast android:name="android.intent.action.AIRPLANE_MODE" />
448    <protected-broadcast android:name="android.intent.action.ADVANCED_SETTINGS" />
449    <protected-broadcast android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED" />
450    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRED_DEVICES" />
451    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRING_RESULT" />
452    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_STATUS" />
453
454    <!-- Legacy -->
455    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_START" />
456    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_END" />
457
458    <protected-broadcast android:name="com.android.server.ACTION_TRIGGER_IDLE" />
459
460    <protected-broadcast android:name="android.intent.action.HDMI_PLUGGED" />
461
462    <protected-broadcast android:name="android.intent.action.PHONE_STATE" />
463
464    <protected-broadcast android:name="android.intent.action.SUB_DEFAULT_CHANGED" />
465
466    <protected-broadcast android:name="android.location.PROVIDERS_CHANGED" />
467    <protected-broadcast android:name="android.location.MODE_CHANGED" />
468    <protected-broadcast android:name="android.location.action.GNSS_CAPABILITIES_CHANGED" />
469
470    <protected-broadcast android:name="android.net.proxy.PAC_REFRESH" />
471
472    <protected-broadcast android:name="android.telecom.action.DEFAULT_DIALER_CHANGED" />
473    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED" />
474    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_CREATED" />
475    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_LOST" />
476    <protected-broadcast android:name="android.intent.action.CONTENT_CHANGED" />
477    <protected-broadcast android:name="android.provider.Telephony.MMS_DOWNLOADED" />
478
479    <protected-broadcast
480        android:name="com.android.server.connectivityservice.CONNECTED_TO_PROVISIONING_NETWORK_ACTION" />
481
482    <!-- Defined in RestrictionsManager -->
483    <protected-broadcast android:name="android.content.action.PERMISSION_RESPONSE_RECEIVED" />
484    <protected-broadcast android:name="android.content.action.REQUEST_PERMISSION" />
485
486    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_STARTED" />
487    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
488    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_PROGRESS" />
489    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
490
491    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED" />
492    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED" />
493
494    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_DONE" />
495    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_FAILED" />
496
497    <protected-broadcast android:name="android.internal.policy.action.BURN_IN_PROTECTION" />
498    <protected-broadcast android:name="android.app.action.SYSTEM_UPDATE_POLICY_CHANGED" />
499    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
500    <protected-broadcast android:name="android.app.action.DEVICE_OWNER_CHANGED" />
501    <protected-broadcast android:name="android.app.action.MANAGED_USER_CREATED" />
502
503    <!-- Added in N -->
504    <protected-broadcast android:name="android.intent.action.ANR" />
505    <protected-broadcast android:name="android.intent.action.CALL" />
506    <protected-broadcast android:name="android.intent.action.CALL_PRIVILEGED" />
507    <protected-broadcast android:name="android.intent.action.DROPBOX_ENTRY_ADDED" />
508    <protected-broadcast android:name="android.intent.action.INPUT_METHOD_CHANGED" />
509    <protected-broadcast android:name="android.intent.action.internal_sim_state_changed" />
510    <protected-broadcast android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
511    <protected-broadcast android:name="android.intent.action.PRECISE_CALL_STATE" />
512    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_PHONE_STATE" />
513    <protected-broadcast android:name="android.intent.action.USER_INFO_CHANGED" />
514    <protected-broadcast android:name="android.intent.action.USER_UNLOCKED" />
515    <protected-broadcast android:name="android.intent.action.WALLPAPER_CHANGED" />
516
517    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_MANAGER_STATE_CHANGED" />
518    <protected-broadcast android:name="android.app.action.CHOOSE_PRIVATE_KEY_ALIAS" />
519    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
520    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
521    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
522    <protected-broadcast android:name="android.app.action.LOCK_TASK_ENTERING" />
523    <protected-broadcast android:name="android.app.action.LOCK_TASK_EXITING" />
524    <protected-broadcast android:name="android.app.action.NOTIFY_PENDING_SYSTEM_UPDATE" />
525    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_CHANGED" />
526    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_EXPIRING" />
527    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_FAILED" />
528    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_SUCCEEDED" />
529    <protected-broadcast android:name="com.android.server.ACTION_EXPIRED_PASSWORD_NOTIFICATION" />
530    <protected-broadcast android:name="com.android.server.ACTION_PROFILE_OFF_DEADLINE" />
531    <protected-broadcast android:name="com.android.server.ACTION_TURN_PROFILE_ON_NOTIFICATION" />
532
533    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_ADDED" />
534    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNLOCKED" />
535    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_REMOVED" />
536    <protected-broadcast android:name="android.app.action.MANAGED_PROFILE_PROVISIONED" />
537
538    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_STATE_CHANGED" />
539    <protected-broadcast android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT" />
540    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
541    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
542    <protected-broadcast android:name="android.content.jobscheduler.JOB_DELAY_EXPIRED" />
543    <protected-broadcast android:name="android.content.syncmanager.SYNC_ALARM" />
544    <protected-broadcast android:name="android.media.INTERNAL_RINGER_MODE_CHANGED_ACTION" />
545    <protected-broadcast android:name="android.media.STREAM_DEVICES_CHANGED_ACTION" />
546    <protected-broadcast android:name="android.media.STREAM_MUTE_CHANGED_ACTION" />
547    <protected-broadcast android:name="android.net.sip.SIP_SERVICE_UP" />
548    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
549    <protected-broadcast android:name="android.os.action.CHARGING" />
550    <protected-broadcast android:name="android.os.action.DISCHARGING" />
551    <protected-broadcast android:name="android.search.action.SEARCHABLES_CHANGED" />
552    <protected-broadcast android:name="android.security.STORAGE_CHANGED" />
553    <protected-broadcast android:name="android.security.action.TRUST_STORE_CHANGED" />
554    <protected-broadcast android:name="android.security.action.KEYCHAIN_CHANGED" />
555    <protected-broadcast android:name="android.security.action.KEY_ACCESS_CHANGED" />
556    <protected-broadcast android:name="android.telecom.action.NUISANCE_CALL_STATUS_CHANGED" />
557    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_REGISTERED" />
558    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_UNREGISTERED" />
559    <protected-broadcast android:name="android.telecom.action.POST_CALL" />
560    <protected-broadcast android:name="android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION" />
561    <protected-broadcast android:name="android.telephony.action.CARRIER_CONFIG_CHANGED" />
562    <protected-broadcast android:name="android.telephony.action.DEFAULT_SUBSCRIPTION_CHANGED" />
563    <protected-broadcast android:name="android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED" />
564    <protected-broadcast android:name="android.telephony.action.SECRET_CODE" />
565    <protected-broadcast android:name="android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION" />
566    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_PLANS_CHANGED" />
567
568    <protected-broadcast android:name="com.android.bluetooth.btservice.action.ALARM_WAKEUP" />
569    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_POLL" />
570    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_UPDATED" />
571    <protected-broadcast android:name="com.android.server.timedetector.NetworkTimeUpdateService.action.POLL" />
572    <protected-broadcast android:name="com.android.server.telecom.intent.action.CALLS_ADD_ENTRY" />
573    <protected-broadcast android:name="com.android.settings.location.MODE_CHANGING" />
574    <protected-broadcast android:name="com.android.settings.bluetooth.ACTION_DISMISS_PAIRING" />
575    <protected-broadcast android:name="com.android.settings.network.DELETE_SUBSCRIPTION" />
576    <protected-broadcast android:name="com.android.settings.network.SWITCH_TO_SUBSCRIPTION" />
577    <protected-broadcast android:name="com.android.settings.wifi.action.NETWORK_REQUEST" />
578
579    <protected-broadcast android:name="NotificationManagerService.TIMEOUT" />
580    <protected-broadcast android:name="NotificationHistoryDatabase.CLEANUP" />
581    <protected-broadcast android:name="ScheduleConditionProvider.EVALUATE" />
582    <protected-broadcast android:name="EventConditionProvider.EVALUATE" />
583    <protected-broadcast android:name="SnoozeHelper.EVALUATE" />
584    <protected-broadcast android:name="wifi_scan_available" />
585
586    <protected-broadcast android:name="action.cne.started" />
587    <protected-broadcast android:name="android.content.jobscheduler.JOB_DEADLINE_EXPIRED" />
588    <protected-broadcast android:name="android.intent.action.ACTION_UNSOL_RESPONSE_OEM_HOOK_RAW" />
589    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_SUPL" />
590    <protected-broadcast android:name="android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED" />
591    <protected-broadcast android:name="android.os.storage.action.VOLUME_STATE_CHANGED" />
592    <protected-broadcast android:name="android.os.storage.action.DISK_SCANNED" />
593    <protected-broadcast android:name="com.android.server.action.UPDATE_TWILIGHT_STATE" />
594    <protected-broadcast android:name="com.android.server.action.RESET_TWILIGHT_AUTO" />
595    <protected-broadcast android:name="com.android.server.device_idle.STEP_IDLE_STATE" />
596    <protected-broadcast android:name="com.android.server.device_idle.STEP_LIGHT_IDLE_STATE" />
597    <protected-broadcast android:name="com.android.server.Wifi.action.TOGGLE_PNO" />
598    <protected-broadcast android:name="intent.action.ACTION_RF_BAND_INFO" />
599    <protected-broadcast android:name="android.intent.action.MEDIA_RESOURCE_GRANTED" />
600    <protected-broadcast android:name="android.app.action.NETWORK_LOGS_AVAILABLE" />
601    <protected-broadcast android:name="android.app.action.SECURITY_LOGS_AVAILABLE" />
602    <protected-broadcast android:name="android.app.action.COMPLIANCE_ACKNOWLEDGEMENT_REQUIRED" />
603
604    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED" />
605    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED_INTERNAL" />
606    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_CHANGED" />
607    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED" />
608    <protected-broadcast android:name="android.app.action.AUTOMATIC_ZEN_RULE_STATUS_CHANGED" />
609    <protected-broadcast android:name="android.os.action.ACTION_EFFECTS_SUPPRESSOR_CHANGED" />
610    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED" />
611    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED" />
612    <protected-broadcast android:name="android.app.action.NOTIFICATION_LISTENER_ENABLED_CHANGED" />
613    <protected-broadcast android:name="android.app.action.APP_BLOCK_STATE_CHANGED" />
614
615    <protected-broadcast android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS" />
616    <protected-broadcast android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS" />
617
618    <protected-broadcast android:name="android.intent.action.DYNAMIC_SENSOR_CHANGED" />
619
620    <protected-broadcast android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
621    <protected-broadcast android:name="android.accounts.action.ACCOUNT_REMOVED" />
622    <protected-broadcast android:name="android.accounts.action.VISIBLE_ACCOUNTS_CHANGED" />
623
624    <protected-broadcast android:name="com.android.sync.SYNC_CONN_STATUS_CHANGED" />
625
626    <protected-broadcast android:name="android.net.sip.action.SIP_INCOMING_CALL" />
627    <protected-broadcast android:name="com.android.phone.SIP_ADD_PHONE" />
628    <protected-broadcast android:name="android.net.sip.action.SIP_REMOVE_PROFILE" />
629    <protected-broadcast android:name="android.net.sip.action.SIP_SERVICE_UP" />
630    <protected-broadcast android:name="android.net.sip.action.SIP_CALL_OPTION_CHANGED" />
631    <protected-broadcast android:name="android.net.sip.action.START_SIP" />
632
633    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_CONNECTED" />
634    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_DISCONNECTED" />
635
636    <protected-broadcast android:name="android.bluetooth.input.profile.action.HANDSHAKE" />
637    <protected-broadcast android:name="android.bluetooth.input.profile.action.REPORT" />
638
639    <protected-broadcast android:name="android.intent.action.TWILIGHT_CHANGED" />
640
641    <protected-broadcast android:name="com.android.server.fingerprint.ACTION_LOCKOUT_RESET" />
642    <protected-broadcast android:name="android.net.wifi.PASSPOINT_ICON_RECEIVED" />
643
644    <protected-broadcast android:name="com.android.server.notification.CountdownConditionProvider" />
645    <protected-broadcast android:name="android.server.notification.action.ENABLE_NAS" />
646    <protected-broadcast android:name="android.server.notification.action.DISABLE_NAS" />
647    <protected-broadcast android:name="android.server.notification.action.LEARNMORE_NAS" />
648
649    <protected-broadcast android:name="com.android.internal.location.ALARM_WAKEUP" />
650    <protected-broadcast android:name="com.android.internal.location.ALARM_TIMEOUT" />
651    <protected-broadcast android:name="android.intent.action.GLOBAL_BUTTON" />
652
653    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_AVAILABLE" />
654    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNAVAILABLE" />
655    <protected-broadcast android:name="com.android.server.pm.DISABLE_QUIET_MODE_AFTER_UNLOCK" />
656
657    <protected-broadcast android:name="android.intent.action.PROFILE_ACCESSIBLE" />
658    <protected-broadcast android:name="android.intent.action.PROFILE_INACCESSIBLE" />
659
660    <protected-broadcast android:name="com.android.server.retaildemo.ACTION_RESET_DEMO" />
661
662    <protected-broadcast android:name="android.intent.action.DEVICE_LOCKED_CHANGED" />
663
664    <protected-broadcast android:name="com.android.content.pm.action.CAN_INTERACT_ACROSS_PROFILES_CHANGED"/>
665
666    <!-- Added in O -->
667    <protected-broadcast android:name="android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED" />
668    <protected-broadcast android:name="com.android.server.wm.ACTION_REVOKE_SYSTEM_ALERT_WINDOW_PERMISSION" />
669    <protected-broadcast android:name="android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED" />
670
671    <protected-broadcast android:name="android.content.pm.action.SESSION_COMMITTED" />
672    <protected-broadcast android:name="android.os.action.USER_RESTRICTIONS_CHANGED" />
673    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT" />
674    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED" />
675    <protected-broadcast android:name="android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED" />
676    <protected-broadcast android:name="android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED" />
677
678    <!-- Made protected in P (was introduced in JB-MR2) -->
679    <protected-broadcast android:name="android.intent.action.GET_RESTRICTION_ENTRIES" />
680    <protected-broadcast android:name="android.telephony.euicc.action.OTA_STATUS_CHANGED" />
681
682    <!-- Added in P -->
683    <protected-broadcast android:name="android.app.action.PROFILE_OWNER_CHANGED" />
684    <protected-broadcast android:name="android.app.action.TRANSFER_OWNERSHIP_COMPLETE" />
685    <protected-broadcast android:name="android.app.action.AFFILIATED_PROFILE_TRANSFER_OWNERSHIP_COMPLETE" />
686    <protected-broadcast android:name="android.app.action.STATSD_STARTED" />
687    <protected-broadcast android:name="com.android.server.biometrics.fingerprint.ACTION_LOCKOUT_RESET" />
688    <protected-broadcast android:name="com.android.server.biometrics.face.ACTION_LOCKOUT_RESET" />
689
690    <!-- For IdleController -->
691    <protected-broadcast android:name="android.intent.action.DOCK_IDLE" />
692    <protected-broadcast android:name="android.intent.action.DOCK_ACTIVE" />
693
694    <!-- Added in Q -->
695    <protected-broadcast android:name="android.content.pm.action.SESSION_UPDATED" />
696    <protected-broadcast android:name="android.settings.action.GRAYSCALE_CHANGED" />
697
698    <!-- For CarIdlenessTracker -->
699    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_ON" />
700    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_OFF" />
701    <protected-broadcast android:name="com.android.server.jobscheduler.FORCE_IDLE" />
702    <protected-broadcast android:name="com.android.server.jobscheduler.UNFORCE_IDLE" />
703
704    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL" />
705
706    <protected-broadcast android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY" />
707
708    <!-- Added in R -->
709    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
710
711    <!-- For tether entitlement recheck-->
712    <protected-broadcast
713        android:name="com.android.server.connectivity.tethering.PROVISIONING_RECHECK_ALARM" />
714
715    <!-- Made protected in S (was added in R) -->
716    <protected-broadcast android:name="com.android.internal.intent.action.BUGREPORT_REQUESTED" />
717
718    <!-- Added in S -->
719    <protected-broadcast android:name="android.scheduling.action.REBOOT_READY" />
720    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_CONSTANTS_CHANGED" />
721    <protected-broadcast android:name="android.app.action.SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED" />
722    <protected-broadcast android:name="android.app.action.SHOW_NEW_USER_DISCLAIMER" />
723
724    <!-- Moved from packages/services/Telephony in T -->
725    <protected-broadcast android:name="android.telecom.action.CURRENT_TTY_MODE_CHANGED" />
726    <protected-broadcast android:name="android.intent.action.SERVICE_STATE" />
727    <protected-broadcast android:name="android.intent.action.RADIO_TECHNOLOGY" />
728    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED" />
729    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALL_STATE_CHANGED" />
730    <protected-broadcast android:name="android.intent.action.SIG_STR" />
731    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
732    <protected-broadcast android:name="android.intent.action.DATA_STALL_DETECTED" />
733    <protected-broadcast android:name="android.intent.action.SIM_STATE_CHANGED" />
734    <protected-broadcast android:name="android.intent.action.USER_ACTIVITY_NOTIFICATION" />
735    <protected-broadcast android:name="android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS" />
736    <protected-broadcast android:name="android.intent.action.ACTION_MDN_STATE_CHANGED" />
737    <protected-broadcast android:name="android.telephony.action.SERVICE_PROVIDERS_UPDATED" />
738    <protected-broadcast android:name="android.provider.Telephony.SIM_FULL" />
739    <protected-broadcast android:name="com.android.internal.telephony.carrier_key_download_alarm" />
740    <protected-broadcast android:name="com.android.internal.telephony.data-restart-trysetup" />
741    <protected-broadcast android:name="com.android.internal.telephony.data-stall" />
742    <protected-broadcast android:name="com.android.internal.telephony.provisioning_apn_alarm" />
743    <protected-broadcast android:name="android.intent.action.DATA_SMS_RECEIVED" />
744    <protected-broadcast android:name="android.provider.Telephony.SMS_RECEIVED" />
745    <protected-broadcast android:name="android.provider.Telephony.SMS_DELIVER" />
746    <protected-broadcast android:name="android.provider.Telephony.SMS_REJECTED" />
747    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
748    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
749    <protected-broadcast android:name="android.provider.Telephony.SMS_CB_RECEIVED" />
750    <protected-broadcast android:name="android.provider.action.SMS_EMERGENCY_CB_RECEIVED" />
751    <protected-broadcast android:name="android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED" />
752    <protected-broadcast android:name="android.provider.Telephony.SECRET_CODE" />
753    <protected-broadcast android:name="com.android.internal.stk.command" />
754    <protected-broadcast android:name="com.android.internal.stk.session_end" />
755    <protected-broadcast android:name="com.android.internal.stk.icc_status_change" />
756    <protected-broadcast android:name="com.android.internal.stk.alpha_notify" />
757    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" />
758    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
759    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE" />
760    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_RESET" />
761    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
762    <protected-broadcast android:name="com.android.internal.telephony.PROVISION" />
763    <protected-broadcast android:name="com.android.internal.telephony.ACTION_LINE1_NUMBER_ERROR_DETECTED" />
764    <protected-broadcast android:name="com.android.internal.provider.action.VOICEMAIL_SMS_RECEIVED" />
765    <protected-broadcast android:name="com.android.intent.isim_refresh" />
766    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_AVAILABLE" />
767    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_UNAVAILABLE" />
768    <protected-broadcast android:name="com.android.ims.ACTION_RCS_SERVICE_DIED" />
769    <protected-broadcast android:name="com.android.ims.ACTION_PRESENCE_CHANGED" />
770    <protected-broadcast android:name="com.android.ims.ACTION_PUBLISH_STATUS_CHANGED" />
771    <protected-broadcast android:name="com.android.ims.IMS_SERVICE_UP" />
772    <protected-broadcast android:name="com.android.ims.IMS_SERVICE_DOWN" />
773    <protected-broadcast android:name="com.android.ims.IMS_INCOMING_CALL" />
774    <protected-broadcast android:name="com.android.ims.internal.uce.UCE_SERVICE_UP" />
775    <protected-broadcast android:name="com.android.ims.internal.uce.UCE_SERVICE_DOWN" />
776    <protected-broadcast android:name="com.android.imsconnection.DISCONNECTED" />
777    <protected-broadcast android:name="com.android.intent.action.IMS_FEATURE_CHANGED" />
778    <protected-broadcast android:name="com.android.intent.action.IMS_CONFIG_CHANGED" />
779    <protected-broadcast android:name="android.telephony.ims.action.WFC_IMS_REGISTRATION_ERROR" />
780    <protected-broadcast android:name="com.android.phone.vvm.omtp.sms.REQUEST_SENT" />
781    <protected-broadcast android:name="com.android.phone.vvm.ACTION_VISUAL_VOICEMAIL_SERVICE_EVENT" />
782    <protected-broadcast android:name="com.android.internal.telephony.CARRIER_VVM_PACKAGE_INSTALLED" />
783    <protected-broadcast android:name="com.android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO" />
784    <protected-broadcast android:name="com.android.internal.telephony.ACTION_CARRIER_CERTIFICATE_DOWNLOAD" />
785    <protected-broadcast android:name="com.android.internal.telephony.action.COUNTRY_OVERRIDE" />
786    <protected-broadcast android:name="com.android.internal.telephony.OPEN_DEFAULT_SMS_APP" />
787    <protected-broadcast android:name="com.android.internal.telephony.ACTION_TEST_OVERRIDE_CARRIER_ID" />
788    <protected-broadcast android:name="android.telephony.action.SIM_CARD_STATE_CHANGED" />
789    <protected-broadcast android:name="android.telephony.action.SIM_APPLICATION_STATE_CHANGED" />
790    <protected-broadcast android:name="android.telephony.action.SIM_SLOT_STATUS_CHANGED" />
791    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED" />
792    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED" />
793    <protected-broadcast android:name="android.telephony.action.TOGGLE_PROVISION" />
794    <protected-broadcast android:name="android.telephony.action.NETWORK_COUNTRY_CHANGED" />
795    <protected-broadcast android:name="android.telephony.action.PRIMARY_SUBSCRIPTION_LIST_CHANGED" />
796    <protected-broadcast android:name="android.telephony.action.MULTI_SIM_CONFIG_CHANGED" />
797    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_RESET" />
798    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_PCO_VALUE" />
799    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
800    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_REDIRECTED" />
801    <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
802    <protected-broadcast android:name="com.android.phone.settings.CARRIER_PROVISIONING" />
803    <protected-broadcast android:name="com.android.phone.settings.TRIGGER_CARRIER_PROVISIONING" />
804    <protected-broadcast android:name="com.android.internal.telephony.ACTION_VOWIFI_ENABLED" />
805    <protected-broadcast android:name="android.telephony.action.ANOMALY_REPORTED" />
806    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_INFO_RECORD_ADDED" />
807    <protected-broadcast android:name="android.intent.action.ACTION_MANAGED_ROAMING_IND" />
808    <protected-broadcast android:name="android.telephony.ims.action.RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE" />
809
810    <!-- Added in T -->
811    <protected-broadcast android:name="android.safetycenter.action.REFRESH_SAFETY_SOURCES" />
812    <protected-broadcast android:name="android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED" />
813    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_RESOURCE_UPDATED" />
814    <protected-broadcast android:name="android.intent.action.SHOW_FOREGROUND_SERVICE_MANAGER" />
815    <protected-broadcast android:name="android.service.autofill.action.DELAYED_FILL" />
816    <protected-broadcast android:name="android.app.action.PROVISIONING_COMPLETED" />
817    <protected-broadcast android:name="android.app.action.LOST_MODE_LOCATION_UPDATE" />
818
819    <!-- Added in U -->
820    <protected-broadcast android:name="android.intent.action.PROFILE_ADDED" />
821    <protected-broadcast android:name="android.intent.action.PROFILE_REMOVED" />
822    <protected-broadcast android:name="com.android.internal.telephony.cat.SMS_SENT_ACTION" />
823    <protected-broadcast android:name="com.android.internal.telephony.cat.SMS_DELIVERY_ACTION" />
824    <protected-broadcast android:name="com.android.internal.telephony.data.ACTION_RETRY" />
825    <protected-broadcast android:name="android.companion.virtual.action.VIRTUAL_DEVICE_REMOVED" />
826    <protected-broadcast android:name="com.android.internal.intent.action.FLASH_NOTIFICATION_START_PREVIEW" />
827    <protected-broadcast android:name="com.android.internal.intent.action.FLASH_NOTIFICATION_STOP_PREVIEW" />
828    <protected-broadcast android:name="android.app.admin.action.DEVICE_FINANCING_STATE_CHANGED" />
829    <protected-broadcast android:name="android.app.admin.action.DEVICE_POLICY_SET_RESULT" />
830    <protected-broadcast android:name="android.app.admin.action.DEVICE_POLICY_CHANGED" />
831
832    <!-- ====================================================================== -->
833    <!--                          RUNTIME PERMISSIONS                           -->
834    <!-- ====================================================================== -->
835    <eat-comment />
836
837    <!-- Grouping for platform runtime permissions is not accessible to apps
838         @hide
839         @SystemApi
840         @TestApi
841    -->
842    <permission-group android:name="android.permission-group.UNDEFINED"
843        android:priority="100" />
844
845    <!-- ====================================================================== -->
846    <!-- Permissions for accessing user's contacts including personal profile   -->
847    <!-- ====================================================================== -->
848    <eat-comment />
849
850    <!-- Used for runtime permissions related to contacts and profiles on this
851        device. -->
852    <permission-group android:name="android.permission-group.CONTACTS"
853        android:icon="@drawable/perm_group_contacts"
854        android:label="@string/permgrouplab_contacts"
855        android:description="@string/permgroupdesc_contacts"
856        android:priority="100" />
857
858    <!-- Allows an application to read the user's contacts data.
859        <p>Protection level: dangerous
860    -->
861    <permission android:name="android.permission.READ_CONTACTS"
862        android:permissionGroup="android.permission-group.UNDEFINED"
863        android:label="@string/permlab_readContacts"
864        android:description="@string/permdesc_readContacts"
865        android:protectionLevel="dangerous" />
866    <uses-permission android:name="android.permission.READ_CONTACTS" />
867
868    <!-- Allows an application to write the user's contacts data.
869         <p>Protection level: dangerous
870    -->
871    <permission android:name="android.permission.WRITE_CONTACTS"
872        android:permissionGroup="android.permission-group.UNDEFINED"
873        android:label="@string/permlab_writeContacts"
874        android:description="@string/permdesc_writeContacts"
875      android:protectionLevel="dangerous" />
876
877    <!-- Allows an application to set default account for new contacts.
878        <p> This permission is only granted to system applications fulfilling the Contacts app role.
879        <p>Protection level: internal|role
880        @SystemApi
881        @hide
882    -->
883    <permission android:name="android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS"
884        android:protectionLevel="internal|role" />
885
886    <!-- ====================================================================== -->
887    <!-- Permissions for accessing user's calendar                              -->
888    <!-- ====================================================================== -->
889    <eat-comment />
890
891    <!-- Used for runtime permissions related to user's calendar. -->
892    <permission-group android:name="android.permission-group.CALENDAR"
893        android:icon="@drawable/perm_group_calendar"
894        android:label="@string/permgrouplab_calendar"
895        android:description="@string/permgroupdesc_calendar"
896        android:priority="200" />
897
898    <!-- Allows an application to read the user's calendar data.
899         <p>Protection level: dangerous
900    -->
901    <permission android:name="android.permission.READ_CALENDAR"
902        android:permissionGroup="android.permission-group.UNDEFINED"
903        android:label="@string/permlab_readCalendar"
904        android:description="@string/permdesc_readCalendar"
905        android:protectionLevel="dangerous" />
906
907    <!-- Allows an application to write the user's calendar data.
908         <p>Protection level: dangerous
909    -->
910    <permission android:name="android.permission.WRITE_CALENDAR"
911        android:permissionGroup="android.permission-group.UNDEFINED"
912        android:label="@string/permlab_writeCalendar"
913        android:description="@string/permdesc_writeCalendar"
914        android:protectionLevel="dangerous" />
915
916    <!-- ====================================================================== -->
917    <!-- Permissions for accessing and modifying user's SMS messages            -->
918    <!-- ====================================================================== -->
919    <eat-comment />
920
921    <!-- Allows accessing the messages on ICC
922         @hide Used internally. -->
923    <permission android:name="android.permission.ACCESS_MESSAGES_ON_ICC"
924        android:protectionLevel="signature" />
925
926    <!-- Used for runtime permissions related to user's SMS messages. -->
927    <permission-group android:name="android.permission-group.SMS"
928        android:icon="@drawable/perm_group_sms"
929        android:label="@string/permgrouplab_sms"
930        android:description="@string/permgroupdesc_sms"
931        android:priority="300" />
932
933    <!-- Allows an application to send SMS messages.
934         <p>Protection level: dangerous
935
936         <p> This is a hard restricted permission which cannot be held by an app until
937         the installer on record allowlists the permission. For more details see
938         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
939    -->
940    <permission android:name="android.permission.SEND_SMS"
941        android:permissionGroup="android.permission-group.UNDEFINED"
942        android:label="@string/permlab_sendSms"
943        android:description="@string/permdesc_sendSms"
944        android:permissionFlags="costsMoney|hardRestricted"
945        android:protectionLevel="dangerous" />
946
947    <!-- Allows an application to receive SMS messages.
948         <p>Protection level: dangerous
949
950         <p> This is a hard restricted permission which cannot be held by an app until
951         the installer on record allowlists the permission. For more details see
952         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
953    -->
954    <permission android:name="android.permission.RECEIVE_SMS"
955        android:permissionGroup="android.permission-group.UNDEFINED"
956        android:label="@string/permlab_receiveSms"
957        android:description="@string/permdesc_receiveSms"
958        android:permissionFlags="hardRestricted"
959        android:protectionLevel="dangerous" />
960
961    <!-- Allows an application to read SMS messages.
962         <p>Protection level: dangerous
963
964         <p> This is a hard restricted permission which cannot be held by an app until
965         the installer on record allowlists the permission. For more details see
966         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
967    -->
968    <permission android:name="android.permission.READ_SMS"
969        android:permissionGroup="android.permission-group.UNDEFINED"
970        android:label="@string/permlab_readSms"
971        android:description="@string/permdesc_readSms"
972        android:permissionFlags="hardRestricted"
973        android:protectionLevel="dangerous" />
974
975    <!-- Allows an application to receive WAP push messages.
976         <p>Protection level: dangerous
977
978         <p> This is a hard restricted permission which cannot be held by an app until
979         the installer on record allowlists the permission. For more details see
980         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
981    -->
982    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
983        android:permissionGroup="android.permission-group.UNDEFINED"
984        android:label="@string/permlab_receiveWapPush"
985        android:description="@string/permdesc_receiveWapPush"
986        android:permissionFlags="hardRestricted"
987        android:protectionLevel="dangerous" />
988
989    <!-- Allows an application to monitor incoming MMS messages.
990         <p>Protection level: dangerous
991
992         <p> This is a hard restricted permission which cannot be held by an app until
993         the installer on record allowlists the permission. For more details see
994         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
995    -->
996    <permission android:name="android.permission.RECEIVE_MMS"
997        android:permissionGroup="android.permission-group.UNDEFINED"
998        android:label="@string/permlab_receiveMms"
999        android:description="@string/permdesc_receiveMms"
1000        android:permissionFlags="hardRestricted"
1001        android:protectionLevel="dangerous" />
1002
1003    <!-- @SystemApi @TestApi Allows an application to forward cell broadcast messages to the cell
1004         broadcast module. This is required in order to bind to the cell broadcast service, and
1005         ensures that only the system can forward messages to it.
1006
1007         <p>Protection level: signature
1008
1009         @hide -->
1010    <permission android:name="android.permission.BIND_CELL_BROADCAST_SERVICE"
1011        android:label="@string/permlab_bindCellBroadcastService"
1012        android:description="@string/permdesc_bindCellBroadcastService"
1013        android:protectionLevel="signature" />
1014
1015    <!-- @SystemApi @TestApi Allows an application to read previously received cell broadcast
1016         messages and to register a content observer to get notifications when
1017         a cell broadcast has been received and added to the database. For
1018         emergency alerts, the database is updated immediately after the
1019         alert dialog and notification sound/vibration/speech are presented.
1020         The "read" column is then updated after the user dismisses the alert.
1021         This enables supplementary emergency assistance apps to start loading
1022         additional emergency information (if Internet access is available)
1023         when the alert is first received, and to delay presenting the info
1024         to the user until after the initial alert dialog is dismissed.
1025         <p>Protection level: dangerous
1026
1027         <p> This is a hard restricted permission which cannot be held by an app until
1028         the installer on record allowlists the permission. For more details see
1029         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1030
1031         @hide Pending API council approval -->
1032    <permission android:name="android.permission.READ_CELL_BROADCASTS"
1033        android:permissionGroup="android.permission-group.UNDEFINED"
1034        android:label="@string/permlab_readCellBroadcasts"
1035        android:description="@string/permdesc_readCellBroadcasts"
1036        android:permissionFlags="hardRestricted"
1037        android:protectionLevel="dangerous" />
1038
1039    <!-- @SystemApi @hide Allows an application to communicate over satellite.
1040         Only granted if the application is a system app or privileged app. -->
1041    <permission android:name="android.permission.SATELLITE_COMMUNICATION"
1042                android:protectionLevel="role|signature|privileged" />
1043
1044    <!-- ====================================================================== -->
1045    <!-- Permissions for accessing external storage                             -->
1046    <!-- ====================================================================== -->
1047    <eat-comment />
1048
1049    <!-- Used for runtime permissions related to the shared external storage. -->
1050    <permission-group android:name="android.permission-group.STORAGE"
1051        android:icon="@drawable/perm_group_storage"
1052        android:label="@string/permgrouplab_storage"
1053        android:description="@string/permgroupdesc_storage"
1054        android:priority="900" />
1055
1056    <!-- Allows an application to read from external storage.
1057      <p class="note"><strong>Note: </strong>Starting in API level 33, this permission has no
1058      effect. If your app accesses other apps' media files, request one or more of these permissions
1059      instead: <a href="#READ_MEDIA_IMAGES"><code>READ_MEDIA_IMAGES</code></a>,
1060      <a href="#READ_MEDIA_VIDEO"><code>READ_MEDIA_VIDEO</code></a>,
1061      <a href="#READ_MEDIA_AUDIO"><code>READ_MEDIA_AUDIO</code></a>. Learn more about the
1062      <a href="{@docRoot}training/data-storage/shared/media#storage-permission">storage
1063      permissions</a> that are associated with media files.</p>
1064
1065      <p>This permission is enforced starting in API level 19.  Before API level 19, this
1066      permission is not enforced and all apps still have access to read from external storage.
1067      You can test your app with the permission enforced by enabling <em>Protect USB
1068      storage</em> under <b>Developer options</b> in the Settings app on a device running Android
1069      4.1 or higher.</p>
1070      <p>Also starting in API level 19, this permission is <em>not</em> required to
1071      read or write files in your application-specific directories returned by
1072      {@link android.content.Context#getExternalFilesDir} and
1073      {@link android.content.Context#getExternalCacheDir}.</p>
1074      <p>Starting in API level 29, apps don't need to request this permission to access files in
1075      their app-specific directory on external storage, or their own files in the
1076      <a href="{@docRoot}reference/android/provider/MediaStore"><code>MediaStore</code></a>. Apps
1077      shouldn't request this permission unless they need to access other apps' files in the
1078      <code>MediaStore</code>. Read more about these changes in the
1079      <a href="{@docRoot}training/data-storage#scoped-storage">scoped storage</a> section of the
1080      developer documentation.</p>
1081      <p>If <em>both</em> your <a
1082      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1083      minSdkVersion}</a> and <a
1084      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1085      targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1086      grants your app this permission. If you don't need this permission, be sure your <a
1087      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1088      targetSdkVersion}</a> is 4 or higher.</p>
1089
1090      <p> This is a soft restricted permission which cannot be held by an app it its
1091      full form until the installer on record allowlists the permission.
1092      Specifically, if the permission is allowlisted the holder app can access
1093      external storage and the visual and aural media collections while if the
1094      permission is not allowlisted the holder app can only access to the visual
1095      and aural medial collections. Also the permission is immutably restricted
1096      meaning that the allowlist state can be specified only at install time and
1097      cannot change until the app is installed. For more details see
1098      {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1099     <p>Protection level: dangerous -->
1100    <permission android:name="android.permission.READ_EXTERNAL_STORAGE"
1101        android:permissionGroup="android.permission-group.UNDEFINED"
1102        android:label="@string/permlab_sdcardRead"
1103        android:description="@string/permdesc_sdcardRead"
1104        android:permissionFlags="softRestricted|immutablyRestricted"
1105        android:protectionLevel="dangerous" />
1106
1107    <!-- Required to be able to read audio files from shared storage.
1108     <p>Protection level: dangerous -->
1109    <permission-group android:name="android.permission-group.READ_MEDIA_AURAL"
1110                      android:icon="@drawable/perm_group_read_media_aural"
1111                      android:label="@string/permgrouplab_readMediaAural"
1112                      android:description="@string/permgroupdesc_readMediaAural"
1113                      android:priority="950" />
1114
1115    <!-- Allows an application to read audio files from external storage.
1116      <p>This permission is enforced starting in API level
1117      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1118      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read audio files from
1119      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1120      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1121      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1122      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read audio files.
1123     <p>Protection level: dangerous -->
1124    <permission android:name="android.permission.READ_MEDIA_AUDIO"
1125                android:permissionGroup="android.permission-group.UNDEFINED"
1126                android:label="@string/permlab_readMediaAudio"
1127                android:description="@string/permdesc_readMediaAudio"
1128                android:protectionLevel="dangerous" />
1129
1130    <!-- Required to be able to read image and video files from shared storage.
1131     <p>Protection level: dangerous -->
1132    <permission-group android:name="android.permission-group.READ_MEDIA_VISUAL"
1133                      android:icon="@drawable/perm_group_read_media_visual"
1134                      android:label="@string/permgrouplab_readMediaVisual"
1135                      android:description="@string/permgroupdesc_readMediaVisual"
1136                      android:priority="1000" />
1137
1138    <!-- Allows an application to read video files from external storage.
1139      <p>This permission is enforced starting in API level
1140      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1141      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read video files from
1142      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1143      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1144      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1145      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read video files.
1146   <p>Protection level: dangerous -->
1147    <permission android:name="android.permission.READ_MEDIA_VIDEO"
1148                android:permissionGroup="android.permission-group.UNDEFINED"
1149                android:label="@string/permlab_readMediaVideo"
1150                android:description="@string/permdesc_readMediaVideo"
1151                android:protectionLevel="dangerous" />
1152
1153    <!-- Allows an application to read image files from external storage.
1154      <p>This permission is enforced starting in API level
1155      {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets
1156      {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read image files from
1157      external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required.
1158      For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1159      targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the
1160      {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read image files.
1161   <p>Protection level: dangerous -->
1162    <permission android:name="android.permission.READ_MEDIA_IMAGES"
1163                android:permissionGroup="android.permission-group.UNDEFINED"
1164                android:label="@string/permlab_readMediaImages"
1165                android:description="@string/permdesc_readMediaImages"
1166                android:protectionLevel="dangerous" />
1167
1168    <!-- Allows an application to read image or video files from external storage that a user has
1169      selected via the permission prompt photo picker. Apps can check this permission to verify that
1170      a user has decided to use the photo picker, instead of granting access to
1171      {@link #READ_MEDIA_IMAGES} or {@link #READ_MEDIA_VIDEO}. It does not prevent apps from
1172      accessing the standard photo picker manually. This permission should be requested alongside
1173      {@link #READ_MEDIA_IMAGES} and/or {@link #READ_MEDIA_VIDEO}, depending on which type of media
1174      is desired.
1175      <p> This permission will be automatically added to an app's manifest if the app requests
1176      {@link #READ_MEDIA_IMAGES}, {@link #READ_MEDIA_VIDEO}, or {@link #ACCESS_MEDIA_LOCATION}
1177      regardless of target SDK. If an app does not request this permission, then the grant dialog
1178      will return `PERMISSION_GRANTED` for {@link #READ_MEDIA_IMAGES} and/or
1179      {@link #READ_MEDIA_VIDEO}, but the app will only have access to the media selected by the
1180      user. This false grant state will persist until the app goes into the background.
1181   <p>Protection level: dangerous -->
1182    <permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED"
1183        android:permissionGroup="android.permission-group.UNDEFINED"
1184        android:label="@string/permlab_readVisualUserSelect"
1185        android:description="@string/permdesc_readVisualUserSelect"
1186        android:protectionLevel="dangerous" />
1187
1188    <!-- Allows an application to write to external storage.
1189         <p><strong>Note: </strong>If your app targets {@link android.os.Build.VERSION_CODES#R} or
1190         higher, this permission has no effect.
1191
1192         <p>If your app is on a device that runs API level 19 or higher, you don't need to declare
1193         this permission to read and write files in your application-specific directories returned
1194         by {@link android.content.Context#getExternalFilesDir} and
1195         {@link android.content.Context#getExternalCacheDir}.
1196
1197         <p>Learn more about how to
1198         <a href="{@docRoot}training/data-storage/shared/media#update-other-apps-files">modify media
1199         files</a> that your app doesn't own, and how to
1200         <a href="{@docRoot}training/data-storage/shared/documents-files">modify non-media files</a>
1201         that your app doesn't own.
1202
1203         <p>If your app is a file manager and needs broad access to external storage files, then
1204         the system must place your app on an allowlist so that you can successfully request the
1205         <a href="#MANAGE_EXTERNAL_STORAGE><code>MANAGE_EXTERNAL_STORAGE</code></a> permission.
1206         Learn more about the appropriate use cases for
1207         <a href="{@docRoot}training/data-storage/manage-all-files>managing all files on a storage
1208         device</a>.
1209
1210         <p>If <em>both</em> your <a
1211         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1212         minSdkVersion}</a> and <a
1213         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1214         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1215         grants your app this permission. If you don't need this permission, be sure your <a
1216         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1217         targetSdkVersion}</a> is 4 or higher.
1218         <p>Protection level: dangerous</p>
1219    -->
1220    <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
1221        android:permissionGroup="android.permission-group.UNDEFINED"
1222        android:label="@string/permlab_sdcardWrite"
1223        android:description="@string/permdesc_sdcardWrite"
1224        android:permissionFlags="softRestricted|immutablyRestricted"
1225        android:protectionLevel="dangerous" />
1226
1227    <!-- Allows an application to access any geographic locations persisted in the
1228         user's shared collection.
1229         <p>Protection level: dangerous -->
1230    <permission android:name="android.permission.ACCESS_MEDIA_LOCATION"
1231        android:permissionGroup="android.permission-group.UNDEFINED"
1232        android:label="@string/permlab_mediaLocation"
1233        android:description="@string/permdesc_mediaLocation"
1234        android:protectionLevel="dangerous" />
1235
1236    <!-- @hide @SystemApi @TestApi
1237         Allows an application to modify OBB files visible to other apps. -->
1238    <permission android:name="android.permission.WRITE_OBB"
1239        android:protectionLevel="signature|privileged" />
1240
1241    <!-- Allows an application a broad access to external storage in scoped storage.
1242         Intended to be used by few apps that need to manage files on behalf of the users.
1243         <p>Protection level: signature|appop|preinstalled -->
1244    <permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
1245        android:permissionGroup="android.permission-group.UNDEFINED"
1246        android:protectionLevel="signature|appop|preinstalled" />
1247
1248    <!-- Allows an application to modify and delete media files on this device or any connected
1249         storage device without user confirmation. Applications must already be granted the
1250         {@link #READ_EXTERNAL_STORAGE} or {@link #MANAGE_EXTERNAL_STORAGE}} permissions for this
1251         permission to take effect.
1252         <p>Even if applications are granted this permission, if applications want to modify or
1253         delete media files, they also must get the access by calling
1254         {@link android.provider.MediaStore#createWriteRequest(ContentResolver, Collection)},
1255         {@link android.provider.MediaStore#createDeleteRequest(ContentResolver, Collection)}, or
1256         {@link android.provider.MediaStore#createTrashRequest(ContentResolver, Collection, boolean)}.
1257         <p>This permission doesn't give read or write access directly. It only prevents the user
1258         confirmation dialog for these requests.
1259         <p>If applications are not granted {@link #ACCESS_MEDIA_LOCATION}, the system also pops up
1260         the user confirmation dialog for the write request.
1261         <p>Protection level: signature|appop|preinstalled -->
1262    <permission android:name="android.permission.MANAGE_MEDIA"
1263        android:protectionLevel="signature|appop|preinstalled" />
1264
1265    <!-- ====================================================================== -->
1266    <!-- Permissions for accessing the device location                          -->
1267    <!-- ====================================================================== -->
1268    <eat-comment />
1269
1270    <!-- Used for permissions that allow accessing the device location. -->
1271    <permission-group android:name="android.permission-group.LOCATION"
1272        android:icon="@drawable/perm_group_location"
1273        android:label="@string/permgrouplab_location"
1274        android:description="@string/permgroupdesc_location"
1275        android:priority="400" />
1276
1277    <!-- Allows an app to access precise location.
1278         Alternatively, you might want {@link #ACCESS_COARSE_LOCATION}.
1279         <p>Protection level: dangerous
1280    -->
1281    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
1282        android:permissionGroup="android.permission-group.UNDEFINED"
1283        android:label="@string/permlab_accessFineLocation"
1284        android:description="@string/permdesc_accessFineLocation"
1285        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
1286        android:protectionLevel="dangerous|instant" />
1287
1288    <!-- Allows an app to access approximate location.
1289         Alternatively, you might want {@link #ACCESS_FINE_LOCATION}.
1290         <p>Protection level: dangerous
1291    -->
1292    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
1293        android:permissionGroup="android.permission-group.UNDEFINED"
1294        android:label="@string/permlab_accessCoarseLocation"
1295        android:description="@string/permdesc_accessCoarseLocation"
1296        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
1297        android:protectionLevel="dangerous|instant" />
1298
1299    <!-- Allows an app to access location in the background. If you're requesting this permission,
1300         you must also request either {@link #ACCESS_COARSE_LOCATION} or
1301         {@link #ACCESS_FINE_LOCATION}. Requesting this permission by itself doesn't give you
1302         location access.
1303         <p>Protection level: dangerous
1304
1305         <p> This is a hard restricted permission which cannot be held by an app until
1306         the installer on record allowlists the permission. For more details see
1307         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1308    -->
1309    <permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"
1310        android:permissionGroup="android.permission-group.UNDEFINED"
1311        android:label="@string/permlab_accessBackgroundLocation"
1312        android:permissionFlags="hardRestricted"
1313        android:description="@string/permdesc_accessBackgroundLocation"
1314        android:protectionLevel="dangerous|instant" />
1315
1316    <!-- Allows an application (emergency or advanced driver-assistance app) to bypass
1317    location settings.
1318         <p>Not for use by third-party applications.
1319         @SystemApi
1320         @hide
1321    -->
1322    <permission android:name="android.permission.LOCATION_BYPASS"
1323                android:protectionLevel="signature|privileged"/>
1324
1325    <!-- ====================================================================== -->
1326    <!-- Permissions for accessing the call log                                 -->
1327    <!-- ====================================================================== -->
1328    <eat-comment />
1329
1330    <!-- Used for permissions that are associated telephony features. -->
1331    <permission-group android:name="android.permission-group.CALL_LOG"
1332        android:icon="@drawable/perm_group_call_log"
1333        android:label="@string/permgrouplab_calllog"
1334        android:description="@string/permgroupdesc_calllog"
1335        android:priority="450" />
1336
1337    <!-- Allows an application to access the IMS call service: making and
1338         modifying a call
1339        <p>Protection level: signature|privileged
1340        @hide
1341    -->
1342    <permission android:name="android.permission.ACCESS_IMS_CALL_SERVICE"
1343        android:label="@string/permlab_accessImsCallService"
1344        android:description="@string/permdesc_accessImsCallService"
1345        android:protectionLevel="signature|privileged" />
1346
1347    <!-- @SystemApi @hide Allows an application to perform IMS Single Registration related actions.
1348         Only granted if the application is a system app AND is in the Default SMS Role.
1349         The permission is revoked when the app is taken out of the Default SMS Role.
1350        <p>Protection level: internal|role
1351    -->
1352    <permission android:name="android.permission.PERFORM_IMS_SINGLE_REGISTRATION"
1353        android:protectionLevel="internal|role" />
1354
1355    <!-- Allows an application to read the user's call log.
1356         <p class="note"><strong>Note:</strong> If your app uses the
1357         {@link #READ_CONTACTS} permission and <em>both</em> your <a
1358         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1359         minSdkVersion}</a> and <a
1360         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1361         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1362         grants your app this permission. If you don't need this permission, be sure your <a
1363         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1364         targetSdkVersion}</a> is 16 or higher.</p>
1365         <p>Protection level: dangerous
1366
1367         <p> This is a hard restricted permission which cannot be held by an app until
1368         the installer on record allowlists the permission. For more details see
1369         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1370    -->
1371    <permission android:name="android.permission.READ_CALL_LOG"
1372        android:permissionGroup="android.permission-group.UNDEFINED"
1373        android:label="@string/permlab_readCallLog"
1374        android:description="@string/permdesc_readCallLog"
1375        android:permissionFlags="hardRestricted"
1376        android:protectionLevel="dangerous" />
1377
1378    <!-- Allows an application to write and read the user's call log data.
1379         <p class="note"><strong>Note:</strong> If your app uses the
1380         {@link #WRITE_CONTACTS} permission and <em>both</em> your <a
1381         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1382         minSdkVersion}</a> and <a
1383         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1384         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1385         grants your app this permission. If you don't need this permission, be sure your <a
1386         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1387         targetSdkVersion}</a> is 16 or higher.</p>
1388         <p>Protection level: dangerous
1389
1390         <p> This is a hard restricted permission which cannot be held by an app until
1391         the installer on record allowlists the permission. For more details see
1392         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1393    -->
1394    <permission android:name="android.permission.WRITE_CALL_LOG"
1395        android:permissionGroup="android.permission-group.UNDEFINED"
1396        android:label="@string/permlab_writeCallLog"
1397        android:description="@string/permdesc_writeCallLog"
1398        android:permissionFlags="hardRestricted"
1399        android:protectionLevel="dangerous" />
1400
1401    <!-- Allows an application to see the number being dialed during an outgoing
1402         call with the option to redirect the call to a different number or
1403         abort the call altogether.
1404         <p>Protection level: dangerous
1405
1406         <p> This is a hard restricted permission which cannot be held by an app until
1407         the installer on record allowlists the permission. For more details see
1408         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1409
1410         @deprecated Applications should use {@link android.telecom.CallRedirectionService} instead
1411         of the {@link android.content.Intent#ACTION_NEW_OUTGOING_CALL} broadcast.
1412    -->
1413    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
1414        android:permissionGroup="android.permission-group.UNDEFINED"
1415        android:label="@string/permlab_processOutgoingCalls"
1416        android:description="@string/permdesc_processOutgoingCalls"
1417        android:permissionFlags="hardRestricted"
1418        android:protectionLevel="dangerous" />
1419
1420    <!-- ====================================================================== -->
1421    <!-- Permissions for accessing the device telephony                         -->
1422    <!-- ====================================================================== -->
1423    <eat-comment />
1424
1425    <!-- Used for permissions that are associated telephony features. -->
1426    <permission-group android:name="android.permission-group.PHONE"
1427        android:icon="@drawable/perm_group_phone_calls"
1428        android:label="@string/permgrouplab_phone"
1429        android:description="@string/permgroupdesc_phone"
1430        android:priority="500" />
1431
1432    <!-- Allows read only access to phone state, including the current cellular network information,
1433         the status of any ongoing calls, and a list of any {@link android.telecom.PhoneAccount}s
1434         registered on the device.
1435         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1436         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1437         minSdkVersion}</a> and <a
1438         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1439         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1440         grants your app this permission. If you don't need this permission, be sure your <a
1441         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1442         targetSdkVersion}</a> is 4 or higher.
1443         <p>Protection level: dangerous
1444    -->
1445    <permission android:name="android.permission.READ_PHONE_STATE"
1446        android:permissionGroup="android.permission-group.UNDEFINED"
1447        android:label="@string/permlab_readPhoneState"
1448        android:description="@string/permdesc_readPhoneState"
1449        android:protectionLevel="dangerous" />
1450
1451    <!-- Allows read only access to phone state with a non dangerous permission,
1452         including the information like cellular network type, software version. -->
1453    <permission android:name="android.permission.READ_BASIC_PHONE_STATE"
1454            android:permissionGroup="android.permission-group.UNDEFINED"
1455            android:label="@string/permlab_readBasicPhoneState"
1456            android:description="@string/permdesc_readBasicPhoneState"
1457            android:protectionLevel="normal" />
1458
1459    <!-- Allows read access to the device's phone number(s). This is a subset of the capabilities
1460         granted by {@link #READ_PHONE_STATE} but is exposed to instant applications.
1461         <p>Protection level: dangerous-->
1462    <permission android:name="android.permission.READ_PHONE_NUMBERS"
1463        android:permissionGroup="android.permission-group.UNDEFINED"
1464        android:label="@string/permlab_readPhoneNumbers"
1465        android:description="@string/permdesc_readPhoneNumbers"
1466        android:protectionLevel="dangerous|instant" />
1467
1468    <!-- Allows an application to initiate a phone call without going through
1469        the Dialer user interface for the user to confirm the call.
1470        <p class="note"><b>Note:</b> An app holding this permission can also call carrier MMI
1471        codes to change settings such as call forwarding or call waiting preferences.</p>
1472        <p>Protection level: dangerous</p>
1473    -->
1474    <permission android:name="android.permission.CALL_PHONE"
1475        android:permissionGroup="android.permission-group.UNDEFINED"
1476        android:permissionFlags="costsMoney"
1477        android:label="@string/permlab_callPhone"
1478        android:description="@string/permdesc_callPhone"
1479        android:protectionLevel="dangerous" />
1480
1481    <!-- Allows an application to add voicemails into the system.
1482         <p>Protection level: dangerous
1483    -->
1484    <permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
1485        android:permissionGroup="android.permission-group.UNDEFINED"
1486        android:label="@string/permlab_addVoicemail"
1487        android:description="@string/permdesc_addVoicemail"
1488        android:protectionLevel="dangerous" />
1489
1490    <!-- Allows an application to use SIP service.
1491         <p>Protection level: dangerous
1492    -->
1493    <permission android:name="android.permission.USE_SIP"
1494        android:permissionGroup="android.permission-group.UNDEFINED"
1495        android:description="@string/permdesc_use_sip"
1496        android:label="@string/permlab_use_sip"
1497        android:protectionLevel="dangerous"/>
1498
1499    <!-- Allows the app to answer an incoming phone call.
1500         <p>Protection level: dangerous
1501    -->
1502    <permission android:name="android.permission.ANSWER_PHONE_CALLS"
1503        android:permissionGroup="android.permission-group.UNDEFINED"
1504        android:label="@string/permlab_answerPhoneCalls"
1505        android:description="@string/permdesc_answerPhoneCalls"
1506        android:protectionLevel="dangerous|runtime" />
1507
1508    <!-- Allows a calling application which manages its own calls through the self-managed
1509         {@link android.telecom.ConnectionService} APIs.  See
1510         {@link android.telecom.PhoneAccount#CAPABILITY_SELF_MANAGED} for more information on the
1511         self-managed ConnectionService APIs.
1512         <p>Protection level: normal
1513    -->
1514    <permission android:name="android.permission.MANAGE_OWN_CALLS"
1515                android:label="@string/permlab_manageOwnCalls"
1516                android:description="@string/permdesc_manageOwnCalls"
1517                android:protectionLevel="normal" />
1518
1519    <!--Allows an app which implements the
1520        {@link android.telecom.InCallService InCallService} API to be eligible to be enabled as a
1521        calling companion app. This means that the Telecom framework will bind to the app's
1522        InCallService implementation when there are calls active. The app can use the InCallService
1523        API to view information about calls on the system and control these calls.
1524        <p>Protection level: normal
1525    -->
1526    <permission android:name="android.permission.CALL_COMPANION_APP"
1527                android:label="@string/permlab_callCompanionApp"
1528                android:description="@string/permdesc_callCompanionApp"
1529                android:protectionLevel="normal" />
1530
1531    <!-- Exempt this uid from restrictions to background audio recoding
1532     <p>Protection level: signature|privileged
1533     @hide
1534     @SystemApi
1535    -->
1536    <permission android:name="android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS"
1537                android:label="@string/permlab_exemptFromAudioRecordRestrictions"
1538                android:description="@string/permdesc_exemptFromAudioRecordRestrictions"
1539                android:protectionLevel="signature|privileged|role" />
1540
1541    <!-- Allows a calling app to continue a call which was started in another app.  An example is a
1542         video calling app that wants to continue a voice call on the user's mobile network.<p>
1543         When the handover of a call from one app to another takes place, there are two devices
1544         which are involved in the handover; the initiating and receiving devices.  The initiating
1545         device is where the request to handover the call was started, and the receiving device is
1546         where the handover request is confirmed by the other party.<p>
1547         This permission protects access to the
1548         {@link android.telecom.TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)} which
1549         the receiving side of the handover uses to accept a handover.
1550         <p>Protection level: dangerous
1551    -->
1552    <permission android:name="android.permission.ACCEPT_HANDOVER"
1553                android:permissionGroup="android.permission-group.UNDEFINED"
1554                android.label="@string/permlab_acceptHandover"
1555                android:description="@string/permdesc_acceptHandovers"
1556                android:protectionLevel="dangerous" />
1557
1558    <!-- ====================================================================== -->
1559    <!-- Permissions for accessing the device microphone                        -->
1560    <!-- ====================================================================== -->
1561    <eat-comment />
1562
1563    <!-- Used for permissions that are associated with accessing
1564         microphone audio from the device. Note that phone calls also capture audio
1565         but are in a separate (more visible) permission group. -->
1566    <permission-group android:name="android.permission-group.MICROPHONE"
1567        android:icon="@drawable/perm_group_microphone"
1568        android:label="@string/permgrouplab_microphone"
1569        android:description="@string/permgroupdesc_microphone"
1570        android:priority="600" />
1571
1572    <!-- Allows an application to record audio.
1573         <p>Protection level: dangerous
1574    -->
1575    <permission android:name="android.permission.RECORD_AUDIO"
1576        android:permissionGroup="android.permission-group.UNDEFINED"
1577        android:label="@string/permlab_recordAudio"
1578        android:description="@string/permdesc_recordAudio"
1579        android:backgroundPermission="android.permission.RECORD_BACKGROUND_AUDIO"
1580        android:protectionLevel="dangerous|instant" />
1581
1582    <!-- @SystemApi @TestApi Allows an application to record audio while in the background.
1583         This permission is not intended to be held by apps.
1584         <p>Protection level: internal
1585        @hide -->
1586    <permission android:name="android.permission.RECORD_BACKGROUND_AUDIO"
1587        android:permissionGroup="android.permission-group.UNDEFINED"
1588        android:label="@string/permlab_recordBackgroundAudio"
1589        android:description="@string/permdesc_recordBackgroundAudio"
1590        android:protectionLevel="internal|role" />
1591
1592    <!-- ====================================================================== -->
1593    <!-- Permissions for activity recognition                        -->
1594    <!-- ====================================================================== -->
1595    <eat-comment />
1596
1597    <!-- Used for permissions that are associated with activity recognition. -->
1598    <permission-group android:name="android.permission-group.ACTIVITY_RECOGNITION"
1599        android:icon="@drawable/perm_group_activity_recognition"
1600        android:label="@string/permgrouplab_activityRecognition"
1601        android:description="@string/permgroupdesc_activityRecognition"
1602        android:priority="1000" />
1603
1604    <!-- Allows an application to recognize physical activity.
1605         <p>Protection level: dangerous
1606    -->
1607    <permission android:name="android.permission.ACTIVITY_RECOGNITION"
1608        android:permissionGroup="android.permission-group.UNDEFINED"
1609        android:label="@string/permlab_activityRecognition"
1610        android:description="@string/permdesc_activityRecognition"
1611        android:protectionLevel="dangerous|instant" />
1612
1613    <!-- ====================================================================== -->
1614    <!-- Permissions for accessing the vendor UCE Service                              -->
1615    <!-- ====================================================================== -->
1616
1617    <!-- @hide Allows an application to Access UCE-Presence.
1618         <p>Protection level: signature|privileged
1619         @deprecated Framework should no longer use this permission to access the vendor UCE service
1620         using AIDL, it is instead implemented by RcsCapabilityExchangeImplBase
1621    -->
1622    <permission android:name="android.permission.ACCESS_UCE_PRESENCE_SERVICE"
1623        android:permissionGroup="android.permission-group.PHONE"
1624        android:protectionLevel="signature|privileged"/>
1625
1626    <!-- @hide Allows an application to Access UCE-OPTIONS.
1627         <p>Protection level: signature|privileged
1628         @deprecated Framework should no longer use this permission to access the vendor UCE service
1629         using AIDL, it is instead implemented by RcsCapabilityExchangeImplBase
1630    -->
1631    <permission android:name="android.permission.ACCESS_UCE_OPTIONS_SERVICE"
1632        android:permissionGroup="android.permission-group.PHONE"
1633        android:protectionLevel="signature|privileged"/>
1634
1635
1636
1637    <!-- ====================================================================== -->
1638    <!-- Permissions for accessing the device camera                            -->
1639    <!-- ====================================================================== -->
1640    <eat-comment />
1641
1642    <!-- Used for permissions that are associated with accessing
1643     camera or capturing images/video from the device. -->
1644    <permission-group android:name="android.permission-group.CAMERA"
1645        android:icon="@drawable/perm_group_camera"
1646        android:label="@string/permgrouplab_camera"
1647        android:description="@string/permgroupdesc_camera"
1648        android:priority="700" />
1649
1650    <!-- Required to be able to access the camera device.
1651         <p>This will automatically enforce the
1652         <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">
1653         uses-feature</a> manifest element for <em>all</em> camera features.
1654         If you do not require all camera features or can properly operate if a camera
1655         is not available, then you must modify your manifest as appropriate in order to
1656         install on devices that don't support all camera features.</p>
1657         <p>Protection level: dangerous
1658    -->
1659    <permission android:name="android.permission.CAMERA"
1660        android:permissionGroup="android.permission-group.UNDEFINED"
1661        android:label="@string/permlab_camera"
1662        android:description="@string/permdesc_camera"
1663        android:backgroundPermission="android.permission.BACKGROUND_CAMERA"
1664        android:protectionLevel="dangerous|instant" />
1665
1666    <!-- Required to be able to discover and connect to nearby Bluetooth devices.
1667         <p>Protection level: dangerous -->
1668    <permission-group android:name="android.permission-group.NEARBY_DEVICES"
1669        android:icon="@drawable/perm_group_nearby_devices"
1670        android:label="@string/permgrouplab_nearby_devices"
1671        android:description="@string/permgroupdesc_nearby_devices"
1672        android:priority="750" />
1673
1674    <!-- @SystemApi @TestApi Required to be able to access the camera device in the background.
1675         This permission is not intended to be held by apps.
1676         <p>Protection level: internal
1677        @hide -->
1678    <permission android:name="android.permission.BACKGROUND_CAMERA"
1679            android:permissionGroup="android.permission-group.UNDEFINED"
1680            android:label="@string/permlab_backgroundCamera"
1681            android:description="@string/permdesc_backgroundCamera"
1682            android:protectionLevel="internal|role" />
1683
1684    <!-- @SystemApi Required in addition to android.permission.CAMERA to be able to access
1685           system only camera devices.
1686           <p>Protection level: system|signature|role
1687           @hide -->
1688    <permission android:name="android.permission.SYSTEM_CAMERA"
1689        android:permissionGroup="android.permission-group.UNDEFINED"
1690        android:label="@string/permlab_systemCamera"
1691        android:description="@string/permdesc_systemCamera"
1692        android:protectionLevel="system|signature|role" />
1693
1694    <!-- @SystemApi Allows receiving the camera service notifications when a camera is opened
1695            (by a certain application package) or closed.
1696        @hide -->
1697    <permission android:name="android.permission.CAMERA_OPEN_CLOSE_LISTENER"
1698        android:permissionGroup="android.permission-group.UNDEFINED"
1699        android:label="@string/permlab_cameraOpenCloseListener"
1700        android:description="@string/permdesc_cameraOpenCloseListener"
1701        android:protectionLevel="signature" />
1702
1703    <!-- ====================================================================== -->
1704    <!-- Permissions for accessing the device sensors                           -->
1705    <!-- ====================================================================== -->
1706    <eat-comment />
1707
1708    <!-- Used for permissions that are associated with accessing
1709         body or environmental sensors. -->
1710    <permission-group android:name="android.permission-group.SENSORS"
1711        android:icon="@drawable/perm_group_sensors"
1712        android:label="@string/permgrouplab_sensors"
1713        android:description="@string/permgroupdesc_sensors"
1714        android:priority="800" />
1715
1716    <!-- Allows an app to access sensor data with a sampling rate greater than 200 Hz.
1717        <p>Protection level: normal
1718    -->
1719    <permission android:name="android.permission.HIGH_SAMPLING_RATE_SENSORS"
1720                android:permissionGroup="android.permission-group.SENSORS"
1721                android:label="@string/permlab_highSamplingRateSensors"
1722                android:description="@string/permdesc_highSamplingRateSensors"
1723                android:protectionLevel="normal" />
1724
1725    <!-- Allows an application to access data from sensors that the user uses to
1726         measure what is happening inside their body, such as heart rate.
1727         <p>Protection level: dangerous -->
1728    <permission android:name="android.permission.BODY_SENSORS"
1729        android:permissionGroup="android.permission-group.UNDEFINED"
1730        android:label="@string/permlab_bodySensors"
1731        android:description="@string/permdesc_bodySensors"
1732        android:backgroundPermission="android.permission.BODY_SENSORS_BACKGROUND"
1733        android:protectionLevel="dangerous" />
1734
1735    <!-- Allows an application to access data from sensors that the user uses to measure what is
1736         happening inside their body, such as heart rate. If you're requesting this permission, you
1737         must also request {@link #BODY_SENSORS}. Requesting this permission by itself doesn't give
1738         you Body sensors access.
1739         <p>Protection level: dangerous
1740
1741         <p> This is a hard restricted permission which cannot be held by an app until
1742         the installer on record allowlists the permission. For more details see
1743         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1744    -->
1745    <permission android:name="android.permission.BODY_SENSORS_BACKGROUND"
1746        android:permissionGroup="android.permission-group.UNDEFINED"
1747        android:label="@string/permlab_bodySensors_background"
1748        android:description="@string/permdesc_bodySensors_background"
1749        android:protectionLevel="dangerous"
1750        android:permissionFlags="hardRestricted" />
1751
1752    <!-- Allows an app to use fingerprint hardware.
1753         <p>Protection level: normal
1754         @deprecated Applications should request {@link
1755         android.Manifest.permission#USE_BIOMETRIC} instead
1756    -->
1757    <permission android:name="android.permission.USE_FINGERPRINT"
1758        android:permissionGroup="android.permission-group.SENSORS"
1759        android:label="@string/permlab_useFingerprint"
1760        android:description="@string/permdesc_useFingerprint"
1761        android:protectionLevel="normal" />
1762
1763    <!-- Allows an app to use device supported biometric modalities.
1764         <p>Protection level: normal
1765    -->
1766    <permission android:name="android.permission.USE_BIOMETRIC"
1767        android:permissionGroup="android.permission-group.SENSORS"
1768        android:label="@string/permlab_useBiometric"
1769        android:description="@string/permdesc_useBiometric"
1770        android:protectionLevel="normal" />
1771
1772    <!-- ====================================================================== -->
1773    <!-- Permissions for posting notifications                                  -->
1774    <!-- ====================================================================== -->
1775    <eat-comment />
1776
1777    <!-- Used for permissions that are associated with posting notifications
1778    -->
1779    <permission-group android:name="android.permission-group.NOTIFICATIONS"
1780          android:icon="@drawable/ic_notifications_alerted"
1781          android:label="@string/permgrouplab_notifications"
1782          android:description="@string/permgroupdesc_notifications"
1783          android:priority="850" />
1784
1785    <!-- Allows an app to post notifications
1786         <p>Protection level: dangerous
1787    -->
1788    <permission android:name="android.permission.POST_NOTIFICATIONS"
1789                android:permissionGroup="android.permission-group.UNDEFINED"
1790                android:label="@string/permlab_postNotification"
1791                android:description="@string/permdesc_postNotification"
1792                android:protectionLevel="dangerous|instant" />
1793    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
1794
1795    <!-- ====================================================================== -->
1796    <!-- REMOVED PERMISSIONS                                                    -->
1797    <!-- ====================================================================== -->
1798
1799    <!-- @hide We need to keep this around for backwards compatibility -->
1800    <permission android:name="android.permission.READ_PROFILE"
1801        android:protectionLevel="normal"
1802        android:permissionFlags="removed"/>
1803
1804    <!-- @hide We need to keep this around for backwards compatibility -->
1805    <permission android:name="android.permission.WRITE_PROFILE"
1806        android:protectionLevel="normal"
1807        android:permissionFlags="removed"/>
1808
1809    <!-- @hide We need to keep this around for backwards compatibility -->
1810    <permission android:name="android.permission.READ_SOCIAL_STREAM"
1811        android:protectionLevel="normal"
1812        android:permissionFlags="removed"/>
1813
1814    <!-- @hide We need to keep this around for backwards compatibility -->
1815    <permission android:name="android.permission.WRITE_SOCIAL_STREAM"
1816        android:protectionLevel="normal"
1817        android:permissionFlags="removed"/>
1818
1819    <!-- @hide We need to keep this around for backwards compatibility -->
1820    <permission android:name="android.permission.READ_USER_DICTIONARY"
1821        android:protectionLevel="normal"
1822        android:permissionFlags="removed"/>
1823
1824    <!-- @hide We need to keep this around for backwards compatibility -->
1825    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
1826        android:protectionLevel="normal"
1827        android:permissionFlags="removed"/>
1828
1829    <!-- @SystemApi @hide We need to keep this around for backwards compatibility -->
1830    <permission android:name="android.permission.WRITE_SMS"
1831        android:protectionLevel="normal"
1832        android:permissionFlags="removed"/>
1833
1834    <!-- @hide We need to keep this around for backwards compatibility -->
1835    <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
1836        android:protectionLevel="normal"
1837        android:permissionFlags="removed"/>
1838
1839    <!-- @hide We need to keep this around for backwards compatibility -->
1840    <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
1841        android:protectionLevel="normal"
1842        android:permissionFlags="removed"/>
1843
1844    <!-- @hide We need to keep this around for backwards compatibility -->
1845    <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"
1846        android:protectionLevel="normal"
1847        android:permissionFlags="removed"/>
1848
1849    <!-- @hide We need to keep this around for backwards compatibility -->
1850    <permission android:name="android.permission.MANAGE_ACCOUNTS"
1851        android:protectionLevel="normal"
1852        android:permissionFlags="removed"/>
1853
1854    <!-- @hide We need to keep this around for backwards compatibility -->
1855    <permission android:name="android.permission.USE_CREDENTIALS"
1856        android:protectionLevel="normal"
1857        android:permissionFlags="removed"/>
1858
1859    <!-- @hide We need to keep this around for backwards compatibility -->
1860    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
1861        android:protectionLevel="normal"
1862        android:permissionFlags="removed"/>
1863
1864    <!-- @hide We need to keep this around for backwards compatibility -->
1865    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
1866        android:protectionLevel="normal"
1867        android:permissionFlags="removed"/>
1868
1869    <!-- @hide We need to keep this around for backwards compatibility -->
1870    <permission android:name="android.permission.FLASHLIGHT"
1871        android:protectionLevel="normal"
1872        android:permissionFlags="removed"/>
1873
1874    <!-- ====================================================================== -->
1875    <!-- INSTALL PERMISSIONS                                                    -->
1876    <!-- ====================================================================== -->
1877
1878    <!-- ================================== -->
1879    <!-- Permissions for accessing messages -->
1880    <!-- ================================== -->
1881    <eat-comment />
1882
1883    <!-- Allows an application (Phone) to send a request to other applications
1884         to handle the respond-via-message action during incoming calls.
1885         <p>Not for use by third-party applications. -->
1886    <permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE"
1887        android:protectionLevel="signature|privileged" />
1888
1889    <!-- @SystemApi Allows an application to send SMS to premium shortcodes without user permission.
1890         <p>Not for use by third-party applications.
1891         @hide -->
1892    <permission android:name="android.permission.SEND_SMS_NO_CONFIRMATION"
1893        android:protectionLevel="signature|privileged" />
1894
1895    <!-- Allows an application to filter carrier specific sms.
1896         @hide -->
1897    <permission android:name="android.permission.CARRIER_FILTER_SMS"
1898        android:protectionLevel="signature|privileged" />
1899
1900    <!-- @SystemApi Allows an application to receive emergency cell broadcast messages,
1901         to record or display them to the user.
1902         <p>Not for use by third-party applications.
1903         @hide -->
1904    <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"
1905        android:protectionLevel="signature|privileged" />
1906
1907    <!-- @SystemApi Allows an application to monitor incoming Bluetooth MAP messages, to record
1908         or perform processing on them. -->
1909    <!-- @hide -->
1910    <permission android:name="android.permission.RECEIVE_BLUETOOTH_MAP"
1911        android:protectionLevel="signature|privileged" />
1912
1913    <!-- @SystemApi @hide Allows an application to execute contacts directory search.
1914         This should only be used by ContactsProvider.
1915         <p>Not for use by third-party applications. -->
1916    <permission android:name="android.permission.BIND_DIRECTORY_SEARCH"
1917        android:protectionLevel="signature|privileged" />
1918
1919    <!-- @SystemApi @hide Allows an application to modify the cell broadcasts configuration
1920         (i.e. enable or disable channels).
1921         <p>Not for use by third-party applications. -->
1922    <permission android:name="android.permission.MODIFY_CELL_BROADCASTS"
1923                android:protectionLevel="signature|privileged" />
1924
1925    <!-- =============================================================== -->
1926    <!-- Permissions for setting the device alarm                        -->
1927    <!-- =============================================================== -->
1928    <eat-comment />
1929
1930    <!-- Allows an application to broadcast an Intent to set an alarm for the user.
1931         <p>Protection level: normal
1932    -->
1933    <permission android:name="com.android.alarm.permission.SET_ALARM"
1934        android:label="@string/permlab_setAlarm"
1935        android:description="@string/permdesc_setAlarm"
1936        android:protectionLevel="normal" />
1937
1938    <!-- =============================================================== -->
1939    <!-- Permissions for accessing the user voicemail                    -->
1940    <!-- =============================================================== -->
1941    <eat-comment />
1942
1943    <!-- Allows an application to modify and remove existing voicemails in the system.
1944        <p>Protection level: signature|privileged|role
1945    -->
1946    <permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"
1947        android:protectionLevel="signature|privileged|role" />
1948
1949    <!-- Allows an application to read voicemails in the system.
1950         <p>Protection level: signature|privileged|role
1951    -->
1952    <permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"
1953        android:protectionLevel="signature|privileged|role" />
1954
1955    <!-- ======================================= -->
1956    <!-- Permissions for accessing location info -->
1957    <!-- ======================================= -->
1958    <eat-comment />
1959
1960    <!-- Allows an application to access extra location provider commands.
1961         <p>Protection level: normal
1962    -->
1963    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
1964        android:label="@string/permlab_accessLocationExtraCommands"
1965        android:description="@string/permdesc_accessLocationExtraCommands"
1966        android:protectionLevel="normal" />
1967
1968    <!-- Allows an application to install a location provider into the Location Manager.
1969    <p>Not for use by third-party applications. -->
1970    <permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"
1971        android:protectionLevel="signature|privileged" />
1972
1973    <!-- @SystemApi @hide Allows an application to provide location-based time zone suggestions to
1974         the system server. This is needed because the system server discovers time zone providers
1975         by exposed intent actions and metadata, without it any app could potentially register
1976         itself as time zone provider. The system server checks for this permission.
1977         <p>Not for use by third-party applications.
1978    -->
1979    <permission android:name="android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE"
1980        android:protectionLevel="signature|privileged" />
1981
1982    <!-- @SystemApi @hide Allows an application to bind to a android.service.TimeZoneProviderService
1983         for the purpose of detecting the device's time zone. This prevents arbitrary clients
1984         connecting to the time zone provider service. The system server checks that the provider's
1985         intent service explicitly sets this permission via the android:permission attribute of the
1986         service.
1987         This is only expected to be possessed by the system server outside of tests.
1988         <p>Not for use by third-party applications.
1989    -->
1990    <permission android:name="android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE"
1991        android:protectionLevel="signature" />
1992
1993    <!-- @SystemApi @hide Allows HDMI-CEC service to access device and configuration files.
1994         This should only be used by HDMI-CEC service.
1995    -->
1996    <permission android:name="android.permission.HDMI_CEC"
1997        android:protectionLevel="signature|privileged|vendorPrivileged" />
1998
1999    <!-- Allows an application to use location features in hardware,
2000         such as the geofencing api.
2001         <p>Not for use by third-party applications. -->
2002    <permission android:name="android.permission.LOCATION_HARDWARE"
2003        android:protectionLevel="signature|privileged|role" />
2004    <uses-permission android:name="android.permission.LOCATION_HARDWARE"/>
2005
2006    <!-- @SystemApi Allows an application to use the Context Hub.
2007         <p>Not for use by third-party applications.
2008         @hide
2009    -->
2010    <permission android:name="android.permission.ACCESS_CONTEXT_HUB"
2011        android:protectionLevel="signature|privileged" />
2012    <uses-permission android:name="android.permission.ACCESS_CONTEXT_HUB"/>
2013
2014    <!-- @SystemApi Allows an application to create mock location providers for testing.
2015         <p>Protection level: signature
2016         @hide
2017    -->
2018    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
2019        android:protectionLevel="signature" />
2020
2021    <!-- @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
2022         Allows automotive applications to control location
2023         suspend state for power management use cases.
2024         <p>Not for use by third-party applications.
2025    -->
2026    <permission android:name="android.permission.CONTROL_AUTOMOTIVE_GNSS"
2027        android:protectionLevel="signature|privileged" />
2028
2029    <!-- ======================================= -->
2030    <!-- Permissions for accessing networks -->
2031    <!-- ======================================= -->
2032    <eat-comment />
2033
2034    <!-- Allows applications to open network sockets.
2035         <p>Protection level: normal
2036    -->
2037    <permission android:name="android.permission.INTERNET"
2038        android:description="@string/permdesc_createNetworkSockets"
2039        android:label="@string/permlab_createNetworkSockets"
2040        android:protectionLevel="normal|instant" />
2041
2042    <!-- Allows applications to access information about networks.
2043         <p>Protection level: normal
2044    -->
2045    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
2046        android:description="@string/permdesc_accessNetworkState"
2047        android:label="@string/permlab_accessNetworkState"
2048        android:protectionLevel="normal|instant" />
2049
2050    <!-- Allows applications to access information about Wi-Fi networks.
2051         <p>Protection level: normal
2052    -->
2053    <permission android:name="android.permission.ACCESS_WIFI_STATE"
2054        android:description="@string/permdesc_accessWifiState"
2055        android:label="@string/permlab_accessWifiState"
2056        android:protectionLevel="normal" />
2057
2058    <!-- Allows applications to change Wi-Fi connectivity state.
2059         <p>Protection level: normal
2060    -->
2061    <permission android:name="android.permission.CHANGE_WIFI_STATE"
2062        android:description="@string/permdesc_changeWifiState"
2063        android:label="@string/permlab_changeWifiState"
2064        android:protectionLevel="normal" />
2065
2066    <!-- This permission is used to let OEMs grant their trusted app access to a subset of
2067         privileged wifi APIs to improve wifi performance. Allows applications to manage
2068         Wi-Fi network selection related features such as enable or disable global auto-join,
2069         modify connectivity scan intervals, and approve Wi-Fi Direct connections.
2070         <p>Not for use by third-party applications. -->
2071    <permission android:name="android.permission.MANAGE_WIFI_NETWORK_SELECTION"
2072                android:protectionLevel="signature|privileged|knownSigner"
2073                android:knownCerts="@array/wifi_known_signers" />
2074
2075    <!-- Allows applications to get notified when a Wi-Fi interface request cannot
2076         be satisfied without tearing down one or more other interfaces, and provide a decision
2077         whether to approve the request or reject it.
2078         <p>Not for use by third-party applications. -->
2079    <permission android:name="android.permission.MANAGE_WIFI_INTERFACES"
2080                android:protectionLevel="signature|privileged|knownSigner"
2081                android:knownCerts="@array/wifi_known_signers" />
2082
2083    <!-- @SystemApi @hide Allows apps to create and manage IPsec tunnels.
2084         <p>Only granted to applications that are currently bound by the
2085         system for creating and managing IPsec-based interfaces.
2086    -->
2087    <permission android:name="android.permission.MANAGE_IPSEC_TUNNELS"
2088        android:protectionLevel="signature|appop" />
2089
2090    <!-- @SystemApi @hide Allows apps to create and manage Test Networks.
2091         <p>Granted only to shell. CTS tests will use
2092         UiAutomation.AdoptShellPermissionIdentity() to gain access.
2093    -->
2094    <permission android:name="android.permission.MANAGE_TEST_NETWORKS"
2095        android:protectionLevel="signature" />
2096
2097    <!-- @SystemApi @hide Allows applications to read Wi-Fi credential.
2098         <p>Not for use by third-party applications. -->
2099    <permission android:name="android.permission.READ_WIFI_CREDENTIAL"
2100        android:protectionLevel="signature|privileged" />
2101
2102    <!-- @SystemApi @hide Allows applications to change tether state and run
2103         tether carrier provisioning.
2104         <p>Not for use by third-party applications. -->
2105    <permission android:name="android.permission.TETHER_PRIVILEGED"
2106        android:protectionLevel="signature|privileged" />
2107
2108    <!-- @SystemApi @hide Allow system apps to receive broadcast
2109         when a wifi network credential is changed.
2110         <p>Not for use by third-party applications. -->
2111    <permission android:name="android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE"
2112        android:protectionLevel="signature|privileged" />
2113
2114    <!-- Allows an application to modify any wifi configuration, even if created
2115     by another application. Once reconfigured the original creator cannot make any further
2116     modifications.
2117     <p>Not for use by third-party applications. -->
2118    <permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"
2119                android:protectionLevel="signature|privileged|knownSigner"
2120                android:knownCerts="@array/wifi_known_signers" />
2121
2122    <!-- @deprecated Allows applications to act as network scorers. @hide @SystemApi-->
2123    <permission android:name="android.permission.SCORE_NETWORKS"
2124        android:protectionLevel="signature|privileged" />
2125
2126    <!-- @deprecated Allows applications to request network
2127         recommendations and scores from the NetworkScoreService.
2128         @SystemApi
2129         <p>Not for use by third-party applications. @hide -->
2130    <permission android:name="android.permission.REQUEST_NETWORK_SCORES"
2131        android:protectionLevel="signature|setup" />
2132
2133    <!-- Allows applications to restart the Wi-Fi subsystem.
2134     @SystemApi
2135     <p>Not for use by third-party applications. @hide -->
2136    <permission android:name="android.permission.RESTART_WIFI_SUBSYSTEM"
2137                android:protectionLevel="signature|privileged" />
2138
2139    <!-- @SystemApi @hide Allows applications to toggle airplane mode.
2140         <p>Not for use by third-party or privileged applications.
2141    -->
2142    <permission android:name="android.permission.NETWORK_AIRPLANE_MODE"
2143        android:protectionLevel="signature" />
2144
2145    <!-- Allows network stack services (Connectivity and Wifi) to coordinate
2146         <p>Not for use by third-party or privileged applications.
2147         @SystemApi @TestApi
2148         @hide This should only be used by Connectivity and Wifi Services.
2149    -->
2150    <permission android:name="android.permission.NETWORK_STACK"
2151        android:protectionLevel="signature" />
2152
2153    <!-- @SystemApi @hide Allows an application to observe network policy changes. -->
2154    <permission android:name="android.permission.OBSERVE_NETWORK_POLICY"
2155                android:protectionLevel="signature" />
2156
2157    <!-- @SystemApi @hide Allows applications to register network factory or agent -->
2158    <permission android:name="android.permission.NETWORK_FACTORY"
2159                android:protectionLevel="signature|role" />
2160
2161    <!-- @SystemApi @hide Allows applications to access network stats provider -->
2162    <permission android:name="android.permission.NETWORK_STATS_PROVIDER"
2163                android:protectionLevel="signature" />
2164
2165    <!-- Allows Settings and SystemUI to call methods in Networking services
2166         <p>Not for use by third-party or privileged applications.
2167         @SystemApi @TestApi
2168         @hide This should only be used by Settings and SystemUI.
2169    -->
2170    <permission android:name="android.permission.NETWORK_SETTINGS"
2171        android:protectionLevel="signature" />
2172
2173    <!-- Allows holder to request bluetooth/wifi scan bypassing global "use location" setting and
2174         location permissions.
2175         <p>Not for use by third-party or privileged applications.
2176         @SystemApi
2177         @hide
2178    -->
2179    <permission android:name="android.permission.RADIO_SCAN_WITHOUT_LOCATION"
2180                android:protectionLevel="signature|companion" />
2181
2182    <!-- Allows SetupWizard to call methods in Networking services
2183         <p>Not for use by any other third-party or privileged applications.
2184         @SystemApi
2185         @hide This should only be used by SetupWizard.
2186    -->
2187    <permission android:name="android.permission.NETWORK_SETUP_WIZARD"
2188        android:protectionLevel="signature|setup" />
2189
2190    <!-- Allows Managed Provisioning to call methods in Networking services
2191         <p>Not for use by any other third-party or privileged applications.
2192         @SystemApi
2193         @hide This should only be used by ManagedProvisioning app.
2194    -->
2195    <permission android:name="android.permission.NETWORK_MANAGED_PROVISIONING"
2196        android:protectionLevel="signature|role" />
2197
2198    <!-- Allows Carrier Provisioning to call methods in Networking services
2199         <p>Not for use by any other third-party or privileged applications.
2200         @SystemApi
2201         @hide This should only be used by CarrierProvisioning.
2202    -->
2203    <permission android:name="android.permission.NETWORK_CARRIER_PROVISIONING"
2204        android:protectionLevel="signature|privileged" />
2205
2206    <!-- #SystemApi @hide Allows applications to access information about LoWPAN interfaces.
2207         <p>Not for use by third-party applications. -->
2208    <permission android:name="android.permission.ACCESS_LOWPAN_STATE"
2209        android:protectionLevel="signature|privileged" />
2210
2211    <!-- #SystemApi @hide Allows applications to change LoWPAN connectivity state.
2212         <p>Not for use by third-party applications. -->
2213    <permission android:name="android.permission.CHANGE_LOWPAN_STATE"
2214        android:protectionLevel="signature|privileged" />
2215
2216    <!-- #SystemApi @hide Allows applications to read LoWPAN credential.
2217         <p>Not for use by third-party applications. -->
2218    <permission android:name="android.permission.READ_LOWPAN_CREDENTIAL"
2219        android:protectionLevel="signature|privileged" />
2220
2221    <!-- #SystemApi @hide Allows a service to register or unregister
2222         new LoWPAN interfaces.
2223         <p>Not for use by third-party applications. -->
2224    <permission android:name="android.permission.MANAGE_LOWPAN_INTERFACES"
2225        android:protectionLevel="signature|privileged" />
2226
2227    <!-- #SystemApi @hide Allows an app to bypass Private DNS.
2228         <p>Not for use by third-party applications.
2229         TODO: publish as system API in next API release. -->
2230    <permission android:name="android.permission.NETWORK_BYPASS_PRIVATE_DNS"
2231        android:protectionLevel="signature" />
2232
2233    <!-- @SystemApi @hide Allows device mobility state to be set so that Wifi scan interval can
2234         be increased when the device is stationary in order to save power.
2235         <p>Not for use by third-party applications. -->
2236    <permission android:name="android.permission.WIFI_SET_DEVICE_MOBILITY_STATE"
2237        android:protectionLevel="signature|privileged" />
2238
2239    <!-- @SystemApi @hide Allows privileged system APK to update Wifi usability stats and score.
2240         <p>Not for use by third-party applications. -->
2241    <permission android:name="android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE"
2242        android:protectionLevel="signature|privileged" />
2243
2244    <!-- @SystemApi @hide Allows applications to update Wifi/Cellular coex channels to avoid.
2245             <p>Not for use by third-party applications. -->
2246    <permission android:name="android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS"
2247        android:protectionLevel="signature|role" />
2248
2249    <!-- @SystemApi @hide Allows applications to access Wifi/Cellular coex channels being avoided.
2250         <p>Not for use by third-party applications. -->
2251    <permission android:name="android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS"
2252        android:protectionLevel="signature|role" />
2253
2254    <!-- @SystemApi @hide Allows system APK to manage country code.
2255             <p>Not for use by third-party applications. -->
2256    <permission android:name="android.permission.MANAGE_WIFI_COUNTRY_CODE"
2257        android:protectionLevel="signature" />
2258
2259    <!-- @SystemApi @hide Allows an application to manage an automotive device's application network
2260         preference as it relates to OEM_PAID and OEM_PRIVATE capable networks.
2261         <p>Not for use by third-party or privileged applications. -->
2262    <permission android:name="android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE"
2263        android:protectionLevel="signature" />
2264
2265    <!-- @SystemApi @hide Allows an application to manage ethernet networks.
2266         <p>Not for use by third-party or privileged applications. -->
2267    <permission android:name="android.permission.MANAGE_ETHERNET_NETWORKS"
2268        android:protectionLevel="signature" />
2269
2270    <!-- ======================================= -->
2271    <!-- Permissions for short range, peripheral networks -->
2272    <!-- ======================================= -->
2273    <eat-comment />
2274
2275    <!-- Allows applications to connect to paired bluetooth devices.
2276         <p>Protection level: normal
2277    -->
2278    <permission android:name="android.permission.BLUETOOTH"
2279        android:description="@string/permdesc_bluetooth"
2280        android:label="@string/permlab_bluetooth"
2281        android:protectionLevel="normal" />
2282
2283    <!-- Required to be able to discover and pair nearby Bluetooth devices.
2284         <p>Protection level: dangerous -->
2285    <permission android:name="android.permission.BLUETOOTH_SCAN"
2286        android:permissionGroup="android.permission-group.UNDEFINED"
2287        android:description="@string/permdesc_bluetooth_scan"
2288        android:label="@string/permlab_bluetooth_scan"
2289        android:protectionLevel="dangerous" />
2290
2291    <!-- Required to be able to connect to paired Bluetooth devices.
2292         <p>Protection level: dangerous -->
2293    <permission android:name="android.permission.BLUETOOTH_CONNECT"
2294        android:permissionGroup="android.permission-group.UNDEFINED"
2295        android:description="@string/permdesc_bluetooth_connect"
2296        android:label="@string/permlab_bluetooth_connect"
2297        android:protectionLevel="dangerous" />
2298
2299    <!-- Required to be able to advertise to nearby Bluetooth devices.
2300         <p>Protection level: dangerous -->
2301    <permission android:name="android.permission.BLUETOOTH_ADVERTISE"
2302        android:permissionGroup="android.permission-group.UNDEFINED"
2303        android:description="@string/permdesc_bluetooth_advertise"
2304        android:label="@string/permlab_bluetooth_advertise"
2305        android:protectionLevel="dangerous" />
2306
2307    <!-- Required to be able to range to devices using ultra-wideband.
2308         <p>Protection level: dangerous -->
2309    <permission android:name="android.permission.UWB_RANGING"
2310        android:permissionGroup="android.permission-group.UNDEFINED"
2311        android:description="@string/permdesc_uwb_ranging"
2312        android:label="@string/permlab_uwb_ranging"
2313        android:protectionLevel="dangerous" />
2314
2315    <!-- Required to be able to advertise and connect to nearby devices via Wi-Fi.
2316         <p>Protection level: dangerous -->
2317    <permission android:name="android.permission.NEARBY_WIFI_DEVICES"
2318                android:permissionGroup="android.permission-group.UNDEFINED"
2319                android:description="@string/permdesc_nearby_wifi_devices"
2320                android:label="@string/permlab_nearby_wifi_devices"
2321                android:protectionLevel="dangerous" />
2322
2323    <!-- @SystemApi @TestApi Allows an application to suspend other apps, which will prevent the
2324         user from using them until they are unsuspended.
2325         @hide
2326    -->
2327    <permission android:name="android.permission.SUSPEND_APPS"
2328        android:protectionLevel="signature|role" />
2329
2330    <!-- Allows applications to discover and pair bluetooth devices.
2331         <p>Protection level: normal
2332    -->
2333    <permission android:name="android.permission.BLUETOOTH_ADMIN"
2334        android:description="@string/permdesc_bluetoothAdmin"
2335        android:label="@string/permlab_bluetoothAdmin"
2336        android:protectionLevel="normal" />
2337
2338    <!-- Allows applications to pair bluetooth devices without user interaction, and to
2339         allow or disallow phonebook access or message access.
2340         <p>Not for use by third-party applications. -->
2341    <permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
2342        android:protectionLevel="signature|privileged" />
2343
2344    <!-- @SystemApi Control access to email providers exclusively for Bluetooth
2345         @hide
2346    -->
2347    <permission android:name="android.permission.BLUETOOTH_MAP"
2348        android:protectionLevel="signature|role" />
2349
2350    <!-- Allows bluetooth stack to access files
2351         This should only be granted to the Bluetooth apk.
2352         @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
2353    -->
2354    <permission android:name="android.permission.BLUETOOTH_STACK"
2355        android:protectionLevel="signature|role" />
2356
2357    <!-- Allows uhid write access for creating virtual input devices
2358         @hide
2359    -->
2360    <permission android:name="android.permission.VIRTUAL_INPUT_DEVICE"
2361        android:protectionLevel="signature" />
2362
2363    <!-- Allows applications to perform I/O operations over NFC.
2364         <p>Protection level: normal
2365    -->
2366    <permission android:name="android.permission.NFC"
2367        android:description="@string/permdesc_nfc"
2368        android:label="@string/permlab_nfc"
2369        android:protectionLevel="normal" />
2370
2371    <!-- Allows applications to receive NFC transaction events.
2372         <p>Protection level: normal
2373    -->
2374    <permission android:name="android.permission.NFC_TRANSACTION_EVENT"
2375      android:protectionLevel="normal" />
2376
2377    <!-- Allows applications to receive NFC preferred payment service information.
2378         <p>Protection level: normal
2379    -->
2380    <permission android:name="android.permission.NFC_PREFERRED_PAYMENT_INFO"
2381        android:description="@string/permdesc_preferredPaymentInfo"
2382        android:label="@string/permlab_preferredPaymentInfo"
2383        android:protectionLevel="normal" />
2384
2385    <!-- @SystemApi Allows access to set NFC controller always on states.
2386         <p>Protection level: signature|privileged
2387         @hide -->
2388    <permission android:name="android.permission.NFC_SET_CONTROLLER_ALWAYS_ON"
2389        android:protectionLevel="signature|privileged" />
2390
2391    <!-- @SystemApi Allows an internal user to use privileged SecureElement APIs.
2392         Applications holding this permission can access OMAPI reset system API
2393         and bypass OMAPI AccessControlEnforcer.
2394         <p>Not for use by third-party applications.
2395         @hide -->
2396    <permission android:name="android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION"
2397        android:protectionLevel="signature|privileged" />
2398
2399    <!-- @deprecated This permission used to allow too broad access to sensitive methods and all its
2400         uses have been replaced by a more appropriate permission. Most uses have been replaced with
2401         a NETWORK_STACK or NETWORK_SETTINGS check. Please look up the documentation of the
2402         individual functions to figure out what permission now protects the individual function.
2403         @SystemApi Allows an internal user to use privileged ConnectivityManager APIs.
2404         @hide -->
2405    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
2406        android:protectionLevel="signature|privileged" />
2407
2408    <!-- @SystemApi Allows an internal user to use restricted Networks.
2409         @hide -->
2410    <permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"
2411        android:protectionLevel="signature|privileged" />
2412    <uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>
2413
2414    <!-- @SystemApi Allows an internal user to set signal strength in NetworkRequest. This kind of
2415         request will wake up device when signal strength meets the given value.
2416         @hide -->
2417    <permission android:name="android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP"
2418                android:protectionLevel="signature|privileged" />
2419
2420    <!-- @SystemApi Allows a system application to access hardware packet offload capabilities.
2421         @hide -->
2422    <permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD"
2423        android:protectionLevel="signature|privileged" />
2424
2425    <!-- @SystemApi
2426         @hide -->
2427    <permission android:name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"
2428        android:protectionLevel="signature|privileged" />
2429
2430    <!-- @SystemApi Allows access to the loop radio (Android@Home mesh network) device.
2431         @hide -->
2432    <permission android:name="android.permission.LOOP_RADIO"
2433        android:protectionLevel="signature|privileged" />
2434
2435    <!-- Allows sending and receiving handover transfer status from Wifi and Bluetooth
2436         @hide -->
2437    <permission android:name="android.permission.NFC_HANDOVER_STATUS"
2438        android:protectionLevel="signature|privileged" />
2439
2440    <!-- @SystemApi Allows internal management of Bluetooth state when on wireless consent mode.
2441         <p>Not for use by third-party applications.
2442         @hide -->
2443    <permission android:name="android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED"
2444        android:protectionLevel="signature" />
2445
2446    <!-- @hide Allows the device to be reset, clearing all data and enables Test Harness Mode. -->
2447    <permission android:name="android.permission.ENABLE_TEST_HARNESS_MODE"
2448        android:protectionLevel="signature" />
2449
2450    <!-- @SystemApi Allows access to ultra wideband device.
2451     <p>Not for use by third-party applications.
2452     @hide -->
2453    <permission android:name="android.permission.UWB_PRIVILEGED"
2454                android:protectionLevel="signature|privileged" />
2455
2456    <!-- ================================== -->
2457    <!-- Permissions for accessing accounts -->
2458    <!-- ================================== -->
2459    <eat-comment />
2460
2461    <!-- Allows access to the list of accounts in the Accounts Service.
2462
2463    <p class="note"><strong>Note:</strong> Beginning with Android 6.0 (API level
2464    23), if an app shares the signature of the authenticator that manages an
2465    account, it does not need <code>"GET_ACCOUNTS"</code> permission to read
2466    information about that account. On Android 5.1 and lower, all apps need
2467    <code>"GET_ACCOUNTS"</code> permission to read information about any
2468    account.</p>
2469
2470    <p>Protection level: dangerous
2471    -->
2472    <permission android:name="android.permission.GET_ACCOUNTS"
2473        android:permissionGroup="android.permission-group.UNDEFINED"
2474        android:protectionLevel="dangerous"
2475        android:description="@string/permdesc_getAccounts"
2476        android:label="@string/permlab_getAccounts" />
2477    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
2478
2479    <!-- Allows applications to call into AccountAuthenticators.
2480    <p>Not for use by third-party applications. -->
2481    <permission android:name="android.permission.ACCOUNT_MANAGER"
2482        android:protectionLevel="signature" />
2483
2484    <!-- ================================== -->
2485    <!-- Permissions for accessing hardware that may effect battery life-->
2486    <!-- ================================== -->
2487    <eat-comment />
2488
2489    <!-- Allows applications to enter Wi-Fi Multicast mode.
2490         <p>Protection level: normal
2491    -->
2492    <permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
2493        android:description="@string/permdesc_changeWifiMulticastState"
2494        android:label="@string/permlab_changeWifiMulticastState"
2495        android:protectionLevel="normal" />
2496
2497    <!-- Allows access to the vibrator.
2498         <p>Protection level: normal
2499    -->
2500    <permission android:name="android.permission.VIBRATE"
2501        android:label="@string/permlab_vibrate"
2502        android:description="@string/permdesc_vibrate"
2503        android:protectionLevel="normal|instant" />
2504
2505    <!-- Allows access to the vibrator always-on settings.
2506         <p>Protection level: signature
2507         @hide
2508    -->
2509    <permission android:name="android.permission.VIBRATE_ALWAYS_ON"
2510        android:protectionLevel="signature" />
2511
2512    <!-- @SystemApi Allows access to the vibrator state.
2513         <p>Protection level: signature
2514         @hide
2515    -->
2516    <permission android:name="android.permission.ACCESS_VIBRATOR_STATE"
2517        android:label="@string/permdesc_vibrator_state"
2518        android:description="@string/permdesc_vibrator_state"
2519        android:protectionLevel="signature|privileged" />
2520
2521    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
2522         from dimming.
2523         <p>Protection level: normal
2524    -->
2525    <permission android:name="android.permission.WAKE_LOCK"
2526        android:label="@string/permlab_wakeLock"
2527        android:description="@string/permdesc_wakeLock"
2528        android:protectionLevel="normal|instant" />
2529
2530    <!-- Allows using the device's IR transmitter, if available.
2531         <p>Protection level: normal
2532    -->
2533    <permission android:name="android.permission.TRANSMIT_IR"
2534        android:label="@string/permlab_transmitIr"
2535        android:description="@string/permdesc_transmitIr"
2536        android:protectionLevel="normal" />
2537
2538    <!-- Allows an app to turn on the screen on, e.g. with
2539         {@link android.os.PowerManager#ACQUIRE_CAUSES_WAKEUP}.
2540         <p>Intended to only be used by home automation apps.
2541    -->
2542    <permission android:name="android.permission.TURN_SCREEN_ON"
2543        android:label="@string/permlab_turnScreenOn"
2544        android:description="@string/permdesc_turnScreenOn"
2545        android:protectionLevel="signature|privileged|appop" />
2546
2547    <!-- ==================================================== -->
2548    <!-- Permissions related to changing audio settings   -->
2549    <!-- ==================================================== -->
2550    <eat-comment />
2551
2552    <!-- Allows an application to modify global audio settings.
2553         <p>Protection level: normal
2554    -->
2555    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
2556        android:label="@string/permlab_modifyAudioSettings"
2557        android:description="@string/permdesc_modifyAudioSettings"
2558        android:protectionLevel="normal" />
2559
2560    <!-- ==================================================== -->
2561    <!-- Permissions related to screen capture   -->
2562    <!-- ==================================================== -->
2563    <eat-comment />
2564
2565    <!-- Allows an application to capture screen content to perform a screenshot using the intent
2566         action {@link android.content.Intent#ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE}.
2567         <p>Protection level: internal|role
2568         <p>Intended for use by ROLE_NOTES only.
2569    -->
2570    <permission android:name="android.permission.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE"
2571        android:protectionLevel="internal|role" />
2572
2573    <!-- Allows an application to get notified when a screen capture of its windows is attempted.
2574         <p>Protection level: normal
2575    -->
2576    <permission android:name="android.permission.DETECT_SCREEN_CAPTURE"
2577                android:label="@string/permlab_detectScreenCapture"
2578                android:description="@string/permdesc_detectScreenCapture"
2579                android:protectionLevel="normal" />
2580
2581    <!-- ======================================== -->
2582    <!-- Permissions for factory reset protection -->
2583    <!-- ======================================== -->
2584    <eat-comment />
2585
2586    <!-- @SystemApi Allows an application to set a factory reset protection (FRP) policy.
2587         <p>Not for use by third-party applications.
2588         @hide
2589    -->
2590    <permission android:name="android.permission.MANAGE_FACTORY_RESET_PROTECTION"
2591        android:protectionLevel="signature|privileged"/>
2592
2593    <!-- ======================================== -->
2594    <!-- Permissions for lost mode -->
2595    <!-- ======================================== -->
2596    <eat-comment />
2597
2598    <!-- @SystemApi Allows an application to trigger lost mode on an organization-owned device.
2599         <p>Not for use by third-party applications.
2600         @hide
2601    -->
2602    <permission android:name="android.permission.TRIGGER_LOST_MODE"
2603        android:protectionLevel="signature|role"/>
2604
2605    <!-- ================================== -->
2606    <!-- Permissions for accessing hardware -->
2607    <!-- ================================== -->
2608    <eat-comment />
2609
2610    <!-- @SystemApi Allows an application to manage preferences and permissions for USB devices
2611         @hide -->
2612    <permission android:name="android.permission.MANAGE_USB"
2613        android:protectionLevel="signature|privileged" />
2614
2615    <!-- @SystemApi Allows an application to manage Android Debug Bridge settings.
2616         <p>Not for use by third-party applications.
2617         @hide -->
2618    <permission android:name="android.permission.MANAGE_DEBUGGING"
2619        android:protectionLevel="signature|privileged" />
2620
2621    <!-- @SystemApi Allows an application to access the MTP USB kernel driver.
2622         For use only by the device side MTP implementation.
2623         @hide -->
2624    <permission android:name="android.permission.ACCESS_MTP"
2625        android:protectionLevel="signature|privileged" />
2626
2627    <!-- @SystemApi Allows access to hardware peripherals.  Intended only for hardware testing.
2628         <p>Not for use by third-party applications.
2629         @hide
2630    -->
2631    <permission android:name="android.permission.HARDWARE_TEST"
2632        android:protectionLevel="signature" />
2633
2634    <!-- @hide Allows an application to manage DynamicSystem image -->
2635    <permission android:name="android.permission.MANAGE_DYNAMIC_SYSTEM"
2636        android:protectionLevel="signature" />
2637
2638    <!-- @SystemApi Allows an application to install a DynamicSystem image and get status updates.
2639         @hide -->
2640    <permission android:name="android.permission.INSTALL_DYNAMIC_SYSTEM"
2641        android:protectionLevel="signature|privileged" />
2642
2643    <!-- @SystemApi Allows access to Broadcast Radio
2644         @hide This is not a third-party API (intended for system apps).-->
2645    <permission android:name="android.permission.ACCESS_BROADCAST_RADIO"
2646        android:protectionLevel="signature|privileged" />
2647
2648    <!-- @deprecated @SystemApi Allows access to FM
2649         @hide This is not a third-party API (intended for system apps).-->
2650    <permission android:name="android.permission.ACCESS_FM_RADIO"
2651        android:protectionLevel="signature|privileged" />
2652
2653    <!-- Allows access to configure network interfaces, configure/use IPSec, etc.
2654         @hide -->
2655    <permission android:name="android.permission.NET_ADMIN"
2656        android:protectionLevel="signature|role" />
2657
2658    <!-- Allows registration for remote audio playback. @hide -->
2659    <permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK"
2660        android:protectionLevel="signature" />
2661
2662    <!-- Allows TvInputService to access underlying TV input hardware such as
2663         built-in tuners and HDMI-in's.
2664         <p>This should only be used by OEM's TvInputService's.
2665         @hide @SystemApi -->
2666    <permission android:name="android.permission.TV_INPUT_HARDWARE"
2667        android:protectionLevel="signature|privileged|vendorPrivileged" />
2668
2669    <!-- Allows to capture a frame of TV input hardware such as
2670         built-in tuners and HDMI-in's.
2671         <p>Not for use by third-party applications.
2672         @hide @SystemApi -->
2673    <permission android:name="android.permission.CAPTURE_TV_INPUT"
2674        android:protectionLevel="signature|privileged" />
2675
2676    <!-- @hide Allows TvInputService to access DVB device.
2677   <p>Not for use by third-party applications. -->
2678    <permission android:name="android.permission.DVB_DEVICE"
2679        android:protectionLevel="signature|privileged" />
2680
2681    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by carrier state
2682         @hide <p>Not for use by third-party applications. -->
2683    <permission android:name="android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE"
2684        android:protectionLevel="signature|privileged" />
2685
2686    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by user state
2687         @hide <p>Not for use by third-party applications. -->
2688    <permission android:name="android.permission.MANAGE_USER_OEM_UNLOCK_STATE"
2689        android:protectionLevel="signature|privileged" />
2690
2691    <!-- @SystemApi Allows reading the OEM unlock state
2692         @hide <p>Not for use by third-party applications. -->
2693    <permission android:name="android.permission.READ_OEM_UNLOCK_STATE"
2694        android:protectionLevel="signature|privileged" />
2695
2696    <!-- @hide Allows enabling/disabling OEM unlock
2697   <p>Not for use by third-party applications. -->
2698    <permission android:name="android.permission.OEM_UNLOCK_STATE"
2699        android:protectionLevel="signature" />
2700
2701    <!-- @SystemApi @hide Allows querying state of PersistentDataBlock
2702   <p>Not for use by third-party applications. -->
2703    <permission android:name="android.permission.ACCESS_PDB_STATE"
2704        android:protectionLevel="signature|role" />
2705
2706    <!-- Allows testing if a passwords is forbidden by the admins.
2707         @hide <p>Not for use by third-party applications. -->
2708    <permission android:name="android.permission.TEST_BLACKLISTED_PASSWORD"
2709        android:protectionLevel="signature" />
2710
2711    <!-- @hide Allows system update service to notify device owner about pending updates.
2712   <p>Not for use by third-party applications. -->
2713    <permission android:name="android.permission.NOTIFY_PENDING_SYSTEM_UPDATE"
2714        android:protectionLevel="signature|privileged" />
2715
2716    <!-- =========================================== -->
2717    <!-- Permissions associated with camera and image capture -->
2718    <!-- =========================================== -->
2719    <eat-comment />
2720
2721    <!-- @SystemApi Allows disabling the transmit-indicator LED that is normally on when
2722         a camera is in use by an application.
2723         @hide -->
2724    <permission android:name="android.permission.CAMERA_DISABLE_TRANSMIT_LED"
2725        android:protectionLevel="signature|privileged" />
2726
2727    <!-- Allows sending the camera service notifications about system-wide events.
2728        @hide -->
2729    <permission android:name="android.permission.CAMERA_SEND_SYSTEM_EVENTS"
2730        android:protectionLevel="signature|privileged" />
2731
2732    <!-- Allows injecting the external camera to replace the internal camera.
2733        @hide -->
2734    <permission android:name="android.permission.CAMERA_INJECT_EXTERNAL_CAMERA"
2735        android:protectionLevel="signature" />
2736
2737    <!-- =========================================== -->
2738    <!-- Permissions associated with telephony state -->
2739    <!-- =========================================== -->
2740    <eat-comment />
2741
2742    <!-- @SystemApi Allows granting runtime permissions to telephony related components.
2743         @hide -->
2744    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS"
2745        android:protectionLevel="signature" />
2746
2747    <!-- Allows modification of the telephony state - power on, mmi, etc.
2748         Does not include placing calls.
2749         <p>Not for use by third-party applications. -->
2750    <permission android:name="android.permission.MODIFY_PHONE_STATE"
2751        android:protectionLevel="signature|privileged|role" />
2752
2753    <!-- Allows read only access to precise phone state.
2754         Allows reading of detailed information about phone state for special-use applications
2755         such as dialers, carrier applications, or ims applications. -->
2756    <permission android:name="android.permission.READ_PRECISE_PHONE_STATE"
2757        android:protectionLevel="signature|privileged" />
2758
2759    <!-- @SystemApi @TestApi Allows read access to privileged phone state.
2760         @hide Used internally. -->
2761    <permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
2762        android:protectionLevel="signature|privileged|role" />
2763
2764    <!-- Allows to read device identifiers and use ICC based authentication like EAP-AKA.
2765         Often required in authentication to access the carrier's server and manage services
2766         of the subscriber.
2767         <p>Protection level: signature|appop -->
2768    <permission android:name="android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER"
2769        android:protectionLevel="signature|appop" />
2770
2771    <!-- @SystemApi Allows read access to emergency number information for ongoing calls or SMS
2772         sessions.
2773         @hide Used internally. -->
2774    <permission android:name="android.permission.READ_ACTIVE_EMERGENCY_SESSION"
2775        android:protectionLevel="signature" />
2776
2777    <!-- Allows listen permission to always reported system signal strength.
2778         @hide Used internally. -->
2779    <permission android:name="android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH"
2780        android:protectionLevel="signature|role" />
2781
2782    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2783         PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION. This capability indicates that the PhoneAccount
2784         corresponds to a device SIM.
2785         @hide -->
2786    <permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION"
2787        android:protectionLevel="signature|privileged" />
2788
2789    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2790         PhoneAccount#CAPABILITY_CALL_PROVIDER.
2791         @hide -->
2792    <permission android:name="android.permission.REGISTER_CALL_PROVIDER"
2793        android:protectionLevel="signature|privileged" />
2794
2795    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2796         PhoneAccount#CAPABILITY_CONNECTION_MANAGER
2797         @hide -->
2798    <permission android:name="android.permission.REGISTER_CONNECTION_MANAGER"
2799        android:protectionLevel="signature|privileged" />
2800
2801    <!-- Must be required by a {@link android.telecom.InCallService},
2802         to ensure that only the system can bind to it.
2803         <p>Protection level: signature|privileged
2804    -->
2805    <permission android:name="android.permission.BIND_INCALL_SERVICE"
2806        android:protectionLevel="signature|privileged" />
2807
2808    <!-- Must be required by a {@link android.telecom.CallStreamingService},
2809         to ensure that only the system can bind to it.
2810         <p>Protection level: signature
2811         @SystemApi @hide-->
2812    <permission android:name="android.permission.BIND_CALL_STREAMING_SERVICE"
2813        android:protectionLevel="signature" />
2814
2815    <!-- Allows to query ongoing call details and manage ongoing calls
2816     <p>Protection level: signature|appop -->
2817    <permission android:name="android.permission.MANAGE_ONGOING_CALLS"
2818        android:protectionLevel="signature|appop"
2819        android:label="@string/permlab_manageOngoingCalls"
2820        android:description="@string/permdesc_manageOngoingCalls" />
2821
2822    <!-- Allows the app to request network scans from telephony.
2823         <p>Not for use by third-party applications.
2824         @SystemApi @hide-->
2825    <permission android:name="android.permission.NETWORK_SCAN"
2826        android:protectionLevel="signature|privileged" />
2827
2828    <!-- Must be required by a link {@link android.telephony.VisualVoicemailService} to ensure that
2829         only the system can bind to it.
2830         <p>Protection level: signature|privileged
2831    -->
2832    <permission
2833      android:name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
2834      android:protectionLevel="signature|privileged"/>
2835
2836    <!-- Must be required by a {@link android.telecom.CallScreeningService},
2837         to ensure that only the system can bind to it.
2838         <p>Protection level: signature|privileged
2839    -->
2840    <permission android:name="android.permission.BIND_SCREENING_SERVICE"
2841        android:protectionLevel="signature|privileged" />
2842
2843    <!-- Must be required by a {@link android.telecom.PhoneAccountSuggestionService},
2844         to ensure that only the system can bind to it.
2845         <p>Protection level: signature
2846         @SystemApi
2847         @hide
2848    -->
2849    <permission android:name="android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE"
2850        android:protectionLevel="signature" />
2851
2852    <!-- Must be required by a {@link android.telecom.CallDiagnosticService},
2853         to ensure that only the system can bind to it.
2854         <p>Protection level: signature
2855         @SystemApi
2856         @hide
2857    -->
2858    <permission android:name="android.permission.BIND_CALL_DIAGNOSTIC_SERVICE"
2859        android:protectionLevel="signature" />
2860
2861    <!-- Must be required by a {@link android.telecom.CallRedirectionService},
2862         to ensure that only the system can bind to it.
2863         <p>Protection level: signature|privileged
2864    -->
2865    <permission android:name="android.permission.BIND_CALL_REDIRECTION_SERVICE"
2866                android:protectionLevel="signature|privileged" />
2867
2868    <!-- Must be required by a {@link android.telecom.ConnectionService},
2869         to ensure that only the system can bind to it.
2870         @deprecated {@link android.telecom.ConnectionService}s should require
2871                 android.permission.BIND_TELECOM_CONNECTION_SERVICE instead.
2872         @SystemApi
2873         @hide -->
2874    <permission android:name="android.permission.BIND_CONNECTION_SERVICE"
2875        android:protectionLevel="signature|privileged" />
2876
2877    <!-- Must be required by a {@link android.telecom.ConnectionService},
2878         to ensure that only the system can bind to it.
2879         <p>Protection level: signature|privileged
2880    -->
2881    <permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
2882        android:protectionLevel="signature|privileged" />
2883
2884    <!-- @SystemApi Allows an application to control the in-call experience.
2885         @hide -->
2886    <permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"
2887        android:protectionLevel="signature|privileged|role" />
2888
2889    <!-- Allows an application to receive STK related commands.
2890         @hide -->
2891    <permission android:name="android.permission.RECEIVE_STK_COMMANDS"
2892        android:protectionLevel="signature|privileged" />
2893
2894      <!-- Allows an application to send EMBMS download intents to apps
2895           @hide -->
2896    <permission android:name="android.permission.SEND_EMBMS_INTENTS"
2897        android:protectionLevel="signature|privileged" />
2898
2899
2900    <!-- Allows internal management of the sensor framework
2901         @hide -->
2902    <permission android:name="android.permission.MANAGE_SENSORS"
2903        android:protectionLevel="signature" />
2904
2905    <!-- Must be required by an ImsService to ensure that only the
2906         system can bind to it.
2907         <p>Protection level: signature|privileged|vendorPrivileged
2908         @SystemApi
2909         @hide
2910    -->
2911    <permission android:name="android.permission.BIND_IMS_SERVICE"
2912        android:protectionLevel="signature|privileged|vendorPrivileged" />
2913
2914    <!-- Must be required by a SatelliteService to ensure that only the
2915         system can bind to it.
2916         <p>Protection level: signature|privileged|vendorPrivileged
2917         @SystemApi
2918         @hide
2919    -->
2920    <permission android:name="android.permission.BIND_SATELLITE_SERVICE"
2921        android:protectionLevel="signature|privileged|vendorPrivileged" />
2922
2923    <!-- Must be required by a SatelliteGatewayService to ensure that only the
2924         system can bind to it.
2925         <p>Protection level: signature
2926         @hide
2927    -->
2928    <permission android:name="android.permission.BIND_SATELLITE_GATEWAY_SERVICE"
2929        android:protectionLevel="signature" />
2930
2931    <!-- Must be required by a telephony data service to ensure that only the
2932         system can bind to it.
2933         <p>Protection level: signature
2934         @SystemApi
2935         @hide
2936    -->
2937    <permission android:name="android.permission.BIND_TELEPHONY_DATA_SERVICE"
2938        android:protectionLevel="signature" />
2939
2940    <!-- Must be required by a NetworkService to ensure that only the
2941         system can bind to it.
2942         <p>Protection level: signature
2943         @SystemApi
2944         @hide
2945    -->
2946    <permission android:name="android.permission.BIND_TELEPHONY_NETWORK_SERVICE"
2947                android:protectionLevel="signature" />
2948
2949    <!-- @SystemApi Allows an application to manage embedded subscriptions (those on a eUICC)
2950         through EuiccManager APIs.
2951         <p>Protection level: signature|privileged|development
2952         @hide
2953    -->
2954    <permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
2955                android:protectionLevel="signature|privileged|development" />
2956
2957    <!-- @SystemApi Must be required by an EuiccService to ensure that only the system can bind to
2958         it.
2959         <p>Protection level: signature
2960         @hide
2961    -->
2962    <permission android:name="android.permission.BIND_EUICC_SERVICE"
2963                android:protectionLevel="signature" />
2964
2965    <!-- Required for reading information about carrier apps from SystemConfigManager.
2966         <p>Protection level: signature
2967         @SystemApi
2968         @hide
2969    -->
2970    <permission android:name="android.permission.READ_CARRIER_APP_INFO"
2971        android:protectionLevel="signature" />
2972
2973    <!-- Must be required by an GbaService to ensure that only the
2974         system can bind to it.
2975         <p>Protection level: signature
2976         @SystemApi
2977         @hide
2978    -->
2979    <permission android:name="android.permission.BIND_GBA_SERVICE"
2980        android:protectionLevel="signature" />
2981
2982    <!-- Required for an Application to access APIs related to RCS User Capability Exchange.
2983         <p> This permission is only granted to system applications fulfilling the SMS, Dialer, and
2984         Contacts app roles.
2985         <p>Protection level: internal|role
2986         @SystemApi
2987         @hide -->
2988    <permission android:name="android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE"
2989        android:protectionLevel="internal|role" />
2990
2991    <!-- ================================== -->
2992    <!-- Permissions for sdcard interaction -->
2993    <!-- ================================== -->
2994    <eat-comment />
2995
2996    <!-- @SystemApi @TestApi Allows an application to write to internal media storage
2997         @deprecated This permission is no longer honored in the system and no longer adds
2998         the media_rw gid as a supplementary gid to the holder. Use the
2999         android.permission.MANAGE_EXTERNAL_STORAGE instead.
3000         @hide  -->
3001    <permission android:name="android.permission.WRITE_MEDIA_STORAGE"
3002        android:protectionLevel="signature|privileged" />
3003
3004    <!-- Allows an application to manage access to documents, usually as part
3005         of a document picker.
3006         <p>This permission should <em>only</em> be requested by the platform
3007         document management app.  This permission cannot be granted to
3008         third-party apps.
3009    -->
3010    <permission android:name="android.permission.MANAGE_DOCUMENTS"
3011        android:protectionLevel="signature|role" />
3012
3013    <!-- Allows an application to manage access to crates, usually as part
3014         of a crates picker.
3015         <p>This permission should <em>only</em> be requested by the platform
3016         management app.  This permission cannot be granted to
3017         third-party apps.
3018         @hide
3019         @TestApi
3020    -->
3021    <permission android:name="android.permission.MANAGE_CRATES"
3022                android:protectionLevel="signature" />
3023
3024    <!-- @hide Allows an application to cache content.
3025         <p>Not for use by third-party applications.
3026    -->
3027    <permission android:name="android.permission.CACHE_CONTENT"
3028        android:protectionLevel="signature|role" />
3029
3030    <!-- @SystemApi @hide
3031         Allows an application to aggressively allocate disk space.
3032         <p>Not for use by third-party applications.
3033    -->
3034    <permission android:name="android.permission.ALLOCATE_AGGRESSIVE"
3035        android:protectionLevel="signature|privileged" />
3036
3037    <!-- @SystemApi @hide
3038         Allows an application to use reserved disk space.
3039         <p>Not for use by third-party applications.  Should only be requested by
3040         apps that provide core system functionality, to ensure system stability
3041         when disk is otherwise completely full.
3042    -->
3043    <permission android:name="android.permission.USE_RESERVED_DISK"
3044        android:protectionLevel="signature|privileged" />
3045
3046    <!-- ================================== -->
3047    <!-- Permissions for screenlock         -->
3048    <!-- ================================== -->
3049    <eat-comment />
3050
3051    <!-- Allows applications to disable the keyguard if it is not secure.
3052         <p>Protection level: normal
3053    -->
3054    <permission android:name="android.permission.DISABLE_KEYGUARD"
3055        android:description="@string/permdesc_disableKeyguard"
3056        android:label="@string/permlab_disableKeyguard"
3057        android:protectionLevel="normal" />
3058
3059    <!-- Allows an application to request the screen lock complexity and prompt users to update the
3060     screen lock to a certain complexity level.
3061     <p>Protection level: normal
3062    -->
3063    <permission android:name="android.permission.REQUEST_PASSWORD_COMPLEXITY"
3064                android:label="@string/permlab_requestPasswordComplexity"
3065                android:description="@string/permdesc_requestPasswordComplexity"
3066                android:protectionLevel="normal" />
3067
3068    <!-- ================================== -->
3069    <!-- Permissions to access other installed applications  -->
3070    <!-- ================================== -->
3071    <eat-comment />
3072
3073    <!-- @deprecated No longer enforced. -->
3074    <permission android:name="android.permission.GET_TASKS"
3075        android:label="@string/permlab_getTasks"
3076        android:description="@string/permdesc_getTasks"
3077        android:protectionLevel="normal" />
3078
3079    <!-- New version of GET_TASKS that apps can request, since GET_TASKS doesn't really
3080         give access to task information.  We need this new one because there are
3081         many existing apps that use add libraries and such that have validation
3082         code to ensure the app has requested the GET_TASKS permission by seeing
3083         if it has been granted the permission...  if it hasn't, it kills the app
3084         with a message about being upset.  So we need to have it continue to look
3085         like the app is getting that permission, even though it will never be
3086         checked, and new privileged apps can now request this one for real access.
3087         @hide
3088         @SystemApi -->
3089    <permission android:name="android.permission.REAL_GET_TASKS"
3090        android:protectionLevel="signature|privileged" />
3091
3092    <!-- @SystemApi Allows an application to start a task from a ActivityManager#RecentTaskInfo.
3093         @hide -->
3094    <permission android:name="android.permission.START_TASKS_FROM_RECENTS"
3095        android:protectionLevel="signature|privileged|recents" />
3096
3097    <!-- @SystemApi @hide Allows an application to call APIs that allow it to do interactions
3098         across the users on the device, using singleton services and
3099         user-targeted broadcasts.  This permission is not available to
3100         third party applications. -->
3101    <permission android:name="android.permission.INTERACT_ACROSS_USERS"
3102        android:protectionLevel="signature|privileged|development|role" />
3103
3104    <!-- @SystemApi Fuller form of {@link android.Manifest.permission#INTERACT_ACROSS_USERS}
3105         that removes restrictions on where broadcasts can be sent and allows other
3106         types of interactions
3107         @hide -->
3108    <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
3109        android:protectionLevel="signature|installer|role" />
3110    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
3111
3112    <!-- Allows interaction across profiles in the same profile group. -->
3113    <permission android:name="android.permission.INTERACT_ACROSS_PROFILES"
3114        android:protectionLevel="signature|appop" />
3115
3116    <!-- @SystemApi @hide Allows starting activities across profiles in the same profile group. -->
3117    <permission android:name="android.permission.START_CROSS_PROFILE_ACTIVITIES"
3118                android:protectionLevel="signature|role" />
3119
3120    <!-- @SystemApi Allows configuring apps to have the INTERACT_ACROSS_PROFILES permission so that
3121         they can interact across profiles in the same profile group.
3122         @hide -->
3123    <permission android:name="android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES"
3124        android:protectionLevel="signature|role" />
3125
3126    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query and manage
3127         users on the device. This permission is not available to
3128         third party applications. -->
3129    <permission android:name="android.permission.MANAGE_USERS"
3130        android:protectionLevel="signature|privileged" />
3131
3132    <!-- @SystemApi @hide Allows an application to create, remove users and get the list of
3133         users on the device. Applications holding this permission can create users (including
3134         normal, restricted, guest, managed, and demo users) and can optionally endow them with the
3135         ephemeral property. For creating users with other kinds of properties,
3136         {@link android.Manifest.permission#MANAGE_USERS} is needed.
3137         This permission is not available to third party applications. -->
3138    <permission android:name="android.permission.CREATE_USERS"
3139        android:protectionLevel="signature" />
3140
3141    <!-- @SystemApi @hide Allows an application to set user association
3142         with a certain subscription. Used by Enterprise to associate a
3143         subscription with a work or personal profile. -->
3144    <permission android:name="android.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION"
3145                android:protectionLevel="signature" />
3146
3147    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query users on the
3148         device. -->
3149    <permission android:name="android.permission.QUERY_USERS"
3150                android:protectionLevel="signature|privileged|role" />
3151
3152    <!-- Allows an application to access data blobs across users. -->
3153    <permission android:name="android.permission.ACCESS_BLOBS_ACROSS_USERS"
3154        android:protectionLevel="signature|privileged|development|role" />
3155
3156    <!-- @SystemApi @hide Allows an application to set the profile owners and the device owner.
3157         This permission is not available to third party applications.-->
3158    <permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"
3159        android:protectionLevel="signature|role"
3160        android:label="@string/permlab_manageProfileAndDeviceOwners"
3161        android:description="@string/permdesc_manageProfileAndDeviceOwners" />
3162
3163    <!-- @SystemApi @hide Allows an application to query device policies set by any admin on
3164         the device.-->
3165    <permission android:name="android.permission.QUERY_ADMIN_POLICY"
3166                android:protectionLevel="signature|role" />
3167
3168    <!-- @SystemApi @hide Allows an application to exempt apps from platform restrictions.-->
3169    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS"
3170                android:protectionLevel="internal|role" />
3171
3172    <!-- Allows an application to manage device policy relating to time.
3173        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3174        APIs protected by this permission on users different to the calling user.-->
3175    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_TIME"
3176                android:protectionLevel="internal|role" />
3177
3178    <!-- Allows an application to set the grant state of runtime permissions on packages.
3179        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3180        APIs protected by this permission on users different to the calling user.
3181    -->
3182    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS"
3183                android:protectionLevel="internal|role" />
3184
3185    <!-- Allows an application to manage the identity of the managing organization.
3186        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3187        APIs protected by this permission on users different to the calling user.
3188    -->
3189    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY"
3190                android:protectionLevel="internal|role" />
3191
3192    <!-- Allows an application to set support messages for when a user action is affected by an
3193        active policy.
3194        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3195        APIs protected by this permission on users different to the calling user.
3196    -->
3197    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE"
3198                android:protectionLevel="internal|role" />
3199
3200    <!-- Allows an application to manage backup service policy.
3201        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3202        APIs protected by this permission on users different to the calling user.
3203    -->
3204    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BACKUP_SERVICE"
3205                android:protectionLevel="internal|role" />
3206
3207    <!-- Allows an application to manage lock task policy.
3208        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3209        APIs protected by this permission on users different to the calling user.
3210    -->
3211    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK"
3212                android:protectionLevel="internal|role" />
3213
3214    <!-- Allows an application to manage policy regarding modifying applications.
3215        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3216        APIs protected by this permission on users different to the calling user.
3217    -->
3218    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL"
3219                android:protectionLevel="internal|role" />
3220
3221    <!-- Allows an application to manage installing from unknown sources policy.
3222        <p>MANAGE_SECURITY_CRITICAL_DEVICE_POLICY_ACROSS_USERS is required to call APIs protected
3223        by this permission on users different to the calling user.
3224    -->
3225    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES"
3226                android:protectionLevel="internal|role" />
3227
3228    <!-- Allows an application to manage application restrictions.
3229        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3230        APIs protected by this permission on users different to the calling user.
3231    -->
3232    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_RESTRICTIONS"
3233                android:protectionLevel="internal|role" />
3234
3235    <!-- Allows an application to manage calling policy.
3236        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3237        APIs protected by this permission on users different to the calling user.
3238    -->
3239    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CALLS"
3240                android:protectionLevel="internal|role" />
3241
3242    <!-- Allows an application to manage debugging features policy.
3243        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3244        APIs protected by this permission on users different to the calling user.
3245    -->
3246    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES"
3247                android:protectionLevel="internal|role" />
3248
3249    <!-- Allows an application to manage policy preventing users from modifying users.
3250        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3251        APIs protected by this permission on users different to the calling user
3252    -->
3253    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MODIFY_USERS"
3254                android:protectionLevel="internal|role" />
3255
3256    <!-- Allows an application to manage safe boot policy.
3257        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3258        APIs protected by this permission on users different to the calling user.
3259    -->
3260    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SAFE_BOOT"
3261                android:protectionLevel="internal|role" />
3262
3263    <!-- Allows an application to set policy related to restricting a user's ability to use or
3264    enable and disable the microphone.
3265        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3266        APIs protected by this permission on users different to the calling user.
3267    -->
3268    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MICROPHONE"
3269                android:protectionLevel="internal|role" />
3270
3271    <!-- Allows an application to set policy related to restricting a user's ability to use or
3272    enable and disable the camera.
3273        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3274        APIs protected by this permission on users different to the calling user.
3275    -->
3276    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CAMERA"
3277                android:protectionLevel="internal|role" />
3278
3279    <!-- Allows an application to manage policy related to keyguard.
3280        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL} is
3281        required to call APIs protected by this permission on users different to the calling user.
3282    -->
3283    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_KEYGUARD"
3284                android:protectionLevel="internal|role" />
3285
3286    <!-- Allows an application to set policy related to account management.
3287        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3288        APIs protected by this permission on users different to the calling user.
3289    -->
3290    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT"
3291                android:protectionLevel="internal|role" />
3292
3293    <!-- Allows an application to set policy related to hiding and suspending packages.
3294        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3295        APIs protected by this permission on users different to the calling user.
3296    -->
3297    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PACKAGE_STATE"
3298                android:protectionLevel="internal|role" />
3299
3300    <!-- Allows an application to force set a new device unlock password or a managed profile
3301    challenge on current user.
3302        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3303        APIs protected by this permission on users different to the calling user.
3304    -->
3305    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RESET_PASSWORD"
3306                android:protectionLevel="internal|role" />
3307
3308    <!-- Allows an application to set policy related to the status bar.-->
3309    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_STATUS_BAR"
3310                android:protectionLevel="internal|role" />
3311
3312    <!-- Allows an application to set policy related to bluetooth.
3313        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3314        APIs protected by this permission on users different to the calling user.
3315    -->
3316    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BLUETOOTH"
3317                android:protectionLevel="internal|role" />
3318
3319    <!-- Allows an application to set policy related to fun.
3320        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3321        APIs protected by this permission on users different to the calling user.
3322    -->
3323    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_FUN"
3324                android:protectionLevel="internal|role" />
3325
3326    <!-- Allows an application to set policy related to airplane mode.
3327        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3328        APIs protected by this permission on users different to the calling user.
3329    -->
3330    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AIRPLANE_MODE"
3331                android:protectionLevel="internal|role" />
3332
3333    <!-- Allows an application to set policy related to mobile networks.
3334        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3335        APIs protected by this permission on users different to the calling user.
3336    -->
3337    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MOBILE_NETWORK"
3338                android:protectionLevel="internal|role" />
3339
3340    <!-- Allows an application to set policy related to physical media.
3341        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3342        APIs protected by this permission on users different to the calling user.
3343    -->
3344    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA"
3345                android:protectionLevel="internal|role" />
3346
3347    <!-- Allows an application to set policy related to sms.
3348        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3349        APIs protected by this permission on users different to the calling user.
3350    -->
3351    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SMS"
3352                android:protectionLevel="internal|role" />
3353
3354    <!-- Allows an application to set policy related to usb file transfers.
3355        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3356        APIs protected by this permission on users different to the calling user.
3357    -->
3358    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER"
3359                android:protectionLevel="internal|role" />
3360
3361    <!-- Allows an application to set policy related to lock credentials.
3362        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL} is
3363        required to call APIs protected by this permission on users different to the calling user.
3364    -->
3365    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS"
3366                android:protectionLevel="internal|role" />
3367
3368    <!-- Allows an application to set policy related to Wifi.
3369        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3370        required to call APIs protected by this permission on users different to the calling user.
3371    -->
3372    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIFI"
3373                android:protectionLevel="internal|role" />
3374
3375    <!-- Allows an application to set policy related to screen capture.
3376        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3377        required to call APIs protected by this permission on users different to the calling user.
3378    -->
3379    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SCREEN_CAPTURE"
3380                android:protectionLevel="internal|role" />
3381
3382    <!-- Allows an application to set policy related to input methods.
3383        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3384        required to call APIs protected by this permission on users different to the calling user.
3385    -->
3386    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_INPUT_METHODS"
3387                android:protectionLevel="internal|role" />
3388
3389    <!-- Allows an application to set policy related to restricting the user from configuring
3390     private DNS.
3391        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3392        required to call APIs protected by this permission on users different to the calling user.
3393    -->
3394    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS"
3395                android:protectionLevel="internal|role" />
3396
3397    <!-- Allows an application to set policy related to the default sms application.
3398        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is
3399        required to call APIs protected by this permission on users different to the calling user.
3400    -->
3401    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEFAULT_SMS"
3402                android:protectionLevel="internal|role" />
3403
3404    <!-- Allows an application to set policy related to profiles.
3405        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3406        required to call APIs protected by this permission on users different to the calling user.
3407    -->
3408    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROFILES"
3409                android:protectionLevel="internal|role" />
3410
3411    <!-- Allows an application to set policy related to interacting with profiles (e.g. Disallowing
3412    cross-profile copy and paste).
3413        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3414        required to call APIs protected by this permission on users different to the calling user.
3415    -->
3416    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROFILE_INTERACTION"
3417                android:protectionLevel="internal|role" />
3418
3419    <!-- Allows an application to set policy related to VPNs.
3420        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3421        required to call APIs protected by this permission on users different to the calling user.
3422    -->
3423    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_VPN"
3424                android:protectionLevel="internal|role" />
3425
3426    <!-- Allows an application to set policy related to audio output.
3427        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3428        required to call APIs protected by this permission on users different to the calling user.
3429    -->
3430    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUDIO_OUTPUT"
3431                android:protectionLevel="internal|role" />
3432
3433    <!-- Allows an application to set policy related to the display.
3434        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3435        required to call APIs protected by this permission on users different to the calling user.
3436    -->
3437    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DISPLAY"
3438                android:protectionLevel="internal|role" />
3439
3440    <!-- Allows an application to set policy related to location.
3441        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3442        required to call APIs protected by this permission on users different to the calling user.
3443    -->
3444    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCATION"
3445                android:protectionLevel="internal|role" />
3446
3447    <!-- Allows an application to set policy related to factory reset.
3448        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3449        required to call APIs protected by this permission on users different to the calling user.
3450    -->
3451    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_FACTORY_RESET"
3452                android:protectionLevel="internal|role" />
3453
3454    <!-- Allows an application to set policy related to the wallpaper.
3455        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3456        required to call APIs protected by this permission on users different to the calling user.
3457    -->
3458    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WALLPAPER"
3459                android:protectionLevel="internal|role" />
3460
3461    <!-- Allows an application to set policy related to the usage of the contents of the screen.
3462        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3463        required to call APIs protected by this permission on users different to the calling user.
3464    -->
3465    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SCREEN_CONTENT"
3466                android:protectionLevel="internal|role" />
3467
3468    <!-- Allows an application to set policy related to system dialogs.
3469        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3470        required to call APIs protected by this permission on users different to the calling user.
3471    -->
3472    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS"
3473                android:protectionLevel="internal|role" />
3474
3475    <!-- Allows an application to set policy related to users running in the background.
3476        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3477        required to call APIs protected by this permission on users different to the calling user.
3478    -->
3479    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND"
3480                android:protectionLevel="internal|role" />
3481
3482    <!-- Allows an application to set policy related to printing.
3483        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3484        required to call APIs protected by this permission on users different to the calling user.
3485    -->
3486    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PRINTING"
3487                android:protectionLevel="internal|role" />
3488
3489    <!-- Allows an application to set policy related to nearby communications (e.g. Beam and
3490    nearby streaming).
3491        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3492        required to call APIs protected by this permission on users different to the calling user.
3493    -->
3494    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION"
3495                android:protectionLevel="internal|role" />
3496
3497    <!-- Allows an application to set policy related to windows.
3498        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3499        required to call APIs protected by this permission on users different to the calling user.
3500    -->
3501    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WINDOWS"
3502                android:protectionLevel="internal|role" />
3503
3504    <!-- Allows an application to set policy related to locale.
3505        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3506        required to call APIs protected by this permission on users different to the calling user.
3507    -->
3508    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCALE"
3509                android:protectionLevel="internal|role" />
3510
3511    <!-- Allows an application to set policy related to autofill.
3512        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3513        required to call APIs protected by this permission on users different to the calling user.
3514    -->
3515    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUTOFILL"
3516                android:protectionLevel="internal|role" />
3517
3518    <!-- Allows an application to set policy related to users.
3519        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3520        required to call APIs protected by this permission on users different to the calling user.
3521    -->
3522    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USERS"
3523                android:protectionLevel="internal|role" />
3524
3525    <!-- Allows an application to set policy related to certificates.
3526        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3527        required to call APIs protected by this permission on users different to the calling user.
3528    -->
3529    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES"
3530                android:protectionLevel="internal|role" />
3531
3532    <!-- Allows an application to set policy related to override APNs.
3533        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3534        required to call APIs protected by this permission on users different to the calling user.
3535    -->
3536    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_OVERRIDE_APN"
3537                android:protectionLevel="internal|role" />
3538
3539    <!-- Allows an application to set policy related to security logging.
3540        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3541        required to call APIs protected by this permission on users different to the calling user.
3542    -->
3543    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SECURITY_LOGGING"
3544                android:protectionLevel="internal|role" />
3545
3546    <!-- Allows an application to set policy related to system updates.
3547        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3548        required to call APIs protected by this permission on users different to the calling user.
3549    -->
3550    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_UPDATES"
3551                android:protectionLevel="internal|role" />
3552
3553    <!-- Allows an application query system updates.
3554        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3555        required to call APIs protected by this permission on users different to the calling user.
3556    -->
3557    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES"
3558                android:protectionLevel="internal|role" />
3559
3560    <!-- Allows an application to set policy related to private DNS.
3561        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3562        required to call APIs protected by this permission on users different to the calling user.
3563    -->
3564    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PRIVATE_DNS"
3565                android:protectionLevel="internal|role" />
3566
3567    <!-- Allows an application to set policy related to settings.
3568        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3569        required to call APIs protected by this permission on users different to the calling user.
3570    -->
3571    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SETTINGS"
3572                android:protectionLevel="internal|role" />
3573
3574    <!-- Allows an application to set policy related to network logging.
3575        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3576        required to call APIs protected by this permission on users different to the calling user.
3577    -->
3578    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_NETWORK_LOGGING"
3579                android:protectionLevel="internal|role" />
3580
3581    <!-- Allows an application to set policy related to usb data signalling.-->
3582    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING"
3583                android:protectionLevel="internal|role" />
3584
3585    <!-- Allows an application to set policy related to suspending personal apps.
3586        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3587        required to call APIs protected by this permission on users different to the calling user.
3588    -->
3589    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS"
3590                android:protectionLevel="internal|role" />
3591
3592    <!-- Allows an application to set policy related to keeping uninstalled packages.
3593        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
3594        required to call APIs protected by this permission on users different to the calling user.
3595    -->
3596    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES"
3597                android:protectionLevel="internal|role" />
3598
3599    <!-- Allows an application to manage policy related to accessibility.
3600   <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3601   APIs protected by this permission on users different to the calling user.
3602    -->
3603    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACCESSIBILITY"
3604                android:protectionLevel="internal|role" />
3605
3606    <!-- Allows an application to manage policy related to common criteria mode.
3607        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3608        APIs protected by this permission on users different to the calling user.
3609    -->
3610    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE"
3611                android:protectionLevel="internal|role" />
3612
3613    <!-- Allows an application to manage policy related to metered data.
3614        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3615        APIs protected by this permission on users different to the calling user.
3616    -->
3617    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_METERED_DATA"
3618                android:protectionLevel="internal|role" />
3619
3620    <!-- Allows an application to set a network-independent global HTTP proxy.
3621        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3622        APIs protected by this permission on users different to the calling user.
3623    -->
3624    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_PROXY"
3625                android:protectionLevel="internal|role" />
3626
3627    <!-- Allows an application to request bugreports with user consent.
3628        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3629        APIs protected by this permission on users different to the calling user.
3630    -->
3631    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BUGREPORT"
3632                android:protectionLevel="internal|role" />
3633
3634    <!-- Allows an application to manage policy related to application user data.
3635        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3636        APIs protected by this permission on users different to the calling user.
3637    -->
3638    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_APP_USER_DATA"
3639                android:protectionLevel="internal|role" />
3640
3641    <!-- Allows an application to lock a profile or the device with the appropriate cross-user
3642    permission.
3643        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3644        APIs protected by this permission on users different to the calling user.
3645    -->
3646    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK"
3647                android:protectionLevel="internal|role" />
3648
3649    <!-- Allows an application to manage policy related to system apps.
3650        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
3651        APIs protected by this permission on users different to the calling user.
3652    -->
3653    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_APPS"
3654                android:protectionLevel="internal|role" />
3655
3656    <!-- Allows an application to manage policy related to wiping data.
3657        <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS} is required to call
3658        APIs protected by this permission on users different to the calling user.
3659    -->
3660    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_WIPE_DATA"
3661                android:protectionLevel="internal|role" />
3662
3663    <!-- Allows an application to manage policy related to the Memory Tagging Extension (MTE).
3664    -->
3665    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MTE"
3666                android:protectionLevel="internal|role" />
3667
3668    <!-- Allows an application to manage policy related to device identifiers. -->
3669    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS"
3670                android:protectionLevel="internal|role" />
3671
3672    <!-- Allows an application to set device policies outside the current user
3673        that are critical for securing data within the current user.
3674        <p>Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_*
3675            permissions across all users on the device provided they are required for securing data
3676            within the current user.-->
3677    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL"
3678                android:protectionLevel="internal|role" />
3679
3680    <!-- Allows an application to set device policies outside the current user
3681        that are required for securing device ownership without accessing user data.
3682        <p>Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_*
3683            permissions across all users on the device provided they do not grant access to user
3684            data. -->
3685    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS"
3686                android:protectionLevel="internal|role" />
3687
3688    <!-- Allows an application to set device policies outside the current user.
3689        <p>Fuller form of {@link android.Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS}
3690             that removes the restriction on accessing user data.
3691        <p>Holding this permission allows the use of any other held MANAGE_DEVICE_POLICY_*
3692            permissions across all users on the device.-->
3693    <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL"
3694                android:protectionLevel="internal|role" />
3695
3696    <!-- @SystemApi @hide Allows an application to set a device owner on retail demo devices.-->
3697    <permission android:name="android.permission.PROVISION_DEMO_DEVICE"
3698                android:protectionLevel="signature|setup|knownSigner"
3699                android:knownCerts="@array/demo_device_provisioning_known_signers" />
3700
3701    <!-- @TestApi @hide Allows an application to reset the record of previous system update freeze
3702         periods. -->
3703    <permission android:name="android.permission.CLEAR_FREEZE_PERIOD"
3704                android:protectionLevel="signature" />
3705
3706    <!-- @TestApi @hide Allows an application to force available DevicePolicyManager logs to
3707         DPC. -->
3708    <permission android:name="android.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS"
3709                android:protectionLevel="signature" />
3710
3711    <!-- Allows an application to get full detailed information about
3712         recently running tasks, with full fidelity to the real state.
3713         @hide -->
3714    <permission android:name="android.permission.GET_DETAILED_TASKS"
3715        android:protectionLevel="signature" />
3716
3717    <!-- Allows an application to change the Z-order of tasks.
3718         <p>Protection level: normal
3719    -->
3720    <permission android:name="android.permission.REORDER_TASKS"
3721        android:label="@string/permlab_reorderTasks"
3722        android:description="@string/permdesc_reorderTasks"
3723        android:protectionLevel="normal" />
3724
3725    <!-- @SystemApi @TestApi @hide Allows an application to change to remove/kill tasks -->
3726    <permission android:name="android.permission.REMOVE_TASKS"
3727        android:protectionLevel="signature|recents|role" />
3728
3729    <!-- @deprecated Use MANAGE_ACTIVITY_TASKS instead.
3730         @SystemApi @TestApi @hide Allows an application to create/manage/remove stacks -->
3731    <permission android:name="android.permission.MANAGE_ACTIVITY_STACKS"
3732        android:protectionLevel="signature" />
3733
3734    <!-- @SystemApi @TestApi @hide Allows an application to create/manage/remove tasks -->
3735    <permission android:name="android.permission.MANAGE_ACTIVITY_TASKS"
3736        android:protectionLevel="signature|recents" />
3737
3738    <!-- @SystemApi @TestApi @hide Allows an application to embed other activities -->
3739    <permission android:name="android.permission.ACTIVITY_EMBEDDING"
3740                android:protectionLevel="signature|privileged" />
3741
3742    <!-- Allows an application to start any activity, regardless of permission
3743         protection or exported state.
3744         @hide -->
3745    <permission android:name="android.permission.START_ANY_ACTIVITY"
3746        android:protectionLevel="signature" />
3747
3748    <!-- @SystemApi @hide Allows an application to start activities from background -->
3749    <permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"
3750        android:protectionLevel="signature|privileged|vendorPrivileged|oem|verifier|role" />
3751
3752    <!-- Allows an application to start foreground services from the background at any time.
3753         <em>This permission is not for use by third-party applications</em>,
3754         with the only exception being if the app is the default SMS app.
3755         Otherwise, it's only usable by privileged apps, app verifier app, and apps with
3756         any of the EMERGENCY or SYSTEM GALLERY roles.
3757         -->
3758    <permission android:name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"
3759                android:protectionLevel="signature|privileged|vendorPrivileged|oem|verifier|role"/>
3760
3761    <!-- Allows an application to request interactive options when sending a broadcast.
3762         @hide -->
3763    <permission android:name="android.permission.BROADCAST_OPTION_INTERACTIVE"
3764                android:protectionLevel="signature|privileged" />
3765
3766    <!-- @SystemApi Must be required by activities that handle the intent action
3767         {@link Intent#ACTION_SEND_SHOW_SUSPENDED_APP_DETAILS}. This is for use by apps that
3768         hold {@link Manifest.permission#SUSPEND_APPS} to interact with the system.
3769         <p>Not for use by third-party applications.
3770         @hide -->
3771    <permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS"
3772                android:protectionLevel="signature" />
3773    <uses-permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS" />
3774
3775    <!-- Allows an application to start an activity as another app, provided that app has been
3776         granted a permissionToken from the ActivityManagerService.
3777         @hide -->
3778    <permission android:name="android.permission.START_ACTIVITY_AS_CALLER"
3779        android:protectionLevel="signature" />
3780
3781    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
3782        API is no longer supported. -->
3783    <permission android:name="android.permission.RESTART_PACKAGES"
3784        android:label="@string/permlab_killBackgroundProcesses"
3785        android:description="@string/permdesc_killBackgroundProcesses"
3786        android:protectionLevel="normal" />
3787
3788    <!-- Allows an application to call
3789        {@link android.app.ActivityManager#killBackgroundProcesses}.
3790        <p>As of Android version {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE},
3791        the {@link android.app.ActivityManager#killBackgroundProcesses} is no longer available to
3792        third party applications. For backwards compatibility, the background processes of the
3793        caller's own package will still be killed when calling this API. If the caller has
3794        the system permission {@code KILL_ALL_BACKGROUND_PROCESSES}, other processes will be
3795        killed too.
3796
3797         <p>Protection level: normal
3798    -->
3799    <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
3800        android:label="@string/permlab_killBackgroundProcesses"
3801        android:description="@string/permdesc_killBackgroundProcesses"
3802        android:protectionLevel="normal" />
3803
3804    <!-- @SystemApi @hide Allows an application to call
3805        {@link android.app.ActivityManager#killBackgroundProcesses}
3806        to kill background processes of other apps.
3807         <p>Not for use by third-party applications.
3808    -->
3809    <permission android:name="android.permission.KILL_ALL_BACKGROUND_PROCESSES"
3810        android:label="@string/permlab_killBackgroundProcesses"
3811        android:description="@string/permdesc_killBackgroundProcesses"
3812        android:protectionLevel="signature|privileged" />
3813
3814    <!-- @SystemApi @hide Allows an application to query process states and current
3815         OOM adjustment scores.
3816         <p>Not for use by third-party applications. -->
3817    <permission android:name="android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"
3818        android:protectionLevel="signature|privileged|development" />
3819
3820    <!-- Allows use of PendingIntent.getIntent(), .
3821         @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES)
3822         -->
3823    <permission android:name="android.permission.GET_INTENT_SENDER_INTENT"
3824        android:protectionLevel="signature" />
3825
3826    <!-- ================================== -->
3827    <!-- Permissions affecting the display of other applications  -->
3828    <!-- ================================== -->
3829    <eat-comment />
3830
3831    <!-- Allows an app to create windows using the type
3832         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
3833         shown on top of all other apps.  Very few apps
3834         should use this permission; these windows are intended for
3835         system-level interaction with the user.
3836
3837         <p class="note"><strong>Note:</strong> If the app
3838         targets API level 23 or higher, the app user must explicitly grant
3839         this permission to the app through a permission management screen. The app requests
3840         the user's approval by sending an intent with action
3841         {@link android.provider.Settings#ACTION_MANAGE_OVERLAY_PERMISSION}.
3842         The app can check whether it has this authorization by calling
3843         {@link android.provider.Settings#canDrawOverlays
3844         Settings.canDrawOverlays()}.
3845         <p>Protection level: signature|setup|appop|installer|pre23|development -->
3846    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
3847        android:label="@string/permlab_systemAlertWindow"
3848        android:description="@string/permdesc_systemAlertWindow"
3849        android:protectionLevel="signature|setup|appop|installer|pre23|development" />
3850
3851    <!-- @SystemApi @hide Allows an application to create windows using the type
3852         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
3853         shown on top of all other apps.
3854
3855         Allows an application to use
3856         {@link android.view.WindowManager.LayoutsParams#setSystemApplicationOverlay(boolean)}
3857         to create overlays that will stay visible, even if another window is requesting overlays to
3858         be hidden through {@link android.view.Window#setHideOverlayWindows(boolean)}.
3859
3860         <p>Not for use by third-party applications. -->
3861    <permission android:name="android.permission.SYSTEM_APPLICATION_OVERLAY"
3862                android:protectionLevel="signature|recents|role|installer"/>
3863
3864    <!-- @deprecated Use {@link android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
3865         @hide
3866    -->
3867    <permission android:name="android.permission.RUN_IN_BACKGROUND"
3868        android:label="@string/permlab_runInBackground"
3869        android:description="@string/permdesc_runInBackground"
3870        android:protectionLevel="signature" />
3871
3872    <!-- @deprecated Use
3873        {@link android.Manifest.permission#REQUEST_COMPANION_USE_DATA_IN_BACKGROUND}
3874         @hide
3875    -->
3876    <permission android:name="android.permission.USE_DATA_IN_BACKGROUND"
3877        android:label="@string/permlab_useDataInBackground"
3878        android:description="@string/permdesc_useDataInBackground"
3879        android:protectionLevel="signature" />
3880
3881    <!-- @hide Allows an application to set display offsets for the screen.
3882         This permission is not available to third party applications. -->
3883    <permission android:name="android.permission.SET_DISPLAY_OFFSET"
3884        android:protectionLevel="signature|privileged" />
3885
3886    <!-- Allows a companion app to run in the background. This permission implies
3887         {@link android.Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND},
3888         and allows to start a foreground service from the background.
3889         If an app does not have to run in the background, but only needs to start a foreground
3890         service from the background, consider using
3891         {@link android.Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND},
3892         which is less powerful.
3893         <p>Protection level: normal
3894    -->
3895    <permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"
3896                android:label="@string/permlab_runInBackground"
3897                android:description="@string/permdesc_runInBackground"
3898                android:protectionLevel="normal" />
3899
3900    <!-- Allows a companion app to start a foreground service from the background.
3901         {@see android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
3902         <p>Protection level: normal
3903         -->
3904    <permission android:name="android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND"
3905                android:label="@string/permlab_startForegroundServicesFromBackground"
3906                android:description="@string/permdesc_startForegroundServicesFromBackground"
3907                android:protectionLevel="normal"/>
3908
3909    <!-- Allows a companion app to use data in the background.
3910         <p>Protection level: normal
3911    -->
3912    <permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"
3913                android:label="@string/permlab_useDataInBackground"
3914                android:description="@string/permdesc_useDataInBackground"
3915                android:protectionLevel="normal" />
3916
3917    <!-- Allows app to request to be associated with a device via
3918         {@link android.companion.CompanionDeviceManager}
3919         as a "watch"
3920         <p>Protection level: normal
3921     -->
3922    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_WATCH"
3923                android:label="@string/permlab_companionProfileWatch"
3924                android:description="@string/permdesc_companionProfileWatch"
3925                android:protectionLevel="normal" />
3926
3927    <!-- Allows app to request to be associated with a device via
3928         {@link android.companion.CompanionDeviceManager}
3929         as "glasses"
3930         <p>Protection level: normal
3931     -->
3932    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_GLASSES"
3933        android:protectionLevel="normal" />
3934
3935    <!-- Allows application to request to be associated with a virtual display capable of streaming
3936         Android applications
3937         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_APP_STREAMING})
3938         by {@link android.companion.CompanionDeviceManager}.
3939        <p>Not for use by third-party applications.
3940    -->
3941    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_APP_STREAMING"
3942                android:protectionLevel="signature|privileged" />
3943
3944    <!-- Allows application to request to stream content from an Android host to a nearby device
3945         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_NEARBY_DEVICE_STREAMING})
3946         by {@link android.companion.CompanionDeviceManager}.
3947        <p>Not for use by third-party applications.
3948    -->
3949    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING"
3950        android:protectionLevel="signature|privileged" />
3951
3952    <!-- Allows application to request to be associated with a vehicle head unit capable of
3953         automotive projection
3954         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_AUTOMOTIVE_PROJECTION})
3955         by {@link android.companion.CompanionDeviceManager}.
3956        <p>Not for use by third-party applications.
3957    -->
3958    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION"
3959                android:protectionLevel="internal|role" />
3960
3961    <!-- Allows application to request to be associated with a computer to share functionality
3962         and/or data with other devices, such as notifications, photos and media
3963         ({@link android.companion.AssociationRequest#DEVICE_PROFILE_COMPUTER})
3964         by {@link android.companion.CompanionDeviceManager}.
3965        <p>Not for use by third-party applications.
3966    -->
3967    <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_COMPUTER"
3968                android:protectionLevel="signature|privileged" />
3969
3970    <!-- Allows an application to create a "self-managed" association.
3971    -->
3972    <permission android:name="android.permission.REQUEST_COMPANION_SELF_MANAGED"
3973                android:protectionLevel="signature|privileged" />
3974
3975    <!-- Allows a companion app to associate to Wi-Fi.
3976         <p>Only for use by a single pre-approved app.
3977         @hide
3978         @SystemApi
3979    -->
3980    <permission android:name="android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS"
3981                android:protectionLevel="signature|privileged" />
3982
3983    <!-- Allows an app to read and listen to projection state.
3984         @hide
3985         @SystemApi
3986    -->
3987    <permission android:name="android.permission.READ_PROJECTION_STATE"
3988                android:protectionLevel="signature" />
3989
3990    <!-- Allows an app to set and release automotive projection.
3991         @hide
3992         @SystemApi
3993    -->
3994    <permission android:name="android.permission.TOGGLE_AUTOMOTIVE_PROJECTION"
3995                android:protectionLevel="internal|role" />
3996
3997    <!-- Allows an app to prevent non-system-overlay windows from being drawn on top of it -->
3998    <permission android:name="android.permission.HIDE_OVERLAY_WINDOWS"
3999                android:label="@string/permlab_hideOverlayWindows"
4000                android:description="@string/permdesc_hideOverlayWindows"
4001                android:protectionLevel="normal" />
4002
4003    <!-- ================================== -->
4004    <!-- Permissions affecting the system wallpaper -->
4005    <!-- ================================== -->
4006    <eat-comment />
4007
4008    <!-- Allows applications to set the wallpaper.
4009         <p>Protection level: normal
4010     -->
4011    <permission android:name="android.permission.SET_WALLPAPER"
4012        android:label="@string/permlab_setWallpaper"
4013        android:description="@string/permdesc_setWallpaper"
4014        android:protectionLevel="normal" />
4015
4016    <!-- Allows applications to set the wallpaper hints.
4017         <p>Protection level: normal
4018    -->
4019    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
4020        android:label="@string/permlab_setWallpaperHints"
4021        android:description="@string/permdesc_setWallpaperHints"
4022        android:protectionLevel="normal" />
4023
4024    <!-- Allow the app to read the system and lock wallpaper images.
4025        <p>Not for use by third-party applications.
4026        @hide
4027        @SystemApi
4028    -->
4029    <permission android:name="android.permission.READ_WALLPAPER_INTERNAL"
4030        android:protectionLevel="signature|privileged" />
4031
4032    <!-- ===================================================== -->
4033    <!-- Permissions for changing the system clock / time zone -->
4034    <!-- ===================================================== -->
4035    <eat-comment />
4036
4037    <!-- Allows applications to set the system time directly.
4038         <p>Not for use by third-party applications. -->
4039    <permission android:name="android.permission.SET_TIME"
4040        android:protectionLevel="signature|privileged|role" />
4041
4042    <!-- Allows applications to set the system time zone directly.
4043         <p>Not for use by third-party applications.
4044    -->
4045    <permission android:name="android.permission.SET_TIME_ZONE"
4046        android:label="@string/permlab_setTimeZone"
4047        android:description="@string/permdesc_setTimeZone"
4048        android:protectionLevel="signature|privileged|role" />
4049
4050    <!-- Allows telephony to suggest the time / time zone.
4051         <p>Not for use by third-party applications.
4052         @hide
4053     -->
4054    <permission android:name="android.permission.SUGGEST_TELEPHONY_TIME_AND_ZONE"
4055        android:protectionLevel="signature" />
4056
4057    <!-- Allows applications like settings to suggest the user's manually chosen time / time zone.
4058         <p>Not for use by third-party applications.
4059         @hide
4060    -->
4061    <permission android:name="android.permission.SUGGEST_MANUAL_TIME_AND_ZONE"
4062        android:protectionLevel="signature" />
4063
4064    <!-- Allows system clock time suggestions from an external clock / time source to be made.
4065         The nature of "external" could be highly form-factor specific. Example, times
4066         obtained via the VHAL for Android Auto OS.
4067         <p>Not for use by third-party applications.
4068         @SystemApi @hide
4069    -->
4070    <permission android:name="android.permission.SUGGEST_EXTERNAL_TIME"
4071        android:protectionLevel="signature|privileged" />
4072
4073    <!-- Allows applications like settings to manage configuration associated with automatic time
4074         and time zone detection.
4075         <p>Not for use by third-party applications.
4076         @SystemApi @hide
4077    -->
4078    <permission android:name="android.permission.MANAGE_TIME_AND_ZONE_DETECTION"
4079        android:protectionLevel="signature|privileged" />
4080
4081    <!-- ==================================================== -->
4082    <!-- Permissions related to changing status bar   -->
4083    <!-- ==================================================== -->
4084    <eat-comment />
4085
4086    <!-- Allows an application to expand or collapse the status bar.
4087         <p>Protection level: normal
4088    -->
4089    <permission android:name="android.permission.EXPAND_STATUS_BAR"
4090        android:label="@string/permlab_expandStatusBar"
4091        android:description="@string/permdesc_expandStatusBar"
4092        android:protectionLevel="normal" />
4093
4094    <!-- ============================================================== -->
4095    <!-- Permissions related to adding/removing shortcuts from Launcher -->
4096    <!-- ============================================================== -->
4097    <eat-comment />
4098
4099    <!-- Allows an application to install a shortcut in Launcher.
4100         <p>In Android O (API level 26) and higher, the <code>INSTALL_SHORTCUT</code> broadcast no
4101         longer has any effect on your app because it's a private, implicit
4102         broadcast. Instead, you should create an app shortcut by using the
4103         {@link android.content.pm.ShortcutManager#requestPinShortcut requestPinShortcut()}
4104         method from the {@link android.content.pm.ShortcutManager} class.
4105         <p>Protection level: normal
4106    -->
4107    <permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
4108        android:label="@string/permlab_install_shortcut"
4109        android:description="@string/permdesc_install_shortcut"
4110        android:protectionLevel="normal"/>
4111
4112    <!-- <p class="caution"><strong>Don't use this permission in your app.</strong><br>This
4113         permission is no longer supported.
4114    -->
4115    <permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"
4116        android:label="@string/permlab_uninstall_shortcut"
4117        android:description="@string/permdesc_uninstall_shortcut"
4118        android:protectionLevel="normal"/>
4119
4120    <!-- ==================================================== -->
4121    <!-- Permissions related to accessing sync settings   -->
4122    <!-- ==================================================== -->
4123    <eat-comment />
4124
4125    <!-- Allows applications to read the sync settings.
4126         <p>Protection level: normal
4127    -->
4128    <permission android:name="android.permission.READ_SYNC_SETTINGS"
4129        android:description="@string/permdesc_readSyncSettings"
4130        android:label="@string/permlab_readSyncSettings"
4131        android:protectionLevel="normal" />
4132
4133    <!-- Allows applications to write the sync settings.
4134         <p>Protection level: normal
4135    -->
4136    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
4137        android:description="@string/permdesc_writeSyncSettings"
4138        android:label="@string/permlab_writeSyncSettings"
4139        android:protectionLevel="normal" />
4140
4141    <!-- Allows applications to read the sync stats.
4142         <p>Protection level: normal
4143    -->
4144    <permission android:name="android.permission.READ_SYNC_STATS"
4145        android:description="@string/permdesc_readSyncStats"
4146        android:label="@string/permlab_readSyncStats"
4147        android:protectionLevel="normal" />
4148
4149    <!-- ============================================ -->
4150    <!-- Permissions for low-level system interaction -->
4151    <!-- ============================================ -->
4152    <eat-comment />
4153
4154    <!-- @SystemApi @hide Change the screen compatibility mode of applications -->
4155    <permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
4156        android:protectionLevel="signature" />
4157
4158    <!-- Allows an application to modify the current configuration, such
4159         as locale.
4160         <p>Protection level: signature|privileged|development -->
4161    <permission android:name="android.permission.CHANGE_CONFIGURATION"
4162        android:protectionLevel="signature|privileged|development|role" />
4163
4164    <!-- Allows an application to read or write the system settings.
4165
4166        <p class="note"><strong>Note:</strong> If the app targets API level 23
4167        or higher, the app user
4168        must explicitly grant this permission to the app through a permission management screen.
4169        The app requests the user's approval by sending an intent with action
4170        {@link android.provider.Settings#ACTION_MANAGE_WRITE_SETTINGS}. The app
4171        can check whether it has this authorization by calling {@link
4172        android.provider.Settings.System#canWrite Settings.System.canWrite()}.
4173
4174        <p>Protection level: signature|preinstalled|appop|pre23
4175    -->
4176    <permission android:name="android.permission.WRITE_SETTINGS"
4177        android:label="@string/permlab_writeSettings"
4178        android:description="@string/permdesc_writeSettings"
4179        android:protectionLevel="signature|preinstalled|appop|pre23|role" />
4180
4181    <!-- Allows an application to modify the Google service map.
4182    <p>Not for use by third-party applications. -->
4183    <permission android:name="android.permission.WRITE_GSERVICES"
4184        android:protectionLevel="signature|privileged" />
4185
4186    <!-- @SystemApi @TestApi @hide Allows an application to modify config settings.
4187    <p>Not for use by third-party applications. -->
4188    <permission android:name="android.permission.WRITE_DEVICE_CONFIG"
4189        android:protectionLevel="signature|verifier|configurator"/>
4190
4191    <!-- @SystemApi @TestApi @hide Allows an application to modify only allowlisted settings.
4192    <p>Not for use by third-party applications. -->
4193    <permission android:name="android.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG"
4194        android:protectionLevel="signature|verifier|configurator"/>
4195
4196    <!-- @SystemApi @TestApi @hide Allows an application to read/write sync disabled mode config.
4197    <p>Not for use by third-party applications. -->
4198    <permission android:name="android.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG"
4199        android:protectionLevel="signature|verifier|configurator"/>
4200
4201    <!-- @SystemApi @hide Allows an application to read config settings.
4202    <p>Not for use by third-party applications. -->
4203    <permission android:name="android.permission.READ_DEVICE_CONFIG"
4204        android:protectionLevel="signature|preinstalled" />
4205
4206    <!-- @SystemApi @hide Allows applications like settings to read system-owned
4207     application-specific locale configs.
4208     <p>Not for use by third-party applications. -->
4209    <permission android:name="android.permission.READ_APP_SPECIFIC_LOCALES"
4210                android:protectionLevel="signature|installer" />
4211
4212    <!-- @hide Allows applications to set an application-specific {@link LocaleConfig}.
4213    <p>Not for use by third-party applications. -->
4214    <permission android:name="android.permission.SET_APP_SPECIFIC_LOCALECONFIG"
4215        android:protectionLevel="signature" />
4216
4217    <!-- @SystemApi @hide Allows an application to monitor {@link android.provider.Settings.Config} access.
4218    <p>Not for use by third-party applications. -->
4219    <permission android:name="android.permission.MONITOR_DEVICE_CONFIG_ACCESS"
4220        android:protectionLevel="signature"/>
4221
4222    <!-- @SystemApi @TestApi Allows an application to call
4223        {@link android.app.ActivityManager#forceStopPackage}.
4224        @hide -->
4225    <permission android:name="android.permission.FORCE_STOP_PACKAGES"
4226        android:protectionLevel="signature|privileged" />
4227
4228    <!-- @SystemApi @hide Allows an application to retrieve the content of the active window
4229         An active window is the window that has fired an accessibility event. -->
4230    <permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"
4231        android:protectionLevel="signature|privileged" />
4232
4233    <!-- Modify the global animation scaling factor.
4234    <p>Not for use by third-party applications. -->
4235    <permission android:name="android.permission.SET_ANIMATION_SCALE"
4236        android:protectionLevel="signature|privileged|development" />
4237
4238    <!-- @deprecated This functionality will be removed in the future; please do
4239         not use. Allow an application to make its activities persistent. -->
4240    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
4241        android:label="@string/permlab_persistentActivity"
4242        android:description="@string/permdesc_persistentActivity"
4243        android:protectionLevel="normal" />
4244
4245    <!-- Allows an application to find out the space used by any package.
4246         <p>Protection level: normal
4247    -->
4248    <permission android:name="android.permission.GET_PACKAGE_SIZE"
4249        android:label="@string/permlab_getPackageSize"
4250        android:description="@string/permdesc_getPackageSize"
4251        android:protectionLevel="normal" />
4252
4253    <!-- @deprecated No longer useful, see
4254         {@link android.content.pm.PackageManager#addPackageToPreferred}
4255         for details. -->
4256    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
4257        android:protectionLevel="signature|installer|verifier" />
4258
4259    <!-- Allows an application to receive the
4260         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
4261         broadcast after the system finishes booting.  If you don't
4262         request this permission, you will not receive the broadcast at
4263         that time.  Though holding this permission does not have any
4264         security implications, it can have a negative impact on the
4265         user experience by increasing the amount of time it takes the
4266         system to start and allowing applications to have themselves
4267         running without the user being aware of them.  As such, you must
4268         explicitly declare your use of this facility to make that visible
4269         to the user.
4270         <p>Protection level: normal
4271    -->
4272    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
4273        android:label="@string/permlab_receiveBootCompleted"
4274        android:description="@string/permdesc_receiveBootCompleted"
4275        android:protectionLevel="normal" />
4276
4277    <!-- Allows an application to broadcast sticky intents.  These are
4278         broadcasts whose data is held by the system after being finished,
4279         so that clients can quickly retrieve that data without having
4280         to wait for the next broadcast.
4281         <p>Protection level: normal
4282    -->
4283    <permission android:name="android.permission.BROADCAST_STICKY"
4284        android:label="@string/permlab_broadcastSticky"
4285        android:description="@string/permdesc_broadcastSticky"
4286        android:protectionLevel="normal" />
4287
4288    <!-- Allows mounting and unmounting file systems for removable storage.
4289    <p>Not for use by third-party applications.-->
4290    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
4291        android:protectionLevel="signature|privileged" />
4292
4293    <!-- Allows formatting file systems for removable storage.
4294    <p>Not for use by third-party applications. -->
4295    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
4296        android:protectionLevel="signature|privileged" />
4297
4298    <!-- @hide -->
4299    <permission android:name="android.permission.STORAGE_INTERNAL"
4300        android:protectionLevel="signature" />
4301
4302    <!-- Allows access to ASEC non-destructive API calls
4303         @hide  -->
4304    <permission android:name="android.permission.ASEC_ACCESS"
4305        android:protectionLevel="signature" />
4306
4307    <!-- Allows creation of ASEC volumes
4308         @hide  -->
4309    <permission android:name="android.permission.ASEC_CREATE"
4310        android:protectionLevel="signature" />
4311
4312    <!-- Allows destruction of ASEC volumes
4313         @hide  -->
4314    <permission android:name="android.permission.ASEC_DESTROY"
4315        android:protectionLevel="signature" />
4316
4317    <!-- Allows mount / unmount of ASEC volumes
4318         @hide  -->
4319    <permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"
4320        android:protectionLevel="signature" />
4321
4322    <!-- Allows rename of ASEC volumes
4323         @hide  -->
4324    <permission android:name="android.permission.ASEC_RENAME"
4325        android:protectionLevel="signature" />
4326
4327    <!-- Allows applications to write the apn settings and read sensitive fields of
4328         an existing apn settings like user and password.
4329    <p>Not for use by third-party applications. -->
4330    <permission android:name="android.permission.WRITE_APN_SETTINGS"
4331        android:protectionLevel="signature|privileged" />
4332
4333    <!-- Allows applications to change network connectivity state.
4334         <p>Protection level: normal
4335    -->
4336    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
4337        android:description="@string/permdesc_changeNetworkState"
4338        android:label="@string/permlab_changeNetworkState"
4339        android:protectionLevel="normal" />
4340
4341    <!-- Allows an application to clear the caches of all installed
4342         applications on the device.
4343         <p>Protection level: signature|privileged
4344    -->
4345    <permission android:name="android.permission.CLEAR_APP_CACHE"
4346        android:protectionLevel="signature|privileged" />
4347
4348    <!-- @SystemApi Allows an application to use any media decoder when decoding for playback
4349         @hide -->
4350    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
4351        android:protectionLevel="signature|privileged" />
4352
4353    <!-- @SystemApi Allows an application to install and/or uninstall CA certificates on
4354         behalf of the user.
4355         @hide -->
4356    <permission android:name="android.permission.MANAGE_CA_CERTIFICATES"
4357        android:protectionLevel="signature|privileged" />
4358
4359    <!-- @SystemApi Allows an application to do certain operations needed for
4360         interacting with the recovery (system update) system.
4361         @hide -->
4362    <permission android:name="android.permission.RECOVERY"
4363        android:protectionLevel="signature|privileged" />
4364
4365    <!-- @SystemApi Allows an application to do certain operations needed for
4366         resume on reboot feature.
4367         @hide -->
4368    <permission android:name="android.permission.BIND_RESUME_ON_REBOOT_SERVICE"
4369        android:protectionLevel="signature" />
4370
4371    <!-- @SystemApi Allows an application to read system update info.
4372         @hide -->
4373    <permission android:name="android.permission.READ_SYSTEM_UPDATE_INFO"
4374        android:protectionLevel="signature|privileged" />
4375
4376    <!-- Allows the system to bind to an application's task services
4377         @hide -->
4378    <permission android:name="android.permission.BIND_JOB_SERVICE"
4379        android:protectionLevel="signature" />
4380    <uses-permission android:name="android.permission.BIND_JOB_SERVICE"/>
4381
4382    <!-- Allows an application to initiate configuration updates
4383         <p>An application requesting this permission is responsible for
4384         verifying the source and integrity of any update before passing
4385         it off to the various individual installer components
4386         @hide -->
4387    <permission android:name="android.permission.UPDATE_CONFIG"
4388        android:protectionLevel="signature|privileged" />
4389
4390    <!-- Allows an application to query the current time zone rules state
4391         on device.
4392         @SystemApi @hide
4393         @deprecated Vestigial permission declaration. No longer used. -->
4394    <permission android:name="android.permission.QUERY_TIME_ZONE_RULES"
4395                android:protectionLevel="signature|privileged" />
4396
4397    <!-- Allows a time zone rule updater application to request
4398         the system installs / uninstalls timezone rules.
4399         <p>An application requesting this permission is responsible for
4400         verifying the source and integrity of the update before passing
4401         it off to the installer components.
4402         @SystemApi @hide
4403         @deprecated Vestigial permission declaration. No longer used. -->
4404    <permission android:name="android.permission.UPDATE_TIME_ZONE_RULES"
4405        android:protectionLevel="signature|privileged" />
4406
4407    <!-- Allows the system to reset throttling in shortcut manager.
4408         @hide -->
4409    <permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING"
4410        android:protectionLevel="signature" />
4411
4412    <!-- Allows the system to bind to the discovered Network Recommendation Service.
4413         @SystemApi @hide -->
4414    <permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"
4415        android:protectionLevel="signature" />
4416    <uses-permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"/>
4417
4418    <!-- Allows an application to enable, disable and change priority of
4419         runtime resource overlays.
4420         @hide -->
4421    <permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES"
4422        android:protectionLevel="signature|privileged" />
4423
4424    <!-- Allows an application to set, update and remove the credential management app.
4425         @hide -->
4426    <permission android:name="android.permission.MANAGE_CREDENTIAL_MANAGEMENT_APP"
4427        android:protectionLevel="signature" />
4428
4429    <!-- Allows a font updater application to request that the system installs/uninstalls/updates
4430         font files. @SystemApi @hide -->
4431    <permission android:name="android.permission.UPDATE_FONTS"
4432        android:protectionLevel="signature|privileged" />
4433
4434    <!-- Allows an application to use the AttestationVerificationService.
4435         @hide -->
4436    <permission android:name="android.permission.USE_ATTESTATION_VERIFICATION_SERVICE"
4437                android:protectionLevel="signature" />
4438
4439    <!-- Allows an application to export a AttestationVerificationService to verify attestations on
4440         behalf of AttestationVerificationManager for system-defined attestation profiles.
4441         @hide -->
4442    <permission android:name="android.permission.VERIFY_ATTESTATION"
4443                android:protectionLevel="signature" />
4444
4445    <!-- Must be required by any AttestationVerificationService to ensure that only the system can
4446         bind to it.
4447         @hide -->
4448    <permission android:name="android.permission.BIND_ATTESTATION_VERIFICATION_SERVICE"
4449                android:protectionLevel="signature" />
4450
4451    <!-- Allows the caller to generate keymint keys with the INCLUDE_UNIQUE_ID tag, which
4452         uniquely identifies the device via the attestation certificate.
4453         @hide @TestApi -->
4454    <permission android:name="android.permission.REQUEST_UNIQUE_ID_ATTESTATION"
4455         android:protectionLevel="signature" />
4456
4457    <!-- Allows an application to get enabled credential manager providers.
4458         @hide -->
4459    <permission android:name="android.permission.LIST_ENABLED_CREDENTIAL_PROVIDERS"
4460        android:protectionLevel="signature|privileged" />
4461
4462    <!-- Allows a system application to be registered with credential manager without
4463         having to be enabled by the user.
4464         @hide @SystemApi -->
4465    <permission android:name="android.permission.PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE"
4466                android:protectionLevel="signature|privileged" />
4467
4468    <!-- Allows specifying candidate credential providers to be queried in Credential Manager
4469    get flows, or to be preferred as a default in the Credential Manager create flows.
4470     <p>Protection level: normal -->
4471    <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS"
4472                android:protectionLevel="normal" />
4473
4474    <!-- Allows a browser to invoke credential manager APIs on behalf of another RP.
4475        <p>Protection level: normal -->
4476    <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ORIGIN"
4477        android:protectionLevel="normal" />
4478
4479    <!-- Allows a browser to invoke the set of query apis to get metadata about credential
4480         candidates prepared during the CredentialManager.prepareGetCredential API.
4481        <p>Protection level: normal -->
4482    <permission android:name="android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS"
4483                android:protectionLevel="normal" />
4484
4485    <!-- Allows permission to use Credential Manager UI for providing and saving credentials
4486         @hide -->
4487    <permission android:name="android.permission.LAUNCH_CREDENTIAL_SELECTOR"
4488        android:protectionLevel="signature" />
4489
4490    <!-- Allows an application to be able to store and retrieve credentials from a remote
4491         device.
4492    <p>Protection level: signature|privileged|role -->
4493    <permission android:name="android.permission.PROVIDE_REMOTE_CREDENTIALS"
4494                android:protectionLevel="signature|privileged|role" />
4495
4496    <!-- ========================================= -->
4497    <!-- Permissions for special development tools -->
4498    <!-- ========================================= -->
4499    <eat-comment />
4500
4501    <!-- Allows an application to read or write the secure system settings.
4502    <p>Not for use by third-party applications. -->
4503    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
4504        android:protectionLevel="signature|privileged|development|role|installer" />
4505
4506    <!-- Allows an application to retrieve state dump information from system services.
4507    <p>Not for use by third-party applications. -->
4508    <permission android:name="android.permission.DUMP"
4509        android:protectionLevel="signature|privileged|development" />
4510
4511    <!-- Allows an application to start tracing for InputMethod and WindowManager.
4512    <p>Not for use by third-party applications.
4513    @hide -->
4514    <permission android:name="android.permission.CONTROL_UI_TRACING"
4515        android:protectionLevel="signature|privileged|development" />
4516
4517    <!-- Allows an application to read the low-level system log files.
4518    <p>Not for use by third-party applications, because
4519    Log entries can contain the user's private information. -->
4520    <permission android:name="android.permission.READ_LOGS"
4521        android:protectionLevel="signature|privileged|development" />
4522
4523    <!-- Configure an application for debugging.
4524    <p>Not for use by third-party applications. -->
4525    <permission android:name="android.permission.SET_DEBUG_APP"
4526        android:protectionLevel="signature|privileged|development" />
4527
4528    <!-- Allows an application to set the maximum number of (not needed)
4529         application processes that can be running.
4530         <p>Not for use by third-party applications. -->
4531    <permission android:name="android.permission.SET_PROCESS_LIMIT"
4532        android:protectionLevel="signature|privileged|development" />
4533
4534    <!-- Allows an application to control whether activities are immediately
4535         finished when put in the background.
4536         <p>Not for use by third-party applications. -->
4537    <permission android:name="android.permission.SET_ALWAYS_FINISH"
4538        android:protectionLevel="signature|privileged|development" />
4539
4540    <!-- Allow an application to request that a signal be sent to all persistent processes.
4541    <p>Not for use by third-party applications. -->
4542    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
4543        android:protectionLevel="signature|privileged|development" />
4544
4545    <!-- @hide @SystemApi Must be required by a
4546         {@link com.android.service.tracing.TraceReportService}, to ensure that only the system
4547         can bind to it.
4548        <p>Not for use by third-party applications. -->
4549    <permission android:name="android.permission.BIND_TRACE_REPORT_SERVICE"
4550                android:protectionLevel="signature" />
4551
4552    <!-- @hide @SystemApi @TestApi
4553         Allow an application to approve incident and bug reports to be
4554         shared off-device.  There can be only one application installed on the
4555         device with this permission, and since this is a privileged permission, it
4556         must be in priv-app.
4557        <p>Not for use by third-party applications. -->
4558    <permission android:name="android.permission.APPROVE_INCIDENT_REPORTS"
4559        android:protectionLevel="signature|incidentReportApprover" />
4560
4561    <!-- @hide Allow an application to approve an incident or bug report approval from
4562        the system. -->
4563    <permission android:name="android.permission.REQUEST_INCIDENT_REPORT_APPROVAL"
4564        android:protectionLevel="signature|privileged" />
4565
4566    <!-- ==================================== -->
4567    <!-- Private permissions                  -->
4568    <!-- ==================================== -->
4569    <eat-comment />
4570
4571    <!-- Allows access to the list of accounts in the Accounts Service.
4572         <p>Protection level: signature|privileged -->
4573    <permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"
4574        android:protectionLevel="signature|privileged" />
4575
4576    <!-- Allows but does not guarantee access to user passwords at the conclusion of add account
4577    @hide -->
4578    <permission android:name="android.permission.GET_PASSWORD"
4579        android:protectionLevel="signature" />
4580
4581    <!-- Allows applications to RW to diagnostic resources.
4582    <p>Not for use by third-party applications. -->
4583    <permission android:name="android.permission.DIAGNOSTIC"
4584        android:protectionLevel="signature" />
4585
4586    <!-- Allows an application to open, close, or disable the status bar
4587         and its icons.
4588         <p>Not for use by third-party applications. -->
4589    <permission android:name="android.permission.STATUS_BAR"
4590        android:protectionLevel="signature|privileged|recents" />
4591
4592    <!-- Allows an application to trigger bugreport via shell using the bugreport API.
4593        <p>Not for use by third-party applications.
4594        @hide
4595    -->
4596    <permission android:name="android.permission.TRIGGER_SHELL_BUGREPORT"
4597        android:protectionLevel="signature" />
4598
4599    <!-- Allows an application to trigger profcollect report upload via shell.
4600        <p>Not for use by third-party applications.
4601        @hide
4602    -->
4603    <permission android:name="android.permission.TRIGGER_SHELL_PROFCOLLECT_UPLOAD"
4604        android:protectionLevel="signature" />
4605
4606    <!-- Allows an application to be the status bar.  Currently used only by SystemUI.apk
4607        @hide
4608        @SystemApi -->
4609    <permission android:name="android.permission.STATUS_BAR_SERVICE"
4610        android:protectionLevel="signature" />
4611
4612    <!-- Allows an application to bind to third party quick settings tiles.
4613         <p>Should only be requested by the System, should be required by
4614         TileService declarations.-->
4615    <permission android:name="android.permission.BIND_QUICK_SETTINGS_TILE"
4616        android:protectionLevel="signature|recents" />
4617
4618    <!-- Allows SystemUI to request third party controls.
4619         <p>Should only be requested by the System and required by
4620         {@link android.service.controls.ControlsProviderService} declarations.
4621    -->
4622    <permission android:name="android.permission.BIND_CONTROLS"
4623        android:protectionLevel="signature" />
4624
4625    <!-- @SystemApi Allows an application to force a BACK operation on whatever is the
4626         top activity.
4627         <p>Not for use by third-party applications.
4628         @hide
4629    -->
4630    <permission android:name="android.permission.FORCE_BACK"
4631        android:protectionLevel="signature" />
4632
4633    <!-- Allows an application to update device statistics.
4634    <p>Not for use by third-party applications. -->
4635    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
4636        android:protectionLevel="signature|privileged|role" />
4637
4638    <!-- @SystemApi @hide Allows an application to collect application operation statistics.
4639         Not for use by third party apps. -->
4640    <permission android:name="android.permission.GET_APP_OPS_STATS"
4641        android:protectionLevel="signature|privileged|development" />
4642
4643    <!-- @SystemApi @hide Allows an application to collect historical application operation
4644         statistics.
4645         <p>Not for use by third party applications.
4646    -->
4647    <permission android:name="android.permission.GET_HISTORICAL_APP_OPS_STATS"
4648        android:protectionLevel="internal|role" />
4649
4650    <!-- @SystemApi Allows an application to update application operation statistics. Not for
4651         use by third party apps.
4652         @hide -->
4653    <permission android:name="android.permission.UPDATE_APP_OPS_STATS"
4654        android:protectionLevel="signature|privileged|installer|role" />
4655
4656    <!-- @SystemApi Allows an application to update the user app op restrictions.
4657         Not for use by third party apps.
4658         @hide -->
4659    <permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS"
4660        android:protectionLevel="signature|installer" />
4661
4662    <!-- @TestApi Allows an application to update the user app op modes.
4663         Not for use by third party apps.
4664         @hide -->
4665    <permission android:name="android.permission.MANAGE_APP_OPS_MODES"
4666        android:protectionLevel="signature|installer|verifier|role" />
4667
4668    <!-- @SystemApi Allows an application to open windows that are for use by parts
4669         of the system user interface.
4670         <p>Not for use by third-party applications.
4671         @hide
4672    -->
4673    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
4674        android:protectionLevel="signature|module" />
4675
4676    <!-- Allows an application to avoid all toast rate limiting restrictions.
4677         <p>Not for use by third-party applications.
4678         @hide
4679    -->
4680    <permission android:name="android.permission.UNLIMITED_TOASTS"
4681                android:protectionLevel="signature" />
4682    <uses-permission android:name="android.permission.UNLIMITED_TOASTS" />
4683
4684    <!-- @SystemApi Allows an application to use
4685         {@link android.view.WindowManager.LayoutsParams#SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS}
4686         to hide non-system-overlay windows.
4687         <p>Not for use by third-party applications.
4688         @deprecated Use {@link android.Manifest.permission#HIDE_OVERLAY_WINDOWS} instead
4689         @hide
4690    -->
4691    <permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"
4692                android:protectionLevel="signature|preinstalled" />
4693
4694    <!-- @SystemApi Allows an application to manage (create, destroy,
4695         Z-order) application tokens in the window manager.
4696         <p>Not for use by third-party applications.
4697         @hide
4698    -->
4699    <permission android:name="android.permission.MANAGE_APP_TOKENS"
4700        android:protectionLevel="signature" />
4701
4702    <!-- Allows System UI to register listeners for events from Window Manager.
4703         @hide -->
4704    <permission android:name="android.permission.REGISTER_WINDOW_MANAGER_LISTENERS"
4705        android:protectionLevel="signature" />
4706
4707    <!-- @hide Allows the application to temporarily freeze the screen for a
4708         full-screen transition. -->
4709    <permission android:name="android.permission.FREEZE_SCREEN"
4710        android:protectionLevel="signature" />
4711
4712    <!-- @SystemApi Allows an application to inject user events (keys, touch, trackball)
4713         into the event stream and deliver them to ANY window.  Without this
4714         permission, you can only deliver events to windows in your own process.
4715         <p>Not for use by third-party applications.
4716         @hide
4717    -->
4718    <permission android:name="android.permission.INJECT_EVENTS"
4719        android:protectionLevel="signature" />
4720
4721    <!-- @hide Allows an application to register an input filter which filters the stream
4722         of user events (keys, touch, trackball) before they are dispatched to any window. -->
4723    <permission android:name="android.permission.FILTER_EVENTS"
4724        android:protectionLevel="signature" />
4725
4726    <!-- @hide Allows an application to retrieve the window token from the accessibility manager. -->
4727    <permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN"
4728        android:protectionLevel="signature" />
4729
4730    <!-- @hide Allows an application to modify accessibility information from another app. -->
4731    <permission android:name="android.permission.MODIFY_ACCESSIBILITY_DATA"
4732                android:protectionLevel="signature" />
4733
4734    <!-- @hide Allows an application to perform accessibility operations (e.g. send events) on
4735         behalf of another package. -->
4736    <permission android:name="android.permission.ACT_AS_PACKAGE_FOR_ACCESSIBILITY"
4737                android:protectionLevel="signature" />
4738
4739    <!-- @hide Allows an application to change the accessibility volume. -->
4740    <permission android:name="android.permission.CHANGE_ACCESSIBILITY_VOLUME"
4741                android:protectionLevel="signature" />
4742
4743    <!-- @hide Allows an application to collect frame statistics -->
4744    <permission android:name="android.permission.FRAME_STATS"
4745         android:protectionLevel="signature" />
4746
4747    <!-- @hide Allows an application to temporary enable accessibility on the device. -->
4748    <permission android:name="android.permission.TEMPORARY_ENABLE_ACCESSIBILITY"
4749        android:protectionLevel="signature" />
4750
4751    <!-- @SystemApi Allows an application to launch detail settings activity of a particular
4752         accessibility service.
4753         <p>Not for use by third-party applications.
4754         @hide -->
4755    <permission android:name="android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS"
4756        android:protectionLevel="signature|installer" />
4757
4758    <!-- @SystemApi Allows an application to watch and control how activities are
4759         started globally in the system.  Only for is in debugging
4760         (usually the monkey command).
4761         <p>Not for use by third-party applications.
4762         @hide
4763    -->
4764    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
4765        android:protectionLevel="signature" />
4766
4767    <!-- @SystemApi Allows an application to call the activity manager shutdown() API
4768         to put the higher-level system there into a shutdown state.
4769         @hide -->
4770    <permission android:name="android.permission.SHUTDOWN"
4771        android:protectionLevel="signature|privileged|role" />
4772
4773    <!-- @SystemApi Allows an application to tell the activity manager to temporarily
4774         stop application switches, putting it into a special mode that
4775         prevents applications from immediately switching away from some
4776         critical UI such as the home screen.
4777         @hide -->
4778    <permission android:name="android.permission.STOP_APP_SWITCHES"
4779        android:protectionLevel="signature|privileged|recents" />
4780
4781    <!-- @SystemApi Allows an application to retrieve private information about
4782         the current top activity, such as any assist context it can provide.
4783         <p>Not for use by third-party applications.
4784         @hide
4785    -->
4786    <permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"
4787        android:protectionLevel="signature|recents" />
4788
4789    <!-- @SystemApi Allows an application to set the system audio caption and its UI
4790     enabled state.
4791     <p>Not for use by third-party applications.
4792     @hide -->
4793    <permission android:name="android.permission.SET_SYSTEM_AUDIO_CAPTION"
4794                android:protectionLevel="signature|role" />
4795
4796    <!-- Allows an application to retrieve the current state of keys and
4797         switches.
4798         <p>Not for use by third-party applications.
4799         @deprecated The API that used this permission has been removed. -->
4800    <permission android:name="android.permission.READ_INPUT_STATE"
4801        android:protectionLevel="signature" />
4802
4803    <!-- Must be required by an {@link android.inputmethodservice.InputMethodService},
4804         to ensure that only the system can bind to it.
4805         <p>Protection level: signature
4806    -->
4807    <permission android:name="android.permission.BIND_INPUT_METHOD"
4808        android:protectionLevel="signature" />
4809
4810    <!-- Allows access to Test APIs defined in {@link android.view.inputmethod.InputMethodManager}.
4811         @hide
4812         @TestApi -->
4813    <permission android:name="android.permission.TEST_INPUT_METHOD"
4814        android:protectionLevel="signature" />
4815
4816    <!-- Must be required by an {@link android.media.midi.MidiDeviceService},
4817         to ensure that only the system can bind to it.
4818         <p>Protection level: signature
4819    -->
4820    <permission android:name="android.permission.BIND_MIDI_DEVICE_SERVICE"
4821        android:protectionLevel="signature" />
4822
4823    <!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
4824         to ensure that only the system can bind to it.
4825         <p>Protection level: signature
4826    -->
4827    <permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
4828        android:protectionLevel="signature" />
4829
4830    <!-- Must be required by a {@link android.printservice.PrintService},
4831         to ensure that only the system can bind to it.
4832         <p>Protection level: signature
4833    -->
4834    <permission android:name="android.permission.BIND_PRINT_SERVICE"
4835        android:protectionLevel="signature" />
4836
4837    <!-- Must be required by a {@link android.printservice.recommendation.RecommendationService},
4838     to ensure that only the system can bind to it.
4839     @hide
4840     @SystemApi
4841     <p>Protection level: signature
4842    -->
4843    <permission android:name="android.permission.BIND_PRINT_RECOMMENDATION_SERVICE"
4844            android:protectionLevel="signature" />
4845
4846    <!-- Allows applications to get the installed and enabled print services.
4847         @hide
4848         @SystemApi
4849         <p>Protection level: signature|preinstalled
4850    -->
4851    <permission android:name="android.permission.READ_PRINT_SERVICES"
4852        android:protectionLevel="signature|preinstalled" />
4853
4854    <!-- Allows applications to get the currently recommended print services for printers.
4855         @hide
4856         @SystemApi
4857         <p>Protection level: signature|preinstalled
4858    -->
4859    <permission android:name="android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS"
4860        android:protectionLevel="signature|preinstalled" />
4861
4862    <!-- Must be required by a {@link android.nfc.cardemulation.HostApduService}
4863         or {@link android.nfc.cardemulation.OffHostApduService} to ensure that only
4864         the system can bind to it.
4865         <p>Protection level: signature
4866    -->
4867    <permission android:name="android.permission.BIND_NFC_SERVICE"
4868        android:protectionLevel="signature" />
4869
4870    <!-- Must be required by a {@link android.service.quickaccesswallet.QuickAccessWalletService}
4871         to ensure that only the system can bind to it.
4872         <p>Protection level: signature
4873    -->
4874    <permission android:name="android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE"
4875                android:protectionLevel="signature" />
4876
4877    <!-- Must be required by the PrintSpooler to ensure that only the system can bind to it.
4878         @hide -->
4879    <permission android:name="android.permission.BIND_PRINT_SPOOLER_SERVICE"
4880        android:protectionLevel="signature" />
4881
4882    <!-- Must be required by the CompanionDeviceManager to ensure that only the system can bind to it.
4883         @hide -->
4884    <permission android:name="android.permission.BIND_COMPANION_DEVICE_MANAGER_SERVICE"
4885        android:protectionLevel="signature" />
4886
4887    <!-- Must be required by any
4888         {@link android.companion.CompanionDeviceService}s
4889         to ensure that only the system can bind to it. -->
4890    <permission android:name="android.permission.BIND_COMPANION_DEVICE_SERVICE"
4891                android:protectionLevel="signature" />
4892
4893    <!-- @SystemApi Must be required by the RuntimePermissionPresenterService to ensure
4894         that only the system can bind to it.
4895         @hide -->
4896    <permission android:name="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE"
4897        android:protectionLevel="signature" />
4898
4899    <!-- Must be required by a TextService (e.g. SpellCheckerService)
4900         to ensure that only the system can bind to it.
4901         <p>Protection level: signature
4902    -->
4903    <permission android:name="android.permission.BIND_TEXT_SERVICE"
4904        android:protectionLevel="signature" />
4905
4906    <!-- @SystemApi Must be required by a AttentionService
4907         to ensure that only the system can bind to it.
4908         <p>Protection level: signature
4909         @hide
4910    -->
4911    <permission android:name="android.permission.BIND_ATTENTION_SERVICE"
4912                android:protectionLevel="signature" />
4913    <uses-permission android:name="android.permission.BIND_ATTENTION_SERVICE" />
4914
4915    <!-- @SystemApi Must be required by a RotationResolverService
4916         to ensure that only the system can bind to it.
4917         <p>Protection level: signature
4918         @hide
4919    -->
4920    <permission android:name="android.permission.BIND_ROTATION_RESOLVER_SERVICE"
4921        android:protectionLevel="signature" />
4922    <uses-permission android:name="android.permission.BIND_ROTATION_RESOLVER_SERVICE" />
4923
4924    <!-- Must be required by a {@link android.net.VpnService},
4925         to ensure that only the system can bind to it.
4926         <p>Protection level: signature
4927    -->
4928    <permission android:name="android.permission.BIND_VPN_SERVICE"
4929        android:protectionLevel="signature" />
4930
4931    <!-- Must be required by a {@link android.service.wallpaper.WallpaperService},
4932         to ensure that only the system can bind to it.
4933         <p>Protection level: signature|privileged
4934    -->
4935    <permission android:name="android.permission.BIND_WALLPAPER"
4936        android:protectionLevel="signature|privileged" />
4937
4938
4939    <!-- Must be required by a game service to ensure that only the
4940         system can bind to it.
4941         <p>Protection level: signature
4942         @hide
4943    -->
4944    <permission android:name="android.permission.BIND_GAME_SERVICE"
4945                android:protectionLevel="signature" />
4946
4947    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService},
4948         to ensure that only the system can bind to it.
4949         <p>Protection level: signature
4950    -->
4951    <permission android:name="android.permission.BIND_VOICE_INTERACTION"
4952        android:protectionLevel="signature" />
4953
4954    <!-- @SystemApi Must be required by a {@link android.service.voice.HotwordDetectionService},
4955         to ensure that only the system can bind to it.
4956         <p>Protection level: signature
4957         @hide This is not a third-party API (intended for OEMs and system apps).
4958    -->
4959    <permission android:name="android.permission.BIND_HOTWORD_DETECTION_SERVICE"
4960        android:protectionLevel="signature" />
4961
4962    <!-- @SystemApi Allows an application to manage hotword detection and visual query detection
4963         on the device.
4964         <p>Protection level: internal|preinstalled
4965         @hide This is not a third-party API (intended for OEMs and system apps).
4966    -->
4967    <permission android:name="android.permission.MANAGE_HOTWORD_DETECTION"
4968                android:protectionLevel="internal|preinstalled" />
4969
4970    <!-- @SystemApi Must be required by a {@link android.service.voice.VisualQueryDetectionService},
4971         to ensure that only the system can bind to it.
4972         <p>Protection level: signature
4973         @hide This is not a third-party API (intended for OEMs and system apps).
4974    -->
4975    <permission android:name="android.permission.BIND_VISUAL_QUERY_DETECTION_SERVICE"
4976        android:protectionLevel="signature" />
4977
4978    <!-- Allows an application to subscribe to keyguard locked (i.e., showing) state.
4979         <p>Protection level: signature|role
4980         <p>Intended for use by ROLE_ASSISTANT and signature apps only.
4981    -->
4982    <permission android:name="android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE"
4983                android:protectionLevel="signature|role"/>
4984
4985    <!-- Must be required by a {@link android.service.autofill.AutofillService},
4986         to ensure that only the system can bind to it.
4987         <p>Protection level: signature
4988    -->
4989    <permission android:name="android.permission.BIND_AUTOFILL_SERVICE"
4990        android:protectionLevel="signature" />
4991
4992    <!-- Must be required by a
4993         {@link android.service.assist.classification.FieldClassificationService},
4994         to ensure that only the system can bind to it.
4995         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
4996         <p>Protection level: signature
4997    -->
4998    <permission android:name="android.permission.BIND_FIELD_CLASSIFICATION_SERVICE"
4999                android:protectionLevel="signature" />
5000
5001    <!-- Must be required by a CredentialProviderService to ensure that only the
5002         system can bind to it.
5003         <p>Protection level: signature
5004    -->
5005    <permission android:name="android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE"
5006                android:protectionLevel="signature" />
5007
5008   <!-- Alternative version of android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE.
5009        This permission was renamed during the O previews but it was supported on the final O
5010        release, so we need to carry it over.
5011        <p>Protection level: signature
5012        @hide
5013    -->
5014    <permission android:name="android.permission.BIND_AUTOFILL"
5015        android:protectionLevel="signature" />
5016
5017    <!-- Must be required by an {@link android.service.autofill.AutofillFieldClassificationService}
5018         to ensure that only the system can bind to it.
5019         @hide This is not a third-party API (intended for OEMs and system apps).
5020    -->
5021    <permission android:name="android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE"
5022                android:protectionLevel="signature" />
5023
5024    <!-- Must be required by an {@link android.service.autofill.InlineSuggestionRenderService}
5025         to ensure that only the system can bind to it.
5026         @hide This is not a third-party API (intended for OEMs and system apps).
5027    -->
5028    <permission android:name="android.permission.BIND_INLINE_SUGGESTION_RENDER_SERVICE"
5029                android:protectionLevel="signature" />
5030
5031    <!-- Must be required by a android.service.textclassifier.TextClassifierService,
5032         to ensure that only the system can bind to it.
5033         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5034         <p>Protection level: signature
5035    -->
5036    <permission android:name="android.permission.BIND_TEXTCLASSIFIER_SERVICE"
5037                android:protectionLevel="signature" />
5038
5039    <!-- Must be required by a
5040         {@link android.service.remotelockscreenvalidation.RemoteLockscreenValidationService}
5041         to ensure that only the system can bind to it.
5042         @SystemApi @hide This is not a third-party API
5043         <p>Protection level: signature
5044    -->
5045    <permission android:name="android.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE"
5046        android:protectionLevel="signature" />
5047
5048    <!-- Must be required by a android.service.selectiontoolbar.SelectionToolbarRenderService,
5049          to ensure that only the system can bind to it.
5050          @hide This is not a third-party API (intended for OEMs and system apps).
5051          <p>Protection level: signature
5052    -->
5053    <permission android:name="android.permission.BIND_SELECTION_TOOLBAR_RENDER_SERVICE"
5054                android:protectionLevel="signature" />
5055
5056    <!-- Must be required by a android.service.contentcapture.ContentCaptureService,
5057         to ensure that only the system can bind to it.
5058         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5059         <p>Protection level: signature
5060    -->
5061    <permission android:name="android.permission.BIND_CONTENT_CAPTURE_SERVICE"
5062                android:protectionLevel="signature" />
5063
5064    <!-- Must be required by a android.service.translation.TranslationService,
5065         to ensure that only the system can bind to it.
5066         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5067         <p>Protection level: signature
5068     -->
5069    <permission android:name="android.permission.BIND_TRANSLATION_SERVICE"
5070                android:protectionLevel="signature" />
5071
5072    <!-- @SystemApi Allows apps to use ui translation functions.
5073         <p>Protection level: signature|privileged
5074         @hide Not for use by third-party applications.
5075    -->
5076    <permission android:name="android.permission.MANAGE_UI_TRANSLATION"
5077                android:protectionLevel="signature|privileged|role" />
5078
5079    <!-- Must be required by a android.service.contentsuggestions.ContentSuggestionsService,
5080         to ensure that only the system can bind to it.
5081         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5082         <p>Protection level: signature
5083    -->
5084    <permission android:name="android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE"
5085                android:protectionLevel="signature" />
5086
5087    <!-- Must be required by a
5088         android.service.wallpapereffectsgeneration.WallpaperEffectsGenerationService,
5089         to ensure that only the system can bind to it.
5090         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5091         <p>Protection level: signature
5092   -->
5093    <permission android:name="android.permission.BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE"
5094        android:protectionLevel="signature" />
5095
5096
5097    <!-- Must be declared by a android.service.musicrecognition.MusicRecognitionService,
5098         to ensure that only the system can bind to it.
5099         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5100         <p>Protection level: signature
5101    -->
5102    <permission android:name="android.permission.BIND_MUSIC_RECOGNITION_SERVICE"
5103        android:protectionLevel="signature" />
5104
5105    <!-- Must be required by a android.service.autofill.augmented.AugmentedAutofillService,
5106         to ensure that only the system can bind to it.
5107         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
5108         <p>Protection level: signature
5109    -->
5110    <permission android:name="android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE"
5111                android:protectionLevel="signature" />
5112
5113    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService} implementation
5114         to enroll its own sound models. This is a more restrictive permission than the higher-level
5115         permission KEYPHRASE_ENROLLMENT_APPLICATION. For the caller to enroll sound models with
5116         this permission, it must hold the permission and be the active VoiceInteractionService in
5117         the system.
5118         {@see Settings.Secure.VOICE_INTERACTION_SERVICE}
5119         @hide -->
5120    <permission android:name="android.permission.MANAGE_VOICE_KEYPHRASES"
5121        android:protectionLevel="signature|privileged" />
5122
5123    <!-- Must be required by a keyphrase enrollment application, to enroll sound models. This is
5124         treated as a higher-level permission to MANAGE_VOICE_KEYPHRASES as a caller can enroll
5125         sound models at any time. This permission should be reserved for system enrollment
5126         applications detected by {@link android.hardware.soundtrigger.KeyphraseEnrollmentInfo}
5127         only.
5128         @hide <p>Not for use by third-party applications.</p> -->
5129    <permission android:name="android.permission.KEYPHRASE_ENROLLMENT_APPLICATION"
5130        android:protectionLevel="signature|privileged" />
5131
5132    <!-- Must be required by a {@link com.android.media.remotedisplay.RemoteDisplayProvider},
5133         to ensure that only the system can bind to it.
5134         @hide -->
5135    <permission android:name="android.permission.BIND_REMOTE_DISPLAY"
5136        android:protectionLevel="signature" />
5137
5138    <!-- Must be required by a {@link android.media.tv.TvInputService}
5139         to ensure that only the system can bind to it.
5140         <p>Protection level: signature|privileged
5141    -->
5142    <permission android:name="android.permission.BIND_TV_INPUT"
5143        android:protectionLevel="signature|privileged" />
5144
5145    <!-- Must be required by a {@link android.media.tv.interactive.TvInteractiveAppService}
5146         to ensure that only the system can bind to it.
5147         <p>Protection level: signature|privileged
5148    -->
5149    <permission android:name="android.permission.BIND_TV_INTERACTIVE_APP"
5150                android:protectionLevel="signature|privileged" />
5151
5152    <!-- @SystemApi
5153         Must be required by a {@link com.android.media.tv.remoteprovider.TvRemoteProvider}
5154         to ensure that only the system can bind to it.
5155         <p>Protection level: signature|privileged
5156         <p>Not for use by third-party applications. </p>
5157         @hide  -->
5158    <permission android:name="android.permission.BIND_TV_REMOTE_SERVICE"
5159        android:protectionLevel="signature|privileged" />
5160
5161    <!-- @SystemApi
5162         Must be required for a virtual remote controller for TV.
5163         <p>Protection level: signature|privileged
5164         <p>Not for use by third-party applications. </p>
5165         @hide  -->
5166    <permission android:name="android.permission.TV_VIRTUAL_REMOTE_CONTROLLER"
5167        android:protectionLevel="signature|privileged" />
5168
5169    <!-- Allows an application to change HDMI CEC active source.
5170         <p>Not for use by third-party applications.
5171         @hide -->
5172    <permission android:name="android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE"
5173        android:protectionLevel="signature|privileged" />
5174
5175    <!-- @SystemApi Allows an application to modify parental controls
5176         <p>Not for use by third-party applications.
5177         @hide -->
5178    <permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS"
5179        android:protectionLevel="signature|privileged" />
5180
5181    <!-- @SystemApi Allows an application to read TvContentRatingSystemInfo
5182         <p>Not for use by third-party applications.
5183         @hide -->
5184    <permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS"
5185        android:protectionLevel="signature|privileged" />
5186
5187    <!-- Allows an application to notify TV inputs by sending broadcasts.
5188         <p>Protection level: signature|privileged
5189         <p>Not for use by third-party applications.
5190         @hide @SystemApi -->
5191    <permission android:name="android.permission.NOTIFY_TV_INPUTS"
5192         android:protectionLevel="signature|privileged" />
5193
5194    <!-- This permission is required among systems services when accessing
5195         tuner resource management related APIs or information.
5196         <p>Protection level: signature|privileged|vendorPrivileged
5197         <p>This should only be used by the OEM TvInputService.
5198         @hide -->
5199    <permission android:name="android.permission.TUNER_RESOURCE_ACCESS"
5200         android:protectionLevel="signature|privileged|vendorPrivileged" />
5201
5202    <!-- @SystemApi This permission is required by Media Resource Manager Service when
5203         system services create MediaCodecs on behalf of other processes and apps.
5204         <p>Protection level: signature|privileged|vendorPrivileged
5205         <p>Not for use by third-party applications.
5206         @hide -->
5207    <permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID"
5208         android:protectionLevel="signature|privileged|vendorPrivileged" />
5209    <uses-permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID" />
5210
5211    <!-- This permission is required by Media Resource Observer Service when
5212         accessing its registerObserver Api.
5213         <p>Protection level: signature|privileged
5214         <p>Not for use by third-party applications.
5215         @hide -->
5216    <permission android:name="android.permission.REGISTER_MEDIA_RESOURCE_OBSERVER"
5217         android:protectionLevel="signature|privileged" />
5218
5219    <!-- Must be required by a {@link android.media.routing.MediaRouteService}
5220         to ensure that only the system can interact with it.
5221         @hide -->
5222    <permission android:name="android.permission.BIND_ROUTE_PROVIDER"
5223        android:protectionLevel="signature" />
5224
5225    <!-- Must be required by device administration receiver, to ensure that only the
5226         system can interact with it.
5227         <p>Protection level: signature
5228    -->
5229    <permission android:name="android.permission.BIND_DEVICE_ADMIN"
5230        android:protectionLevel="signature|role" />
5231
5232    <!-- @SystemApi Required to add or remove another application as a device admin.
5233         <p>Not for use by third-party applications.
5234         @hide -->
5235    <permission android:name="android.permission.MANAGE_DEVICE_ADMINS"
5236        android:protectionLevel="signature|role" />
5237
5238    <!-- @SystemApi Allows an app to reset the device password.
5239         <p>Not for use by third-party applications.
5240         @hide -->
5241    <permission android:name="android.permission.RESET_PASSWORD"
5242        android:protectionLevel="signature|privileged" />
5243
5244    <!-- @SystemApi Allows an app to lock the device.
5245         <p>Not for use by third-party applications.
5246         @hide -->
5247    <permission android:name="android.permission.LOCK_DEVICE"
5248        android:protectionLevel="signature|privileged" />
5249
5250    <!-- @SystemApi Allows low-level access to setting the orientation (actually
5251         rotation) of the screen.
5252         <p>Not for use by third-party applications.
5253         @hide
5254    -->
5255    <permission android:name="android.permission.SET_ORIENTATION"
5256        android:protectionLevel="signature|recents" />
5257
5258    <!-- @SystemApi Allows low-level access to setting the pointer speed.
5259         <p>Not for use by third-party applications.
5260         @hide
5261    -->
5262    <permission android:name="android.permission.SET_POINTER_SPEED"
5263        android:protectionLevel="signature" />
5264
5265    <!-- Allows low-level access to setting input device calibration.
5266         <p>Not for use by normal applications.
5267         @hide -->
5268    <permission android:name="android.permission.SET_INPUT_CALIBRATION"
5269        android:protectionLevel="signature" />
5270
5271    <!-- Allows low-level access to setting the keyboard layout.
5272         <p>Not for use by third-party applications.
5273         @hide
5274         @TestApi -->
5275    <permission android:name="android.permission.SET_KEYBOARD_LAYOUT"
5276        android:protectionLevel="signature" />
5277
5278    <!-- Allows an app to schedule a prioritized alarm that can be used to perform
5279         background work even when the device is in doze.
5280         <p>Not for use by third-party applications.
5281         @hide
5282         @SystemApi
5283     -->
5284    <permission android:name="android.permission.SCHEDULE_PRIORITIZED_ALARM"
5285                android:protectionLevel="signature|privileged"/>
5286
5287    <!-- Allows applications to use exact alarm APIs.
5288         <p>This is a special access permission that can be revoked by the system or the user.
5289         It should only be used to enable <b>user-facing features</b> that require exact alarms.
5290         For more details, please go through the associated
5291          <a href="{@docRoot}training/scheduling/alarms#exact">developer docs</a>.
5292         <p>Apps need to target API {@link android.os.Build.VERSION_CODES#S} or above to be able to
5293         request this permission. Note that apps targeting lower API levels do not need this
5294         permission to use exact alarm APIs.
5295         <p>Apps that hold this permission and target API
5296         {@link android.os.Build.VERSION_CODES#TIRAMISU} and below always stay in the
5297         {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_WORKING_SET WORKING_SET} or
5298         lower standby bucket.
5299         <p>If your app relies on exact alarms for core functionality, it can instead request
5300         {@link android.Manifest.permission#USE_EXACT_ALARM} once it targets API
5301         {@link android.os.Build.VERSION_CODES#TIRAMISU}. All apps using exact alarms for secondary
5302         features (which should still be user facing) should continue using this permission.
5303         <p>Protection level: signature|privileged|appop
5304     -->
5305    <permission android:name="android.permission.SCHEDULE_EXACT_ALARM"
5306        android:label="@string/permlab_schedule_exact_alarm"
5307        android:description="@string/permdesc_schedule_exact_alarm"
5308        android:protectionLevel="signature|privileged|appop"/>
5309
5310    <!-- Allows apps to use exact alarms just like with {@link
5311         android.Manifest.permission#SCHEDULE_EXACT_ALARM} but without needing to request this
5312         permission from the user.
5313         <p><b> This is only intended for use by apps that rely on exact alarms for their core
5314         functionality.</b> You should continue using {@code SCHEDULE_EXACT_ALARM} if your app needs
5315         exact alarms for a secondary feature that users may or may not use within your app.
5316         <p> Keep in mind that this is a powerful permission and app stores may enforce policies to
5317         audit and review the use of this permission. Such audits may involve removal from the app
5318         store if the app is found to be misusing this permission.
5319         <p> Apps need to target API {@link android.os.Build.VERSION_CODES#TIRAMISU} or above to be
5320         able to request this permission. Note that only one of {@code USE_EXACT_ALARM} or
5321         {@code SCHEDULE_EXACT_ALARM} should be requested on a device. If your app is already using
5322         {@code SCHEDULE_EXACT_ALARM} on older SDKs but needs {@code USE_EXACT_ALARM} on SDK 33 and
5323         above, then {@code SCHEDULE_EXACT_ALARM} should be declared with a max-sdk attribute, like:
5324         <pre>
5325         &lt;uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"
5326         &Tab; android:maxSdkVersion="32" /&gt;
5327         </pre>
5328         <p>Apps that hold this permission, always stay in the
5329         {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_WORKING_SET WORKING_SET} or
5330         lower standby bucket.
5331    -->
5332    <permission android:name="android.permission.USE_EXACT_ALARM"
5333                android:label="@string/permlab_use_exact_alarm"
5334                android:description="@string/permdesc_use_exact_alarm"
5335                android:protectionLevel="normal"/>
5336
5337    <!-- Allows an application to query tablet mode state and monitor changes
5338         in it.
5339         <p>Not for use by third-party applications.
5340         @hide -->
5341    <permission android:name="android.permission.TABLET_MODE"
5342        android:protectionLevel="signature" />
5343
5344    <!-- Allows an application to request installing packages. Apps
5345         targeting APIs greater than 25 must hold this permission in
5346         order to use {@link android.content.Intent#ACTION_INSTALL_PACKAGE}.
5347         <p>Protection level: signature
5348    -->
5349    <permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"
5350        android:label="@string/permlab_requestInstallPackages"
5351        android:description="@string/permdesc_requestInstallPackages"
5352        android:protectionLevel="signature|appop" />
5353
5354    <!-- Allows an application to request deleting packages. Apps
5355         targeting APIs {@link android.os.Build.VERSION_CODES#P} or greater must hold this
5356         permission in order to use {@link android.content.Intent#ACTION_UNINSTALL_PACKAGE} or
5357         {@link android.content.pm.PackageInstaller#uninstall}.
5358         <p>Protection level: normal
5359    -->
5360    <permission android:name="android.permission.REQUEST_DELETE_PACKAGES"
5361        android:label="@string/permlab_requestDeletePackages"
5362        android:description="@string/permdesc_requestDeletePackages"
5363        android:protectionLevel="normal" />
5364
5365    <!-- Allows an application to install packages.
5366    <p>Not for use by third-party applications. -->
5367    <permission android:name="android.permission.INSTALL_PACKAGES"
5368      android:protectionLevel="signature|privileged" />
5369
5370    <!-- @SystemApi Allows an application to install self updates. This is a limited version
5371         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
5372        <p>Not for use by third-party applications.
5373        @hide
5374    -->
5375    <permission android:name="android.permission.INSTALL_SELF_UPDATES"
5376        android:protectionLevel="signature|privileged" />
5377
5378    <!-- @SystemApi Allows an application to install updates. This is a limited version
5379         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
5380        <p>Not for use by third-party applications.
5381        @hide
5382    -->
5383    <permission android:name="android.permission.INSTALL_PACKAGE_UPDATES"
5384        android:protectionLevel="signature|privileged" />
5385
5386    <!-- @SystemApi Allows an application to install existing system packages. This is a limited
5387         version of {@link android.Manifest.permission#INSTALL_PACKAGES}.
5388         <p>Not for use by third-party applications.
5389         TODO(b/80204953): remove this permission once we have a long-term solution.
5390         @hide
5391    -->
5392    <permission android:name="com.android.permission.INSTALL_EXISTING_PACKAGES"
5393        android:protectionLevel="signature|privileged|role" />
5394
5395    <!-- Allows an application to use the package installer v2 APIs.
5396         <p>The package installer v2 APIs are still a work in progress and we're
5397         currently validating they work in all scenarios.
5398         <p>Not for use by third-party applications.
5399         @hide
5400    -->
5401    <permission android:name="com.android.permission.USE_INSTALLER_V2"
5402        android:protectionLevel="signature|privileged" />
5403
5404    <!-- @TestApi Allows a testOnly application to get installed.
5405        <p>Not for use by third-party applications.
5406        @hide
5407    -->
5408    <permission android:name="android.permission.INSTALL_TEST_ONLY_PACKAGE"
5409                android:protectionLevel="signature" />
5410
5411    <!-- @SystemApi Allows an application to install DPCs only, an application is
5412         considered a DPC if it has a {@link android.app.admin.DeviceAdminReceiver}
5413         protected by {@link android.Manifest.permission#BIND_DEVICE_ADMIN).
5414         This is a limited version of
5415         {@link android.Manifest.permission#INSTALL_PACKAGES}.
5416         @hide
5417    -->
5418    <permission android:name="android.permission.INSTALL_DPC_PACKAGES"
5419                android:protectionLevel="signature|role" />
5420
5421    <!-- Allows an application to read resolved paths to the APKs (Base and any splits)
5422         of a session based install.
5423         <p>Not for use by third-party applications.
5424         @hide
5425    -->
5426    <permission android:name="android.permission.READ_INSTALLED_SESSION_PATHS"
5427                android:protectionLevel="signature|installer" />
5428    <uses-permission android:name="android.permission.READ_INSTALLED_SESSION_PATHS" />
5429
5430    <!-- Allows an application to use System Data Loaders.
5431         <p>Not for use by third-party applications.
5432         @hide
5433    -->
5434    <permission android:name="com.android.permission.USE_SYSTEM_DATA_LOADERS"
5435                android:protectionLevel="signature" />
5436
5437    <!-- @SystemApi @TestApi Allows an application to clear user data.
5438         <p>Not for use by third-party applications
5439         @hide
5440    -->
5441    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
5442        android:protectionLevel="signature|installer" />
5443
5444    <!-- @hide Allows an application to get the URI permissions
5445         granted to another application.
5446         <p>Not for use by third-party applications
5447    -->
5448    <permission android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS"
5449        android:protectionLevel="signature" />
5450
5451    <!-- @hide Allows an application to clear the URI permissions
5452         granted to another application.
5453         <p>Not for use by third-party applications
5454    -->
5455    <permission
5456        android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS"
5457        android:protectionLevel="signature" />
5458
5459    <!-- @hide
5460         Allows an application to change the status of Scoped Access Directory requests granted or
5461         rejected by the user.
5462         <p>This permission should <em>only</em> be requested by the platform
5463         settings app.  This permission cannot be granted to third-party apps.
5464         <p>Protection level: signature
5465    -->
5466    <permission
5467         android:name="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS"
5468         android:protectionLevel="signature" />
5469
5470    <!-- @hide
5471         Allows an application to change the status of a persistable URI permission granted
5472         to another application.
5473         <p>This permission should <em>only</em> be requested by the platform
5474         settings app.  This permission cannot be granted to third-party apps.
5475         <p>Protection level: signature
5476    -->
5477    <permission android:name="android.permission.FORCE_PERSISTABLE_URI_PERMISSIONS"
5478        android:protectionLevel="signature" />
5479
5480    <!-- Old permission for deleting an app's cache files, no longer used,
5481         but signals for us to quietly ignore calls instead of throwing an exception.
5482         <p>Protection level: signature|privileged -->
5483    <permission android:name="android.permission.DELETE_CACHE_FILES"
5484        android:protectionLevel="signature|privileged" />
5485
5486    <!-- Allows an application to delete cache files.
5487         @hide -->
5488    <permission android:name="android.permission.INTERNAL_DELETE_CACHE_FILES"
5489        android:protectionLevel="signature" />
5490
5491    <!-- Allows an application to delete packages.
5492         <p>Not for use by third-party applications.
5493         <p>Starting in {@link android.os.Build.VERSION_CODES#N}, user confirmation is requested
5494         when the application deleting the package is not the same application that installed the
5495         package. -->
5496    <permission android:name="android.permission.DELETE_PACKAGES"
5497        android:protectionLevel="signature|privileged|role" />
5498
5499    <!-- @SystemApi Allows an application to move location of installed package.
5500         @hide -->
5501    <permission android:name="android.permission.MOVE_PACKAGE"
5502        android:protectionLevel="signature|privileged" />
5503
5504    <!-- @TestApi Allows an application to keep uninstalled packages as apks.
5505         @hide -->
5506    <permission android:name="android.permission.KEEP_UNINSTALLED_PACKAGES"
5507        android:protectionLevel="signature" />
5508
5509    <!-- Allows an application to change whether an application component (other than its own) is
5510         enabled or not.
5511         <p>Not for use by third-party applications. -->
5512    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
5513        android:protectionLevel="signature|privileged|role" />
5514
5515    <!-- @SystemApi @TestApi iAllows an application to grant specific permissions.
5516         @hide -->
5517    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS"
5518        android:protectionLevel="signature|installer|verifier" />
5519
5520    <!-- @SystemApi Allows an app that has this permission and the permissions to install packages
5521         to request certain runtime permissions to be granted at installation.
5522         @hide -->
5523    <permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS"
5524        android:protectionLevel="signature|installer|verifier" />
5525
5526    <!-- @SystemApi Allows an application to revoke specific permissions.
5527        @hide -->
5528    <permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS"
5529         android:protectionLevel="signature|installer|verifier" />
5530
5531   <!-- @TestApi Allows an application to revoke the POST_NOTIFICATIONS permission from an app
5532        without killing the app. Only granted to the shell.
5533        @hide -->
5534    <permission android:name="android.permission.REVOKE_POST_NOTIFICATIONS_WITHOUT_KILL"
5535        android:protectionLevel="signature" />
5536
5537    <!-- @SystemApi Allows the system to read runtime permission state.
5538        @hide -->
5539    <permission android:name="android.permission.GET_RUNTIME_PERMISSIONS"
5540                android:protectionLevel="signature" />
5541
5542    <!-- @SystemApi Allows the system to restore runtime permission state. This might grant
5543    permissions, hence this is a more scoped, less powerful variant of GRANT_RUNTIME_PERMISSIONS.
5544    Among other restrictions this cannot override user choices.
5545    @hide -->
5546    <permission android:name="android.permission.RESTORE_RUNTIME_PERMISSIONS"
5547                android:protectionLevel="signature" />
5548
5549    <!-- @SystemApi @TestApi Allows an application to change policy_fixed permissions.
5550    @hide -->
5551    <permission android:name="android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY"
5552                android:protectionLevel="signature|installer" />
5553
5554    <!-- @SystemApi @TestApi Allows an application to upgrade runtime permissions.
5555    @hide -->
5556    <permission android:name="android.permission.UPGRADE_RUNTIME_PERMISSIONS"
5557                android:protectionLevel="signature" />
5558
5559    <!-- @SystemApi Allows an application to allowlist restricted permissions
5560         on any of the allowlists.
5561    @hide -->
5562    <permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS"
5563                android:protectionLevel="signature|installer" />
5564
5565    <!-- @SystemApi Allows an application to an exempt an app from having its permission be
5566        auto-revoked when unused for an extended period of time.
5567        @hide -->
5568    <permission android:name="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS"
5569        android:protectionLevel="signature|installer" />
5570
5571    <!-- @hide Allows an application to observe permission changes. -->
5572    <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"
5573        android:protectionLevel="signature|privileged" />
5574
5575    <!-- @SystemApi Allows an application to start and stop one time permission sessions
5576    @hide -->
5577    <permission android:name="android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS"
5578                android:protectionLevel="signature|installer" />
5579
5580    <!-- @SystemApi Allows an application to manage the holders of a role.
5581         @hide -->
5582    <permission android:name="android.permission.MANAGE_ROLE_HOLDERS"
5583                android:protectionLevel="signature|installer" />
5584
5585    <!-- @SystemApi Allows an application to manage the holders of roles associated with default
5586         applications.
5587         @hide -->
5588    <permission android:name="android.permission.MANAGE_DEFAULT_APPLICATIONS"
5589                android:protectionLevel="signature|role" />
5590
5591    <!-- @SystemApi Allows an application to bypass role qualification. This allows switching role
5592         holders to otherwise non eligible holders. Only the shell is allowed to do this, the
5593         qualification for the shell role itself cannot be bypassed, and each role needs to
5594         explicitly allow bypassing qualification in its definition. The bypass state will not be
5595         persisted across reboot.
5596     @hide -->
5597    <permission android:name="android.permission.BYPASS_ROLE_QUALIFICATION"
5598                android:protectionLevel="internal|role" />
5599
5600    <!-- @SystemApi Allows an application to observe role holder changes.
5601         @hide -->
5602    <permission android:name="android.permission.OBSERVE_ROLE_HOLDERS"
5603                android:protectionLevel="signature|installer" />
5604
5605    <!-- Allows an application to manage the companion devices.
5606         @hide -->
5607    <permission android:name="android.permission.MANAGE_COMPANION_DEVICES"
5608                android:protectionLevel="module|signature|role" />
5609
5610    <!-- Allows an application to subscribe to notifications about the presence status change
5611         of their associated companion device
5612         -->
5613    <permission android:name="android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE"
5614                android:label="@string/permlab_observeCompanionDevicePresence"
5615                android:description="@string/permdesc_observeCompanionDevicePresence"
5616                android:protectionLevel="normal" />
5617
5618    <!-- Allows an application to deliver companion messages to system
5619         -->
5620    <permission android:name="android.permission.DELIVER_COMPANION_MESSAGES"
5621                android:label="@string/permlab_deliverCompanionMessages"
5622                android:description="@string/permdesc_deliverCompanionMessages"
5623                android:protectionLevel="normal" />
5624
5625    <!-- Allows an application to create new companion device associations.
5626         @SystemApi
5627         @hide -->
5628    <permission android:name="android.permission.ASSOCIATE_COMPANION_DEVICES"
5629        android:protectionLevel="internal|role" />
5630
5631    <!-- @SystemApi Allows an application to use SurfaceFlinger's low level features.
5632         <p>Not for use by third-party applications.
5633         @hide
5634    -->
5635    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
5636        android:protectionLevel="signature" />
5637
5638    <!-- @SystemApi Allows an application to rotate a surface by arbitrary degree.
5639         This is a sub-feature of ACCESS_SURFACE_FLINGER and can be granted in a more concrete way.
5640         <p>Not for use by third-party applications.
5641         @hide
5642    -->
5643    <permission android:name="android.permission.ROTATE_SURFACE_FLINGER"
5644        android:protectionLevel="signature|recents" />
5645
5646    <!-- Allows an application to provide hints to SurfaceFlinger that can influence
5647         its wakes up time to compose the next frame. This is a subset of the capabilities granted
5648         by {@link #ACCESS_SURFACE_FLINGER}.
5649         <p>Not for use by third-party applications.
5650         @hide
5651    -->
5652    <permission android:name="android.permission.WAKEUP_SURFACE_FLINGER"
5653        android:protectionLevel="signature|recents" />
5654
5655    <!-- Allows an application to take screen shots and more generally
5656         get access to the frame buffer data.
5657         <p>Not for use by third-party applications.
5658          @hide
5659          @removed -->
5660    <permission android:name="android.permission.READ_FRAME_BUFFER"
5661        android:protectionLevel="signature|recents" />
5662
5663      <!-- Allows an application to change the touch mode state.
5664           Without this permission, an app can only change the touch mode
5665           if it currently has focus.
5666           @hide -->
5667    <permission android:name="android.permission.MODIFY_TOUCH_MODE_STATE"
5668        android:protectionLevel="signature" />
5669
5670    <!-- Allows an application to use InputFlinger's low level features.
5671         @hide -->
5672    <permission android:name="android.permission.ACCESS_INPUT_FLINGER"
5673        android:protectionLevel="signature" />
5674
5675    <!-- Allows an application to disable/enable input devices.
5676         Could be used to prevent unwanted touch events
5677         on a touchscreen, for example during swimming or rain.
5678         @hide -->
5679    <permission android:name="android.permission.DISABLE_INPUT_DEVICE"
5680        android:protectionLevel="signature" />
5681
5682    <!-- Allows an application to configure and connect to Wifi displays -->
5683    <permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY"
5684        android:protectionLevel="signature|knownSigner"
5685        android:knownCerts="@array/wifi_known_signers" />
5686
5687    <!-- Allows an application to control low-level features of Wifi displays
5688         such as opening an RTSP socket.  This permission should only be used
5689         by the display manager.
5690         @hide -->
5691    <permission android:name="android.permission.CONTROL_WIFI_DISPLAY"
5692        android:protectionLevel="signature" />
5693
5694    <!-- Allows an application to control the color modes set for displays system-wide.
5695         <p>Not for use by third-party applications.</p>
5696         @hide -->
5697    <permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE"
5698        android:protectionLevel="signature" />
5699
5700    <!-- Allows an application to control the lights on the device.
5701         @hide
5702         @SystemApi
5703         @TestApi -->
5704    <permission android:name="android.permission.CONTROL_DEVICE_LIGHTS"
5705        android:protectionLevel="signature|privileged" />
5706
5707    <!-- Allows an application to control the color saturation of the display.
5708         @hide
5709         @SystemApi -->
5710    <permission android:name="android.permission.CONTROL_DISPLAY_SATURATION"
5711        android:protectionLevel="signature|privileged" />
5712
5713    <!-- Allows an application to control display color transformations.
5714         <p>Not for use by third-party applications.</p>
5715         @hide
5716         @SystemApi -->
5717    <permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS"
5718        android:protectionLevel="signature|privileged" />
5719
5720    <!-- Allows an application to collect usage infomation about brightness slider changes.
5721         <p>Not for use by third-party applications.</p>
5722         @hide
5723         @SystemApi
5724         @TestApi -->
5725    <permission android:name="android.permission.BRIGHTNESS_SLIDER_USAGE"
5726        android:protectionLevel="signature|privileged|development" />
5727
5728    <!-- Allows an application to collect ambient light stats.
5729         <p>Not for use by third party applications.</p>
5730         @hide
5731         @SystemApi -->
5732    <permission android:name="android.permission.ACCESS_AMBIENT_LIGHT_STATS"
5733        android:protectionLevel="signature|privileged|development" />
5734
5735    <!-- Allows an application to modify the display brightness configuration
5736         @hide
5737         @SystemApi
5738         @TestApi -->
5739    <permission android:name="android.permission.CONFIGURE_DISPLAY_BRIGHTNESS"
5740        android:protectionLevel="signature|privileged|development" />
5741
5742    <!-- Allows an application to control the system's display brightness
5743         @hide -->
5744    <permission android:name="android.permission.CONTROL_DISPLAY_BRIGHTNESS"
5745        android:protectionLevel="signature" />
5746
5747    <!-- Allows an application to override the display mode requests
5748         so the app requested mode will be selected and user settings and display
5749         policies will be ignored.
5750         @hide
5751         @TestApi -->
5752    <permission android:name="android.permission.OVERRIDE_DISPLAY_MODE_REQUESTS"
5753                android:protectionLevel="signature" />
5754
5755    <!-- Allows an application to modify the refresh rate switching type. This
5756         matches Setting.Secure.MATCH_CONTENT_FRAME_RATE.
5757         @hide
5758         @TestApi -->
5759    <permission android:name="android.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE"
5760                android:protectionLevel="signature" />
5761
5762    <!-- Allows an application to modify the user preferred display mode.
5763         @hide
5764         @TestApi -->
5765    <permission android:name="android.permission.MODIFY_USER_PREFERRED_DISPLAY_MODE"
5766                android:protectionLevel="signature" />
5767
5768    <!-- Allows an application to modify the HDR conversion mode.
5769         @hide
5770         @TestApi -->
5771    <permission android:name="android.permission.MODIFY_HDR_CONVERSION_MODE"
5772                android:protectionLevel="signature" />
5773
5774    <!-- @SystemApi Allows an application to control VPN.
5775         <p>Not for use by third-party applications.</p>
5776         @hide -->
5777    <permission android:name="android.permission.CONTROL_VPN"
5778        android:protectionLevel="signature|privileged" />
5779    <uses-permission android:name="android.permission.CONTROL_VPN" />
5780
5781    <!-- Allows an application to access and modify always-on VPN configuration.
5782         <p>Not for use by third-party or privileged applications.
5783         @hide -->
5784    <permission android:name="android.permission.CONTROL_ALWAYS_ON_VPN"
5785        android:protectionLevel="signature" />
5786
5787    <!-- @SystemApi Allows an application to capture the audio from tuner input devices types,
5788     such as FM_TUNER.
5789
5790     <p>Not for use by third-party applications.</p>
5791     @hide -->
5792    <permission android:name="android.permission.CAPTURE_TUNER_AUDIO_INPUT"
5793                android:protectionLevel="signature|privileged" />
5794
5795    <!-- Allows an application to capture audio output.
5796         Use the {@code CAPTURE_MEDIA_OUTPUT} permission if only the {@code USAGE_UNKNOWN}),
5797         {@code USAGE_MEDIA}) or {@code USAGE_GAME}) usages are intended to be captured.
5798         <p>Not for use by third-party applications.</p> -->
5799    <permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"
5800        android:protectionLevel="signature|privileged|role" />
5801
5802    <!-- @SystemApi Allows an application to capture the audio played by other apps
5803         that have set an allow capture policy of
5804         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}.
5805
5806         Without this permission, only audio with an allow capture policy of
5807         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_ALL} can be used.
5808
5809         There are strong restriction listed at
5810         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
5811         on what an app can do with the captured audio.
5812
5813         See {@code CAPTURE_AUDIO_OUTPUT} for capturing audio use cases other than media playback.
5814
5815         <p>Not for use by third-party applications.</p>
5816         @hide -->
5817    <permission android:name="android.permission.CAPTURE_MEDIA_OUTPUT"
5818        android:protectionLevel="signature|privileged|role" />
5819
5820    <!-- @SystemApi Allows an application to capture the audio played by other apps
5821        with the {@code USAGE_VOICE_COMMUNICATION} usage.
5822
5823        The application may opt out of capturing by setting an allow capture policy of
5824        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_NONE}.
5825
5826        There are strong restriction listed at
5827        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
5828        on what an app can do with the captured audio.
5829
5830        See {@code CAPTURE_AUDIO_OUTPUT} and {@code CAPTURE_MEDIA_OUTPUT} for capturing
5831        audio use cases other than voice communication playback.
5832
5833        <p>Not for use by third-party applications.</p>
5834        @hide -->
5835    <permission android:name="android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT"
5836        android:protectionLevel="signature|privileged|role" />
5837
5838    <!-- @SystemApi Allows an application to capture audio for hotword detection.
5839         <p>Not for use by third-party applications.</p>
5840         @hide -->
5841    <permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD"
5842        android:protectionLevel="signature|privileged|role" />
5843
5844    <!-- @SystemApi Allows an application to access the ultrasound content.
5845         <p>Not for use by third-party applications.</p>
5846         @hide -->
5847    <permission android:name="android.permission.ACCESS_ULTRASOUND"
5848        android:protectionLevel="signature|privileged" />
5849
5850    <!-- Puts an application in the chain of trust for sound trigger
5851         operations. Being in the chain of trust allows an application to
5852         delegate an identity of a separate entity to the sound trigger system
5853         and vouch for the authenticity of this identity.
5854         <p>Not for use by third-party applications.</p>
5855         @hide -->
5856    <permission android:name="android.permission.SOUNDTRIGGER_DELEGATE_IDENTITY"
5857        android:protectionLevel="signature|privileged" />
5858
5859    <!-- @SystemApi Allows an application to modify audio routing and override policy decisions.
5860         <p>Not for use by third-party applications.</p>
5861         @hide -->
5862    <permission android:name="android.permission.MODIFY_AUDIO_ROUTING"
5863        android:protectionLevel="signature|privileged|role" />
5864
5865    <!--@SystemApi Allows an application to modify system audio settings that shouldn't be
5866        controllable by external apps, such as volume settings or volume behaviors for audio
5867        devices, regardless of their connection status.
5868        <p>Not for use by third-party applications.
5869        @hide -->
5870    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED"
5871                android:protectionLevel="signature|privileged" />
5872
5873    <!-- @SystemApi Allows an application to access the uplink and downlink audio of an ongoing
5874        call.
5875         <p>Not for use by third-party applications.</p>
5876         @hide -->
5877    <permission android:name="android.permission.CALL_AUDIO_INTERCEPTION"
5878                android:protectionLevel="signature|privileged|role" />
5879
5880    <!-- @TestApi Allows an application to query audio related state.
5881         @hide -->
5882    <permission android:name="android.permission.QUERY_AUDIO_STATE"
5883                android:protectionLevel="signature|role" />
5884
5885    <!-- Allows an application to modify what effects are applied to all audio
5886         (matching certain criteria) from any application.
5887         <p>Not for use by third-party applications.</p>
5888         @hide -->
5889    <permission android:name="android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS"
5890        android:protectionLevel="signature|privileged" />
5891
5892    <!-- @SystemApi Allows an application to disable system sound effects when the user exits one of
5893         the application's activities.
5894         <p>Not for use by third-party applications.</p>
5895         @hide -->
5896    <permission android:name="android.permission.DISABLE_SYSTEM_SOUND_EFFECTS"
5897        android:protectionLevel="signature|privileged" />
5898
5899    <!-- @SystemApi Allows an application to provide remote displays.
5900         <p>Not for use by third-party applications.</p>
5901         @hide -->
5902    <permission android:name="android.permission.REMOTE_DISPLAY_PROVIDER"
5903        android:protectionLevel="signature|privileged" />
5904
5905    <!-- Allows an application to capture video output.
5906         <p>Not for use by third-party applications.</p>
5907          @hide
5908          @removed -->
5909    <permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"
5910        android:protectionLevel="signature" />
5911
5912    <!-- Allows an application to capture secure video output.
5913         <p>Not for use by third-party applications.</p>
5914          @hide
5915          @removed -->
5916    <permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT"
5917        android:protectionLevel="signature" />
5918
5919    <!-- Allows an application to know what content is playing and control its playback.
5920         <p>Not for use by third-party applications due to privacy of media consumption</p>  -->
5921    <permission android:name="android.permission.MEDIA_CONTENT_CONTROL"
5922        android:protectionLevel="signature|privileged" />
5923
5924    <!-- @SystemApi @hide Allows an application to set the volume key long-press listener.
5925         <p>When it's set, the application will receive the volume key long-press event
5926         instead of changing volume.</p>
5927         <p>Not for use by third-party applications</p> -->
5928    <permission android:name="android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER"
5929        android:protectionLevel="signature|privileged|development" />
5930
5931    <!-- @SystemApi @hide Allows an application to set media key event listener.
5932         <p>When it's set, the application will receive the media key event before
5933         any other media sessions. If the event is handled by the listener, other sessions
5934         cannot get the event.</p>
5935         <p>Not for use by third-party applications</p> -->
5936    <permission android:name="android.permission.SET_MEDIA_KEY_LISTENER"
5937        android:protectionLevel="signature|privileged|development" />
5938
5939    <!-- @SystemApi Required to be able to disable the device (very dangerous!).
5940         <p>Not for use by third-party applications.
5941         @hide
5942    -->
5943    <permission android:name="android.permission.BRICK"
5944        android:protectionLevel="signature" />
5945
5946    <!-- Required to be able to reboot the device.
5947    <p>Not for use by third-party applications. -->
5948    <permission android:name="android.permission.REBOOT"
5949        android:protectionLevel="signature|privileged" />
5950
5951   <!-- @SystemApi Allows low-level access to power management.
5952        <p>Not for use by third-party applications.
5953        @hide
5954    -->
5955   <permission android:name="android.permission.DEVICE_POWER"
5956        android:protectionLevel="signature|role" />
5957
5958    <!-- Allows toggling battery saver on the system.
5959         Superseded by DEVICE_POWER permission. @hide @SystemApi
5960    -->
5961    <permission android:name="android.permission.POWER_SAVER"
5962        android:protectionLevel="signature|privileged" />
5963
5964    <!-- Allows providing the system with battery predictions.
5965         Superseded by DEVICE_POWER permission. @hide @SystemApi
5966    -->
5967    <permission android:name="android.permission.BATTERY_PREDICTION"
5968        android:protectionLevel="signature|privileged" />
5969
5970   <!-- Allows access to the PowerManager.userActivity function.
5971   <p>Not for use by third-party applications. @hide @SystemApi -->
5972    <permission android:name="android.permission.USER_ACTIVITY"
5973        android:protectionLevel="signature|privileged" />
5974
5975    <!-- @hide @SystemApi Allows an application to manage Low Power Standby settings.
5976         <p>Not for use by third-party applications. -->
5977    <permission android:name="android.permission.MANAGE_LOW_POWER_STANDBY"
5978                android:protectionLevel="signature|privileged" />
5979
5980    <!-- @hide @SystemApi Allows an application to request ports to remain open during
5981         Low Power Standby.
5982         <p>Not for use by third-party applications. -->
5983    <permission android:name="android.permission.SET_LOW_POWER_STANDBY_PORTS"
5984        android:protectionLevel="signature|privileged" />
5985
5986   <!-- @hide Allows low-level access to tun tap driver -->
5987    <permission android:name="android.permission.NET_TUNNELING"
5988        android:protectionLevel="signature|role" />
5989
5990    <!-- Run as a manufacturer test application, running as the root user.
5991         Only available when the device is running in manufacturer test mode.
5992         <p>Not for use by third-party applications.
5993    -->
5994    <permission android:name="android.permission.FACTORY_TEST"
5995        android:protectionLevel="signature" />
5996
5997    <!-- @hide @TestApi @SystemApi Allows an application to broadcast the intent {@link
5998         android.content.Intent#ACTION_CLOSE_SYSTEM_DIALOGS}.
5999         <p>Not for use by third-party applications.
6000    -->
6001    <permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS"
6002        android:protectionLevel="signature|privileged|recents" />
6003    <uses-permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS" />
6004
6005    <!-- Allows an application to broadcast a notification that an application
6006         package has been removed.
6007         <p>Not for use by third-party applications.
6008    -->
6009    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
6010        android:protectionLevel="signature" />
6011
6012    <!-- Allows an application to broadcast an SMS receipt notification.
6013         <p>Not for use by third-party applications.
6014    -->
6015    <permission android:name="android.permission.BROADCAST_SMS"
6016        android:protectionLevel="signature" />
6017
6018    <!-- Allows an application to broadcast a WAP PUSH receipt notification.
6019         <p>Not for use by third-party applications.
6020    -->
6021    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
6022        android:protectionLevel="signature" />
6023
6024    <!-- @SystemApi Allows an application to broadcast privileged networking requests.
6025         <p>Not for use by third-party applications.
6026         @hide
6027         @deprecated Use {@link android.Manifest.permission#REQUEST_NETWORK_SCORES} instead
6028    -->
6029    <permission android:name="android.permission.BROADCAST_NETWORK_PRIVILEGED"
6030        android:protectionLevel="signature|privileged" />
6031
6032    <!-- Not for use by third-party applications. -->
6033    <permission android:name="android.permission.MASTER_CLEAR"
6034        android:protectionLevel="signature|privileged|role" />
6035
6036    <!-- Allows an application to call any phone number, including emergency
6037         numbers, without going through the Dialer user interface for the user
6038         to confirm the call being placed.
6039         <p>Not for use by third-party applications. -->
6040    <permission android:name="android.permission.CALL_PRIVILEGED"
6041        android:protectionLevel="signature|privileged" />
6042    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
6043
6044    <!-- @SystemApi Allows an application to perform CDMA OTA provisioning @hide -->
6045    <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"
6046        android:protectionLevel="signature|privileged|role" />
6047
6048    <!-- @SystemApi Allows an application to perform SIM Activation @hide -->
6049    <permission android:name="android.permission.PERFORM_SIM_ACTIVATION"
6050        android:protectionLevel="signature|privileged" />
6051
6052    <!-- Allows enabling/disabling location update notifications from
6053         the radio.
6054         <p>Not for use by third-party applications. -->
6055    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
6056        android:protectionLevel="signature|privileged" />
6057
6058    <!-- Allows read/write access to the "properties" table in the checkin
6059         database, to change values that get uploaded.
6060         <p>Not for use by third-party applications. -->
6061    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
6062        android:protectionLevel="signature|privileged" />
6063
6064    <!-- Allows an application to collect component usage
6065         statistics
6066         <p>Declaring the permission implies intention to use the API and the user of the
6067         device can grant permission through the Settings application.
6068         <p>Protection level: signature|privileged|development|appop|retailDemo -->
6069    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
6070        android:protectionLevel="signature|privileged|development|appop|retailDemo" />
6071    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
6072
6073    <!-- Allows an application to query broadcast response stats (see
6074         {@link android.app.usage.BroadcastResponseStats}).
6075         @SystemApi
6076         @hide
6077    -->
6078    <permission android:name="android.permission.ACCESS_BROADCAST_RESPONSE_STATS"
6079        android:protectionLevel="signature|privileged|development" />
6080
6081    <!-- Allows a data loader to read a package's access logs. The access logs contain the
6082         set of pages referenced over time.
6083         <p>Declaring the permission implies intention to use the API and the user of the
6084         device can grant permission through the Settings application.
6085         <p>Protection level: signature|privileged|appop
6086         <p>A data loader has to be the one which provides data to install an app.
6087         <p>A data loader has to have both permission:LOADER_USAGE_STATS AND
6088         appop:LOADER_USAGE_STATS allowed to be able to access the read logs. -->
6089    <permission android:name="android.permission.LOADER_USAGE_STATS"
6090        android:protectionLevel="signature|privileged|appop" />
6091    <uses-permission android:name="android.permission.LOADER_USAGE_STATS" />
6092
6093    <!-- @hide @SystemApi Allows an application to observe usage time of apps. The app can register
6094         for callbacks when apps reach a certain usage time limit, etc. -->
6095    <permission android:name="android.permission.OBSERVE_APP_USAGE"
6096        android:protectionLevel="signature|privileged|role" />
6097
6098    <!-- @hide @TestApi @SystemApi Allows an application to change the app idle state of an app.
6099         <p>Not for use by third-party applications. -->
6100    <permission android:name="android.permission.CHANGE_APP_IDLE_STATE"
6101        android:protectionLevel="signature|privileged" />
6102
6103    <!-- @hide @SystemApi Allows an application to change the estimated launch time of an app.
6104         <p>Not for use by third-party applications. -->
6105    <permission android:name="android.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE"
6106        android:protectionLevel="signature|privileged" />
6107
6108    <!-- @hide @SystemApi Allows an application to temporarily allowlist an inactive app to
6109         access the network and acquire wakelocks.
6110         <p>Not for use by third-party applications. -->
6111    <permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"
6112        android:protectionLevel="signature|privileged" />
6113
6114    <!-- Permission an application must hold in order to use
6115         {@link android.provider.Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS}.
6116         <p>Protection level: normal -->
6117    <permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
6118        android:label="@string/permlab_requestIgnoreBatteryOptimizations"
6119        android:description="@string/permdesc_requestIgnoreBatteryOptimizations"
6120        android:protectionLevel="normal" />
6121
6122    <!-- Allows an application to collect battery statistics
6123         <p>Protection level: signature|privileged|development -->
6124    <permission android:name="android.permission.BATTERY_STATS"
6125        android:protectionLevel="signature|privileged|development" />
6126
6127    <!--Allows an application to manage statscompanion.
6128    <p>Not for use by third-party applications.
6129         @hide -->
6130    <permission android:name="android.permission.STATSCOMPANION"
6131        android:protectionLevel="signature" />
6132
6133    <!--@SystemApi @hide Allows an application to register stats pull atom callbacks.
6134    <p>Not for use by third-party applications.-->
6135    <permission android:name="android.permission.REGISTER_STATS_PULL_ATOM"
6136                android:protectionLevel="signature|privileged" />
6137
6138    <!-- @SystemApi @hide Allows an application to read restricted stats from statsd.
6139         <p>Not for use by third-party applications. -->
6140    <permission android:name="android.permission.READ_RESTRICTED_STATS"
6141                android:protectionLevel="internal|privileged" />
6142
6143    <!-- @SystemApi Allows an application to control the backup and restore process.
6144    <p>Not for use by third-party applications.
6145         @hide pending API council -->
6146    <permission android:name="android.permission.BACKUP"
6147        android:protectionLevel="signature|privileged" />
6148
6149    <!-- @SystemApi Allows an application to make modifications to device settings such that these
6150         modifications will be overridden by settings restore..
6151    <p>Not for use by third-party applications.
6152         @hide -->
6153    <permission android:name="android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE"
6154                android:protectionLevel="signature|setup" />
6155
6156    <!-- @SystemApi Allows application to manage
6157         {@link android.security.keystore.recovery.RecoveryController}.
6158         <p>Not for use by third-party applications.
6159         @hide -->
6160    <permission android:name="android.permission.RECOVER_KEYSTORE"
6161        android:protectionLevel="signature|privileged" />
6162
6163    <!-- Allows a package to launch the secure full-backup confirmation UI.
6164         ONLY the system process may hold this permission.
6165         @hide -->
6166    <permission android:name="android.permission.CONFIRM_FULL_BACKUP"
6167        android:protectionLevel="signature" />
6168
6169    <!-- Must be required by a {@link android.widget.RemoteViewsService},
6170         to ensure that only the system can bind to it.
6171         <p>Protection level: signature|privileged -->
6172    <permission android:name="android.permission.BIND_REMOTEVIEWS"
6173        android:protectionLevel="signature|privileged" />
6174
6175    <!-- Allows an application to tell the AppWidget service which application
6176         can access AppWidget's data.  The normal user flow is that a user
6177         picks an AppWidget to go into a particular host, thereby giving that
6178         host application access to the private data from the AppWidget app.
6179         An application that has this permission should honor that contract.
6180         <p>Not for use by third-party applications. -->
6181    <permission android:name="android.permission.BIND_APPWIDGET"
6182        android:protectionLevel="signature|privileged" />
6183
6184    <!-- @hide Allows sysui to manage user grants of slice permissions. -->
6185    <permission android:name="android.permission.MANAGE_SLICE_PERMISSIONS"
6186        android:protectionLevel="signature" />
6187
6188    <!-- @SystemApi Private permission, to restrict who can bring up a dialog to add a new
6189         keyguard widget
6190         @hide -->
6191    <permission android:name="android.permission.BIND_KEYGUARD_APPWIDGET"
6192        android:protectionLevel="signature|privileged" />
6193
6194    <!-- @SystemApi Internal permission allowing an application to query/set which
6195         applications can bind AppWidgets.
6196         @hide -->
6197    <permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"
6198        android:protectionLevel="signature|privileged" />
6199
6200    <!-- Allows applications to change the background data setting.
6201    <p>Not for use by third-party applications.
6202         @hide pending API council -->
6203    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
6204        android:protectionLevel="signature" />
6205
6206    <!-- This permission can be used on content providers to allow the global
6207         search system to access their data.  Typically it used when the
6208         provider has some permissions protecting it (which global search
6209         would not be expected to hold), and added as a read-only permission
6210         to the path in the provider where global search queries are
6211         performed.  This permission can not be held by regular applications;
6212         it is used by applications to protect themselves from everyone else
6213         besides global search.
6214         <p>Protection level: signature|privileged -->
6215    <permission android:name="android.permission.GLOBAL_SEARCH"
6216        android:protectionLevel="signature|privileged" />
6217
6218    <!-- Internal permission protecting access to the global search
6219         system: ensures that only the system can access the provider
6220         to perform queries (since this otherwise provides unrestricted
6221         access to a variety of content providers), and to write the
6222         search statistics (to keep applications from gaming the source
6223         ranking).
6224         @hide -->
6225    <permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"
6226        android:protectionLevel="signature" />
6227
6228    <!-- @SystemApi Internal permission to allows an application to read indexable data.
6229        @hide -->
6230    <permission android:name="android.permission.READ_SEARCH_INDEXABLES"
6231        android:protectionLevel="signature|privileged" />
6232
6233    <!-- @SystemApi Internal permission to allows an application to bind to suggestion service.
6234        @hide -->
6235    <permission android:name="android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE"
6236                android:protectionLevel="signature" />
6237
6238    <!-- @hide Internal permission to allows an application to access card content provider. -->
6239    <permission android:name="android.permission.WRITE_SETTINGS_HOMEPAGE_DATA"
6240                android:protectionLevel="signature|privileged" />
6241
6242    <!-- An application needs this permission for
6243         {@link android.provider.Settings#ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY} to show its
6244         {@link android.app.Activity} embedded in Settings app. -->
6245    <permission android:name="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK"
6246                android:protectionLevel="signature|preinstalled" />
6247
6248    <!-- @SystemApi {@link android.app.Activity} should require this permission to ensure that only
6249         the settings app can embed it in a multi pane window.
6250         @hide -->
6251    <permission android:name="android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS"
6252                android:protectionLevel="signature" />
6253
6254    <!-- @SystemApi Allows applications to set a live wallpaper.
6255         @hide XXX Change to signature once the picker is moved to its
6256         own apk as Ghod Intended. -->
6257    <permission android:name="android.permission.SET_WALLPAPER_COMPONENT"
6258        android:protectionLevel="signature|privileged" />
6259
6260    <!-- @SystemApi Allows applications to set the wallpaper dim amount.
6261         @hide. -->
6262    <permission android:name="android.permission.SET_WALLPAPER_DIM_AMOUNT"
6263        android:protectionLevel="signature|privileged" />
6264
6265    <!-- @SystemApi Allows applications to read dream settings and dream state.
6266         @hide -->
6267    <permission android:name="android.permission.READ_DREAM_STATE"
6268        android:protectionLevel="signature|privileged" />
6269
6270    <!-- @SystemApi Allows applications to write dream settings, and start or stop dreaming.
6271         @hide -->
6272    <permission android:name="android.permission.WRITE_DREAM_STATE"
6273        android:protectionLevel="signature|privileged" />
6274
6275    <!-- @hide Allows applications to read whether ambient display is suppressed. -->
6276    <permission android:name="android.permission.READ_DREAM_SUPPRESSION"
6277        android:protectionLevel="signature" />
6278
6279    <!-- @SystemApi Allow an application to read and write the cache partition.
6280         @hide -->
6281    <permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
6282        android:protectionLevel="signature|privileged" />
6283
6284    <!-- Must be required by default container service so that only
6285         the system can bind to it and use it to copy
6286         protected data to secure containers or files
6287         accessible to the system.
6288         @hide -->
6289    <permission android:name="android.permission.COPY_PROTECTED_DATA"
6290        android:protectionLevel="signature" />
6291
6292    <!-- @SystemApi Internal permission protecting access to the encryption methods
6293        @hide
6294    -->
6295    <permission android:name="android.permission.CRYPT_KEEPER"
6296        android:protectionLevel="signature|privileged|role" />
6297
6298    <!-- @SystemApi Allows an application to read historical network usage for
6299         specific networks and applications. @hide -->
6300    <permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"
6301        android:protectionLevel="signature|privileged" />
6302
6303    <!-- Allows an application to manage network policies (such as warning and disable
6304         limits) and to define application-specific rules. @hide -->
6305    <permission android:name="android.permission.MANAGE_NETWORK_POLICY"
6306        android:protectionLevel="signature" />
6307
6308    <!-- @SystemApi @hide @deprecated use UPDATE_DEVICE_STATS instead -->
6309    <permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"
6310        android:protectionLevel="signature|privileged" />
6311
6312    <!-- @SystemApi @hide Allows an application to manage carrier subscription plans. -->
6313    <permission android:name="android.permission.MANAGE_SUBSCRIPTION_PLANS"
6314        android:protectionLevel="signature|privileged" />
6315
6316    <!-- C2DM permission.
6317         @hide Used internally.
6318     -->
6319    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
6320          android:protectionLevel="signature" />
6321    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
6322
6323    <!-- @SystemApi @hide Package verifier needs to have this permission before the PackageManager will
6324         trust it to verify packages.
6325    -->
6326    <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
6327        android:protectionLevel="signature|privileged" />
6328
6329    <!-- Must be required by package verifier receiver, to ensure that only the
6330         system can interact with it.
6331         @hide
6332    -->
6333    <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
6334        android:protectionLevel="signature" />
6335
6336    <!-- @hide Rollback manager needs to have this permission before the PackageManager will
6337         trust it to enable rollback.
6338    -->
6339    <permission android:name="android.permission.PACKAGE_ROLLBACK_AGENT"
6340        android:protectionLevel="signature" />
6341
6342    <!-- @SystemApi @TestApi @hide Allows managing apk level rollbacks. -->
6343    <permission android:name="android.permission.MANAGE_ROLLBACKS"
6344        android:protectionLevel="signature|privileged" />
6345
6346    <!-- @TestApi @hide Allows testing apk level rollbacks. -->
6347    <permission android:name="android.permission.TEST_MANAGE_ROLLBACKS"
6348        android:protectionLevel="signature" />
6349
6350    <!-- @SystemApi @hide Allows an application to mark other applications as harmful -->
6351    <permission android:name="android.permission.SET_HARMFUL_APP_WARNINGS"
6352        android:protectionLevel="signature|verifier" />
6353
6354    <!-- @SystemApi @hide Intent filter verifier needs to have this permission before the
6355         PackageManager will trust it to verify intent filters.
6356    -->
6357    <permission android:name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"
6358        android:protectionLevel="signature|privileged" />
6359
6360    <!-- Must be required by intent filter verifier rintent-filtereceiver, to ensure that only the
6361         system can interact with it.
6362         @hide
6363    -->
6364    <permission android:name="android.permission.BIND_INTENT_FILTER_VERIFIER"
6365        android:protectionLevel="signature" />
6366
6367    <!-- @SystemApi @hide Domain verification agent package needs to have this permission before the
6368         system will trust it to verify domains.
6369
6370         TODO(159952358): STOPSHIP: This must be updated to the new "internal" protectionLevel
6371    -->
6372    <permission android:name="android.permission.DOMAIN_VERIFICATION_AGENT"
6373        android:protectionLevel="internal|privileged" />
6374
6375    <!-- @SystemApi @hide Must be required by the domain verification agent's intent
6376         BroadcastReceiver, to ensure that only the system can interact with it.
6377    -->
6378    <permission android:name="android.permission.BIND_DOMAIN_VERIFICATION_AGENT"
6379        android:protectionLevel="signature" />
6380
6381    <!-- @SystemApi @hide Allows an app like Settings to update the user's grants to what domains
6382         an app is allowed to automatically open.
6383    -->
6384    <permission android:name="android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION"
6385        android:protectionLevel="signature" />
6386
6387    <!-- @SystemApi Allows applications to access serial ports via the SerialManager.
6388         @hide -->
6389    <permission android:name="android.permission.SERIAL_PORT"
6390        android:protectionLevel="signature|privileged" />
6391
6392    <!-- Allows the holder to access content providers from outside an ApplicationThread.
6393         This permission is enforced by the ActivityManagerService on the corresponding APIs,
6394         in particular ActivityManagerService#getContentProviderExternal(String) and
6395         ActivityManagerService#removeContentProviderExternal(String).
6396         @hide
6397    -->
6398    <permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
6399        android:protectionLevel="signature" />
6400
6401    <!-- @SystemApi Allows an application to hold an UpdateLock, recommending that a headless
6402         OTA reboot *not* occur while the lock is held.
6403         @hide -->
6404    <permission android:name="android.permission.UPDATE_LOCK"
6405        android:protectionLevel="signature|privileged" />
6406
6407    <!-- @SystemApi Allows an application the opportunity to become a
6408         {@link android.service.notification.NotificationAssistantService}.
6409         User permission is still required before access is granted.
6410         @hide -->
6411    <permission android:name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE"
6412                android:protectionLevel="signature|privileged|role" />
6413
6414    <!-- @SystemApi @TestApi Allows an application to read the current set of notifications, including
6415         any metadata and intents attached.
6416         @hide -->
6417    <permission android:name="android.permission.ACCESS_NOTIFICATIONS"
6418        android:protectionLevel="signature|privileged|appop" />
6419
6420    <!-- Marker permission for applications that wish to access notification policy. This permission
6421        is not supported on managed profiles.
6422         <p>Protection level: normal
6423    -->
6424    <permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"
6425        android:description="@string/permdesc_access_notification_policy"
6426        android:label="@string/permlab_access_notification_policy"
6427        android:protectionLevel="normal" />
6428
6429    <!-- Allows modification of do not disturb rules and policies. Only allowed for system
6430        processes.
6431        @hide -->
6432    <permission android:name="android.permission.MANAGE_NOTIFICATIONS"
6433                android:protectionLevel="signature" />
6434
6435    <!-- @SystemApi @TestApi Allows adding/removing enabled notification listener components.
6436        @hide -->
6437    <permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS"
6438                android:protectionLevel="signature|installer" />
6439    <uses-permission android:name="android.permission.MANAGE_NOTIFICATION_LISTENERS" />
6440
6441    <!-- @SystemApi Allows notifications to be colorized
6442         <p>Not for use by third-party applications. @hide -->
6443    <permission android:name="android.permission.USE_COLORIZED_NOTIFICATIONS"
6444                android:protectionLevel="signature|setup|role" />
6445
6446    <!-- Allows access to keyguard secure storage.  Only allowed for system processes.
6447        @hide -->
6448    <permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
6449        android:protectionLevel="signature|setup" />
6450
6451    <!-- Allows applications to set the initial lockscreen state.
6452         <p>Not for use by third-party applications. @hide -->
6453    <permission android:name="android.permission.SET_INITIAL_LOCK"
6454        android:protectionLevel="signature|setup"/>
6455
6456    <!-- @TestApi Allows applications to set and verify lockscreen credentials.
6457        @hide -->
6458    <permission android:name="android.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS"
6459                android:protectionLevel="signature"/>
6460
6461    <!-- @SystemApi Allows application to verify lockscreen credentials provided by a remote device.
6462         @hide -->
6463    <permission android:name="android.permission.CHECK_REMOTE_LOCKSCREEN"
6464        android:protectionLevel="signature|privileged" />
6465
6466    <!-- Allows managing (adding, removing) fingerprint templates. Reserved for the system. @hide -->
6467    <permission android:name="android.permission.MANAGE_FINGERPRINT"
6468        android:protectionLevel="signature|privileged" />
6469
6470    <!-- Allows managing (adding, removing) face templates. Reserved for the system. @hide -->
6471    <permission android:name="android.permission.MANAGE_FACE"
6472        android:protectionLevel="signature|privileged" />
6473
6474    <!-- Allows an app to reset fingerprint attempt counter. Reserved for the system. @hide -->
6475    <permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT"
6476        android:protectionLevel="signature" />
6477
6478    <!-- Allows access to TestApis for various components in the biometric stack, including
6479         FingerprintService, FaceService, BiometricService. Used by com.android.server.biometrics
6480         CTS tests. @hide @TestApi -->
6481    <permission android:name="android.permission.TEST_BIOMETRIC"
6482        android:protectionLevel="signature" />
6483
6484    <!-- Allows direct access to the <Biometric>Service interfaces. Reserved for the system. @hide -->
6485    <permission android:name="android.permission.MANAGE_BIOMETRIC"
6486        android:protectionLevel="signature" />
6487
6488    <!-- Allows direct access to the <Biometric>Service authentication methods. Reserved for the system. @hide -->
6489    <permission android:name="android.permission.USE_BIOMETRIC_INTERNAL"
6490        android:protectionLevel="signature" />
6491
6492    <!-- Allows the system to control the BiometricDialog (SystemUI). Reserved for the system. @hide -->
6493    <permission android:name="android.permission.MANAGE_BIOMETRIC_DIALOG"
6494        android:protectionLevel="signature" />
6495
6496    <!-- Allows an application to control keyguard.  Only allowed for system processes.
6497        @hide -->
6498    <permission android:name="android.permission.CONTROL_KEYGUARD"
6499        android:protectionLevel="signature" />
6500
6501    <!-- @SystemApi Allows an application to control keyguard features like secure notifications.
6502         @hide -->
6503    <permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS"
6504        android:protectionLevel="signature|privileged" />
6505
6506    <!-- @SystemApi Allows an application to manage weak escrow token on the device. This permission
6507         is not available to third party applications.
6508         @hide -->
6509    <permission android:name="android.permission.MANAGE_WEAK_ESCROW_TOKEN"
6510        android:protectionLevel="signature|privileged" />
6511
6512    <!-- Allows an application to listen to trust changes.  Only allowed for system processes.
6513        @hide -->
6514    <permission android:name="android.permission.TRUST_LISTENER"
6515        android:protectionLevel="signature" />
6516
6517    <!-- @SystemApi Allows an application to provide a trust agent.
6518         @hide For security reasons, this is a platform-only permission. -->
6519    <permission android:name="android.permission.PROVIDE_TRUST_AGENT"
6520        android:protectionLevel="signature|privileged" />
6521
6522    <!-- @SystemApi Allows an application to show a message
6523         on the keyguard when asking to dismiss it.
6524         @hide For security reasons, this is a platform-only permission. -->
6525    <permission android:name="android.permission.SHOW_KEYGUARD_MESSAGE"
6526        android:protectionLevel="signature|privileged" />
6527
6528    <!-- Allows an application to launch the trust agent settings activity.
6529        @hide -->
6530    <permission android:name="android.permission.LAUNCH_TRUST_AGENT_SETTINGS"
6531        android:protectionLevel="signature|privileged" />
6532
6533    <!-- @SystemApi Must be required by an {@link
6534        android.service.trust.TrustAgentService},
6535        to ensure that only the system can bind to it.
6536        @hide -->
6537    <permission android:name="android.permission.BIND_TRUST_AGENT"
6538        android:protectionLevel="signature" />
6539
6540    <!-- Must be required by an {@link
6541         android.service.notification.NotificationListenerService},
6542         to ensure that only the system can bind to it.
6543         <p>Protection level: signature
6544    -->
6545    <permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
6546        android:protectionLevel="signature" />
6547
6548    <!-- @SystemApi Must be required by an {@link
6549         android.service.notification.NotificationAssistantService} to ensure that only the system
6550         can bind to it.
6551         <p>Protection level: signature
6552         @hide
6553    -->
6554    <permission android:name="android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE"
6555        android:protectionLevel="signature" />
6556
6557    <!-- Must be required by a {@link
6558         android.service.chooser.ChooserTargetService}, to ensure that
6559         only the system can bind to it.
6560         <p>Protection level: signature
6561
6562         @deprecated For publishing direct share targets, please follow the instructions in
6563         https://developer.android.com/training/sharing/receive.html#providing-direct-share-targets
6564         instead.
6565    -->
6566    <permission android:name="android.permission.BIND_CHOOSER_TARGET_SERVICE"
6567        android:protectionLevel="signature" />
6568
6569    <!-- @SystemApi Must be held by services that extend
6570         {@link android.service.resolver.ResolverRankerService}.
6571         <p>Protection level: signature|privileged
6572         @hide
6573    -->
6574    <permission android:name="android.permission.PROVIDE_RESOLVER_RANKER_SERVICE"
6575                android:protectionLevel="signature|privileged" />
6576
6577    <!-- @SystemApi Must be required by services that extend
6578         {@link android.service.resolver.ResolverRankerService}, to ensure that only the system can
6579         bind to them.
6580         <p>Protection level: signature
6581         @hide
6582    -->
6583    <permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE"
6584        android:protectionLevel="signature" />
6585
6586    <!-- Must be required by a {@link
6587         android.service.notification.ConditionProviderService},
6588         to ensure that only the system can bind to it.
6589         <p>Protection level: signature
6590         -->
6591    <permission android:name="android.permission.BIND_CONDITION_PROVIDER_SERVICE"
6592        android:protectionLevel="signature" />
6593
6594    <!-- Must be required by an {@link android.service.dreams.DreamService},
6595         to ensure that only the system can bind to it.
6596         <p>Protection level: signature
6597    -->
6598    <permission android:name="android.permission.BIND_DREAM_SERVICE"
6599        android:protectionLevel="signature" />
6600
6601    <!-- Must be required by an {@link android.app.usage.CacheQuotaService} to ensure that only the
6602         system can bind to it.
6603         @hide This is not a third-party API (intended for OEMs and system apps).
6604    -->
6605    <permission android:name="android.permission.BIND_CACHE_QUOTA_SERVICE"
6606                android:protectionLevel="signature" />
6607
6608    <!-- @SystemApi Allows an application to call into a carrier setup flow. It is up to the
6609         carrier setup application to enforce that this permission is required
6610         @hide This is not a third-party API (intended for OEMs and system apps). -->
6611    <permission android:name="android.permission.INVOKE_CARRIER_SETUP"
6612        android:protectionLevel="signature|privileged" />
6613
6614    <!-- @SystemApi Allows an application to listen for network condition observations.
6615         @hide This is not a third-party API (intended for system apps). -->
6616    <permission android:name="android.permission.ACCESS_NETWORK_CONDITIONS"
6617        android:protectionLevel="signature|privileged" />
6618
6619    <!-- @SystemApi Allows an application to provision and access DRM certificates
6620         @hide This is not a third-party API (intended for system apps). -->
6621    <permission android:name="android.permission.ACCESS_DRM_CERTIFICATES"
6622        android:protectionLevel="signature|privileged" />
6623
6624    <!-- Api Allows an application to manage media projection sessions.
6625         @hide This is not a third-party API (intended for system apps). -->
6626    <permission android:name="android.permission.MANAGE_MEDIA_PROJECTION"
6627        android:protectionLevel="signature" />
6628
6629    <!-- @SystemApi Allows an application to read install sessions
6630         @hide This is not a third-party API (intended for system apps). -->
6631    <permission android:name="android.permission.READ_INSTALL_SESSIONS"
6632        android:label="@string/permlab_readInstallSessions"
6633        android:description="@string/permdesc_readInstallSessions"
6634        android:protectionLevel="normal"/>
6635
6636    <!-- @SystemApi Allows an application to remove DRM certificates
6637         @hide This is not a third-party API (intended for system apps). -->
6638    <permission android:name="android.permission.REMOVE_DRM_CERTIFICATES"
6639        android:protectionLevel="signature|privileged" />
6640
6641    <!-- @deprecated Use {@link android.Manifest.permission#BIND_CARRIER_SERVICES} instead -->
6642    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE"
6643        android:protectionLevel="signature|privileged" />
6644
6645    <!-- Allows an application to interact with the currently active
6646         {@link android.service.voice.VoiceInteractionService}.
6647         @hide -->
6648    <permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE"
6649        android:protectionLevel="signature" />
6650
6651    <!-- The system process that is allowed to bind to services in carrier apps will
6652         have this permission. Carrier apps should use this permission to protect
6653         their services that only the system is allowed to bind to.
6654         <p>Protection level: signature|privileged
6655    -->
6656    <permission android:name="android.permission.BIND_CARRIER_SERVICES"
6657        android:label="@string/permlab_bindCarrierServices"
6658        android:description="@string/permdesc_bindCarrierServices"
6659        android:protectionLevel="signature|privileged" />
6660
6661    <!--
6662        Allows the holder to start the permission usage screen for an app.
6663        <p>Protection level: signature|installer
6664    -->
6665    <permission android:name="android.permission.START_VIEW_PERMISSION_USAGE"
6666        android:label="@string/permlab_startViewPermissionUsage"
6667        android:description="@string/permdesc_startViewPermissionUsage"
6668        android:protectionLevel="signature|installer|module" />
6669
6670    <!--
6671        @SystemApi
6672        Allows the holder to start the screen to review permission decisions.
6673        <p>Protection level: signature|installer
6674        @hide -->
6675    <permission android:name="android.permission.START_REVIEW_PERMISSION_DECISIONS"
6676        android:label="@string/permlab_startReviewPermissionDecisions"
6677        android:description="@string/permdesc_startReviewPermissionDecisions"
6678        android:protectionLevel="signature|installer" />
6679
6680    <!--
6681        Allows the holder to start the screen with a list of app features.
6682        <p>Protection level: signature|installer
6683    -->
6684    <permission android:name="android.permission.START_VIEW_APP_FEATURES"
6685                android:label="@string/permlab_startViewAppFeatures"
6686                android:description="@string/permdesc_startViewAppFeatures"
6687                android:protectionLevel="signature|installer" />
6688
6689    <!-- Allows an application to query whether DO_NOT_ASK_CREDENTIALS_ON_BOOT
6690         flag is set.
6691         @hide -->
6692    <permission android:name="android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT"
6693                android:protectionLevel="signature" />
6694
6695    <!-- @SystemApi Allows applications to kill UIDs.
6696        <p>This permission can be granted to the SYSTEM_SUPERVISOR role used for parental
6697        controls.
6698        <p>Not for use by third-party applications.
6699         @hide -->
6700    <permission android:name="android.permission.KILL_UID"
6701                android:protectionLevel="signature|installer|role" />
6702
6703    <!-- @SystemApi Allows applications to read the local WiFi and Bluetooth MAC address.
6704        @hide -->
6705    <permission android:name="android.permission.LOCAL_MAC_ADDRESS"
6706                android:protectionLevel="signature|privileged" />
6707    <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"/>
6708
6709    <!-- @SystemApi Allows access to MAC addresses of WiFi and Bluetooth peer devices.
6710        @hide -->
6711    <permission android:name="android.permission.PEERS_MAC_ADDRESS"
6712                android:protectionLevel="signature|setup|role" />
6713
6714    <!-- Allows the Nfc stack to dispatch Nfc messages to applications. Applications
6715        can use this permission to ensure incoming Nfc messages are from the Nfc stack
6716        and not simulated by another application.
6717        @hide -->
6718    <permission android:name="android.permission.DISPATCH_NFC_MESSAGE"
6719                android:protectionLevel="signature|privileged" />
6720
6721    <!-- @SystemApi Allows changing day / night mode when system is configured with
6722         config_lockDayNightMode set to true. If requesting app does not have permission,
6723         it will be ignored.
6724        @hide -->
6725    <permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"
6726      android:protectionLevel="signature|privileged|role" />
6727
6728    <!-- @SystemApi Allows entering or exiting car mode using a specified priority.
6729        This permission is required to use UiModeManager while specifying a priority for the calling
6730        app.  A device manufacturer uses this permission to prioritize the apps which can
6731        potentially request to enter car-mode on a device to help establish the correct behavior
6732        where multiple such apps are active at the same time.
6733        @hide -->
6734    <permission android:name="android.permission.ENTER_CAR_MODE_PRIORITIZED"
6735                android:protectionLevel="signature|privileged" />
6736
6737    <!-- @SystemApi Required to receive ACTION_ENTER_CAR_MODE_PRIVILEGED or
6738        ACTION_EXIT_CAR_MODE_PRIVILEGED.
6739        @hide -->
6740    <permission android:name="android.permission.HANDLE_CAR_MODE_CHANGES"
6741                android:protectionLevel="signature|privileged" />
6742
6743    <!-- @SystemApi Allows the holder to send category_car notifications.
6744        @hide -->
6745    <permission
6746        android:name="android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS"
6747        android:protectionLevel="signature|privileged" />
6748
6749    <!-- The system process is explicitly the only one allowed to launch the
6750         confirmation UI for full backup/restore -->
6751    <uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
6752
6753    <!-- @SystemApi Allows the holder to access and manage instant applications on the device.
6754         @hide -->
6755    <permission android:name="android.permission.ACCESS_INSTANT_APPS"
6756            android:protectionLevel="signature|installer|verifier|role" />
6757    <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS"/>
6758
6759    <!-- Allows the holder to view the instant applications on the device.
6760    @hide -->
6761    <permission android:name="android.permission.VIEW_INSTANT_APPS"
6762                android:protectionLevel="signature|preinstalled" />
6763
6764    <!-- Allows the holder to manage whether the system can bind to services
6765         provided by instant apps. This permission is intended to protect
6766         test/development fucntionality and should be used only in such cases.
6767    @hide -->
6768    <permission android:name="android.permission.MANAGE_BIND_INSTANT_SERVICE"
6769                android:protectionLevel="signature" />
6770
6771    <!-- Allows receiving the usage of media resource e.g. video/audio codec and
6772         graphic memory.
6773         @hide -->
6774    <permission android:name="android.permission.RECEIVE_MEDIA_RESOURCE_USAGE"
6775                android:protectionLevel="signature|privileged" />
6776
6777    <!-- Must be required by system/priv apps when accessing the sound trigger
6778         APIs given by {@link SoundTriggerManager}.
6779         @hide
6780         @SystemApi -->
6781    <permission android:name="android.permission.MANAGE_SOUND_TRIGGER"
6782        android:protectionLevel="signature|privileged|role" />
6783
6784    <!-- Must be required by system/priv apps to run sound trigger recognition sessions while in
6785         battery saver mode.
6786         @hide
6787         @SystemApi -->
6788    <permission android:name="android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER"
6789                android:protectionLevel="signature|privileged" />
6790
6791    <!-- Must be required by system/priv apps implementing sound trigger detection services
6792         @hide
6793         @SystemApi -->
6794    <permission android:name="android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE"
6795        android:protectionLevel="signature" />
6796
6797    <!-- @SystemApi Allows trusted applications to dispatch managed provisioning message to Managed
6798         Provisioning app. If requesting app does not have permission, it will be ignored.
6799         @hide -->
6800    <permission android:name="android.permission.DISPATCH_PROVISIONING_MESSAGE"
6801                android:protectionLevel="signature|privileged" />
6802
6803    <!-- Allows the holder to read blocked numbers. See
6804         {@link android.provider.BlockedNumberContract}.
6805         @hide -->
6806    <permission android:name="android.permission.READ_BLOCKED_NUMBERS"
6807                android:protectionLevel="signature" />
6808
6809    <!-- Allows the holder to write blocked numbers. See
6810         {@link android.provider.BlockedNumberContract}.
6811         @hide -->
6812    <permission android:name="android.permission.WRITE_BLOCKED_NUMBERS"
6813                android:protectionLevel="signature" />
6814
6815    <!-- Must be required by an {@link android.service.vr.VrListenerService}, to ensure that only
6816         the system can bind to it.
6817         <p>Protection level: signature -->
6818    <permission android:name="android.permission.BIND_VR_LISTENER_SERVICE"
6819        android:protectionLevel="signature" />
6820
6821    <!-- Must be required by system apps when accessing restricted VR APIs.
6822         @hide
6823         @SystemApi
6824         <p>Protection level: signature -->
6825    <permission android:name="android.permission.RESTRICTED_VR_ACCESS"
6826        android:protectionLevel="signature|preinstalled" />
6827
6828    <!-- Required to make calls to {@link android.service.vr.IVrManager}.
6829         @hide -->
6830    <permission android:name="android.permission.ACCESS_VR_MANAGER"
6831            android:protectionLevel="signature" />
6832
6833    <!-- Required to access VR-Mode state and state change events via {android.app.VrStateCallback}
6834         @hide -->
6835    <permission android:name="android.permission.ACCESS_VR_STATE"
6836        android:protectionLevel="signature|preinstalled" />
6837
6838    <!-- Allows an application to allowlist tasks during lock task mode
6839         @hide <p>Not for use by third-party applications.</p> -->
6840    <permission android:name="android.permission.UPDATE_LOCK_TASK_PACKAGES"
6841        android:protectionLevel="signature|setup" />
6842
6843    <!-- @SystemApi Allows an application to replace the app name displayed alongside notifications
6844         in the N-release and later.
6845         @hide  <p>Not for use by third-party applications.</p> -->
6846    <permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"
6847                android:protectionLevel="signature|privileged" />
6848
6849    <!-- @SystemApi Allows an application to show notifications before the device is provisioned.
6850         @hide  <p>Not for use by third-party applications.</p> -->
6851    <permission android:name="android.permission.NOTIFICATION_DURING_SETUP"
6852                android:protectionLevel="signature|privileged" />
6853
6854    <!-- @SystemApi Allows an application to manage auto-fill sessions.
6855         @hide  <p>Not for use by third-party applications.</p> -->
6856    <permission android:name="android.permission.MANAGE_AUTO_FILL"
6857        android:protectionLevel="signature" />
6858
6859    <!-- @SystemApi Allows an application to manage the content capture service.
6860         @hide  <p>Not for use by third-party applications.</p> -->
6861    <permission android:name="android.permission.MANAGE_CONTENT_CAPTURE"
6862        android:protectionLevel="signature" />
6863
6864    <!-- @SystemApi Allows an application to manager the rotation resolver service.
6865         @hide <p>Not for use by third-party applications.</p> -->
6866    <permission android:name="android.permission.MANAGE_ROTATION_RESOLVER"
6867        android:protectionLevel="signature"/>
6868
6869    <!-- @SystemApi Allows an application to manage the cloudsearch service.
6870          @hide  <p>Not for use by third-party applications.</p> -->
6871    <permission android:name="android.permission.MANAGE_CLOUDSEARCH"
6872        android:protectionLevel="signature|privileged|role" />
6873
6874    <!-- @SystemApi Allows an application to manage the music recognition service.
6875         @hide  <p>Not for use by third-party applications.</p> -->
6876    <permission android:name="android.permission.MANAGE_MUSIC_RECOGNITION"
6877        android:protectionLevel="signature|privileged|role" />
6878
6879    <!-- @SystemApi Allows an application to manage speech recognition service.
6880     @hide  <p>Not for use by third-party applications.</p> -->
6881    <permission android:name="android.permission.MANAGE_SPEECH_RECOGNITION"
6882        android:protectionLevel="signature" />
6883
6884    <!-- @SystemApi Allows an application to manage the content suggestions service.
6885         @hide  <p>Not for use by third-party applications.</p> -->
6886    <permission android:name="android.permission.MANAGE_CONTENT_SUGGESTIONS"
6887        android:protectionLevel="signature" />
6888
6889    <!-- @SystemApi Allows an application to manage the app predictions service.
6890         @hide  <p>Not for use by third-party applications.</p> -->
6891    <permission android:name="android.permission.MANAGE_APP_PREDICTIONS"
6892        android:protectionLevel="signature|role" />
6893
6894    <!-- @SystemApi Allows an application to manage the search ui service.
6895     @hide  <p>Not for use by third-party applications.</p> -->
6896    <permission android:name="android.permission.MANAGE_SEARCH_UI"
6897        android:protectionLevel="signature|role" />
6898
6899    <!-- @SystemApi Allows an application to manage the smartspace service.
6900     @hide  <p>Not for use by third-party applications.</p> -->
6901    <permission android:name="android.permission.MANAGE_SMARTSPACE"
6902        android:protectionLevel="signature" />
6903
6904    <!-- @SystemApi Allows an application to manage the wallpaper effects
6905     generation service.
6906     @hide  <p>Not for use by third-party applications.</p> -->
6907    <permission android:name="android.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION"
6908        android:protectionLevel="signature|privileged" />
6909
6910    <!-- Allows an app to set the theme overlay in /vendor/overlay
6911         being used.
6912         @hide  <p>Not for use by third-party applications.</p> -->
6913    <permission android:name="android.permission.MODIFY_THEME_OVERLAY"
6914                android:protectionLevel="signature" />
6915
6916    <!-- Allows an instant app to create foreground services.
6917         <p>Protection level: signature|development|instant|appop -->
6918    <permission android:name="android.permission.INSTANT_APP_FOREGROUND_SERVICE"
6919        android:protectionLevel="signature|development|instant|appop" />
6920
6921    <!-- Allows a regular application to use {@link android.app.Service#startForeground
6922         Service.startForeground}.
6923         <p>Protection level: normal
6924    -->
6925    <permission android:name="android.permission.FOREGROUND_SERVICE"
6926        android:description="@string/permdesc_foregroundService"
6927        android:label="@string/permlab_foregroundService"
6928        android:protectionLevel="normal|instant" />
6929
6930    <!-- Allows a regular application to use {@link android.app.Service#startForeground
6931         Service.startForeground} with the type "camera".
6932         <p>Protection level: normal|instant
6933    -->
6934    <permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"
6935        android:description="@string/permdesc_foregroundServiceCamera"
6936        android:label="@string/permlab_foregroundServiceCamera"
6937        android:protectionLevel="normal|instant" />
6938
6939    <!-- Allows a regular application to use {@link android.app.Service#startForeground
6940         Service.startForeground} with the type "connectedDevice".
6941         <p>Protection level: normal|instant
6942    -->
6943    <permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE"
6944        android:description="@string/permdesc_foregroundServiceConnectedDevice"
6945        android:label="@string/permlab_foregroundServiceConnectedDevice"
6946        android:protectionLevel="normal|instant" />
6947
6948    <!-- Allows a regular application to use {@link android.app.Service#startForeground
6949         Service.startForeground} with the type "dataSync".
6950         <p>Protection level: normal|instant
6951    -->
6952    <permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"
6953        android:description="@string/permdesc_foregroundServiceDataSync"
6954        android:label="@string/permlab_foregroundServiceDataSync"
6955        android:protectionLevel="normal|instant" />
6956
6957    <!-- Allows a regular application to use {@link android.app.Service#startForeground
6958         Service.startForeground} with the type "location".
6959         <p>Protection level: normal|instant
6960    -->
6961    <permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION"
6962        android:description="@string/permdesc_foregroundServiceLocation"
6963        android:label="@string/permlab_foregroundServiceLocation"
6964        android:protectionLevel="normal|instant" />
6965
6966    <!-- Allows a regular application to use {@link android.app.Service#startForeground
6967         Service.startForeground} with the type "mediaPlayback".
6968         <p>Protection level: normal|instant
6969    -->
6970    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"
6971        android:description="@string/permdesc_foregroundServiceMediaPlayback"
6972        android:label="@string/permlab_foregroundServiceMediaPlayback"
6973        android:protectionLevel="normal|instant" />
6974
6975    <!-- Allows a regular application to use {@link android.app.Service#startForeground
6976         Service.startForeground} with the type "mediaProjection".
6977         <p>Protection level: normal|instant
6978    -->
6979    <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION"
6980        android:description="@string/permdesc_foregroundServiceMediaProjection"
6981        android:label="@string/permlab_foregroundServiceMediaProjection"
6982        android:protectionLevel="normal|instant" />
6983
6984    <!-- Allows a regular application to use {@link android.app.Service#startForeground
6985         Service.startForeground} with the type "microphone".
6986         <p>Protection level: normal|instant
6987    -->
6988    <permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE"
6989        android:description="@string/permdesc_foregroundServiceMicrophone"
6990        android:label="@string/permlab_foregroundServiceMicrophone"
6991        android:protectionLevel="normal|instant" />
6992
6993    <!-- Allows a regular application to use {@link android.app.Service#startForeground
6994         Service.startForeground} with the type "phoneCall".
6995         <p>Protection level: normal|instant
6996    -->
6997    <permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL"
6998        android:description="@string/permdesc_foregroundServicePhoneCall"
6999        android:label="@string/permlab_foregroundServicePhoneCall"
7000        android:protectionLevel="normal|instant" />
7001
7002    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7003         Service.startForeground} with the type "health".
7004         <p>Protection level: normal|instant
7005    -->
7006    <permission android:name="android.permission.FOREGROUND_SERVICE_HEALTH"
7007        android:description="@string/permdesc_foregroundServiceHealth"
7008        android:label="@string/permlab_foregroundServiceHealth"
7009        android:protectionLevel="normal|instant" />
7010
7011    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7012         Service.startForeground} with the type "remoteMessaging".
7013         <p>Protection level: normal|instant
7014    -->
7015    <permission android:name="android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING"
7016        android:description="@string/permdesc_foregroundServiceRemoteMessaging"
7017        android:label="@string/permlab_foregroundServiceRemoteMessaging"
7018        android:protectionLevel="normal|instant" />
7019
7020    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7021         Service.startForeground} with the type "systemExempted".
7022         Apps are allowed to use this type only in the use cases listed in
7023         {@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED}.
7024         <p>Protection level: normal|instant
7025    -->
7026    <permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED"
7027        android:description="@string/permdesc_foregroundServiceSystemExempted"
7028        android:label="@string/permlab_foregroundServiceSystemExempted"
7029        android:protectionLevel="normal|instant" />
7030
7031    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7032         Service.startForeground} with the type "fileManagement".
7033         <p>Protection level: normal|instant
7034         @hide
7035    -->
7036    <permission android:name="android.permission.FOREGROUND_SERVICE_FILE_MANAGEMENT"
7037        android:description="@string/permdesc_foregroundServiceFileManagement"
7038        android:label="@string/permlab_foregroundServiceFileManagement"
7039        android:protectionLevel="normal|instant" />
7040
7041    <!-- Allows a regular application to use {@link android.app.Service#startForeground
7042         Service.startForeground} with the type "specialUse".
7043         <p>Protection level: normal|appop|instant
7044    -->
7045    <permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"
7046        android:description="@string/permdesc_foregroundServiceSpecialUse"
7047        android:label="@string/permlab_foregroundServiceSpecialUse"
7048        android:protectionLevel="normal|appop|instant" />
7049
7050    <!-- @SystemApi Allows to access all app shortcuts.
7051         @hide -->
7052    <permission android:name="android.permission.ACCESS_SHORTCUTS"
7053        android:protectionLevel="signature|role|recents" />
7054
7055    <!-- @SystemApi Allows unlimited calls to shortcut mutation APIs.
7056         @hide -->
7057    <permission android:name="android.permission.UNLIMITED_SHORTCUTS_API_CALLS"
7058        android:protectionLevel="signature|role" />
7059
7060    <!-- @SystemApi Allows an application to read the runtime profiles of other apps.
7061         @hide <p>Not for use by third-party applications. -->
7062    <permission android:name="android.permission.READ_RUNTIME_PROFILES"
7063                android:protectionLevel="signature|privileged" />
7064
7065    <!-- @hide Allows audio policy management. -->
7066    <permission android:name="android.permission.MANAGE_AUDIO_POLICY"
7067        android:protectionLevel="signature" />
7068
7069    <!-- @SystemApi Allows an application to turn on / off quiet mode.
7070         @hide -->
7071    <permission android:name="android.permission.MODIFY_QUIET_MODE"
7072                android:protectionLevel="signature|privileged|development|role" />
7073
7074    <!-- Allows internal management of the camera framework
7075         @hide -->
7076    <permission android:name="android.permission.MANAGE_CAMERA"
7077        android:protectionLevel="signature" />
7078
7079    <!-- Allows an application to control remote animations. See
7080         {@link ActivityOptions#makeRemoteAnimation}
7081         @hide <p>Not for use by third-party applications. -->
7082    <permission android:name="android.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS"
7083        android:protectionLevel="signature|privileged" />
7084
7085    <!-- Allows an application to watch changes and/or active state of app ops.
7086         @hide <p>Not for use by third-party applications. -->
7087    <permission android:name="android.permission.WATCH_APPOPS"
7088        android:protectionLevel="signature|privileged" />
7089
7090    <!-- Allows hidden API checks to be disabled when starting a process.
7091         @hide <p>Not for use by third-party applications. -->
7092    <permission android:name="android.permission.DISABLE_HIDDEN_API_CHECKS"
7093                android:protectionLevel="signature" />
7094
7095    <!-- @hide Permission that protects the
7096        {@link android.provider.Telephony.Intents#ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL}
7097        broadcast -->
7098    <permission android:name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE"
7099        android:protectionLevel="signature|privileged" />
7100
7101    <!-- A subclass of {@link android.service.carrier.CarrierMessagingClientService} must be protected with this permission.
7102           <p>Protection level: signature -->
7103    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE"
7104        android:protectionLevel="signature" />
7105
7106    <!-- Must be required by an {@link android.service.watchdog.ExplicitHealthCheckService} to
7107         ensure that only the system can bind to it.
7108         @hide This is not a third-party API (intended for OEMs and system apps).
7109    -->
7110    <permission android:name="android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE"
7111        android:protectionLevel="signature|privileged" />
7112
7113    <!-- @SystemApi Must be required by an {@link android.service.storage.ExternalStorageService} to
7114         ensure that only the system can bind to it.
7115         @hide This is not a third-party API (intended for OEMs and system apps).
7116    -->
7117    <permission android:name="android.permission.BIND_EXTERNAL_STORAGE_SERVICE"
7118        android:protectionLevel="signature" />
7119
7120    <!-- @hide Permission that allows configuring appops.
7121     <p>Not for use by third-party applications. -->
7122    <permission android:name="android.permission.MANAGE_APPOPS"
7123                android:protectionLevel="signature" />
7124
7125    <!-- @SystemApi Permission that allows background clipboard access.
7126         @hide Not for use by third-party applications. -->
7127    <permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"
7128        android:protectionLevel="signature|role" />
7129
7130    <!-- @SystemApi Permission that allows apps to disable the clipboard access notifications.
7131         @hide
7132         <p>Not for use by third-party applications. -->
7133    <permission android:name="android.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION"
7134        android:protectionLevel="signature|installer" />
7135
7136    <!-- @hide Permission that suppresses the notification when the clipboard is accessed.
7137         <p>Not for use by third-party applications. -->
7138    <permission android:name="android.permission.SUPPRESS_CLIPBOARD_ACCESS_NOTIFICATION"
7139                android:protectionLevel="signature" />
7140
7141    <!-- @SystemApi Allows modifying accessibility state.
7142        <p> The only approved role for this permission is COMPANION_DEVICE_APP_STREAMING.
7143         @hide -->
7144    <permission android:name="android.permission.MANAGE_ACCESSIBILITY"
7145        android:protectionLevel="signature|setup|recents|role" />
7146
7147    <!-- @SystemApi Allows an app to grant a profile owner access to device identifiers.
7148         <p>Not for use by third-party applications.
7149         @deprecated
7150         @hide -->
7151    <permission android:name="android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS"
7152        android:protectionLevel="signature" />
7153
7154    <!-- @SystemApi Allows an app to mark a profile owner as managing an organization-owned device.
7155         <p>Not for use by third-party applications.
7156         @hide -->
7157    <permission android:name="android.permission.MARK_DEVICE_ORGANIZATION_OWNED"
7158                android:protectionLevel="signature|role" />
7159
7160    <!-- Allows financial apps to read filtered sms messages.
7161         Protection level: signature|appop
7162         @deprecated The API that used this permission is no longer functional.  -->
7163    <permission android:name="android.permission.SMS_FINANCIAL_TRANSACTIONS"
7164        android:protectionLevel="signature|appop" />
7165
7166    <!-- Required for apps targeting {@link android.os.Build.VERSION_CODES#Q} that want to use
7167         {@link android.app.Notification.Builder#setFullScreenIntent notification full screen
7168         intents}.
7169         <p>Protection level: normal -->
7170    <permission android:name="android.permission.USE_FULL_SCREEN_INTENT"
7171                android:label="@string/permlab_fullScreenIntent"
7172                android:description="@string/permdesc_fullScreenIntent"
7173                android:protectionLevel="normal|appop" />
7174
7175    <!-- @SystemApi Allows requesting the framework broadcast the
7176         {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY} intent.
7177         @hide -->
7178    <permission android:name="android.permission.SEND_DEVICE_CUSTOMIZATION_READY"
7179        android:protectionLevel="signature|privileged" />
7180
7181    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY}
7182         intent.
7183         @hide -->
7184    <permission android:name="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY"
7185        android:protectionLevel="signature|preinstalled" />
7186
7187    <!-- @SystemApi Allows wallpaper to be rendered in ambient mode.
7188         @hide -->
7189    <permission android:name="android.permission.AMBIENT_WALLPAPER"
7190                android:protectionLevel="signature|preinstalled" />
7191
7192    <!-- @SystemApi Allows sensor privacy to be modified.
7193         @hide -->
7194    <permission android:name="android.permission.MANAGE_SENSOR_PRIVACY"
7195                android:protectionLevel="internal|role|installer" />
7196
7197    <!-- @SystemApi Allows sensor privacy changes to be observed.
7198         @hide -->
7199    <permission android:name="android.permission.OBSERVE_SENSOR_PRIVACY"
7200                android:protectionLevel="internal|role|installer" />
7201
7202    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_REVIEW_ACCESSIBILITY_SERVICES}
7203         intent.
7204         @hide -->
7205    <permission android:name="android.permission.REVIEW_ACCESSIBILITY_SERVICES"
7206                android:protectionLevel="signature" />
7207
7208    <!-- @SystemApi Allows an activity to replace the app name and icon displayed in share targets
7209         in the sharesheet for the Q-release and later.
7210         @hide  <p>Not for use by third-party applications.</p> -->
7211    <permission android:name="android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON"
7212                android:protectionLevel="signature|privileged" />
7213
7214    <!-- @SystemApi Allows an application to access shared libraries.
7215         @hide -->
7216    <permission android:name="android.permission.ACCESS_SHARED_LIBRARIES"
7217                android:protectionLevel="signature|installer" />
7218
7219    <!-- Allows an app to log compat change usage.
7220         @hide  <p>Not for use by third-party applications.</p> -->
7221    <permission android:name="android.permission.LOG_COMPAT_CHANGE"
7222                android:protectionLevel="signature|privileged" />
7223    <!-- Allows an app to read compat change config.
7224         @hide  <p>Not for use by third-party applications.</p> -->
7225    <permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"
7226                android:protectionLevel="signature|privileged" />
7227    <!-- Allows an app to override compat change config.
7228         This permission only allows to override config on debuggable builds or test-apks and is
7229         therefore a less powerful version of OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD.
7230         @hide  <p>Not for use by third-party applications.</p> -->
7231    <permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG"
7232                android:protectionLevel="signature|privileged" />
7233    <!-- @SystemApi Allows an app to override compat change config on release builds.
7234        Only ChangeIds that are annotated as @Overridable can be overridden on release builds.
7235        @hide -->
7236    <permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD"
7237                android:protectionLevel="signature|privileged" />
7238
7239    <!-- Allows input events to be monitored. Very dangerous!  @hide -->
7240    <permission android:name="android.permission.MONITOR_INPUT"
7241                android:protectionLevel="signature|recents" />
7242    <!-- @SystemApi Allows the use of FLAG_SLIPPERY, which permits touch events to slip from the
7243         current window to the window where the touch currently is on top of.  @hide -->
7244    <permission android:name="android.permission.ALLOW_SLIPPERY_TOUCHES"
7245                android:protectionLevel="signature|privileged|recents|role" />
7246    <!--  Allows the caller to change the associations between input devices and displays.
7247        Very dangerous! @hide -->
7248    <permission android:name="android.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY"
7249                android:protectionLevel="signature" />
7250
7251    <!-- Allows query of any normal app on the device, regardless of manifest declarations.
7252        <p>Protection level: normal -->
7253    <permission android:name="android.permission.QUERY_ALL_PACKAGES"
7254                android:label="@string/permlab_queryAllPackages"
7255                android:description="@string/permdesc_queryAllPackages"
7256                android:protectionLevel="normal" />
7257    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
7258
7259    <!-- @hide Allow the caller to collect debugging data from processes that otherwise
7260        would require USAGE_STATS. Before sharing this data with other apps, holders
7261        of this permission are REQUIRED to themselves check that the caller has
7262        PACKAGE_USAGE_STATS and OP_GET_USAGE_STATS. -->
7263    <permission android:name="android.permission.PEEK_DROPBOX_DATA"
7264        android:protectionLevel="signature" />
7265
7266    <!-- @SystemApi Allows an application to access TV tuner HAL
7267         <p>Not for use by third-party applications.
7268         @hide -->
7269    <permission android:name="android.permission.ACCESS_TV_TUNER"
7270        android:protectionLevel="signature|privileged|vendorPrivileged" />
7271
7272    <!-- @SystemApi Allows an application to access descrambler of TV tuner HAL
7273         <p>Not for use by third-party applications.
7274         @hide -->
7275    <permission android:name="android.permission.ACCESS_TV_DESCRAMBLER"
7276        android:protectionLevel="signature|privileged|vendorPrivileged" />
7277
7278    <!-- @SystemApi Allows an application to access shared filter of TV tuner HAL
7279         <p>Not for use by third-party applications.
7280         @hide -->
7281    <permission android:name="android.permission.ACCESS_TV_SHARED_FILTER"
7282        android:protectionLevel="signature|privileged|vendorPrivileged" />
7283
7284    <!-- Allows an application to create trusted displays. @hide @SystemApi -->
7285    <permission android:name="android.permission.ADD_TRUSTED_DISPLAY"
7286                android:protectionLevel="signature|role" />
7287
7288    <!-- Allows an application to create always-unlocked displays. @hide @SystemApi -->
7289    <permission android:name="android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY"
7290                android:protectionLevel="signature|role"/>
7291
7292    <!-- @hide @SystemApi Allows an application to access locusId events in the usage stats. -->
7293    <permission android:name="android.permission.ACCESS_LOCUS_ID_USAGE_STATS"
7294                android:protectionLevel="signature|role" />
7295
7296    <!-- @hide @SystemApi Allows an application to manage app hibernation state. -->
7297    <permission android:name="android.permission.MANAGE_APP_HIBERNATION"
7298        android:protectionLevel="signature|installer" />
7299
7300    <!-- @hide @TestApi Allows apps to reset the state of {@link com.android.server.am.AppErrors}.
7301         <p>CTS tests will use UiAutomation.adoptShellPermissionIdentity() to gain access.  -->
7302    <permission android:name="android.permission.RESET_APP_ERRORS"
7303        android:protectionLevel="signature" />
7304
7305    <!-- @hide Allows ThemeOverlayController to delay launch of Home / SetupWizard on boot, ensuring
7306      Theme Palettes and Colors are ready  -->
7307    <permission android:name="android.permission.SET_THEME_OVERLAY_CONTROLLER_READY"
7308        android:protectionLevel="signature|setup" />
7309
7310    <!-- @hide Allows an application to create/destroy input consumer. -->
7311    <permission android:name="android.permission.INPUT_CONSUMER"
7312                android:protectionLevel="signature" />
7313
7314    <!-- @hide @TestApi Allows an application to control the system's device state managed by the
7315         {@link android.service.devicestate.DeviceStateManagerService}. For example, on foldable
7316         devices this would grant access to toggle between the folded and unfolded states. -->
7317    <permission android:name="android.permission.CONTROL_DEVICE_STATE"
7318                android:protectionLevel="signature" />
7319
7320    <!-- @hide @SystemApi Must be required by a
7321        {@link android.service.displayhash.DisplayHashingService}
7322        to ensure that only the system can bind to it.
7323        This is not a third-party API (intended for OEMs and system apps).
7324    -->
7325    <permission android:name="android.permission.BIND_DISPLAY_HASHING_SERVICE"
7326        android:protectionLevel="signature" />
7327
7328    <!-- @hide @TestApi Allows an application to enable/disable toast rate limiting.
7329         <p>Not for use by third-party applications.
7330    -->
7331    <permission android:name="android.permission.MANAGE_TOAST_RATE_LIMITING"
7332                android:protectionLevel="signature" />
7333
7334    <!-- @SystemApi Allows managing the Game Mode
7335     @hide -->
7336    <permission android:name="android.permission.MANAGE_GAME_MODE"
7337                android:protectionLevel="signature|privileged" />
7338
7339    <!-- @TestApi Allows setting the game service provider, meant for tests only.
7340     @hide -->
7341    <permission android:name="android.permission.SET_GAME_SERVICE"
7342                android:protectionLevel="signature" />
7343
7344    <!-- @SystemApi Allows accessing the frame rate per second of a given application
7345     @hide -->
7346    <permission android:name="android.permission.ACCESS_FPS_COUNTER"
7347                android:protectionLevel="signature|privileged" />
7348
7349    <!-- @SystemApi Allows the GameService provider to create GameSession and call GameSession
7350                    APIs and overlay a view on top of the game's Activity.
7351     @hide -->
7352    <permission android:name="android.permission.MANAGE_GAME_ACTIVITY"
7353                android:protectionLevel="signature|privileged" />
7354
7355    <!-- @SystemApi Allows the holder to register callbacks to inform the RebootReadinessManager
7356         when they are performing reboot-blocking work.
7357         @hide -->
7358    <permission android:name="android.permission.SIGNAL_REBOOT_READINESS"
7359                android:protectionLevel="signature|privileged" />
7360
7361    <!-- @hide Allows an application to get a People Tile preview for a given shortcut. -->
7362    <permission android:name="android.permission.GET_PEOPLE_TILE_PREVIEW"
7363        android:protectionLevel="signature|recents" />
7364
7365    <!-- @hide @SystemApi Allows an application to retrieve whether shortcut is backed by a
7366         Conversation.
7367         TODO(b/180412052): STOPSHIP: Define a role so it can be granted to Shell and AiAi. -->
7368    <permission android:name="android.permission.READ_PEOPLE_DATA"
7369                android:protectionLevel="signature|recents|role"/>
7370
7371    <!-- @hide @SystemApi Allows a logical component within an application to
7372         temporarily renounce a set of otherwise granted permissions. -->
7373    <permission android:name="android.permission.RENOUNCE_PERMISSIONS"
7374                android:protectionLevel="signature|privileged" />
7375
7376    <!-- Allows an application to read nearby streaming policy. The policy controls
7377         whether to allow the device to stream its notifications and apps to nearby devices.
7378         Applications that are not the device owner will need this permission to call
7379         {@link android.app.admin.DevicePolicyManager#getNearbyNotificationStreamingPolicy} or
7380         {@link android.app.admin.DevicePolicyManager#getNearbyAppStreamingPolicy}. -->
7381    <permission android:name="android.permission.READ_NEARBY_STREAMING_POLICY"
7382        android:protectionLevel="normal" />
7383
7384    <!-- @SystemApi Allows the holder to set the source of the data when setting a clip on the
7385         clipboard.
7386         @hide -->
7387    <permission android:name="android.permission.SET_CLIP_SOURCE"
7388                android:protectionLevel="signature|recents" />
7389
7390    <!-- @SystemApi Allows an application to access TV tuned info
7391         <p>Not for use by third-party applications.
7392         @hide -->
7393    <permission android:name="android.permission.ACCESS_TUNED_INFO"
7394        android:protectionLevel="signature|privileged|vendorPrivileged" />
7395
7396    <!-- Allows an application to indicate via
7397         {@link android.content.pm.PackageInstaller.SessionParams#setRequireUserAction(int)}
7398         that user action should not be required for an app update.
7399         <p>Protection level: normal
7400    -->
7401    <permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"
7402                android:label="@string/permlab_updatePackagesWithoutUserAction"
7403                android:description="@string/permdesc_updatePackagesWithoutUserAction"
7404                android:protectionLevel="normal" />
7405    <uses-permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION"/>
7406
7407    <!-- Allows an application to indicate via {@link
7408         android.content.pm.PackageInstaller.SessionParams#setRequestUpdateOwnership}
7409         that it has the intention of becoming the update owner.
7410         <p>Protection level: normal
7411         -->
7412    <permission android:name="android.permission.ENFORCE_UPDATE_OWNERSHIP"
7413                android:protectionLevel="normal" />
7414    <uses-permission android:name="android.permission.ENFORCE_UPDATE_OWNERSHIP" />
7415
7416
7417    <!-- Allows an application to take screenshots of layers that normally would be blacked out when
7418         a screenshot is taken. Specifically, layers that have the flag
7419         {@link android.view.SurfaceControl#SECURE} will be screenshot if the caller requests to
7420         capture secure layers. Normally those layers will be rendered black.
7421         <p>Not for use by third-party applications.
7422         @hide
7423    -->
7424    <permission android:name="android.permission.CAPTURE_BLACKOUT_CONTENT"
7425        android:protectionLevel="signature" />
7426
7427    <!-- @SystemApi Allows an application to query over global data in AppSearch.
7428           @hide -->
7429    <permission android:name="android.permission.READ_GLOBAL_APP_SEARCH_DATA"
7430                android:protectionLevel="internal|role" />
7431
7432    <!-- Allows an application to query over global data in AppSearch that's visible to the
7433         ASSISTANT role.  -->
7434    <permission android:name="android.permission.READ_ASSISTANT_APP_SEARCH_DATA"
7435        android:protectionLevel="internal|role" />
7436
7437    <!-- Allows an application to query over global data in AppSearch that's visible to the
7438         HOME role.  -->
7439    <permission android:name="android.permission.READ_HOME_APP_SEARCH_DATA"
7440        android:protectionLevel="internal|role" />
7441
7442    <!-- Allows an assistive application to perform actions on behalf of users inside of
7443         applications.
7444         <p>For now, this permission is only granted to the Assistant application selected by
7445         the user.
7446         <p>Protection level: internal|role
7447    -->
7448    <permission android:name="android.permission.EXECUTE_APP_ACTION"
7449                android:protectionLevel="internal|role" />
7450
7451    <!-- Allows an application to display its suggestions using the autofill framework.
7452         <p>For now, this permission is only granted to the Browser application.
7453         <p>Protection level: internal|role
7454    -->
7455    <permission android:name="android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS"
7456                android:protectionLevel="internal|role" />
7457
7458    <!-- @SystemApi Allows an application to create virtual devices in VirtualDeviceManager.
7459         @hide -->
7460    <permission android:name="android.permission.CREATE_VIRTUAL_DEVICE"
7461                android:protectionLevel="internal|role" />
7462
7463    <!-- @SystemApi Must be required by a safety source to send an update using the
7464             {@link android.safetycenter.SafetyCenterManager}.
7465             <p>Protection level: internal|privileged
7466             @hide
7467        -->
7468    <permission android:name="android.permission.SEND_SAFETY_CENTER_UPDATE"
7469                android:protectionLevel="internal|privileged" />
7470
7471    <!-- @SystemApi Allows an application to launch device manager setup screens.
7472         <p>Not for use by third-party applications.
7473         @hide
7474    -->
7475    <permission android:name="android.permission.LAUNCH_DEVICE_MANAGER_SETUP"
7476        android:protectionLevel="signature|role" />
7477
7478    <!-- @SystemApi Allows an application to update certain device management related system
7479         resources.
7480         @hide -->
7481    <permission android:name="android.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES"
7482                android:protectionLevel="signature|role" />
7483
7484    <!-- @SystemApi Allows an app to read whether SafetyCenter is enabled/disabled.
7485             <p>Protection level: signature|privileged
7486             @hide
7487        -->
7488    <permission android:name="android.permission.READ_SAFETY_CENTER_STATUS"
7489        android:protectionLevel="signature|privileged" />
7490
7491    <!-- @SystemApi Required to access the safety center internal APIs using the
7492             {@link android.safetycenter.SafetyCenterManager}.
7493             <p>Protection level: internal|installer|role
7494             @hide
7495        -->
7496    <permission android:name="android.permission.MANAGE_SAFETY_CENTER"
7497                android:protectionLevel="internal|installer|role" />
7498
7499    <!-- @SystemApi Allows an application to access the AmbientContextEvent service.
7500         @hide
7501    -->
7502    <permission android:name="android.permission.ACCESS_AMBIENT_CONTEXT_EVENT"
7503                android:protectionLevel="signature|privileged|role"/>
7504
7505    <!-- @SystemApi Required by a AmbientContextEventDetectionService
7506         to ensure that only the service with this permission can bind to it.
7507         @hide
7508    -->
7509    <permission android:name="android.permission.BIND_AMBIENT_CONTEXT_DETECTION_SERVICE"
7510                android:protectionLevel="signature" />
7511
7512    <!-- @SystemApi Allows an app to set keep-clear areas without restrictions on the size or
7513        number of keep-clear areas (see {@link android.view.View#setPreferKeepClearRects}).
7514        When the system arranges floating windows onscreen, it might decide to ignore keep-clear
7515        areas from windows, whose owner does not have this permission.
7516        @hide
7517    -->
7518    <permission android:name="android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS"
7519                android:protectionLevel="signature|privileged" />
7520
7521    <!-- Allows an app to set gesture exclusion without restrictions on the vertical extent of the
7522         exclusions (see {@link android.view.View#setSystemGestureExclusionRects}).
7523         @hide
7524    -->
7525    <permission android:name="android.permission.SET_UNRESTRICTED_GESTURE_EXCLUSION"
7526                android:protectionLevel="signature|privileged|recents" />
7527
7528    <!-- @SystemApi Allows TV input apps and TV apps to use TIS extension interfaces for
7529         domain-specific features.
7530         <p>Protection level: signature|privileged|vendorPrivileged
7531         <p>Not for use by third-party applications.
7532         @hide
7533    -->
7534    <permission android:name="android.permission.TIS_EXTENSION_INTERFACE"
7535        android:protectionLevel="signature|privileged|vendorPrivileged" />
7536
7537    <!-- @SystemApi Allows an application to write to the security log buffer in logd.
7538         @hide -->
7539    <permission android:name="android.permission.WRITE_SECURITY_LOG"
7540        android:protectionLevel="signature|privileged" />
7541
7542    <!-- Allows an UID to be visible to the application based on an interaction between the
7543         two apps. This permission is not intended to be held by apps.
7544         @hide @TestApi @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES) -->
7545    <permission android:name="android.permission.MAKE_UID_VISIBLE"
7546                android:protectionLevel="signature" />
7547
7548    <!-- Limits the system as the only handler of the QUERY_PACKAGE_RESTART broadcast
7549         @hide -->
7550    <permission android:name="android.permission.HANDLE_QUERY_PACKAGE_RESTART"
7551                android:protectionLevel="signature" />
7552
7553    <!-- Allows low-level access to re-mapping modifier keys.
7554         <p>Not for use by third-party applications.
7555         @hide
7556         @TestApi -->
7557    <permission android:name="android.permission.REMAP_MODIFIER_KEYS"
7558                android:protectionLevel="signature" />
7559
7560    <!-- Allows low-level access to monitor keyboard backlight changes.
7561         <p>Not for use by third-party applications.
7562         @hide -->
7563    <permission android:name="android.permission.MONITOR_KEYBOARD_BACKLIGHT"
7564                android:protectionLevel="signature" />
7565
7566    <uses-permission android:name="android.permission.HANDLE_QUERY_PACKAGE_RESTART" />
7567
7568    <!-- Allows financed device kiosk apps to perform actions on the Device Lock service
7569         <p>Protection level: internal|role
7570         <p>Intended for use by the FINANCED_DEVICE_KIOSK role only.
7571    -->
7572    <permission android:name="android.permission.MANAGE_DEVICE_LOCK_STATE"
7573                android:protectionLevel="internal|role" />
7574
7575    <!-- @SystemApi Required by a WearableSensingService to
7576          ensure that only the caller with this permission can bind to it.
7577          <p> Protection level: signature
7578     @hide
7579    -->
7580    <permission android:name="android.permission.BIND_WEARABLE_SENSING_SERVICE"
7581                android:protectionLevel="signature" />
7582
7583    <!-- @SystemApi Allows an app to manage the wearable sensing service.
7584             <p>Protection level: signature|privileged
7585             @hide
7586        -->
7587    <permission android:name="android.permission.MANAGE_WEARABLE_SENSING_SERVICE"
7588                android:protectionLevel="signature|privileged" />
7589
7590    <!-- Allows applications to use the user-initiated jobs API. For more details
7591         see {@link android.app.job.JobInfo.Builder#setUserInitiated}.
7592         <p>Protection level: normal
7593     -->
7594    <permission android:name="android.permission.RUN_USER_INITIATED_JOBS"
7595                android:protectionLevel="normal"/>
7596
7597    <!-- Allows an app access to the installer provided app metadata.
7598        @SystemApi
7599        @hide
7600      -->
7601    <permission android:name="android.permission.GET_APP_METADATA"
7602                android:protectionLevel="signature|installer" />
7603
7604    <!-- @hide @SystemApi Allows an application to stage HealthConnect's remote data so that
7605         HealthConnect can later integrate it. -->
7606    <permission android:name="android.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA"
7607                android:protectionLevel="signature|knownSigner"
7608                android:knownCerts="@array/config_healthConnectRestoreKnownSigners"/>
7609
7610    <!-- @hide @TestApi Allows an application to clear HealthConnect's staged remote data for
7611         testing only. For security reasons, this is a platform-only permission. -->
7612    <permission android:name="android.permission.DELETE_STAGED_HEALTH_CONNECT_REMOTE_DATA"
7613                android:protectionLevel="signature" />
7614
7615    <!-- @SystemApi Allows the holder to call health connect migration APIs.
7616        @hide -->
7617    <permission android:name="android.permission.MIGRATE_HEALTH_CONNECT_DATA"
7618        android:protectionLevel="signature|knownSigner"
7619        android:knownCerts="@array/config_healthConnectMigrationKnownSigners" />
7620
7621    <!-- @SystemApi Allows an app to query apps in clone profile. The permission is
7622         bidirectional in nature, i.e. cloned apps would be able to query apps in root user.
7623         The permission is not meant for 3P apps as of now.
7624         <p>Protection level: signature|privileged
7625         @hide
7626    -->
7627    <permission android:name="android.permission.QUERY_CLONED_APPS"
7628                android:protectionLevel="signature|privileged" />
7629
7630    <!-- @hide @SystemApi
7631         Allows applications to capture bugreport directly without consent dialog when using the
7632         bugreporting API on userdebug/eng build.
7633         <p>The application still needs to hold {@link android.permission.DUMP} permission and be
7634         bugreport-whitelisted to be able to capture a bugreport using the bugreporting API in the
7635         first place. Then, when the corresponding app op of this permission is ALLOWED, the
7636         bugreport can be captured directly without going through the consent dialog.
7637         <p>Protection level: internal|appop
7638         <p>Intended to only be used on userdebug/eng build.
7639         <p>Not for use by third-party applications. -->
7640    <permission android:name="android.permission.CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD"
7641                android:protectionLevel="internal|appop" />
7642
7643    <!-- @SystemApi Allows to call APIs that log process lifecycle events
7644         @hide -->
7645    <permission android:name="android.permission.LOG_FOREGROUND_RESOURCE_USE"
7646                android:protectionLevel="signature|module" />
7647
7648    <!-- @hide Allows the settings app to access GPU service APIs".
7649        <p>Not for use by third-party applications.
7650        <p>Protection level: signature
7651    -->
7652    <permission android:name="android.permission.ACCESS_GPU_SERVICE"
7653                android:protectionLevel="signature" />
7654
7655    <!-- @hide Allows an application to get type of any provider uri.
7656         <p>Not for use by third-party applications.
7657         <p>Protection level: signature
7658    -->
7659    <permission android:name="android.permission.GET_ANY_PROVIDER_TYPE"
7660                android:protectionLevel="signature" />
7661
7662
7663    <!-- @hide Allows internal applications to read and synchronize non-core flags.
7664         Apps without this permission can only read a subset of flags specifically intended
7665         for use in "core", (i.e. third party apps). Apps with this permission can define their
7666         own flags, and federate those values with other system-level apps.
7667         <p>Not for use by third-party applications.
7668         <p>Protection level: signature
7669    -->
7670    <permission android:name="android.permission.SYNC_FLAGS"
7671        android:protectionLevel="signature" />
7672
7673    <!-- @hide Allows internal applications to override flags in the FeatureFlags service.
7674         <p>Not for use by third-party applications.
7675         <p>Protection level: signature
7676    -->
7677    <permission android:name="android.permission.WRITE_FLAGS"
7678        android:protectionLevel="signature" />
7679
7680    <!-- Attribution for Geofencing service. -->
7681    <attribution android:tag="GeofencingService" android:label="@string/geofencing_service"/>
7682    <!-- Attribution for Country Detector. -->
7683    <attribution android:tag="CountryDetector" android:label="@string/country_detector"/>
7684    <!-- Attribution for Location service. -->
7685    <attribution android:tag="LocationService" android:label="@string/location_service"/>
7686    <!-- Attribution for Gnss service. -->
7687    <attribution android:tag="GnssService" android:label="@string/gnss_service"/>
7688    <!-- Attribution for Sensor Notification service. -->
7689    <attribution android:tag="SensorNotificationService"
7690             android:label="@string/sensor_notification_service"/>
7691    <!-- Attribution for Twilight service. -->
7692    <attribution android:tag="TwilightService" android:label="@string/twilight_service"/>
7693    <!-- Attribution for Gnss Time Update service. -->
7694    <attribution android:tag="GnssTimeUpdateService"
7695                 android:label="@string/gnss_time_update_service"/>
7696    <!-- Attribution for MusicRecognitionManagerService.
7697         <p>Not for use by third-party applications.</p> -->
7698    <attribution android:tag="MusicRecognitionManagerService"
7699        android:label="@string/music_recognition_manager_service"/>
7700    <!-- Attribution for Device Policy Manager service. -->
7701    <attribution android:tag="DevicePolicyManagerService"
7702        android:label="@string/device_policy_manager_service"/>
7703
7704    <application android:process="system"
7705                 android:persistent="true"
7706                 android:hasCode="false"
7707                 android:label="@string/android_system_label"
7708                 android:allowClearUserData="false"
7709                 android:backupAgent="com.android.server.backup.SystemBackupAgent"
7710                 android:killAfterRestore="false"
7711                 android:icon="@drawable/ic_launcher_android"
7712                 android:supportsRtl="true"
7713                 android:theme="@style/Theme.DeviceDefault.Light.DarkActionBar"
7714                 android:defaultToDeviceProtectedStorage="true"
7715                 android:forceQueryable="true"
7716                 android:directBootAware="true">
7717        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityShortcutChooserActivity"
7718                  android:exported="false"
7719                  android:theme="@style/Theme.DeviceDefault.Dialog.Alert.DayNight"
7720                  android:finishOnCloseSystemDialogs="true"
7721                  android:excludeFromRecents="true"
7722                  android:documentLaunchMode="never"
7723                  android:relinquishTaskIdentity="true"
7724                  android:process=":ui"
7725                  android:visibleToInstantApps="true">
7726            <intent-filter>
7727                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
7728                <category android:name="android.intent.category.DEFAULT" />
7729            </intent-filter>
7730        </activity>
7731        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityButtonChooserActivity"
7732                  android:exported="false"
7733                  android:theme="@style/Theme.DeviceDefault.Resolver"
7734                  android:finishOnCloseSystemDialogs="true"
7735                  android:excludeFromRecents="true"
7736                  android:documentLaunchMode="never"
7737                  android:relinquishTaskIdentity="true"
7738                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
7739                  android:process=":ui"
7740                  android:visibleToInstantApps="true">
7741            <intent-filter>
7742                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
7743                <category android:name="android.intent.category.DEFAULT" />
7744            </intent-filter>
7745        </activity>
7746        <activity android:name="com.android.internal.app.IntentForwarderActivity"
7747                android:finishOnCloseSystemDialogs="true"
7748                android:theme="@style/Theme.DeviceDefault.Resolver"
7749                android:excludeFromRecents="true"
7750                android:documentLaunchMode="never"
7751                android:relinquishTaskIdentity="true"
7752                android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
7753                android:label="@string/user_owner_label"
7754                android:exported="true"
7755                android:visibleToInstantApps="true"
7756                >
7757        </activity>
7758        <activity-alias android:name="com.android.internal.app.ForwardIntentToParent"
7759                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
7760                android:exported="true"
7761                android:label="@string/user_owner_label">
7762        </activity-alias>
7763        <activity-alias android:name="com.android.internal.app.ForwardIntentToManagedProfile"
7764                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
7765                android:icon="@drawable/ic_corp_badge"
7766                android:exported="true"
7767                android:label="@string/managed_profile_label">
7768        </activity-alias>
7769        <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
7770                android:theme="@style/Theme.DeviceDefault.System.Dialog.Alert"
7771                android:label="@string/heavy_weight_switcher_title"
7772                android:finishOnCloseSystemDialogs="true"
7773                android:excludeFromRecents="true"
7774                android:process=":ui">
7775        </activity>
7776        <activity android:name="com.android.internal.app.PlatLogoActivity"
7777                android:theme="@style/Theme.NoTitleBar.Fullscreen"
7778                android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
7779                android:enableOnBackInvokedCallback="true"
7780                android:icon="@drawable/platlogo"
7781                android:process=":ui">
7782        </activity>
7783        <activity android:name="com.android.internal.app.DisableCarModeActivity"
7784                android:theme="@style/Theme.NoDisplay"
7785                android:excludeFromRecents="true"
7786                android:process=":ui">
7787        </activity>
7788
7789        <activity android:name="android.accounts.ChooseAccountActivity"
7790                android:excludeFromRecents="true"
7791                android:exported="true"
7792                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
7793                android:label="@string/choose_account_label"
7794                android:process=":ui"
7795                android:visibleToInstantApps="true">
7796        </activity>
7797
7798        <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
7799                android:excludeFromRecents="true"
7800                android:exported="true"
7801                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
7802                android:label="@string/choose_account_label"
7803                android:process=":ui"
7804                android:visibleToInstantApps="true">
7805        </activity>
7806
7807        <activity android:name="android.accounts.ChooseAccountTypeActivity"
7808                android:excludeFromRecents="true"
7809                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
7810                android:label="@string/choose_account_label"
7811                android:process=":ui"
7812                android:visibleToInstantApps="true">
7813        </activity>
7814
7815        <activity android:name="android.accounts.CantAddAccountActivity"
7816                android:excludeFromRecents="true"
7817                android:exported="true"
7818                android:theme="@style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
7819                android:process=":ui">
7820        </activity>
7821
7822        <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
7823                android:excludeFromRecents="true"
7824                android:exported="true"
7825                android:theme="@style/Theme.DeviceDefault.Light.DialogWhenLarge"
7826                android:process=":ui"
7827                android:visibleToInstantApps="true">
7828        </activity>
7829
7830        <activity android:name="android.content.SyncActivityTooManyDeletes"
7831               android:theme="@style/Theme.DeviceDefault.Light.Dialog"
7832               android:label="@string/sync_too_many_deletes"
7833               android:process=":ui">
7834        </activity>
7835
7836        <activity android:name="com.android.internal.app.ShutdownActivity"
7837            android:permission="android.permission.SHUTDOWN"
7838            android:theme="@style/Theme.NoDisplay"
7839            android:exported="true"
7840            android:excludeFromRecents="true">
7841            <intent-filter>
7842                <action android:name="com.android.internal.intent.action.REQUEST_SHUTDOWN" />
7843                <category android:name="android.intent.category.DEFAULT" />
7844            </intent-filter>
7845            <intent-filter>
7846                <action android:name="android.intent.action.REBOOT" />
7847                <category android:name="android.intent.category.DEFAULT" />
7848            </intent-filter>
7849        </activity>
7850
7851        <activity android:name="com.android.internal.app.NetInitiatedActivity"
7852                android:theme="@style/Theme.Dialog.Confirmation"
7853                android:excludeFromRecents="true"
7854                android:process=":ui">
7855        </activity>
7856
7857        <activity android:name="com.android.internal.app.SystemUserHomeActivity"
7858                  android:enabled="false"
7859                  android:process=":ui"
7860                  android:systemUserOnly="true"
7861                  android:exported="true"
7862                  android:theme="@style/Theme.Translucent.NoTitleBar">
7863            <intent-filter android:priority="-100">
7864                <action android:name="android.intent.action.MAIN" />
7865                <category android:name="android.intent.category.HOME" />
7866            </intent-filter>
7867        </activity>
7868
7869        <!-- Activity to prompt user if it's ok to create a new user sandbox for a
7870             specified account. -->
7871        <activity android:name="com.android.internal.app.ConfirmUserCreationActivity"
7872                android:excludeFromRecents="true"
7873                android:process=":ui"
7874                android:exported="true"
7875                android:theme="@style/Theme.Dialog.Confirmation">
7876            <intent-filter android:priority="1000">
7877                <action android:name="android.os.action.CREATE_USER" />
7878                <category android:name="android.intent.category.DEFAULT" />
7879            </intent-filter>
7880        </activity>
7881
7882        <activity android:name="com.android.internal.app.SuspendedAppActivity"
7883                  android:theme="@style/Theme.Dialog.Confirmation"
7884                  android:excludeFromRecents="true"
7885                  android:process=":ui">
7886        </activity>
7887
7888        <activity android:name="com.android.internal.app.UnlaunchableAppActivity"
7889                android:theme="@style/Theme.Dialog.Confirmation"
7890                android:excludeFromRecents="true"
7891                android:process=":ui">
7892        </activity>
7893
7894        <activity android:name="com.android.internal.app.BlockedAppActivity"
7895                android:theme="@style/Theme.Dialog.Confirmation"
7896                android:excludeFromRecents="true"
7897                android:lockTaskMode="always"
7898                android:process=":ui">
7899        </activity>
7900
7901        <activity android:name="com.android.internal.app.BlockedAppStreamingActivity"
7902            android:theme="@style/Theme.Dialog.Confirmation"
7903            android:excludeFromRecents="true"
7904            android:process=":ui">
7905        </activity>
7906
7907        <activity android:name="com.android.internal.app.LaunchAfterAuthenticationActivity"
7908                  android:theme="@style/Theme.Translucent.NoTitleBar"
7909                  android:excludeFromRecents="true"
7910                  android:process=":ui">
7911        </activity>
7912
7913        <activity android:name="com.android.settings.notification.NotificationAccessConfirmationActivity"
7914                  android:theme="@style/Theme.Dialog.Confirmation"
7915                  android:excludeFromRecents="true">
7916        </activity>
7917
7918        <activity android:name="com.android.internal.app.HarmfulAppWarningActivity"
7919                  android:theme="@style/Theme.Dialog.Confirmation"
7920                  android:excludeFromRecents="true"
7921                  android:process=":ui"
7922                  android:label="@string/harmful_app_warning_title"
7923                  android:exported="false">
7924        </activity>
7925
7926        <activity android:name="com.android.server.notification.NASLearnMoreActivity"
7927                  android:theme="@style/Theme.Dialog.Confirmation"
7928                  android:excludeFromRecents="true"
7929                  android:exported="false">
7930        </activity>
7931
7932        <activity android:name="android.service.games.GameSessionTrampolineActivity"
7933                  android:excludeFromRecents="true"
7934                  android:exported="true"
7935                  android:permission="android.permission.MANAGE_GAME_ACTIVITY"
7936                  android:theme="@style/Theme.GameSessionTrampoline">
7937        </activity>
7938
7939        <receiver android:name="com.android.server.BootReceiver"
7940                android:exported="true"
7941                android:systemUserOnly="true">
7942            <intent-filter android:priority="1000">
7943                <action android:name="android.intent.action.BOOT_COMPLETED" />
7944            </intent-filter>
7945        </receiver>
7946
7947        <receiver android:name="com.android.server.updates.CertPinInstallReceiver"
7948                android:exported="true"
7949                android:permission="android.permission.UPDATE_CONFIG">
7950            <intent-filter>
7951                <action android:name="android.intent.action.UPDATE_PINS" />
7952                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
7953            </intent-filter>
7954        </receiver>
7955
7956        <receiver android:name="com.android.server.updates.IntentFirewallInstallReceiver"
7957                android:exported="true"
7958                android:permission="android.permission.UPDATE_CONFIG">
7959            <intent-filter>
7960                <action android:name="android.intent.action.UPDATE_INTENT_FIREWALL" />
7961                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
7962            </intent-filter>
7963        </receiver>
7964
7965        <receiver android:name="com.android.server.updates.SmsShortCodesInstallReceiver"
7966                android:exported="true"
7967                android:permission="android.permission.UPDATE_CONFIG">
7968            <intent-filter>
7969                <action android:name="android.intent.action.UPDATE_SMS_SHORT_CODES" />
7970                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
7971            </intent-filter>
7972        </receiver>
7973
7974        <receiver android:name="com.android.server.updates.NetworkWatchlistInstallReceiver"
7975                  android:exported="true"
7976                  android:permission="android.permission.UPDATE_CONFIG">
7977            <intent-filter>
7978                <action android:name="android.intent.action.UPDATE_NETWORK_WATCHLIST" />
7979                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
7980            </intent-filter>
7981        </receiver>
7982
7983        <receiver android:name="com.android.server.updates.ApnDbInstallReceiver"
7984                android:exported="true"
7985                android:permission="android.permission.UPDATE_CONFIG">
7986            <intent-filter>
7987                <action android:name="com.android.internal.intent.action.UPDATE_APN_DB" />
7988                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
7989            </intent-filter>
7990        </receiver>
7991
7992        <receiver android:name="com.android.server.updates.CarrierProvisioningUrlsInstallReceiver"
7993                android:exported="true"
7994                android:permission="android.permission.UPDATE_CONFIG">
7995            <intent-filter>
7996                <action android:name="android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS" />
7997                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
7998            </intent-filter>
7999        </receiver>
8000
8001        <receiver android:name="com.android.server.updates.CertificateTransparencyLogInstallReceiver"
8002                android:exported="true"
8003                android:permission="android.permission.UPDATE_CONFIG">
8004            <intent-filter>
8005                <action android:name="android.intent.action.UPDATE_CT_LOGS" />
8006                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8007            </intent-filter>
8008        </receiver>
8009
8010        <receiver android:name="com.android.server.updates.LangIdInstallReceiver"
8011                android:exported="true"
8012                android:permission="android.permission.UPDATE_CONFIG">
8013            <intent-filter>
8014                <action android:name="android.intent.action.UPDATE_LANG_ID" />
8015                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8016            </intent-filter>
8017        </receiver>
8018
8019        <receiver android:name="com.android.server.updates.SmartSelectionInstallReceiver"
8020                android:exported="true"
8021                android:permission="android.permission.UPDATE_CONFIG">
8022            <intent-filter>
8023                <action android:name="android.intent.action.UPDATE_SMART_SELECTION" />
8024                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8025            </intent-filter>
8026        </receiver>
8027
8028        <receiver android:name="com.android.server.updates.ConversationActionsInstallReceiver"
8029                  android:exported="true"
8030                  android:permission="android.permission.UPDATE_CONFIG">
8031            <intent-filter>
8032                <action android:name="android.intent.action.UPDATE_CONVERSATION_ACTIONS" />
8033                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8034            </intent-filter>
8035        </receiver>
8036
8037        <receiver android:name="com.android.server.updates.CarrierIdInstallReceiver"
8038                  android:exported="true"
8039                  android:permission="android.permission.UPDATE_CONFIG">
8040            <intent-filter>
8041                <action android:name="android.os.action.UPDATE_CARRIER_ID_DB" />
8042                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8043            </intent-filter>
8044        </receiver>
8045
8046        <receiver android:name="com.android.server.updates.EmergencyNumberDbInstallReceiver"
8047                  android:exported="true"
8048                  android:permission="android.permission.UPDATE_CONFIG">
8049            <intent-filter>
8050                <action android:name="android.os.action.UPDATE_EMERGENCY_NUMBER_DB" />
8051                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
8052            </intent-filter>
8053        </receiver>
8054
8055        <receiver android:name="com.android.server.MasterClearReceiver"
8056            android:exported="true"
8057            android:permission="android.permission.MASTER_CLEAR">
8058            <intent-filter
8059                    android:priority="100" >
8060                <!-- For Checkin, Settings, etc.: action=FACTORY_RESET -->
8061                <action android:name="android.intent.action.FACTORY_RESET" />
8062                <!-- As above until all the references to the deprecated MASTER_CLEAR get updated to
8063                     FACTORY_RESET. -->
8064                <action android:name="android.intent.action.MASTER_CLEAR" />
8065
8066                <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
8067                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
8068                <category android:name="android.intent.category.MASTER_CLEAR" />
8069            </intent-filter>
8070        </receiver>
8071
8072        <receiver android:name="com.android.server.WallpaperUpdateReceiver"
8073                  android:exported="true"
8074                  android:permission="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY">
8075            <intent-filter>
8076                <action android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY"/>
8077            </intent-filter>
8078        </receiver>
8079
8080        <service android:name="android.hardware.location.GeofenceHardwareService"
8081            android:permission="android.permission.LOCATION_HARDWARE"
8082            android:exported="false" />
8083
8084        <service android:name="com.android.server.MountServiceIdler"
8085                 android:exported="true"
8086                 android:permission="android.permission.BIND_JOB_SERVICE" >
8087        </service>
8088
8089        <service android:name="com.android.server.SmartStorageMaintIdler"
8090                android:exported="true"
8091                android:permission="android.permission.BIND_JOB_SERVICE" >
8092        </service>
8093
8094        <service android:name="com.android.server.ZramWriteback"
8095                 android:exported="false"
8096                 android:permission="android.permission.BIND_JOB_SERVICE" >
8097        </service>
8098
8099        <service android:name="com.android.server.backup.FullBackupJob"
8100                 android:exported="true"
8101                 android:permission="android.permission.BIND_JOB_SERVICE" >
8102        </service>
8103
8104        <service android:name="com.android.server.backup.KeyValueBackupJob"
8105                 android:permission="android.permission.BIND_JOB_SERVICE" >
8106        </service>
8107
8108        <service android:name="com.android.server.content.SyncJobService"
8109                 android:permission="android.permission.BIND_JOB_SERVICE" >
8110        </service>
8111
8112        <service android:name="com.android.server.pm.BackgroundDexOptJobService"
8113                 android:exported="true"
8114                 android:permission="android.permission.BIND_JOB_SERVICE">
8115        </service>
8116
8117        <service android:name="com.android.server.pm.DynamicCodeLoggingService"
8118                 android:permission="android.permission.BIND_JOB_SERVICE">
8119        </service>
8120
8121        <service android:name="com.android.server.compos.IsolatedCompilationJobService"
8122                 android:permission="android.permission.BIND_JOB_SERVICE">
8123        </service>
8124
8125        <service android:name="com.android.server.PruneInstantAppsJobService"
8126                 android:permission="android.permission.BIND_JOB_SERVICE" >
8127        </service>
8128
8129        <service android:name="com.android.server.storage.DiskStatsLoggingService"
8130                 android:permission="android.permission.BIND_JOB_SERVICE" >
8131        </service>
8132
8133        <service android:name="com.android.server.PreloadsFileCacheExpirationJobService"
8134                 android:permission="android.permission.BIND_JOB_SERVICE" >
8135        </service>
8136
8137        <service android:name="com.android.server.camera.CameraStatsJobService"
8138                 android:permission="android.permission.BIND_JOB_SERVICE" >
8139        </service>
8140
8141        <service android:name="com.android.server.usage.UsageStatsIdleService"
8142                 android:permission="android.permission.BIND_JOB_SERVICE" >
8143        </service>
8144
8145        <service android:name="com.android.server.net.watchlist.ReportWatchlistJobService"
8146                 android:permission="android.permission.BIND_JOB_SERVICE" >
8147        </service>
8148
8149        <service android:name="com.android.server.display.BrightnessIdleJob"
8150                 android:permission="android.permission.BIND_JOB_SERVICE" >
8151        </service>
8152
8153        <service android:name="com.android.server.people.data.DataMaintenanceService"
8154                 android:permission="android.permission.BIND_JOB_SERVICE" >
8155        </service>
8156
8157        <service android:name="com.android.server.profcollect.ProfcollectForwardingService$ProfcollectBGJobService"
8158                 android:permission="android.permission.BIND_JOB_SERVICE" >
8159        </service>
8160
8161        <service android:name="com.android.server.pm.GentleUpdateHelper$Service"
8162            android:permission="android.permission.BIND_JOB_SERVICE" >
8163        </service>
8164
8165        <service
8166                android:name="com.android.server.autofill.AutofillCompatAccessibilityService"
8167                android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
8168                android:visibleToInstantApps="true"
8169                android:exported="true">
8170            <meta-data
8171                    android:name="android.accessibilityservice"
8172                    android:resource="@xml/autofill_compat_accessibility_service" />
8173        </service>
8174
8175        <service android:name="com.android.server.blob.BlobStoreIdleJobService"
8176                 android:permission="android.permission.BIND_JOB_SERVICE">
8177        </service>
8178
8179        <service android:name="com.android.server.companion.InactiveAssociationsRemovalService"
8180                 android:permission="android.permission.BIND_JOB_SERVICE">
8181        </service>
8182
8183        <service android:name="com.android.server.appsearch.contactsindexer.ContactsIndexerMaintenanceService"
8184                 android:permission="android.permission.BIND_JOB_SERVICE">
8185        </service>
8186
8187        <service android:name="com.android.server.BinaryTransparencyService$UpdateMeasurementsJobService"
8188                 android:permission="android.permission.BIND_JOB_SERVICE">
8189        </service>
8190
8191        <service android:name="com.android.server.notification.ReviewNotificationPermissionsJobService"
8192                 android:permission="android.permission.BIND_JOB_SERVICE">
8193        </service>
8194
8195        <service android:name="com.android.server.notification.NotificationHistoryJobService"
8196                 android:permission="android.permission.BIND_JOB_SERVICE" >
8197        </service>
8198
8199        <service android:name="com.android.server.healthconnect.HealthConnectDailyService"
8200                 android:permission="android.permission.BIND_JOB_SERVICE" >
8201        </service>
8202
8203        <service android:name="com.android.server.healthconnect.migration.MigrationBroadcastJobService"
8204            android:permission="android.permission.BIND_JOB_SERVICE">
8205        </service>
8206
8207        <service android:name="com.android.server.healthconnect.backuprestore.BackupRestore$BackupRestoreJobService"
8208            android:permission="android.permission.BIND_JOB_SERVICE">
8209        </service>
8210
8211        <service android:name="com.android.server.pm.PackageManagerShellCommandDataLoader"
8212            android:exported="false">
8213            <intent-filter>
8214                <action android:name="android.intent.action.LOAD_DATA"/>
8215            </intent-filter>
8216        </service>
8217
8218        <!-- TODO: Move to ExtServices or relevant component. -->
8219        <service android:name="android.service.selectiontoolbar.DefaultSelectionToolbarRenderService"
8220                 android:permission="android.permission.BIND_SELECTION_TOOLBAR_RENDER_SERVICE"
8221                 android:process=":ui"
8222                 android:exported="false">
8223            <intent-filter>
8224                <action android:name="android.service.selectiontoolbar.SelectionToolbarRenderService"/>
8225            </intent-filter>
8226        </service>
8227
8228        <service android:name="com.android.server.art.BackgroundDexoptJobService"
8229                 android:permission="android.permission.BIND_JOB_SERVICE" >
8230        </service>
8231
8232        <service android:name="com.android.server.companion.datatransfer.contextsync.CallMetadataSyncInCallService"
8233                 android:permission="android.permission.BIND_INCALL_SERVICE"
8234                 android:exported="true">
8235            <meta-data android:name="android.telecom.INCLUDE_SELF_MANAGED_CALLS"
8236                       android:value="true" />
8237            <intent-filter>
8238                <action android:name="android.telecom.InCallService"/>
8239            </intent-filter>
8240        </service>
8241
8242        <service android:name="com.android.server.companion.datatransfer.contextsync.CallMetadataSyncConnectionService"
8243                 android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
8244                 android:exported="true">
8245            <intent-filter>
8246                <action android:name="android.telecom.ConnectionService"/>
8247            </intent-filter>
8248        </service>
8249
8250        <provider
8251            android:name="com.android.server.textclassifier.IconsContentProvider"
8252            android:authorities="com.android.textclassifier.icons"
8253            android:singleUser="true"
8254            android:enabled="true"
8255            android:exported="true">
8256        </provider>
8257
8258        <meta-data
8259            android:name="com.android.server.patch.25239169"
8260            android:value="true" />
8261
8262    </application>
8263
8264</manifest>
8265