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_FULLY_REMOVED" />
44    <protected-broadcast android:name="android.intent.action.PACKAGE_CHANGED" />
45    <protected-broadcast android:name="android.intent.action.PACKAGE_ENABLE_ROLLBACK" />
46    <protected-broadcast android:name="android.intent.action.CANCEL_ENABLE_ROLLBACK" />
47    <protected-broadcast android:name="android.intent.action.ROLLBACK_COMMITTED" />
48    <protected-broadcast android:name="android.intent.action.PACKAGE_RESTARTED" />
49    <protected-broadcast android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
50    <protected-broadcast android:name="android.intent.action.PACKAGE_FIRST_LAUNCH" />
51    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION" />
52    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION" />
53    <protected-broadcast android:name="android.intent.action.PACKAGE_VERIFIED" />
54    <protected-broadcast android:name="android.intent.action.PACKAGES_SUSPENDED" />
55    <protected-broadcast android:name="android.intent.action.PACKAGES_UNSUSPENDED" />
56    <protected-broadcast android:name="android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY" />
57    <protected-broadcast android:name="android.intent.action.DISTRACTING_PACKAGES_CHANGED" />
58    <protected-broadcast android:name="android.intent.action.ACTION_PREFERRED_ACTIVITY_CHANGED" />
59    <protected-broadcast android:name="android.intent.action.UID_REMOVED" />
60    <protected-broadcast android:name="android.intent.action.QUERY_PACKAGE_RESTART" />
61    <protected-broadcast android:name="android.intent.action.CONFIGURATION_CHANGED" />
62    <protected-broadcast android:name="android.intent.action.SPLIT_CONFIGURATION_CHANGED" />
63    <protected-broadcast android:name="android.intent.action.LOCALE_CHANGED" />
64    <protected-broadcast android:name="android.intent.action.BATTERY_CHANGED" />
65    <protected-broadcast android:name="android.intent.action.BATTERY_LEVEL_CHANGED" />
66    <protected-broadcast android:name="android.intent.action.BATTERY_LOW" />
67    <protected-broadcast android:name="android.intent.action.BATTERY_OKAY" />
68    <protected-broadcast android:name="android.intent.action.ACTION_POWER_CONNECTED" />
69    <protected-broadcast android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
70    <protected-broadcast android:name="android.intent.action.ACTION_SHUTDOWN" />
71    <protected-broadcast android:name="android.intent.action.CHARGING" />
72    <protected-broadcast android:name="android.intent.action.DISCHARGING" />
73    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_LOW" />
74    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_OK" />
75    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_FULL" />
76    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_NOT_FULL" />
77    <protected-broadcast android:name="android.intent.action.NEW_OUTGOING_CALL" />
78    <protected-broadcast android:name="android.intent.action.REBOOT" />
79    <protected-broadcast android:name="android.intent.action.DOCK_EVENT" />
80    <protected-broadcast android:name="android.intent.action.THERMAL_EVENT" />
81    <protected-broadcast android:name="android.intent.action.MASTER_CLEAR_NOTIFICATION" />
82    <protected-broadcast android:name="android.intent.action.USER_ADDED" />
83    <protected-broadcast android:name="android.intent.action.USER_REMOVED" />
84    <protected-broadcast android:name="android.intent.action.USER_STARTING" />
85    <protected-broadcast android:name="android.intent.action.USER_STARTED" />
86    <protected-broadcast android:name="android.intent.action.USER_STOPPING" />
87    <protected-broadcast android:name="android.intent.action.USER_STOPPED" />
88    <protected-broadcast android:name="android.intent.action.USER_BACKGROUND" />
89    <protected-broadcast android:name="android.intent.action.USER_FOREGROUND" />
90    <protected-broadcast android:name="android.intent.action.USER_SWITCHED" />
91    <protected-broadcast android:name="android.intent.action.USER_INITIALIZE" />
92    <protected-broadcast android:name="android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION" />
93    <protected-broadcast android:name="android.intent.action.OVERLAY_ADDED" />
94    <protected-broadcast android:name="android.intent.action.OVERLAY_CHANGED" />
95    <protected-broadcast android:name="android.intent.action.OVERLAY_REMOVED" />
96    <protected-broadcast android:name="android.intent.action.OVERLAY_PRIORITY_CHANGED" />
97    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_SUSPENDED" />
98    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_UNSUSPENDED" />
99
100    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED" />
101    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGING" />
102    <protected-broadcast android:name="android.os.action.DEVICE_IDLE_MODE_CHANGED" />
103    <protected-broadcast android:name="android.os.action.POWER_SAVE_WHITELIST_CHANGED" />
104    <protected-broadcast android:name="android.os.action.POWER_SAVE_TEMP_WHITELIST_CHANGED" />
105    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED_INTERNAL" />
106
107    <!-- @deprecated This is rarely used and will be phased out soon. -->
108    <protected-broadcast android:name="android.os.action.SCREEN_BRIGHTNESS_BOOST_CHANGED" />
109
110    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE" />
111    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE" />
112    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE_PRIORITIZED" />
113    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE_PRIORITIZED" />
114    <protected-broadcast android:name="android.app.action.ENTER_DESK_MODE" />
115    <protected-broadcast android:name="android.app.action.EXIT_DESK_MODE" />
116    <protected-broadcast android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
117
118    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARING_DECLINED" />
119    <protected-broadcast android:name="android.app.action.BUGREPORT_FAILED" />
120    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARE" />
121    <protected-broadcast android:name="android.app.action.SHOW_DEVICE_MONITORING_DIALOG" />
122    <protected-broadcast android:name="android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED" />
123    <protected-broadcast android:name="android.intent.action.INCIDENT_REPORT_READY" />
124
125    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_UPDATE_OPTIONS" />
126    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DELETED" />
127    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DISABLED" />
128    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLED" />
129    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED" />
130    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_RESTORED" />
131
132    <protected-broadcast android:name="android.os.action.SETTING_RESTORED" />
133
134    <protected-broadcast android:name="android.app.backup.intent.CLEAR" />
135    <protected-broadcast android:name="android.app.backup.intent.INIT" />
136
137    <protected-broadcast android:name="android.bluetooth.intent.DISCOVERABLE_TIMEOUT" />
138    <protected-broadcast android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
139    <protected-broadcast android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
140    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
141    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
142    <protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
143    <protected-broadcast android:name="android.bluetooth.adapter.action.BLUETOOTH_ADDRESS_CHANGED" />
144    <protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
145    <protected-broadcast android:name="android.bluetooth.device.action.UUID" />
146    <protected-broadcast android:name="android.bluetooth.device.action.MAS_INSTANCE" />
147    <protected-broadcast android:name="android.bluetooth.action.ALIAS_CHANGED" />
148    <protected-broadcast android:name="android.bluetooth.device.action.FOUND" />
149    <protected-broadcast android:name="android.bluetooth.device.action.CLASS_CHANGED" />
150    <protected-broadcast android:name="android.bluetooth.device.action.ACL_CONNECTED" />
151    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
152    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
153    <protected-broadcast android:name="android.bluetooth.device.action.NAME_CHANGED" />
154    <protected-broadcast android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
155    <protected-broadcast android:name="android.bluetooth.device.action.NAME_FAILED" />
156    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
157    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
158    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
159    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL" />
160    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST" />
161    <protected-broadcast android:name="android.bluetooth.device.action.SDP_RECORD" />
162    <protected-broadcast android:name="android.bluetooth.device.action.BATTERY_LEVEL_CHANGED" />
163    <protected-broadcast android:name="android.bluetooth.devicepicker.action.LAUNCH" />
164    <protected-broadcast android:name="android.bluetooth.devicepicker.action.DEVICE_SELECTED" />
165    <protected-broadcast
166        android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
167    <protected-broadcast
168        android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />
169    <protected-broadcast
170        android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
171    <protected-broadcast
172        android:name="android.bluetooth.headset.action.HF_INDICATORS_VALUE_CHANGED" />
173    <protected-broadcast
174        android:name="android.bluetooth.headset.profile.action.ACTIVE_DEVICE_CHANGED" />
175    <protected-broadcast
176        android:name="android.bluetooth.headsetclient.profile.action.CONNECTION_STATE_CHANGED" />
177    <protected-broadcast
178        android:name="android.bluetooth.headsetclient.profile.action.AUDIO_STATE_CHANGED" />
179    <protected-broadcast
180        android:name="android.bluetooth.headsetclient.profile.action.AG_EVENT" />
181    <protected-broadcast
182        android:name="android.bluetooth.headsetclient.profile.action.AG_CALL_CHANGED" />
183    <protected-broadcast
184        android:name="android.bluetooth.headsetclient.profile.action.RESULT" />
185    <protected-broadcast
186        android:name="android.bluetooth.headsetclient.profile.action.LAST_VTAG" />
187    <protected-broadcast
188        android:name="android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED" />
189    <protected-broadcast
190        android:name="android.bluetooth.hearingaid.profile.action.PLAYING_STATE_CHANGED" />
191    <protected-broadcast
192        android:name="android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED" />
193    <protected-broadcast
194        android:name="android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED" />
195    <protected-broadcast
196        android:name="android.bluetooth.a2dp.profile.action.ACTIVE_DEVICE_CHANGED" />
197    <protected-broadcast
198        android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
199    <protected-broadcast
200        android:name="android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED" />
201    <protected-broadcast
202        android:name="android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED" />
203    <protected-broadcast
204        android:name="android.bluetooth.a2dp-sink.profile.action.PLAYING_STATE_CHANGED" />
205    <protected-broadcast
206        android:name="android.bluetooth.a2dp-sink.profile.action.AUDIO_CONFIG_CHANGED" />
207    <protected-broadcast
208        android:name="android.bluetooth.avrcp-controller.profile.action.BROWSE_CONNECTION_STATE_CHANGED" />
209    <protected-broadcast
210        android:name="android.bluetooth.avrcp-controller.profile.action.CONNECTION_STATE_CHANGED" />
211    <protected-broadcast
212        android:name="android.bluetooth.avrcp-controller.profile.action.FOLDER_LIST" />
213    <protected-broadcast
214        android:name="android.bluetooth.avrcp-controller.profile.action.TRACK_EVENT" />
215    <protected-broadcast
216        android:name="android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED" />
217    <protected-broadcast
218        android:name="android.bluetooth.input.profile.action.IDLE_TIME_CHANGED" />
219    <protected-broadcast
220        android:name="android.bluetooth.input.profile.action.PROTOCOL_MODE_CHANGED" />
221    <protected-broadcast
222        android:name="android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS" />
223    <protected-broadcast
224        android:name="android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED" />
225    <protected-broadcast
226        android:name="android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED" />
227    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.CONNECTION_STATE_CHANGED" />
228    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_RECEIVED" />
229    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_SENT_SUCCESSFULLY" />
230    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELIVERED_SUCCESSFULLY" />
231    <protected-broadcast
232        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
233    <protected-broadcast
234        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
235    <protected-broadcast
236        android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" />
237    <protected-broadcast android:name="android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED" />
238    <protected-broadcast android:name="android.bluetooth.pbapclient.profile.action.CONNECTION_STATE_CHANGED" />
239    <protected-broadcast android:name="android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED" />
240    <protected-broadcast android:name="android.btopp.intent.action.INCOMING_FILE_NOTIFICATION" />
241    <protected-broadcast android:name="android.btopp.intent.action.USER_CONFIRMATION_TIMEOUT" />
242    <protected-broadcast android:name="android.btopp.intent.action.LIST" />
243    <protected-broadcast android:name="android.btopp.intent.action.OPEN_OUTBOUND" />
244    <protected-broadcast android:name="android.btopp.intent.action.HIDE_COMPLETE" />
245    <protected-broadcast android:name="android.btopp.intent.action.CONFIRM" />
246    <protected-broadcast android:name="android.btopp.intent.action.HIDE" />
247    <protected-broadcast android:name="android.btopp.intent.action.RETRY" />
248    <protected-broadcast android:name="android.btopp.intent.action.OPEN" />
249    <protected-broadcast android:name="android.btopp.intent.action.OPEN_INBOUND" />
250    <protected-broadcast android:name="android.btopp.intent.action.TRANSFER_COMPLETE" />
251    <protected-broadcast android:name="android.btopp.intent.action.ACCEPT" />
252    <protected-broadcast android:name="android.btopp.intent.action.DECLINE" />
253    <protected-broadcast android:name="com.android.bluetooth.gatt.REFRESH_BATCHED_SCAN" />
254    <protected-broadcast android:name="com.android.bluetooth.pbap.authchall" />
255    <protected-broadcast android:name="com.android.bluetooth.pbap.userconfirmtimeout" />
256    <protected-broadcast android:name="com.android.bluetooth.pbap.authresponse" />
257    <protected-broadcast android:name="com.android.bluetooth.pbap.authcancelled" />
258    <protected-broadcast android:name="com.android.bluetooth.sap.USER_CONFIRM_TIMEOUT" />
259    <protected-broadcast android:name="com.android.bluetooth.sap.action.DISCONNECT_ACTION" />
260
261    <protected-broadcast android:name="android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED" />
262
263    <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" />
264    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_CHANGED" />
265    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
266    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_DETACHED" />
267    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
268    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
269
270    <protected-broadcast android:name="android.intent.action.HEADSET_PLUG" />
271    <protected-broadcast android:name="android.media.action.HDMI_AUDIO_PLUG" />
272    <protected-broadcast android:name="android.media.action.MICROPHONE_MUTE_CHANGED" />
273    <protected-broadcast android:name="android.media.action.SPEAKERPHONE_STATE_CHANGED" />
274
275    <protected-broadcast android:name="android.media.AUDIO_BECOMING_NOISY" />
276    <protected-broadcast android:name="android.media.RINGER_MODE_CHANGED" />
277    <protected-broadcast android:name="android.media.VIBRATE_SETTING_CHANGED" />
278    <protected-broadcast android:name="android.media.VOLUME_CHANGED_ACTION" />
279    <protected-broadcast android:name="android.media.MASTER_VOLUME_CHANGED_ACTION" />
280    <protected-broadcast android:name="android.media.MASTER_MUTE_CHANGED_ACTION" />
281    <protected-broadcast android:name="android.media.MASTER_MONO_CHANGED_ACTION" />
282    <protected-broadcast android:name="android.media.MASTER_BALANCE_CHANGED_ACTION" />
283    <protected-broadcast android:name="android.media.SCO_AUDIO_STATE_CHANGED" />
284    <protected-broadcast android:name="android.media.ACTION_SCO_AUDIO_STATE_UPDATED" />
285
286    <protected-broadcast android:name="android.intent.action.MEDIA_REMOVED" />
287    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTED" />
288    <protected-broadcast android:name="android.intent.action.MEDIA_CHECKING" />
289    <protected-broadcast android:name="android.intent.action.MEDIA_NOFS" />
290    <protected-broadcast android:name="android.intent.action.MEDIA_MOUNTED" />
291    <protected-broadcast android:name="android.intent.action.MEDIA_SHARED" />
292    <protected-broadcast android:name="android.intent.action.MEDIA_UNSHARED" />
293    <protected-broadcast android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
294    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTABLE" />
295    <protected-broadcast android:name="android.intent.action.MEDIA_EJECT" />
296
297    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL" />
298    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE" />
299    <!-- @deprecated.  Only {@link android.net.ConnectivityManager.CONNECTIVITY_ACTION} is sent. -->
300    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE" />
301    <protected-broadcast android:name="android.net.conn.DATA_ACTIVITY_CHANGE" />
302    <protected-broadcast android:name="android.net.conn.RESTRICT_BACKGROUND_CHANGED" />
303    <protected-broadcast android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
304    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL_TEST_COMPLETED" />
305
306    <protected-broadcast android:name="android.net.nsd.STATE_CHANGED" />
307
308    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
309    <protected-broadcast android:name="android.nfc.action.PREFERRED_PAYMENT_CHANGED" />
310    <protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
311    <protected-broadcast android:name="com.android.nfc.action.LLCP_UP" />
312    <protected-broadcast android:name="com.android.nfc.action.LLCP_DOWN" />
313    <protected-broadcast android:name="com.android.nfc.cardemulation.action.CLOSE_TAP_DIALOG" />
314    <protected-broadcast android:name="com.android.nfc.handover.action.ALLOW_CONNECT" />
315    <protected-broadcast android:name="com.android.nfc.handover.action.DENY_CONNECT" />
316    <protected-broadcast android:name="com.android.nfc.handover.action.TIMEOUT_CONNECT" />
317    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_ON_DETECTED" />
318    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED" />
319    <protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
320    <!-- For NFC to BT handover -->
321    <protected-broadcast android:name="android.btopp.intent.action.WHITELIST_DEVICE" />
322    <protected-broadcast android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER" />
323    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND" />
324    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE" />
325    <protected-broadcast android:name="com.android.nfc.handover.action.CANCEL_HANDOVER_TRANSFER" />
326
327    <protected-broadcast android:name="android.intent.action.CLEAR_DNS_CACHE" />
328    <protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
329
330    <protected-broadcast android:name="android.os.UpdateLock.UPDATE_LOCK_CHANGED" />
331
332    <protected-broadcast android:name="android.intent.action.DREAMING_STARTED" />
333    <protected-broadcast android:name="android.intent.action.DREAMING_STOPPED" />
334    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
335
336    <protected-broadcast android:name="com.android.server.stats.action.TRIGGER_COLLECTION" />
337
338    <protected-broadcast android:name="com.android.server.WifiManager.action.START_SCAN" />
339    <protected-broadcast android:name="com.android.server.WifiManager.action.START_PNO" />
340    <protected-broadcast android:name="com.android.server.WifiManager.action.DELAYED_DRIVER_STOP" />
341    <protected-broadcast android:name="com.android.server.WifiManager.action.DEVICE_IDLE" />
342    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_ACCEPTED" />
343    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_DECLINED" />
344    <protected-broadcast android:name="com.android.internal.action.EUICC_FACTORY_RESET" />
345    <protected-broadcast android:name="com.android.server.usb.ACTION_OPEN_IN_APPS" />
346    <protected-broadcast android:name="com.android.server.am.DELETE_DUMPHEAP" />
347    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_WARNING" />
348    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_RAPID" />
349    <protected-broadcast android:name="com.android.server.wifi.ACTION_SHOW_SET_RANDOMIZATION_DETAILS" />
350    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_ALLOWED_APP" />
351    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISALLOWED_APP" />
352    <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISMISSED" />
353    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_ALLOWED_CARRIER" />
354    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISALLOWED_CARRIER" />
355    <protected-broadcast android:name="com.android.server.wifi.action.CarrierNetwork.USER_DISMISSED" />
356    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.USER_DISMISSED_NOTIFICATION" />
357    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.CONNECT_TO_NETWORK" />
358    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_WIFI_NETWORK" />
359    <protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_NETWORK_AFTER_FAILURE" />
360    <protected-broadcast android:name="com.android.server.wifi.wakeup.DISMISS_NOTIFICATION" />
361    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_PREFERENCES" />
362    <protected-broadcast android:name="com.android.server.wifi.wakeup.OPEN_WIFI_SETTINGS" />
363    <protected-broadcast android:name="com.android.server.wifi.wakeup.TURN_OFF_WIFI_WAKE" />
364    <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" />
365    <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
366    <protected-broadcast android:name="android.net.wifi.WIFI_CREDENTIAL_CHANGED" />
367    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED" />
368    <protected-broadcast android:name="android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED" />
369    <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" />
370    <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" />
371    <protected-broadcast android:name="android.net.wifi.STATE_CHANGE" />
372    <protected-broadcast android:name="android.net.wifi.LINK_CONFIGURATION_CHANGED" />
373    <protected-broadcast android:name="android.net.wifi.CONFIGURED_NETWORKS_CHANGE" />
374    <protected-broadcast android:name="android.net.wifi.action.NETWORK_SETTINGS_RESET" />
375    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_DEAUTH_IMMINENT" />
376    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_ICON" />
377    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_OSU_PROVIDERS_LIST" />
378    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_SUBSCRIPTION_REMEDIATION" />
379    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW" />
380    <protected-broadcast android:name="android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION" />
381    <protected-broadcast android:name="android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED" />
382    <protected-broadcast android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
383    <protected-broadcast android:name="android.net.wifi.supplicant.STATE_CHANGE" />
384    <protected-broadcast android:name="android.net.wifi.p2p.STATE_CHANGED" />
385    <protected-broadcast android:name="android.net.wifi.p2p.DISCOVERY_STATE_CHANGE" />
386    <protected-broadcast android:name="android.net.wifi.p2p.THIS_DEVICE_CHANGED" />
387    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
388    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
389    <protected-broadcast android:name="android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED" />
390    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
391    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
392    <protected-broadcast android:name="android.net.conn.NETWORK_CONDITIONS_MEASURED" />
393    <protected-broadcast
394            android:name="android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED" />
395    <protected-broadcast android:name="android.net.scoring.SCORE_NETWORKS" />
396    <protected-broadcast android:name="android.net.scoring.SCORER_CHANGED" />
397    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE" />
398    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" />
399    <protected-broadcast android:name="android.intent.action.AIRPLANE_MODE" />
400    <protected-broadcast android:name="android.intent.action.ADVANCED_SETTINGS" />
401    <protected-broadcast android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED" />
402    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRED_DEVICES" />
403    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_PAIRING_RESULT" />
404    <protected-broadcast android:name="com.android.server.adb.WIRELESS_DEBUG_STATUS" />
405
406    <!-- Legacy -->
407    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_START" />
408    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_END" />
409
410    <protected-broadcast android:name="com.android.server.ACTION_TRIGGER_IDLE" />
411
412    <protected-broadcast android:name="android.intent.action.HDMI_PLUGGED" />
413
414    <protected-broadcast android:name="android.intent.action.PHONE_STATE" />
415
416    <protected-broadcast android:name="android.intent.action.SUB_DEFAULT_CHANGED" />
417
418    <protected-broadcast android:name="android.location.PROVIDERS_CHANGED" />
419    <protected-broadcast android:name="android.location.MODE_CHANGED" />
420    <protected-broadcast android:name="android.net.proxy.PAC_REFRESH" />
421
422    <protected-broadcast android:name="android.telecom.action.DEFAULT_DIALER_CHANGED" />
423    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED" />
424    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_CREATED" />
425    <protected-broadcast android:name="android.provider.action.SMS_MMS_DB_LOST" />
426    <protected-broadcast android:name="android.intent.action.CONTENT_CHANGED" />
427    <protected-broadcast android:name="android.provider.Telephony.MMS_DOWNLOADED" />
428
429    <protected-broadcast
430        android:name="com.android.server.connectivityservice.CONNECTED_TO_PROVISIONING_NETWORK_ACTION" />
431
432    <!-- Defined in RestrictionsManager -->
433    <protected-broadcast
434        android:name="android.intent.action.PERMISSION_RESPONSE_RECEIVED" />
435    <!-- Defined in RestrictionsManager -->
436
437    <protected-broadcast android:name="android.intent.action.REQUEST_PERMISSION" />
438    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_STARTED" />
439    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
440    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_PROGRESS" />
441    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
442
443    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED" />
444    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED" />
445    <protected-broadcast android:name="android.intent.action.ACTION_SUBINFO_CONTENT_CHANGE" />
446    <protected-broadcast android:name="android.intent.action.ACTION_SUBINFO_RECORD_UPDATED" />
447
448    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_DONE" />
449    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_FAILED" />
450
451    <protected-broadcast android:name="android.internal.policy.action.BURN_IN_PROTECTION" />
452    <protected-broadcast android:name="android.app.action.SYSTEM_UPDATE_POLICY_CHANGED" />
453    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
454    <protected-broadcast android:name="android.app.action.DEVICE_OWNER_CHANGED" />
455    <protected-broadcast android:name="android.app.action.MANAGED_USER_CREATED" />
456
457    <!-- Added in N -->
458    <protected-broadcast android:name="android.intent.action.ANR" />
459    <protected-broadcast android:name="android.intent.action.CALL" />
460    <protected-broadcast android:name="android.intent.action.CALL_PRIVILEGED" />
461    <protected-broadcast android:name="android.intent.action.DROPBOX_ENTRY_ADDED" />
462    <protected-broadcast android:name="android.intent.action.INPUT_METHOD_CHANGED" />
463    <protected-broadcast android:name="android.intent.action.internal_sim_state_changed" />
464    <protected-broadcast android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
465    <protected-broadcast android:name="android.intent.action.PRECISE_CALL_STATE" />
466    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_PHONE_STATE" />
467    <protected-broadcast android:name="android.intent.action.USER_INFO_CHANGED" />
468    <protected-broadcast android:name="android.intent.action.USER_UNLOCKED" />
469    <protected-broadcast android:name="android.intent.action.WALLPAPER_CHANGED" />
470
471    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_MANAGER_STATE_CHANGED" />
472    <protected-broadcast android:name="android.app.action.CHOOSE_PRIVATE_KEY_ALIAS" />
473    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
474    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
475    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
476    <protected-broadcast android:name="android.app.action.LOCK_TASK_ENTERING" />
477    <protected-broadcast android:name="android.app.action.LOCK_TASK_EXITING" />
478    <protected-broadcast android:name="android.app.action.NOTIFY_PENDING_SYSTEM_UPDATE" />
479    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_CHANGED" />
480    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_EXPIRING" />
481    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_FAILED" />
482    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_SUCCEEDED" />
483    <protected-broadcast android:name="com.android.server.ACTION_EXPIRED_PASSWORD_NOTIFICATION" />
484
485    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_ADDED" />
486    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNLOCKED" />
487    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_REMOVED" />
488
489    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_STATE_CHANGED" />
490    <protected-broadcast android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT" />
491    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
492    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
493    <protected-broadcast android:name="android.content.jobscheduler.JOB_DELAY_EXPIRED" />
494    <protected-broadcast android:name="android.content.syncmanager.SYNC_ALARM" />
495    <protected-broadcast android:name="android.media.INTERNAL_RINGER_MODE_CHANGED_ACTION" />
496    <protected-broadcast android:name="android.media.STREAM_DEVICES_CHANGED_ACTION" />
497    <protected-broadcast android:name="android.media.STREAM_MUTE_CHANGED_ACTION" />
498    <protected-broadcast android:name="android.net.sip.SIP_SERVICE_UP" />
499    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
500    <protected-broadcast android:name="android.os.action.CHARGING" />
501    <protected-broadcast android:name="android.os.action.DISCHARGING" />
502    <protected-broadcast android:name="android.search.action.SEARCHABLES_CHANGED" />
503    <protected-broadcast android:name="android.security.STORAGE_CHANGED" />
504    <protected-broadcast android:name="android.security.action.TRUST_STORE_CHANGED" />
505    <protected-broadcast android:name="android.security.action.KEYCHAIN_CHANGED" />
506    <protected-broadcast android:name="android.security.action.KEY_ACCESS_CHANGED" />
507    <protected-broadcast android:name="android.telecom.action.NUISANCE_CALL_STATUS_CHANGED" />
508    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_REGISTERED" />
509    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_UNREGISTERED" />
510    <protected-broadcast android:name="android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION" />
511    <protected-broadcast android:name="android.telephony.action.CARRIER_CONFIG_CHANGED" />
512    <protected-broadcast android:name="android.telephony.action.DEFAULT_SUBSCRIPTION_CHANGED" />
513    <protected-broadcast android:name="android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED" />
514    <protected-broadcast android:name="android.telephony.action.SECRET_CODE" />
515    <protected-broadcast android:name="android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION" />
516    <protected-broadcast android:name="android.telephony.action.SUBSCRIPTION_PLANS_CHANGED" />
517
518    <protected-broadcast android:name="com.android.bluetooth.btservice.action.ALARM_WAKEUP" />
519    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_POLL" />
520    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_UPDATED" />
521    <protected-broadcast android:name="com.android.server.NetworkTimeUpdateService.action.POLL" />
522    <protected-broadcast android:name="com.android.server.telecom.intent.action.CALLS_ADD_ENTRY" />
523    <protected-broadcast android:name="com.android.settings.location.MODE_CHANGING" />
524    <protected-broadcast android:name="com.android.settings.bluetooth.ACTION_DISMISS_PAIRING" />
525    <protected-broadcast android:name="com.android.settings.wifi.action.NETWORK_REQUEST" />
526
527    <protected-broadcast android:name="NotificationManagerService.TIMEOUT" />
528    <protected-broadcast android:name="NotificationHistoryDatabase.CLEANUP" />
529    <protected-broadcast android:name="ScheduleConditionProvider.EVALUATE" />
530    <protected-broadcast android:name="EventConditionProvider.EVALUATE" />
531    <protected-broadcast android:name="SnoozeHelper.EVALUATE" />
532    <protected-broadcast android:name="wifi_scan_available" />
533
534    <protected-broadcast android:name="action.cne.started" />
535    <protected-broadcast android:name="android.content.jobscheduler.JOB_DEADLINE_EXPIRED" />
536    <protected-broadcast android:name="android.intent.action.ACTION_UNSOL_RESPONSE_OEM_HOOK_RAW" />
537    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_SUPL" />
538    <protected-broadcast android:name="android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED" />
539    <protected-broadcast android:name="android.os.storage.action.VOLUME_STATE_CHANGED" />
540    <protected-broadcast android:name="android.os.storage.action.DISK_SCANNED" />
541    <protected-broadcast android:name="com.android.server.action.UPDATE_TWILIGHT_STATE" />
542    <protected-broadcast android:name="com.android.server.action.RESET_TWILIGHT_AUTO" />
543    <protected-broadcast android:name="com.android.server.device_idle.STEP_IDLE_STATE" />
544    <protected-broadcast android:name="com.android.server.device_idle.STEP_LIGHT_IDLE_STATE" />
545    <protected-broadcast android:name="com.android.server.Wifi.action.TOGGLE_PNO" />
546    <protected-broadcast android:name="intent.action.ACTION_RF_BAND_INFO" />
547    <protected-broadcast android:name="android.intent.action.MEDIA_RESOURCE_GRANTED" />
548    <protected-broadcast android:name="android.app.action.NETWORK_LOGS_AVAILABLE" />
549    <protected-broadcast android:name="android.app.action.SECURITY_LOGS_AVAILABLE" />
550
551    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED" />
552    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED_INTERNAL" />
553    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_CHANGED" />
554    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED" />
555    <protected-broadcast android:name="android.app.action.AUTOMATIC_ZEN_RULE_STATUS_CHANGED" />
556    <protected-broadcast android:name="android.os.action.ACTION_EFFECTS_SUPPRESSOR_CHANGED" />
557    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED" />
558    <protected-broadcast android:name="android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED" />
559    <protected-broadcast android:name="android.app.action.APP_BLOCK_STATE_CHANGED" />
560
561    <protected-broadcast android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS" />
562    <protected-broadcast android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS" />
563
564    <protected-broadcast android:name="android.intent.action.DYNAMIC_SENSOR_CHANGED" />
565
566    <protected-broadcast android:name="android.intent.action.ACTION_RADIO_OFF" />
567
568    <protected-broadcast android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
569    <protected-broadcast android:name="android.accounts.action.ACCOUNT_REMOVED" />
570    <protected-broadcast android:name="android.accounts.action.VISIBLE_ACCOUNTS_CHANGED" />
571
572    <protected-broadcast android:name="com.android.sync.SYNC_CONN_STATUS_CHANGED" />
573
574    <protected-broadcast android:name="android.net.sip.action.SIP_INCOMING_CALL" />
575    <protected-broadcast android:name="com.android.phone.SIP_ADD_PHONE" />
576    <protected-broadcast android:name="android.net.sip.action.SIP_REMOVE_PROFILE" />
577    <protected-broadcast android:name="android.net.sip.action.SIP_SERVICE_UP" />
578    <protected-broadcast android:name="android.net.sip.action.SIP_CALL_OPTION_CHANGED" />
579    <protected-broadcast android:name="android.net.sip.action.START_SIP" />
580
581    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_CONNECTED" />
582    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_DISCONNECTED" />
583
584    <protected-broadcast android:name="android.bluetooth.input.profile.action.HANDSHAKE" />
585    <protected-broadcast android:name="android.bluetooth.input.profile.action.REPORT" />
586
587    <protected-broadcast android:name="android.intent.action.TWILIGHT_CHANGED" />
588
589    <protected-broadcast android:name="com.android.server.fingerprint.ACTION_LOCKOUT_RESET" />
590    <protected-broadcast android:name="android.net.wifi.PASSPOINT_ICON_RECEIVED" />
591    <protected-broadcast android:name="com.android.server.notification.CountdownConditionProvider" />
592
593    <protected-broadcast android:name="com.android.internal.location.ALARM_WAKEUP" />
594    <protected-broadcast android:name="com.android.internal.location.ALARM_TIMEOUT" />
595    <protected-broadcast android:name="android.intent.action.GLOBAL_BUTTON" />
596
597    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_AVAILABLE" />
598    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNAVAILABLE" />
599    <protected-broadcast android:name="com.android.server.pm.DISABLE_QUIET_MODE_AFTER_UNLOCK" />
600
601    <protected-broadcast android:name="com.android.server.retaildemo.ACTION_RESET_DEMO" />
602
603    <protected-broadcast android:name="android.intent.action.DEVICE_LOCKED_CHANGED" />
604
605    <!-- Added in O -->
606    <protected-broadcast android:name="android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED" />
607    <protected-broadcast android:name="com.android.server.wm.ACTION_REVOKE_SYSTEM_ALERT_WINDOW_PERMISSION" />
608    <protected-broadcast android:name="android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED" />
609
610    <protected-broadcast android:name="android.content.pm.action.SESSION_COMMITTED" />
611    <protected-broadcast android:name="android.os.action.USER_RESTRICTIONS_CHANGED" />
612    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT" />
613    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED" />
614    <protected-broadcast android:name="android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED" />
615    <protected-broadcast android:name="android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED" />
616    <protected-broadcast android:name="com.android.server.inputmethod.InputMethodManagerService.SHOW_INPUT_METHOD_PICKER" />
617
618    <!-- Time zone rules update intents fired by the system server -->
619    <protected-broadcast android:name="com.android.intent.action.timezone.RULES_UPDATE_OPERATION" />
620    <protected-broadcast android:name="com.android.intent.action.timezone.TRIGGER_RULES_UPDATE_CHECK" />
621
622    <!-- Made protected in P (was introduced in JB-MR2) -->
623    <protected-broadcast android:name="android.intent.action.GET_RESTRICTION_ENTRIES" />
624    <protected-broadcast android:name="android.telephony.euicc.action.OTA_STATUS_CHANGED" />
625
626    <!-- Added in P -->
627    <protected-broadcast android:name="android.app.action.PROFILE_OWNER_CHANGED" />
628    <protected-broadcast android:name="android.app.action.TRANSFER_OWNERSHIP_COMPLETE" />
629    <protected-broadcast android:name="android.app.action.AFFILIATED_PROFILE_TRANSFER_OWNERSHIP_COMPLETE" />
630    <protected-broadcast android:name="android.app.action.DATA_SHARING_RESTRICTION_CHANGED" />
631    <protected-broadcast android:name="android.app.action.STATSD_STARTED" />
632    <protected-broadcast android:name="com.android.server.biometrics.fingerprint.ACTION_LOCKOUT_RESET" />
633    <protected-broadcast android:name="com.android.server.biometrics.face.ACTION_LOCKOUT_RESET" />
634
635    <!-- For IdleController -->
636    <protected-broadcast android:name="android.intent.action.DOCK_IDLE" />
637    <protected-broadcast android:name="android.intent.action.DOCK_ACTIVE" />
638
639    <!-- Added in Q -->
640    <protected-broadcast android:name="android.content.pm.action.SESSION_UPDATED" />
641    <protected-broadcast android:name="android.settings.action.GRAYSCALE_CHANGED" />
642
643    <!-- For CarIdlenessTracker -->
644    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_ON" />
645    <protected-broadcast android:name="com.android.server.jobscheduler.GARAGE_MODE_OFF" />
646    <protected-broadcast android:name="com.android.server.jobscheduler.FORCE_IDLE" />
647    <protected-broadcast android:name="com.android.server.jobscheduler.UNFORCE_IDLE" />
648
649    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL" />
650
651    <protected-broadcast android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY" />
652
653    <!-- Added in R -->
654    <protected-broadcast android:name="android.app.action.RESET_PROTECTION_POLICY_CHANGED" />
655
656    <!-- For tether entitlement recheck-->
657    <protected-broadcast
658        android:name="com.android.server.connectivity.tethering.PROVISIONING_RECHECK_ALARM" />
659    <!-- ====================================================================== -->
660    <!--                          RUNTIME PERMISSIONS                           -->
661    <!-- ====================================================================== -->
662    <eat-comment />
663
664    <!-- Grouping for platform runtime permissions is not accessible to apps
665         @hide
666         @SystemApi
667         @TestApi
668    -->
669    <permission-group android:name="android.permission-group.UNDEFINED"
670        android:priority="100" />
671
672    <!-- ====================================================================== -->
673    <!-- Permissions for accessing user's contacts including personal profile   -->
674    <!-- ====================================================================== -->
675    <eat-comment />
676
677    <!-- Used for runtime permissions related to contacts and profiles on this
678        device. -->
679    <permission-group android:name="android.permission-group.CONTACTS"
680        android:icon="@drawable/perm_group_contacts"
681        android:label="@string/permgrouplab_contacts"
682        android:description="@string/permgroupdesc_contacts"
683        android:priority="100" />
684
685    <!-- Allows an application to read the user's contacts data.
686        <p>Protection level: dangerous
687    -->
688    <permission android:name="android.permission.READ_CONTACTS"
689        android:permissionGroup="android.permission-group.UNDEFINED"
690        android:label="@string/permlab_readContacts"
691        android:description="@string/permdesc_readContacts"
692        android:protectionLevel="dangerous" />
693
694    <!-- Allows an application to write the user's contacts data.
695         <p>Protection level: dangerous
696    -->
697    <permission android:name="android.permission.WRITE_CONTACTS"
698        android:permissionGroup="android.permission-group.UNDEFINED"
699        android:label="@string/permlab_writeContacts"
700        android:description="@string/permdesc_writeContacts"
701        android:protectionLevel="dangerous" />
702
703    <!-- ====================================================================== -->
704    <!-- Permissions for accessing user's calendar                              -->
705    <!-- ====================================================================== -->
706    <eat-comment />
707
708    <!-- Used for runtime permissions related to user's calendar. -->
709    <permission-group android:name="android.permission-group.CALENDAR"
710        android:icon="@drawable/perm_group_calendar"
711        android:label="@string/permgrouplab_calendar"
712        android:description="@string/permgroupdesc_calendar"
713        android:priority="200" />
714
715    <!-- Allows an application to read the user's calendar data.
716         <p>Protection level: dangerous
717    -->
718    <permission android:name="android.permission.READ_CALENDAR"
719        android:permissionGroup="android.permission-group.UNDEFINED"
720        android:label="@string/permlab_readCalendar"
721        android:description="@string/permdesc_readCalendar"
722        android:protectionLevel="dangerous" />
723
724    <!-- Allows an application to write the user's calendar data.
725         <p>Protection level: dangerous
726    -->
727    <permission android:name="android.permission.WRITE_CALENDAR"
728        android:permissionGroup="android.permission-group.UNDEFINED"
729        android:label="@string/permlab_writeCalendar"
730        android:description="@string/permdesc_writeCalendar"
731        android:protectionLevel="dangerous" />
732
733    <!-- ====================================================================== -->
734    <!-- Permissions for accessing and modifying user's SMS messages            -->
735    <!-- ====================================================================== -->
736    <eat-comment />
737
738    <!-- Allows accessing the messages on ICC
739         @hide Used internally. -->
740    <permission android:name="android.permission.ACCESS_MESSAGES_ON_ICC"
741        android:protectionLevel="signature" />
742
743    <!-- Used for runtime permissions related to user's SMS messages. -->
744    <permission-group android:name="android.permission-group.SMS"
745        android:icon="@drawable/perm_group_sms"
746        android:label="@string/permgrouplab_sms"
747        android:description="@string/permgroupdesc_sms"
748        android:priority="300" />
749
750    <!-- Allows an application to send SMS messages.
751         <p>Protection level: dangerous
752
753         <p> This is a hard restricted permission which cannot be held by an app until
754         the installer on record whitelists the permission. For more details see
755         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
756    -->
757    <permission android:name="android.permission.SEND_SMS"
758        android:permissionGroup="android.permission-group.UNDEFINED"
759        android:label="@string/permlab_sendSms"
760        android:description="@string/permdesc_sendSms"
761        android:permissionFlags="costsMoney|hardRestricted"
762        android:protectionLevel="dangerous" />
763
764    <!-- Allows an application to receive SMS messages.
765         <p>Protection level: dangerous
766
767         <p> This is a hard restricted permission which cannot be held by an app until
768         the installer on record whitelists the permission. For more details see
769         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
770    -->
771    <permission android:name="android.permission.RECEIVE_SMS"
772        android:permissionGroup="android.permission-group.UNDEFINED"
773        android:label="@string/permlab_receiveSms"
774        android:description="@string/permdesc_receiveSms"
775        android:permissionFlags="hardRestricted"
776        android:protectionLevel="dangerous" />
777
778    <!-- Allows an application to read SMS messages.
779         <p>Protection level: dangerous
780
781         <p> This is a hard restricted permission which cannot be held by an app until
782         the installer on record whitelists the permission. For more details see
783         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
784    -->
785    <permission android:name="android.permission.READ_SMS"
786        android:permissionGroup="android.permission-group.UNDEFINED"
787        android:label="@string/permlab_readSms"
788        android:description="@string/permdesc_readSms"
789        android:permissionFlags="hardRestricted"
790        android:protectionLevel="dangerous" />
791
792    <!-- Allows an application to receive WAP push messages.
793         <p>Protection level: dangerous
794
795         <p> This is a hard restricted permission which cannot be held by an app until
796         the installer on record whitelists the permission. For more details see
797         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
798    -->
799    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
800        android:permissionGroup="android.permission-group.UNDEFINED"
801        android:label="@string/permlab_receiveWapPush"
802        android:description="@string/permdesc_receiveWapPush"
803        android:permissionFlags="hardRestricted"
804        android:protectionLevel="dangerous" />
805
806    <!-- Allows an application to monitor incoming MMS messages.
807         <p>Protection level: dangerous
808
809         <p> This is a hard restricted permission which cannot be held by an app until
810         the installer on record whitelists the permission. For more details see
811         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
812    -->
813    <permission android:name="android.permission.RECEIVE_MMS"
814        android:permissionGroup="android.permission-group.UNDEFINED"
815        android:label="@string/permlab_receiveMms"
816        android:description="@string/permdesc_receiveMms"
817        android:permissionFlags="hardRestricted"
818        android:protectionLevel="dangerous" />
819
820    <!-- @SystemApi @TestApi Allows an application to forward cell broadcast messages to the cell
821         broadcast module. This is required in order to bind to the cell broadcast service, and
822         ensures that only the system can forward messages to it.
823
824         <p>Protection level: signature
825
826         @hide -->
827    <permission android:name="android.permission.BIND_CELL_BROADCAST_SERVICE"
828        android:label="@string/permlab_bindCellBroadcastService"
829        android:description="@string/permdesc_bindCellBroadcastService"
830        android:protectionLevel="signature" />
831
832    <!-- @SystemApi @TestApi Allows an application to read previously received cell broadcast
833         messages and to register a content observer to get notifications when
834         a cell broadcast has been received and added to the database. For
835         emergency alerts, the database is updated immediately after the
836         alert dialog and notification sound/vibration/speech are presented.
837         The "read" column is then updated after the user dismisses the alert.
838         This enables supplementary emergency assistance apps to start loading
839         additional emergency information (if Internet access is available)
840         when the alert is first received, and to delay presenting the info
841         to the user until after the initial alert dialog is dismissed.
842         <p>Protection level: dangerous
843
844         <p> This is a hard restricted permission which cannot be held by an app until
845         the installer on record whitelists the permission. For more details see
846         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
847
848         @hide Pending API council approval -->
849    <permission android:name="android.permission.READ_CELL_BROADCASTS"
850        android:permissionGroup="android.permission-group.UNDEFINED"
851        android:label="@string/permlab_readCellBroadcasts"
852        android:description="@string/permdesc_readCellBroadcasts"
853        android:permissionFlags="hardRestricted"
854        android:protectionLevel="dangerous" />
855
856    <!-- ====================================================================== -->
857    <!-- Permissions for accessing external storage                             -->
858    <!-- ====================================================================== -->
859    <eat-comment />
860
861    <!-- Used for runtime permissions related to the shared external storage. -->
862    <permission-group android:name="android.permission-group.STORAGE"
863        android:icon="@drawable/perm_group_storage"
864        android:label="@string/permgrouplab_storage"
865        android:description="@string/permgroupdesc_storage"
866        android:priority="900" />
867
868    <!-- Allows an application to read from external storage.
869      <p>Any app that declares the {@link #WRITE_EXTERNAL_STORAGE} permission is implicitly
870      granted this permission.</p>
871      <p>This permission is enforced starting in API level 19.  Before API level 19, this
872      permission is not enforced and all apps still have access to read from external storage.
873      You can test your app with the permission enforced by enabling <em>Protect USB
874      storage</em> under Developer options in the Settings app on a device running Android 4.1 or
875      higher.</p>
876      <p>Also starting in API level 19, this permission is <em>not</em> required to
877      read/write files in your application-specific directories returned by
878      {@link android.content.Context#getExternalFilesDir} and
879      {@link android.content.Context#getExternalCacheDir}.
880      <p class="note"><strong>Note:</strong> If <em>both</em> your <a
881      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
882      minSdkVersion}</a> and <a
883      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
884      targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
885      grants your app this permission. If you don't need this permission, be sure your <a
886      href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
887      targetSdkVersion}</a> is 4 or higher.
888
889      <p> This is a soft restricted permission which cannot be held by an app it its
890      full form until the installer on record whitelists the permission.
891      Specifically, if the permission is whitelisted the holder app can access
892      external storage and the visual and aural media collections while if the
893      permission is not whitelisted the holder app can only access to the visual
894      and aural medial collections. Also the permission is immutably restricted
895      meaning that the whitelist state can be specified only at install time and
896      cannot change until the app is installed. For more details see
897      {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
898     <p>Protection level: dangerous -->
899    <permission android:name="android.permission.READ_EXTERNAL_STORAGE"
900        android:permissionGroup="android.permission-group.UNDEFINED"
901        android:label="@string/permlab_sdcardRead"
902        android:description="@string/permdesc_sdcardRead"
903        android:permissionFlags="softRestricted|immutablyRestricted"
904        android:protectionLevel="dangerous" />
905
906    <!-- Allows an application to write to external storage.
907         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
908         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
909         minSdkVersion}</a> and <a
910         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
911         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
912         grants your app this permission. If you don't need this permission, be sure your <a
913         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
914         targetSdkVersion}</a> is 4 or higher.
915         <p>Starting in API level 19, this permission is <em>not</em> required to
916         read/write files in your application-specific directories returned by
917         {@link android.content.Context#getExternalFilesDir} and
918         {@link android.content.Context#getExternalCacheDir}.
919         <p>If this permission is not whitelisted for an app that targets an API level before
920         {@link android.os.Build.VERSION_CODES#Q} this permission cannot be granted to apps.</p>
921         <p>Protection level: dangerous</p>
922    -->
923    <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
924        android:permissionGroup="android.permission-group.UNDEFINED"
925        android:label="@string/permlab_sdcardWrite"
926        android:description="@string/permdesc_sdcardWrite"
927        android:permissionFlags="softRestricted|immutablyRestricted"
928        android:protectionLevel="dangerous" />
929
930    <!-- Allows an application to access any geographic locations persisted in the
931         user's shared collection.
932         <p>Protection level: dangerous -->
933    <permission android:name="android.permission.ACCESS_MEDIA_LOCATION"
934        android:permissionGroup="android.permission-group.UNDEFINED"
935        android:label="@string/permlab_mediaLocation"
936        android:description="@string/permdesc_mediaLocation"
937        android:protectionLevel="dangerous" />
938
939    <!-- @hide @SystemApi @TestApi
940         Allows an application to modify OBB files visible to other apps. -->
941    <permission android:name="android.permission.WRITE_OBB"
942        android:protectionLevel="signature|privileged" />
943
944    <!-- Allows an application a broad access to external storage in scoped storage.
945         Intended to be used by few apps that need to manage files on behalf of the users.
946         <p>Protection level: signature|appop|preinstalled -->
947    <permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
948        android:permissionGroup="android.permission-group.UNDEFINED"
949        android:protectionLevel="signature|appop|preinstalled" />
950
951    <!-- ====================================================================== -->
952    <!-- Permissions for accessing the device location                          -->
953    <!-- ====================================================================== -->
954    <eat-comment />
955
956    <!-- Used for permissions that allow accessing the device location. -->
957    <permission-group android:name="android.permission-group.LOCATION"
958        android:icon="@drawable/perm_group_location"
959        android:label="@string/permgrouplab_location"
960        android:description="@string/permgroupdesc_location"
961        android:priority="400" />
962
963    <!-- Allows an app to access precise location.
964         Alternatively, you might want {@link #ACCESS_COARSE_LOCATION}.
965         <p>Protection level: dangerous
966    -->
967    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
968        android:permissionGroup="android.permission-group.UNDEFINED"
969        android:label="@string/permlab_accessFineLocation"
970        android:description="@string/permdesc_accessFineLocation"
971        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
972        android:protectionLevel="dangerous|instant" />
973
974    <!-- Allows an app to access approximate location.
975         Alternatively, you might want {@link #ACCESS_FINE_LOCATION}.
976         <p>Protection level: dangerous
977    -->
978    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
979        android:permissionGroup="android.permission-group.UNDEFINED"
980        android:label="@string/permlab_accessCoarseLocation"
981        android:description="@string/permdesc_accessCoarseLocation"
982        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
983        android:protectionLevel="dangerous|instant" />
984
985    <!-- Allows an app to access location in the background. If you're requesting this permission,
986         you must also request either {@link #ACCESS_COARSE_LOCATION} or
987         {@link #ACCESS_FINE_LOCATION}. Requesting this permission by itself doesn't give you
988         location access.
989         <p>Protection level: dangerous
990
991         <p> This is a hard restricted permission which cannot be held by an app until
992         the installer on record whitelists the permission. For more details see
993         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
994    -->
995    <permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"
996        android:permissionGroup="android.permission-group.UNDEFINED"
997        android:label="@string/permlab_accessBackgroundLocation"
998        android:permissionFlags="hardRestricted"
999        android:description="@string/permdesc_accessBackgroundLocation"
1000        android:protectionLevel="dangerous|instant" />
1001
1002    <!-- ====================================================================== -->
1003    <!-- Permissions for accessing the call log                                 -->
1004    <!-- ====================================================================== -->
1005    <eat-comment />
1006
1007    <!-- Used for permissions that are associated telephony features. -->
1008    <permission-group android:name="android.permission-group.CALL_LOG"
1009        android:icon="@drawable/perm_group_call_log"
1010        android:label="@string/permgrouplab_calllog"
1011        android:description="@string/permgroupdesc_calllog"
1012        android:priority="450" />
1013
1014    <!-- Allows an application to access the IMS call service: making and
1015         modifying a call
1016        <p>Protection level: signature|privileged
1017        @hide
1018    -->
1019    <permission android:name="android.permission.ACCESS_IMS_CALL_SERVICE"
1020        android:label="@string/permlab_accessImsCallService"
1021        android:description="@string/permdesc_accessImsCallService"
1022        android:protectionLevel="signature|privileged" />
1023
1024    <!-- Allows an application to read the user's call log.
1025         <p class="note"><strong>Note:</strong> If your app uses the
1026         {@link #READ_CONTACTS} permission and <em>both</em> your <a
1027         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1028         minSdkVersion}</a> and <a
1029         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1030         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1031         grants your app this permission. If you don't need this permission, be sure your <a
1032         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1033         targetSdkVersion}</a> is 16 or higher.</p>
1034         <p>Protection level: dangerous
1035
1036         <p> This is a hard restricted permission which cannot be held by an app until
1037         the installer on record whitelists the permission. For more details see
1038         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1039    -->
1040    <permission android:name="android.permission.READ_CALL_LOG"
1041        android:permissionGroup="android.permission-group.UNDEFINED"
1042        android:label="@string/permlab_readCallLog"
1043        android:description="@string/permdesc_readCallLog"
1044        android:permissionFlags="hardRestricted"
1045        android:protectionLevel="dangerous" />
1046
1047    <!-- Allows an application to write (but not read) the user's
1048         call log data.
1049         <p class="note"><strong>Note:</strong> If your app uses the
1050         {@link #WRITE_CONTACTS} permission and <em>both</em> your <a
1051         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1052         minSdkVersion}</a> and <a
1053         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1054         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
1055         grants your app this permission. If you don't need this permission, be sure your <a
1056         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1057         targetSdkVersion}</a> is 16 or higher.</p>
1058         <p>Protection level: dangerous
1059
1060         <p> This is a hard restricted permission which cannot be held by an app until
1061         the installer on record whitelists the permission. For more details see
1062         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1063    -->
1064    <permission android:name="android.permission.WRITE_CALL_LOG"
1065        android:permissionGroup="android.permission-group.UNDEFINED"
1066        android:label="@string/permlab_writeCallLog"
1067        android:description="@string/permdesc_writeCallLog"
1068        android:permissionFlags="hardRestricted"
1069        android:protectionLevel="dangerous" />
1070
1071    <!-- Allows an application to see the number being dialed during an outgoing
1072         call with the option to redirect the call to a different number or
1073         abort the call altogether.
1074         <p>Protection level: dangerous
1075
1076         <p> This is a hard restricted permission which cannot be held by an app until
1077         the installer on record whitelists the permission. For more details see
1078         {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}.
1079
1080         @deprecated Applications should use {@link android.telecom.CallRedirectionService} instead
1081         of the {@link android.content.Intent#ACTION_NEW_OUTGOING_CALL} broadcast.
1082    -->
1083    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
1084        android:permissionGroup="android.permission-group.UNDEFINED"
1085        android:label="@string/permlab_processOutgoingCalls"
1086        android:description="@string/permdesc_processOutgoingCalls"
1087        android:permissionFlags="hardRestricted"
1088        android:protectionLevel="dangerous" />
1089
1090    <!-- ====================================================================== -->
1091    <!-- Permissions for accessing the device telephony                         -->
1092    <!-- ====================================================================== -->
1093    <eat-comment />
1094
1095    <!-- Used for permissions that are associated telephony features. -->
1096    <permission-group android:name="android.permission-group.PHONE"
1097        android:icon="@drawable/perm_group_phone_calls"
1098        android:label="@string/permgrouplab_phone"
1099        android:description="@string/permgroupdesc_phone"
1100        android:priority="500" />
1101
1102    <!-- Allows read only access to phone state, including the current cellular network information,
1103         the status of any ongoing calls, and a list of any {@link android.telecom.PhoneAccount}s
1104         registered on the device.
1105         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1106         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1107         minSdkVersion}</a> and <a
1108         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1109         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1110         grants your app this permission. If you don't need this permission, be sure your <a
1111         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1112         targetSdkVersion}</a> is 4 or higher.
1113         <p>Protection level: dangerous
1114    -->
1115    <permission android:name="android.permission.READ_PHONE_STATE"
1116        android:permissionGroup="android.permission-group.UNDEFINED"
1117        android:label="@string/permlab_readPhoneState"
1118        android:description="@string/permdesc_readPhoneState"
1119        android:protectionLevel="dangerous" />
1120
1121    <!-- Allows read access to the device's phone number(s). This is a subset of the capabilities
1122         granted by {@link #READ_PHONE_STATE} but is exposed to instant applications.
1123         <p>Protection level: dangerous-->
1124    <permission android:name="android.permission.READ_PHONE_NUMBERS"
1125        android:permissionGroup="android.permission-group.UNDEFINED"
1126        android:label="@string/permlab_readPhoneNumbers"
1127        android:description="@string/permdesc_readPhoneNumbers"
1128        android:protectionLevel="dangerous|instant" />
1129
1130    <!-- Allows an application to initiate a phone call without going through
1131        the Dialer user interface for the user to confirm the call.
1132        <p>Protection level: dangerous
1133    -->
1134    <permission android:name="android.permission.CALL_PHONE"
1135        android:permissionGroup="android.permission-group.UNDEFINED"
1136        android:permissionFlags="costsMoney"
1137        android:label="@string/permlab_callPhone"
1138        android:description="@string/permdesc_callPhone"
1139        android:protectionLevel="dangerous" />
1140
1141    <!-- Allows an application to add voicemails into the system.
1142         <p>Protection level: dangerous
1143    -->
1144    <permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
1145        android:permissionGroup="android.permission-group.UNDEFINED"
1146        android:label="@string/permlab_addVoicemail"
1147        android:description="@string/permdesc_addVoicemail"
1148        android:protectionLevel="dangerous" />
1149
1150    <!-- Allows an application to use SIP service.
1151         <p>Protection level: dangerous
1152    -->
1153    <permission android:name="android.permission.USE_SIP"
1154        android:permissionGroup="android.permission-group.UNDEFINED"
1155        android:description="@string/permdesc_use_sip"
1156        android:label="@string/permlab_use_sip"
1157        android:protectionLevel="dangerous"/>
1158
1159    <!-- Allows the app to answer an incoming phone call.
1160         <p>Protection level: dangerous
1161    -->
1162    <permission android:name="android.permission.ANSWER_PHONE_CALLS"
1163        android:permissionGroup="android.permission-group.UNDEFINED"
1164        android:label="@string/permlab_answerPhoneCalls"
1165        android:description="@string/permdesc_answerPhoneCalls"
1166        android:protectionLevel="dangerous|runtime" />
1167
1168    <!-- Allows a calling application which manages it own calls through the self-managed
1169         {@link android.telecom.ConnectionService} APIs.  See
1170         {@link android.telecom.PhoneAccount#CAPABILITY_SELF_MANAGED} for more information on the
1171         self-managed ConnectionService APIs.
1172         <p>Protection level: normal
1173    -->
1174    <permission android:name="android.permission.MANAGE_OWN_CALLS"
1175                android:label="@string/permlab_manageOwnCalls"
1176                android:description="@string/permdesc_manageOwnCalls"
1177                android:protectionLevel="normal" />
1178
1179    <!--Allows an app which implements the
1180        {@link android.telecom.InCallService InCallService} API to be eligible to be enabled as a
1181        calling companion app. This means that the Telecom framework will bind to the app's
1182        InCallService implementation when there are calls active. The app can use the InCallService
1183        API to view information about calls on the system and control these calls.
1184        <p>Protection level: normal
1185    -->
1186    <permission android:name="android.permission.CALL_COMPANION_APP"
1187                android:label="@string/permlab_callCompanionApp"
1188                android:description="@string/permdesc_callCompanionApp"
1189                android:protectionLevel="normal" />
1190
1191    <!-- Exempt this uid from restrictions to background audio recoding
1192     <p>Protection level: signature|privileged
1193     @hide
1194     @SystemApi
1195    -->
1196    <permission android:name="android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS"
1197                android:label="@string/permlab_exemptFromAudioRecordRestrictions"
1198                android:description="@string/permdesc_exemptFromAudioRecordRestrictions"
1199                android:protectionLevel="signature|privileged" />
1200
1201    <!-- Allows a calling app to continue a call which was started in another app.  An example is a
1202         video calling app that wants to continue a voice call on the user's mobile network.<p>
1203         When the handover of a call from one app to another takes place, there are two devices
1204         which are involved in the handover; the initiating and receiving devices.  The initiating
1205         device is where the request to handover the call was started, and the receiving device is
1206         where the handover request is confirmed by the other party.<p>
1207         This permission protects access to the
1208         {@link android.telecom.TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)} which
1209         the receiving side of the handover uses to accept a handover.
1210         <p>Protection level: dangerous
1211    -->
1212    <permission android:name="android.permission.ACCEPT_HANDOVER"
1213                android:permissionGroup="android.permission-group.UNDEFINED"
1214                android.label="@string/permlab_acceptHandover"
1215                android:description="@string/permdesc_acceptHandovers"
1216                android:protectionLevel="dangerous" />
1217
1218    <!-- ====================================================================== -->
1219    <!-- Permissions for accessing the device microphone                        -->
1220    <!-- ====================================================================== -->
1221    <eat-comment />
1222
1223    <!-- Used for permissions that are associated with accessing
1224         microphone audio from the device. Note that phone calls also capture audio
1225         but are in a separate (more visible) permission group. -->
1226    <permission-group android:name="android.permission-group.MICROPHONE"
1227        android:icon="@drawable/perm_group_microphone"
1228        android:label="@string/permgrouplab_microphone"
1229        android:description="@string/permgroupdesc_microphone"
1230        android:priority="600" />
1231
1232    <!-- Allows an application to record audio.
1233         <p>Protection level: dangerous
1234    -->
1235    <permission android:name="android.permission.RECORD_AUDIO"
1236        android:permissionGroup="android.permission-group.UNDEFINED"
1237        android:label="@string/permlab_recordAudio"
1238        android:description="@string/permdesc_recordAudio"
1239        android:protectionLevel="dangerous|instant" />
1240
1241    <!-- ====================================================================== -->
1242    <!-- Permissions for activity recognition                        -->
1243    <!-- ====================================================================== -->
1244    <eat-comment />
1245
1246    <!-- Used for permissions that are associated with activity recognition. -->
1247    <permission-group android:name="android.permission-group.ACTIVITY_RECOGNITION"
1248        android:icon="@drawable/perm_group_activity_recognition"
1249        android:label="@string/permgrouplab_activityRecognition"
1250        android:description="@string/permgroupdesc_activityRecognition"
1251        android:priority="1000" />
1252
1253    <!-- Allows an application to recognize physical activity.
1254         <p>Protection level: dangerous
1255    -->
1256    <permission android:name="android.permission.ACTIVITY_RECOGNITION"
1257        android:permissionGroup="android.permission-group.UNDEFINED"
1258        android:label="@string/permlab_activityRecognition"
1259        android:description="@string/permdesc_activityRecognition"
1260        android:protectionLevel="dangerous|instant" />
1261
1262    <!-- ====================================================================== -->
1263    <!-- Permissions for accessing the UCE Service                              -->
1264    <!-- ====================================================================== -->
1265
1266    <!-- @hide Allows an application to Access UCE-Presence.
1267         <p>Protection level: signature|privileged
1268    -->
1269    <permission android:name="android.permission.ACCESS_UCE_PRESENCE_SERVICE"
1270        android:permissionGroup="android.permission-group.PHONE"
1271        android:protectionLevel="signature|privileged"/>
1272
1273    <!-- @hide Allows an application to Access UCE-OPTIONS.
1274         <p>Protection level: signature|privileged
1275    -->
1276    <permission android:name="android.permission.ACCESS_UCE_OPTIONS_SERVICE"
1277        android:permissionGroup="android.permission-group.PHONE"
1278        android:protectionLevel="signature|privileged"/>
1279
1280
1281
1282    <!-- ====================================================================== -->
1283    <!-- Permissions for accessing the device camera                            -->
1284    <!-- ====================================================================== -->
1285    <eat-comment />
1286
1287    <!-- Used for permissions that are associated with accessing
1288     camera or capturing images/video from the device. -->
1289    <permission-group android:name="android.permission-group.CAMERA"
1290        android:icon="@drawable/perm_group_camera"
1291        android:label="@string/permgrouplab_camera"
1292        android:description="@string/permgroupdesc_camera"
1293        android:priority="700" />
1294
1295    <!-- Required to be able to access the camera device.
1296         <p>This will automatically enforce the
1297         <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">
1298         uses-feature</a> manifest element for <em>all</em> camera features.
1299         If you do not require all camera features or can properly operate if a camera
1300         is not available, then you must modify your manifest as appropriate in order to
1301         install on devices that don't support all camera features.</p>
1302         <p>Protection level: dangerous
1303    -->
1304    <permission android:name="android.permission.CAMERA"
1305        android:permissionGroup="android.permission-group.UNDEFINED"
1306        android:label="@string/permlab_camera"
1307        android:description="@string/permdesc_camera"
1308        android:protectionLevel="dangerous|instant" />
1309
1310    <!-- @SystemApi Required in addition to android.permission.CAMERA to be able to access
1311           system only camera devices.
1312           <p>Protection level: system|signature
1313           @hide -->
1314    <permission android:name="android.permission.SYSTEM_CAMERA"
1315        android:permissionGroup="android.permission-group.UNDEFINED"
1316        android:label="@string/permlab_systemCamera"
1317        android:description="@string/permdesc_systemCamera"
1318        android:protectionLevel="system|signature" />
1319
1320    <!-- Allows receiving the camera service notifications when a camera is opened
1321            (by a certain application package) or closed.
1322        @hide -->
1323    <permission android:name="android.permission.CAMERA_OPEN_CLOSE_LISTENER"
1324        android:permissionGroup="android.permission-group.UNDEFINED"
1325        android:label="@string/permlab_cameraOpenCloseListener"
1326        android:description="@string/permdesc_cameraOpenCloseListener"
1327        android:protectionLevel="signature" />
1328
1329    <!-- ====================================================================== -->
1330    <!-- Permissions for accessing the device sensors                           -->
1331    <!-- ====================================================================== -->
1332    <eat-comment />
1333
1334    <!-- Used for permissions that are associated with accessing
1335         body or environmental sensors. -->
1336    <permission-group android:name="android.permission-group.SENSORS"
1337        android:icon="@drawable/perm_group_sensors"
1338        android:label="@string/permgrouplab_sensors"
1339        android:description="@string/permgroupdesc_sensors"
1340        android:priority="800" />
1341
1342    <!-- Allows an application to access data from sensors that the user uses to
1343         measure what is happening inside his/her body, such as heart rate.
1344         <p>Protection level: dangerous -->
1345    <permission android:name="android.permission.BODY_SENSORS"
1346        android:permissionGroup="android.permission-group.UNDEFINED"
1347        android:label="@string/permlab_bodySensors"
1348        android:description="@string/permdesc_bodySensors"
1349        android:protectionLevel="dangerous" />
1350
1351    <!-- Allows an app to use fingerprint hardware.
1352         <p>Protection level: normal
1353         @deprecated Applications should request {@link
1354         android.Manifest.permission#USE_BIOMETRIC} instead
1355    -->
1356    <permission android:name="android.permission.USE_FINGERPRINT"
1357        android:permissionGroup="android.permission-group.SENSORS"
1358        android:label="@string/permlab_useFingerprint"
1359        android:description="@string/permdesc_useFingerprint"
1360        android:protectionLevel="normal" />
1361
1362    <!-- Allows an app to use device supported biometric modalities.
1363         <p>Protection level: normal
1364    -->
1365    <permission android:name="android.permission.USE_BIOMETRIC"
1366        android:permissionGroup="android.permission-group.SENSORS"
1367        android:label="@string/permlab_useBiometric"
1368        android:description="@string/permdesc_useBiometric"
1369        android:protectionLevel="normal" />
1370
1371    <!-- ====================================================================== -->
1372    <!-- REMOVED PERMISSIONS                                                    -->
1373    <!-- ====================================================================== -->
1374
1375    <!-- @hide We need to keep this around for backwards compatibility -->
1376    <permission android:name="android.permission.READ_PROFILE"
1377        android:protectionLevel="normal"
1378        android:permissionFlags="removed"/>
1379
1380    <!-- @hide We need to keep this around for backwards compatibility -->
1381    <permission android:name="android.permission.WRITE_PROFILE"
1382        android:protectionLevel="normal"
1383        android:permissionFlags="removed"/>
1384
1385    <!-- @hide We need to keep this around for backwards compatibility -->
1386    <permission android:name="android.permission.READ_SOCIAL_STREAM"
1387        android:protectionLevel="normal"
1388        android:permissionFlags="removed"/>
1389
1390    <!-- @hide We need to keep this around for backwards compatibility -->
1391    <permission android:name="android.permission.WRITE_SOCIAL_STREAM"
1392        android:protectionLevel="normal"
1393        android:permissionFlags="removed"/>
1394
1395    <!-- @hide We need to keep this around for backwards compatibility -->
1396    <permission android:name="android.permission.READ_USER_DICTIONARY"
1397        android:protectionLevel="normal"
1398        android:permissionFlags="removed"/>
1399
1400    <!-- @hide We need to keep this around for backwards compatibility -->
1401    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
1402        android:protectionLevel="normal"
1403        android:permissionFlags="removed"/>
1404
1405    <!-- @hide We need to keep this around for backwards compatibility -->
1406    <permission android:name="android.permission.WRITE_SMS"
1407        android:protectionLevel="normal"
1408        android:permissionFlags="removed"/>
1409
1410    <!-- @hide We need to keep this around for backwards compatibility -->
1411    <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
1412        android:protectionLevel="normal"
1413        android:permissionFlags="removed"/>
1414
1415    <!-- @hide We need to keep this around for backwards compatibility -->
1416    <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
1417        android:protectionLevel="normal"
1418        android:permissionFlags="removed"/>
1419
1420    <!-- @hide We need to keep this around for backwards compatibility -->
1421    <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"
1422        android:protectionLevel="normal"
1423        android:permissionFlags="removed"/>
1424
1425    <!-- @hide We need to keep this around for backwards compatibility -->
1426    <permission android:name="android.permission.MANAGE_ACCOUNTS"
1427        android:protectionLevel="normal"
1428        android:permissionFlags="removed"/>
1429
1430    <!-- @hide We need to keep this around for backwards compatibility -->
1431    <permission android:name="android.permission.USE_CREDENTIALS"
1432        android:protectionLevel="normal"
1433        android:permissionFlags="removed"/>
1434
1435    <!-- @hide We need to keep this around for backwards compatibility -->
1436    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
1437        android:protectionLevel="normal"
1438        android:permissionFlags="removed"/>
1439
1440    <!-- @hide We need to keep this around for backwards compatibility -->
1441    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
1442        android:protectionLevel="normal"
1443        android:permissionFlags="removed"/>
1444
1445    <!-- @hide We need to keep this around for backwards compatibility -->
1446    <permission android:name="android.permission.FLASHLIGHT"
1447        android:protectionLevel="normal"
1448        android:permissionFlags="removed"/>
1449
1450    <!-- ====================================================================== -->
1451    <!-- INSTALL PERMISSIONS                                                    -->
1452    <!-- ====================================================================== -->
1453
1454    <!-- ================================== -->
1455    <!-- Permissions for accessing messages -->
1456    <!-- ================================== -->
1457    <eat-comment />
1458
1459    <!-- Allows an application (Phone) to send a request to other applications
1460         to handle the respond-via-message action during incoming calls.
1461         <p>Not for use by third-party applications. -->
1462    <permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE"
1463        android:protectionLevel="signature|privileged" />
1464
1465    <!-- @SystemApi Allows an application to send SMS to premium shortcodes without user permission.
1466         <p>Not for use by third-party applications.
1467         @hide -->
1468    <permission android:name="android.permission.SEND_SMS_NO_CONFIRMATION"
1469        android:protectionLevel="signature|privileged" />
1470
1471    <!-- Allows an application to filter carrier specific sms.
1472         @hide -->
1473    <permission android:name="android.permission.CARRIER_FILTER_SMS"
1474        android:protectionLevel="signature|privileged" />
1475
1476    <!-- @SystemApi Allows an application to receive emergency cell broadcast messages,
1477         to record or display them to the user.
1478         <p>Not for use by third-party applications.
1479         @hide -->
1480    <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"
1481        android:protectionLevel="signature|privileged" />
1482
1483    <!-- Allows an application to monitor incoming Bluetooth MAP messages, to record
1484         or perform processing on them. -->
1485    <!-- @hide -->
1486    <permission android:name="android.permission.RECEIVE_BLUETOOTH_MAP"
1487        android:protectionLevel="signature|privileged" />
1488
1489    <!-- @SystemApi @hide Allows an application to execute contacts directory search.
1490         This should only be used by ContactsProvider.
1491         <p>Not for use by third-party applications. -->
1492    <permission android:name="android.permission.BIND_DIRECTORY_SEARCH"
1493        android:protectionLevel="signature|privileged" />
1494
1495    <!-- @SystemApi @hide Allows an application to modify cell broadcasts through the content provider.
1496         <p>Not for use by third-party applications. -->
1497    <permission android:name="android.permission.MODIFY_CELL_BROADCASTS"
1498                android:protectionLevel="signature|privileged" />
1499
1500    <!-- =============================================================== -->
1501    <!-- Permissions for setting the device alarm                        -->
1502    <!-- =============================================================== -->
1503    <eat-comment />
1504
1505    <!-- Allows an application to broadcast an Intent to set an alarm for the user.
1506         <p>Protection level: normal
1507    -->
1508    <permission android:name="com.android.alarm.permission.SET_ALARM"
1509        android:label="@string/permlab_setAlarm"
1510        android:description="@string/permdesc_setAlarm"
1511        android:protectionLevel="normal" />
1512
1513    <!-- =============================================================== -->
1514    <!-- Permissions for accessing the user voicemail                    -->
1515    <!-- =============================================================== -->
1516    <eat-comment />
1517
1518    <!-- Allows an application to modify and remove existing voicemails in the system.
1519        <p>Protection level: signature|privileged
1520    -->
1521    <permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"
1522        android:protectionLevel="signature|privileged" />
1523
1524    <!-- Allows an application to read voicemails in the system.
1525         <p>Protection level: signature|privileged
1526    -->
1527    <permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"
1528        android:protectionLevel="signature|privileged" />
1529
1530    <!-- ======================================= -->
1531    <!-- Permissions for accessing location info -->
1532    <!-- ======================================= -->
1533    <eat-comment />
1534
1535    <!-- Allows an application to access extra location provider commands.
1536         <p>Protection level: normal
1537    -->
1538    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
1539        android:label="@string/permlab_accessLocationExtraCommands"
1540        android:description="@string/permdesc_accessLocationExtraCommands"
1541        android:protectionLevel="normal" />
1542
1543    <!-- Allows an application to install a location provider into the Location Manager.
1544    <p>Not for use by third-party applications. -->
1545    <permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"
1546        android:protectionLevel="signature|privileged" />
1547
1548    <!-- @SystemApi @hide Allows HDMI-CEC service to access device and configuration files.
1549         This should only be used by HDMI-CEC service.
1550    -->
1551    <permission android:name="android.permission.HDMI_CEC"
1552        android:protectionLevel="signature|privileged|vendorPrivileged" />
1553
1554    <!-- Allows an application to use location features in hardware,
1555         such as the geofencing api.
1556         <p>Not for use by third-party applications. -->
1557    <permission android:name="android.permission.LOCATION_HARDWARE"
1558        android:protectionLevel="signature|privileged" />
1559    <uses-permission android:name="android.permission.LOCATION_HARDWARE"/>
1560
1561    <!-- @SystemApi Allows an application to use the Context Hub.
1562         <p>Not for use by third-party applications.
1563         @hide
1564    -->
1565    <permission android:name="android.permission.ACCESS_CONTEXT_HUB"
1566        android:protectionLevel="signature|privileged" />
1567    <uses-permission android:name="android.permission.ACCESS_CONTEXT_HUB"/>
1568
1569    <!-- @SystemApi Allows an application to create mock location providers for testing.
1570         <p>Protection level: signature
1571         @hide
1572    -->
1573    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
1574        android:protectionLevel="signature" />
1575
1576    <!-- ======================================= -->
1577    <!-- Permissions for accessing networks -->
1578    <!-- ======================================= -->
1579    <eat-comment />
1580
1581    <!-- Allows applications to open network sockets.
1582         <p>Protection level: normal
1583    -->
1584    <permission android:name="android.permission.INTERNET"
1585        android:description="@string/permdesc_createNetworkSockets"
1586        android:label="@string/permlab_createNetworkSockets"
1587        android:protectionLevel="normal|instant" />
1588
1589    <!-- Allows applications to access information about networks.
1590         <p>Protection level: normal
1591    -->
1592    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
1593        android:description="@string/permdesc_accessNetworkState"
1594        android:label="@string/permlab_accessNetworkState"
1595        android:protectionLevel="normal|instant" />
1596
1597    <!-- Allows applications to access information about Wi-Fi networks.
1598         <p>Protection level: normal
1599    -->
1600    <permission android:name="android.permission.ACCESS_WIFI_STATE"
1601        android:description="@string/permdesc_accessWifiState"
1602        android:label="@string/permlab_accessWifiState"
1603        android:protectionLevel="normal" />
1604
1605    <!-- Allows applications to change Wi-Fi connectivity state.
1606         <p>Protection level: normal
1607    -->
1608    <permission android:name="android.permission.CHANGE_WIFI_STATE"
1609        android:description="@string/permdesc_changeWifiState"
1610        android:label="@string/permlab_changeWifiState"
1611        android:protectionLevel="normal" />
1612
1613    <!-- @SystemApi @hide Allows apps to create and manage IPsec tunnels.
1614         <p>Only granted to applications that are currently bound by the
1615         system for creating and managing IPsec-based interfaces.
1616    -->
1617    <permission android:name="android.permission.MANAGE_IPSEC_TUNNELS"
1618        android:protectionLevel="signature|appop" />
1619
1620    <!-- @hide Allows apps to create and manage Test Networks.
1621         <p>Granted only to shell. CTS tests will use
1622         UiAutomation.AdoptShellPermissionIdentity() to gain access.
1623    -->
1624    <permission android:name="android.permission.MANAGE_TEST_NETWORKS"
1625        android:protectionLevel="signature" />
1626
1627    <!-- @SystemApi @hide Allows applications to read Wi-Fi credential.
1628         <p>Not for use by third-party applications. -->
1629    <permission android:name="android.permission.READ_WIFI_CREDENTIAL"
1630        android:protectionLevel="signature|privileged" />
1631
1632    <!-- @SystemApi @hide Allows applications to change tether state and run
1633         tether carrier provisioning.
1634         <p>Not for use by third-party applications. -->
1635    <permission android:name="android.permission.TETHER_PRIVILEGED"
1636        android:protectionLevel="signature|privileged" />
1637
1638    <!-- @SystemApi @hide Allow system apps to receive broadcast
1639         when a wifi network credential is changed.
1640         <p>Not for use by third-party applications. -->
1641    <permission android:name="android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE"
1642        android:protectionLevel="signature|privileged" />
1643
1644    <!-- @SystemApi @hide Allows an application to modify any wifi configuration, even if created
1645     by another application. Once reconfigured the original creator cannot make any further
1646     modifications.
1647     <p>Not for use by third-party applications. -->
1648    <permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"
1649        android:protectionLevel="signature|privileged" />
1650
1651    <!-- Allows applications to act as network scorers. @hide @SystemApi-->
1652    <permission android:name="android.permission.SCORE_NETWORKS"
1653        android:protectionLevel="signature|privileged" />
1654
1655    <!-- Allows applications to request network
1656         recommendations and scores from the NetworkScoreService.
1657         @SystemApi
1658         <p>Not for use by third-party applications. @hide -->
1659    <permission android:name="android.permission.REQUEST_NETWORK_SCORES"
1660        android:protectionLevel="signature|setup" />
1661
1662    <!-- @SystemApi @hide Allows applications to toggle airplane mode.
1663         <p>Not for use by third-party or privileged applications.
1664    -->
1665    <permission android:name="android.permission.NETWORK_AIRPLANE_MODE"
1666        android:protectionLevel="signature" />
1667
1668    <!-- Allows network stack services (Connectivity and Wifi) to coordinate
1669         <p>Not for use by third-party or privileged applications.
1670         @SystemApi @TestApi
1671         @hide This should only be used by Connectivity and Wifi Services.
1672    -->
1673    <permission android:name="android.permission.NETWORK_STACK"
1674        android:protectionLevel="signature" />
1675
1676    <!-- @SystemApi @hide Allows an application to observe network policy changes. -->
1677    <permission android:name="android.permission.OBSERVE_NETWORK_POLICY"
1678                android:protectionLevel="signature" />
1679
1680    <!-- @SystemApi @hide Allows applications to register network factory or agent -->
1681    <permission android:name="android.permission.NETWORK_FACTORY"
1682                android:protectionLevel="signature" />
1683
1684    <!-- @SystemApi @hide Allows applications to access network stats provider -->
1685    <permission android:name="android.permission.NETWORK_STATS_PROVIDER"
1686                android:protectionLevel="signature" />
1687
1688    <!-- Allows Settings and SystemUI to call methods in Networking services
1689         <p>Not for use by third-party or privileged applications.
1690         @SystemApi @TestApi
1691         @hide This should only be used by Settings and SystemUI.
1692    -->
1693    <permission android:name="android.permission.NETWORK_SETTINGS"
1694        android:protectionLevel="signature" />
1695
1696    <!-- Allows holder to request bluetooth/wifi scan bypassing global "use location" setting and
1697         location permissions.
1698         <p>Not for use by third-party or privileged applications.
1699         @SystemApi
1700         @hide
1701    -->
1702    <permission android:name="android.permission.RADIO_SCAN_WITHOUT_LOCATION"
1703                android:protectionLevel="signature|companion" />
1704
1705    <!-- Allows SetupWizard to call methods in Networking services
1706         <p>Not for use by any other third-party or privileged applications.
1707         @SystemApi
1708         @hide This should only be used by SetupWizard.
1709    -->
1710    <permission android:name="android.permission.NETWORK_SETUP_WIZARD"
1711        android:protectionLevel="signature|setup" />
1712
1713    <!-- Allows Managed Provisioning to call methods in Networking services
1714         <p>Not for use by any other third-party or privileged applications.
1715         @SystemApi
1716         @hide This should only be used by ManagedProvisioning app.
1717    -->
1718    <permission android:name="android.permission.NETWORK_MANAGED_PROVISIONING"
1719        android:protectionLevel="signature" />
1720
1721    <!-- Allows Carrier Provisioning to call methods in Networking services
1722         <p>Not for use by any other third-party or privileged applications.
1723         @SystemApi
1724         @hide This should only be used by CarrierProvisioning.
1725    -->
1726    <permission android:name="android.permission.NETWORK_CARRIER_PROVISIONING"
1727        android:protectionLevel="signature|privileged" />
1728
1729    <!-- #SystemApi @hide Allows applications to access information about LoWPAN interfaces.
1730         <p>Not for use by third-party applications. -->
1731    <permission android:name="android.permission.ACCESS_LOWPAN_STATE"
1732        android:protectionLevel="signature|privileged" />
1733
1734    <!-- #SystemApi @hide Allows applications to change LoWPAN connectivity state.
1735         <p>Not for use by third-party applications. -->
1736    <permission android:name="android.permission.CHANGE_LOWPAN_STATE"
1737        android:protectionLevel="signature|privileged" />
1738
1739    <!-- #SystemApi @hide Allows applications to read LoWPAN credential.
1740         <p>Not for use by third-party applications. -->
1741    <permission android:name="android.permission.READ_LOWPAN_CREDENTIAL"
1742        android:protectionLevel="signature|privileged" />
1743
1744    <!-- #SystemApi @hide Allows a service to register or unregister
1745         new LoWPAN interfaces.
1746         <p>Not for use by third-party applications. -->
1747    <permission android:name="android.permission.MANAGE_LOWPAN_INTERFACES"
1748        android:protectionLevel="signature|privileged" />
1749
1750    <!-- #SystemApi @hide Allows an app to bypass Private DNS.
1751         <p>Not for use by third-party applications.
1752         TODO: publish as system API in next API release. -->
1753    <permission android:name="android.permission.NETWORK_BYPASS_PRIVATE_DNS"
1754        android:protectionLevel="signature" />
1755
1756    <!-- @SystemApi @hide Allows device mobility state to be set so that Wifi scan interval can
1757         be increased when the device is stationary in order to save power.
1758         <p>Not for use by third-party applications. -->
1759    <permission android:name="android.permission.WIFI_SET_DEVICE_MOBILITY_STATE"
1760        android:protectionLevel="signature|privileged" />
1761
1762    <!-- @SystemApi @hide Allows privileged system APK to update Wifi usability stats and score.
1763         <p>Not for use by third-party applications. -->
1764    <permission android:name="android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE"
1765        android:protectionLevel="signature|privileged" />
1766
1767    <!-- ======================================= -->
1768    <!-- Permissions for short range, peripheral networks -->
1769    <!-- ======================================= -->
1770    <eat-comment />
1771
1772    <!-- Allows applications to connect to paired bluetooth devices.
1773         <p>Protection level: normal
1774    -->
1775    <permission android:name="android.permission.BLUETOOTH"
1776        android:description="@string/permdesc_bluetooth"
1777        android:label="@string/permlab_bluetooth"
1778        android:protectionLevel="normal" />
1779
1780    <!-- @SystemApi @TestApi Allows an application to suspend other apps, which will prevent the
1781         user from using them until they are unsuspended.
1782         @hide
1783    -->
1784    <permission android:name="android.permission.SUSPEND_APPS"
1785        android:protectionLevel="signature|wellbeing" />
1786
1787    <!-- Allows applications to discover and pair bluetooth devices.
1788         <p>Protection level: normal
1789    -->
1790    <permission android:name="android.permission.BLUETOOTH_ADMIN"
1791        android:description="@string/permdesc_bluetoothAdmin"
1792        android:label="@string/permlab_bluetoothAdmin"
1793        android:protectionLevel="normal" />
1794
1795    <!-- Allows applications to pair bluetooth devices without user interaction, and to
1796         allow or disallow phonebook access or message access.
1797         <p>Not for use by third-party applications. -->
1798    <permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
1799        android:protectionLevel="signature|privileged" />
1800
1801    <!-- Control access to email providers exclusively for Bluetooth
1802         @hide
1803    -->
1804    <permission android:name="android.permission.BLUETOOTH_MAP"
1805        android:protectionLevel="signature" />
1806
1807    <!-- Allows bluetooth stack to access files
1808         @hide This should only be used by Bluetooth apk.
1809    -->
1810    <permission android:name="android.permission.BLUETOOTH_STACK"
1811        android:protectionLevel="signature" />
1812
1813    <!-- Allows applications to perform I/O operations over NFC.
1814         <p>Protection level: normal
1815    -->
1816    <permission android:name="android.permission.NFC"
1817        android:description="@string/permdesc_nfc"
1818        android:label="@string/permlab_nfc"
1819        android:protectionLevel="normal" />
1820
1821    <!-- Allows applications to receive NFC transaction events.
1822         <p>Protection level: normal
1823    -->
1824    <permission android:name="android.permission.NFC_TRANSACTION_EVENT"
1825      android:protectionLevel="normal" />
1826
1827    <!-- Allows applications to receive NFC preferred payment service information.
1828         <p>Protection level: normal
1829    -->
1830    <permission android:name="android.permission.NFC_PREFERRED_PAYMENT_INFO"
1831        android:description="@string/permdesc_preferredPaymentInfo"
1832        android:label="@string/permlab_preferredPaymentInfo"
1833        android:protectionLevel="normal" />
1834
1835    <!-- @SystemApi Allows an internal user to use privileged SecureElement APIs.
1836         Applications holding this permission can access OMAPI reset system API
1837         and bypass OMAPI AccessControlEnforcer.
1838         <p>Not for use by third-party applications.
1839         @hide -->
1840    <permission android:name="android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION"
1841        android:protectionLevel="signature|privileged" />
1842
1843    <!-- @deprecated This permission used to allow too broad access to sensitive methods and all its
1844         uses have been replaced by a more appropriate permission. Most uses have been replaced with
1845         a NETWORK_STACK or NETWORK_SETTINGS check. Please look up the documentation of the
1846         individual functions to figure out what permission now protects the individual function.
1847         @SystemApi Allows an internal user to use privileged ConnectivityManager APIs.
1848         @hide -->
1849    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
1850        android:protectionLevel="signature|privileged" />
1851
1852    <!-- @SystemApi Allows an internal user to use restricted Networks.
1853         @hide -->
1854    <permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"
1855        android:protectionLevel="signature|privileged" />
1856    <uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>
1857
1858    <!-- @SystemApi Allows an internal user to set signal strength in NetworkRequest. This kind of
1859         request will wake up device when signal strength meets the given value.
1860         @hide -->
1861    <permission android:name="android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP"
1862                android:protectionLevel="signature|privileged" />
1863
1864    <!-- @SystemApi Allows a system application to access hardware packet offload capabilities.
1865         @hide -->
1866    <permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD"
1867        android:protectionLevel="signature|privileged" />
1868
1869    <!-- @SystemApi
1870         @hide -->
1871    <permission android:name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"
1872        android:protectionLevel="signature|privileged" />
1873
1874    <!-- @SystemApi Allows access to the loop radio (Android@Home mesh network) device.
1875         @hide -->
1876    <permission android:name="android.permission.LOOP_RADIO"
1877        android:protectionLevel="signature|privileged" />
1878
1879    <!-- Allows sending and receiving handover transfer status from Wifi and Bluetooth
1880         @hide -->
1881    <permission android:name="android.permission.NFC_HANDOVER_STATUS"
1882        android:protectionLevel="signature|privileged" />
1883
1884    <!-- @hide Allows internal management of Bluetooth state when on wireless consent mode.
1885         <p>Not for use by third-party applications. -->
1886    <permission android:name="android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED"
1887        android:protectionLevel="signature" />
1888
1889    <!-- @hide Allows the device to be reset, clearing all data and enables Test Harness Mode. -->
1890    <permission android:name="android.permission.ENABLE_TEST_HARNESS_MODE"
1891        android:protectionLevel="signature" />
1892
1893    <!-- ================================== -->
1894    <!-- Permissions for accessing accounts -->
1895    <!-- ================================== -->
1896    <eat-comment />
1897
1898    <!-- Allows access to the list of accounts in the Accounts Service.
1899
1900    <p class="note"><strong>Note:</strong> Beginning with Android 6.0 (API level
1901    23), if an app shares the signature of the authenticator that manages an
1902    account, it does not need <code>"GET_ACCOUNTS"</code> permission to read
1903    information about that account. On Android 5.1 and lower, all apps need
1904    <code>"GET_ACCOUNTS"</code> permission to read information about any
1905    account.</p>
1906
1907    <p>Protection level: dangerous
1908    -->
1909    <permission android:name="android.permission.GET_ACCOUNTS"
1910        android:permissionGroup="android.permission-group.UNDEFINED"
1911        android:protectionLevel="dangerous"
1912        android:description="@string/permdesc_getAccounts"
1913        android:label="@string/permlab_getAccounts" />
1914    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
1915
1916    <!-- Allows applications to call into AccountAuthenticators.
1917    <p>Not for use by third-party applications. -->
1918    <permission android:name="android.permission.ACCOUNT_MANAGER"
1919        android:protectionLevel="signature" />
1920
1921    <!-- ================================== -->
1922    <!-- Permissions for accessing hardware that may effect battery life-->
1923    <!-- ================================== -->
1924    <eat-comment />
1925
1926    <!-- Allows applications to enter Wi-Fi Multicast mode.
1927         <p>Protection level: normal
1928    -->
1929    <permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
1930        android:description="@string/permdesc_changeWifiMulticastState"
1931        android:label="@string/permlab_changeWifiMulticastState"
1932        android:protectionLevel="normal" />
1933
1934    <!-- Allows access to the vibrator.
1935         <p>Protection level: normal
1936    -->
1937    <permission android:name="android.permission.VIBRATE"
1938        android:label="@string/permlab_vibrate"
1939        android:description="@string/permdesc_vibrate"
1940        android:protectionLevel="normal|instant" />
1941
1942    <!-- Allows access to the vibrator always-on settings.
1943         <p>Protection level: signature
1944         @hide
1945    -->
1946    <permission android:name="android.permission.VIBRATE_ALWAYS_ON"
1947        android:protectionLevel="signature" />
1948
1949    <!-- @SystemApi Allows access to the vibrator state.
1950         <p>Protection level: signature
1951         @hide
1952    -->
1953    <permission android:name="android.permission.ACCESS_VIBRATOR_STATE"
1954        android:label="@string/permdesc_vibrator_state"
1955        android:description="@string/permdesc_vibrator_state"
1956        android:protectionLevel="signature|privileged" />
1957
1958    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
1959         from dimming.
1960         <p>Protection level: normal
1961    -->
1962    <permission android:name="android.permission.WAKE_LOCK"
1963        android:label="@string/permlab_wakeLock"
1964        android:description="@string/permdesc_wakeLock"
1965        android:protectionLevel="normal|instant" />
1966
1967    <!-- Allows using the device's IR transmitter, if available.
1968         <p>Protection level: normal
1969    -->
1970    <permission android:name="android.permission.TRANSMIT_IR"
1971        android:label="@string/permlab_transmitIr"
1972        android:description="@string/permdesc_transmitIr"
1973        android:protectionLevel="normal" />
1974
1975    <!-- ==================================================== -->
1976    <!-- Permissions related to changing audio settings   -->
1977    <!-- ==================================================== -->
1978    <eat-comment />
1979
1980    <!-- Allows an application to modify global audio settings.
1981         <p>Protection level: normal
1982    -->
1983    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
1984        android:label="@string/permlab_modifyAudioSettings"
1985        android:description="@string/permdesc_modifyAudioSettings"
1986        android:protectionLevel="normal" />
1987
1988    <!-- ======================================== -->
1989    <!-- Permissions for factory reset protection -->
1990    <!-- ======================================== -->
1991    <eat-comment />
1992
1993    <!-- @SystemApi Allows an application to set a factory reset protection (FRP) policy.
1994         <p>Not for use by third-party applications.
1995         @hide
1996    -->
1997    <permission android:name="android.permission.MANAGE_FACTORY_RESET_PROTECTION"
1998        android:protectionLevel="signature|privileged"/>
1999
2000    <!-- ================================== -->
2001    <!-- Permissions for accessing hardware -->
2002    <!-- ================================== -->
2003    <eat-comment />
2004
2005    <!-- @SystemApi Allows an application to manage preferences and permissions for USB devices
2006         @hide -->
2007    <permission android:name="android.permission.MANAGE_USB"
2008        android:protectionLevel="signature|privileged" />
2009
2010    <!-- @SystemApi Allows an application to manage Android Debug Bridge settings.
2011         <p>Not for use by third-party applications.
2012         @hide -->
2013    <permission android:name="android.permission.MANAGE_DEBUGGING"
2014        android:protectionLevel="signature|privileged" />
2015
2016    <!-- @SystemApi Allows an application to access the MTP USB kernel driver.
2017         For use only by the device side MTP implementation.
2018         @hide -->
2019    <permission android:name="android.permission.ACCESS_MTP"
2020        android:protectionLevel="signature|privileged" />
2021
2022    <!-- @SystemApi Allows access to hardware peripherals.  Intended only for hardware testing.
2023         <p>Not for use by third-party applications.
2024         @hide
2025    -->
2026    <permission android:name="android.permission.HARDWARE_TEST"
2027        android:protectionLevel="signature" />
2028
2029    <!-- @hide Allows an application to manage DynamicSystem image -->
2030    <permission android:name="android.permission.MANAGE_DYNAMIC_SYSTEM"
2031        android:protectionLevel="signature" />
2032
2033    <!-- @SystemApi Allows an application to install a DynamicSystem image and get status updates.
2034         @hide -->
2035    <permission android:name="android.permission.INSTALL_DYNAMIC_SYSTEM"
2036        android:protectionLevel="signature|privileged" />
2037
2038    <!-- @SystemApi Allows access to Broadcast Radio
2039         @hide This is not a third-party API (intended for system apps).-->
2040    <permission android:name="android.permission.ACCESS_BROADCAST_RADIO"
2041        android:protectionLevel="signature|privileged" />
2042
2043    <!-- @deprecated @SystemApi Allows access to FM
2044         @hide This is not a third-party API (intended for system apps).-->
2045    <permission android:name="android.permission.ACCESS_FM_RADIO"
2046        android:protectionLevel="signature|privileged" />
2047
2048    <!-- Allows access to configure network interfaces, configure/use IPSec, etc.
2049         @hide -->
2050    <permission android:name="android.permission.NET_ADMIN"
2051        android:protectionLevel="signature" />
2052
2053    <!-- Allows registration for remote audio playback. @hide -->
2054    <permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK"
2055        android:protectionLevel="signature" />
2056
2057    <!-- Allows TvInputService to access underlying TV input hardware such as
2058         built-in tuners and HDMI-in's.
2059         <p>This should only be used by OEM's TvInputService's.
2060         @hide @SystemApi -->
2061    <permission android:name="android.permission.TV_INPUT_HARDWARE"
2062        android:protectionLevel="signature|privileged|vendorPrivileged" />
2063
2064    <!-- Allows to capture a frame of TV input hardware such as
2065         built-in tuners and HDMI-in's.
2066         <p>Not for use by third-party applications.
2067         @hide @SystemApi -->
2068    <permission android:name="android.permission.CAPTURE_TV_INPUT"
2069        android:protectionLevel="signature|privileged" />
2070
2071    <!-- @hide Allows TvInputService to access DVB device.
2072   <p>Not for use by third-party applications. -->
2073    <permission android:name="android.permission.DVB_DEVICE"
2074        android:protectionLevel="signature|privileged" />
2075
2076    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by carrier state
2077         @hide <p>Not for use by third-party applications. -->
2078    <permission android:name="android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE"
2079        android:protectionLevel="signature|privileged" />
2080
2081    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by user state
2082         @hide <p>Not for use by third-party applications. -->
2083    <permission android:name="android.permission.MANAGE_USER_OEM_UNLOCK_STATE"
2084        android:protectionLevel="signature|privileged" />
2085
2086    <!-- @SystemApi Allows reading the OEM unlock state
2087         @hide <p>Not for use by third-party applications. -->
2088    <permission android:name="android.permission.READ_OEM_UNLOCK_STATE"
2089        android:protectionLevel="signature|privileged" />
2090
2091    <!-- @hide Allows enabling/disabling OEM unlock
2092   <p>Not for use by third-party applications. -->
2093    <permission android:name="android.permission.OEM_UNLOCK_STATE"
2094        android:protectionLevel="signature" />
2095
2096    <!-- @hide Allows querying state of PersistentDataBlock
2097   <p>Not for use by third-party applications. -->
2098    <permission android:name="android.permission.ACCESS_PDB_STATE"
2099        android:protectionLevel="signature" />
2100
2101    <!-- Allows testing if a passwords is forbidden by the admins.
2102         @hide <p>Not for use by third-party applications. -->
2103    <permission android:name="android.permission.TEST_BLACKLISTED_PASSWORD"
2104        android:protectionLevel="signature" />
2105
2106    <!-- @hide Allows system update service to notify device owner about pending updates.
2107   <p>Not for use by third-party applications. -->
2108    <permission android:name="android.permission.NOTIFY_PENDING_SYSTEM_UPDATE"
2109        android:protectionLevel="signature|privileged" />
2110
2111    <!-- =========================================== -->
2112    <!-- Permissions associated with camera and image capture -->
2113    <!-- =========================================== -->
2114    <eat-comment />
2115
2116    <!-- @SystemApi Allows disabling the transmit-indicator LED that is normally on when
2117         a camera is in use by an application.
2118         @hide -->
2119    <permission android:name="android.permission.CAMERA_DISABLE_TRANSMIT_LED"
2120        android:protectionLevel="signature|privileged" />
2121
2122    <!-- Allows sending the camera service notifications about system-wide events.
2123        @hide -->
2124    <permission android:name="android.permission.CAMERA_SEND_SYSTEM_EVENTS"
2125        android:protectionLevel="signature|privileged" />
2126
2127    <!-- =========================================== -->
2128    <!-- Permissions associated with telephony state -->
2129    <!-- =========================================== -->
2130    <eat-comment />
2131
2132    <!-- @SystemApi Allows granting runtime permissions to telephony related components.
2133         @hide -->
2134    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS"
2135        android:protectionLevel="signature" />
2136
2137    <!-- Allows modification of the telephony state - power on, mmi, etc.
2138         Does not include placing calls.
2139         <p>Not for use by third-party applications. -->
2140    <permission android:name="android.permission.MODIFY_PHONE_STATE"
2141        android:protectionLevel="signature|privileged" />
2142
2143    <!-- Allows read only access to precise phone state.
2144         Allows reading of detailed information about phone state for special-use applications
2145         such as dialers, carrier applications, or ims applications. -->
2146    <permission android:name="android.permission.READ_PRECISE_PHONE_STATE"
2147        android:protectionLevel="signature|privileged" />
2148
2149    <!-- @SystemApi Allows read access to privileged phone state.
2150         @hide Used internally. -->
2151    <permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
2152        android:protectionLevel="signature|privileged" />
2153
2154    <!-- @SystemApi Allows read access to emergency number information for ongoing calls or SMS
2155         sessions.
2156         @hide Used internally. -->
2157    <permission android:name="android.permission.READ_ACTIVE_EMERGENCY_SESSION"
2158        android:protectionLevel="signature" />
2159
2160    <!-- Allows listen permission to always reported signal strength.
2161         @hide Used internally. -->
2162    <permission android:name="android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH"
2163        android:protectionLevel="signature" />
2164
2165    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2166         PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION. This capability indicates that the PhoneAccount
2167         corresponds to a device SIM.
2168         @hide -->
2169    <permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION"
2170        android:protectionLevel="signature|privileged" />
2171
2172    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2173         PhoneAccount#CAPABILITY_CALL_PROVIDER.
2174         @hide -->
2175    <permission android:name="android.permission.REGISTER_CALL_PROVIDER"
2176        android:protectionLevel="signature|privileged" />
2177
2178    <!-- @SystemApi Protects the ability to register any PhoneAccount with
2179         PhoneAccount#CAPABILITY_CONNECTION_MANAGER
2180         @hide -->
2181    <permission android:name="android.permission.REGISTER_CONNECTION_MANAGER"
2182        android:protectionLevel="signature|privileged" />
2183
2184    <!-- Must be required by a {@link android.telecom.InCallService},
2185         to ensure that only the system can bind to it.
2186         <p>Protection level: signature|privileged
2187    -->
2188    <permission android:name="android.permission.BIND_INCALL_SERVICE"
2189        android:protectionLevel="signature|privileged" />
2190
2191    <!-- Allows the app to request network scans from telephony.
2192         <p>Not for use by third-party applications.
2193         @SystemApi @hide-->
2194    <permission android:name="android.permission.NETWORK_SCAN"
2195        android:protectionLevel="signature|privileged" />
2196
2197    <!-- Must be required by a link {@link android.telephony.VisualVoicemailService} to ensure that
2198         only the system can bind to it.
2199         <p>Protection level: signature|privileged
2200    -->
2201    <permission
2202      android:name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
2203      android:protectionLevel="signature|privileged"/>
2204
2205    <!-- Must be required by a {@link android.telecom.CallScreeningService},
2206         to ensure that only the system can bind to it.
2207         <p>Protection level: signature|privileged
2208    -->
2209    <permission android:name="android.permission.BIND_SCREENING_SERVICE"
2210        android:protectionLevel="signature|privileged" />
2211
2212    <!-- Must be required by a {@link android.telecom.PhoneAccountSuggestionService},
2213         to ensure that only the system can bind to it.
2214         <p>Protection level: signature
2215         @SystemApi
2216         @hide
2217    -->
2218    <permission android:name="android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE"
2219        android:protectionLevel="signature" />
2220
2221    <!-- Must be required by a {@link android.telecom.CallRedirectionService},
2222         to ensure that only the system can bind to it.
2223         <p>Protection level: signature|privileged
2224    -->
2225    <permission android:name="android.permission.BIND_CALL_REDIRECTION_SERVICE"
2226                android:protectionLevel="signature|privileged" />
2227
2228    <!-- Must be required by a {@link android.telecom.ConnectionService},
2229         to ensure that only the system can bind to it.
2230         @deprecated {@link android.telecom.ConnectionService}s should require
2231                 android.permission.BIND_TELECOM_CONNECTION_SERVICE instead.
2232         @SystemApi
2233         @hide -->
2234    <permission android:name="android.permission.BIND_CONNECTION_SERVICE"
2235        android:protectionLevel="signature|privileged" />
2236
2237    <!-- Must be required by a {@link android.telecom.ConnectionService},
2238         to ensure that only the system can bind to it.
2239         <p>Protection level: signature|privileged
2240    -->
2241    <permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
2242        android:protectionLevel="signature|privileged" />
2243
2244    <!-- @SystemApi Allows an application to control the in-call experience.
2245         @hide -->
2246    <permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"
2247        android:protectionLevel="signature|privileged" />
2248
2249    <!-- Allows an application to receive STK related commands.
2250         @hide -->
2251    <permission android:name="android.permission.RECEIVE_STK_COMMANDS"
2252        android:protectionLevel="signature|privileged" />
2253
2254      <!-- Allows an application to send EMBMS download intents to apps
2255           @hide -->
2256    <permission android:name="android.permission.SEND_EMBMS_INTENTS"
2257        android:protectionLevel="signature|privileged" />
2258
2259
2260    <!-- Allows internal management of the sensor framework
2261         @hide -->
2262    <permission android:name="android.permission.MANAGE_SENSORS"
2263        android:protectionLevel="signature" />
2264
2265    <!-- Must be required by an ImsService to ensure that only the
2266         system can bind to it.
2267         <p>Protection level: signature|privileged|vendorPrivileged
2268         @SystemApi
2269         @hide
2270    -->
2271    <permission android:name="android.permission.BIND_IMS_SERVICE"
2272        android:protectionLevel="signature|privileged|vendorPrivileged" />
2273
2274    <!-- Must be required by a telephony data service to ensure that only the
2275         system can bind to it.
2276         <p>Protection level: signature
2277         @SystemApi
2278         @hide
2279    -->
2280    <permission android:name="android.permission.BIND_TELEPHONY_DATA_SERVICE"
2281        android:protectionLevel="signature" />
2282
2283    <!-- Must be required by a NetworkService to ensure that only the
2284         system can bind to it.
2285         <p>Protection level: signature
2286         @SystemApi
2287         @hide
2288    -->
2289    <permission android:name="android.permission.BIND_TELEPHONY_NETWORK_SERVICE"
2290                android:protectionLevel="signature" />
2291
2292    <!-- @SystemApi Allows an application to manage embedded subscriptions (those on a eUICC)
2293         through EuiccManager APIs.
2294         <p>Protection level: signature|privileged|development
2295         @hide
2296    -->
2297    <permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
2298                android:protectionLevel="signature|privileged|development" />
2299
2300    <!-- @SystemApi Must be required by an EuiccService to ensure that only the system can bind to
2301         it.
2302         <p>Protection level: signature
2303         @hide
2304    -->
2305    <permission android:name="android.permission.BIND_EUICC_SERVICE"
2306                android:protectionLevel="signature" />
2307
2308    <!-- Required for reading information about carrier apps from SystemConfigManager.
2309         <p>Protection level: signature
2310         @SystemApi
2311         @hide
2312    -->
2313    <permission android:name="android.permission.READ_CARRIER_APP_INFO"
2314        android:protectionLevel="signature" />
2315
2316    <!-- ================================== -->
2317    <!-- Permissions for sdcard interaction -->
2318    <!-- ================================== -->
2319    <eat-comment />
2320
2321    <!-- @SystemApi @TestApi Allows an application to write to internal media storage
2322         @deprecated This permission is no longer honored in the system and no longer adds
2323         the media_rw gid as a supplementary gid to the holder. Use the
2324         android.permission.MANAGE_EXTERNAL_STORAGE instead.
2325         @hide  -->
2326    <permission android:name="android.permission.WRITE_MEDIA_STORAGE"
2327        android:protectionLevel="signature|privileged" />
2328
2329    <!-- Allows an application to manage access to documents, usually as part
2330         of a document picker.
2331         <p>This permission should <em>only</em> be requested by the platform
2332         document management app.  This permission cannot be granted to
2333         third-party apps.
2334    -->
2335    <permission android:name="android.permission.MANAGE_DOCUMENTS"
2336        android:protectionLevel="signature|documenter" />
2337
2338    <!-- Allows an application to manage access to crates, usually as part
2339         of a crates picker.
2340         <p>This permission should <em>only</em> be requested by the platform
2341         management app.  This permission cannot be granted to
2342         third-party apps.
2343         @hide
2344         @TestApi
2345    -->
2346    <permission android:name="android.permission.MANAGE_CRATES"
2347                android:protectionLevel="signature" />
2348
2349    <!-- @hide Allows an application to cache content.
2350         <p>Not for use by third-party applications.
2351    -->
2352    <permission android:name="android.permission.CACHE_CONTENT"
2353        android:protectionLevel="signature|documenter" />
2354
2355    <!-- @SystemApi @hide
2356         Allows an application to aggressively allocate disk space.
2357         <p>Not for use by third-party applications.
2358    -->
2359    <permission android:name="android.permission.ALLOCATE_AGGRESSIVE"
2360        android:protectionLevel="signature|privileged" />
2361
2362    <!-- @SystemApi @hide
2363         Allows an application to use reserved disk space.
2364         <p>Not for use by third-party applications.  Should only be requested by
2365         apps that provide core system functionality, to ensure system stability
2366         when disk is otherwise completely full.
2367    -->
2368    <permission android:name="android.permission.USE_RESERVED_DISK"
2369        android:protectionLevel="signature|privileged" />
2370
2371    <!-- ================================== -->
2372    <!-- Permissions for screenlock         -->
2373    <!-- ================================== -->
2374    <eat-comment />
2375
2376    <!-- Allows applications to disable the keyguard if it is not secure.
2377         <p>Protection level: normal
2378    -->
2379    <permission android:name="android.permission.DISABLE_KEYGUARD"
2380        android:description="@string/permdesc_disableKeyguard"
2381        android:label="@string/permlab_disableKeyguard"
2382        android:protectionLevel="normal" />
2383
2384    <!-- Allows an application to request the screen lock complexity and prompt users to update the
2385     screen lock to a certain complexity level.
2386     <p>Protection level: normal
2387    -->
2388    <permission android:name="android.permission.REQUEST_PASSWORD_COMPLEXITY"
2389                android:label="@string/permlab_requestPasswordComplexity"
2390                android:description="@string/permdesc_requestPasswordComplexity"
2391                android:protectionLevel="normal" />
2392
2393    <!-- ================================== -->
2394    <!-- Permissions to access other installed applications  -->
2395    <!-- ================================== -->
2396    <eat-comment />
2397
2398    <!-- @deprecated No longer enforced. -->
2399    <permission android:name="android.permission.GET_TASKS"
2400        android:label="@string/permlab_getTasks"
2401        android:description="@string/permdesc_getTasks"
2402        android:protectionLevel="normal" />
2403
2404    <!-- New version of GET_TASKS that apps can request, since GET_TASKS doesn't really
2405         give access to task information.  We need this new one because there are
2406         many existing apps that use add libraries and such that have validation
2407         code to ensure the app has requested the GET_TASKS permission by seeing
2408         if it has been granted the permission...  if it hasn't, it kills the app
2409         with a message about being upset.  So we need to have it continue to look
2410         like the app is getting that permission, even though it will never be
2411         checked, and new privileged apps can now request this one for real access.
2412         @hide
2413         @SystemApi -->
2414    <permission android:name="android.permission.REAL_GET_TASKS"
2415        android:protectionLevel="signature|privileged" />
2416
2417    <!-- Allows an application to start a task from a ActivityManager#RecentTaskInfo.
2418         @hide -->
2419    <permission android:name="android.permission.START_TASKS_FROM_RECENTS"
2420        android:protectionLevel="signature|privileged" />
2421
2422    <!-- @SystemApi @hide Allows an application to call APIs that allow it to do interactions
2423         across the users on the device, using singleton services and
2424         user-targeted broadcasts.  This permission is not available to
2425         third party applications. -->
2426    <permission android:name="android.permission.INTERACT_ACROSS_USERS"
2427        android:protectionLevel="signature|privileged|development" />
2428
2429    <!-- @SystemApi Fuller form of {@link android.Manifest.permission#INTERACT_ACROSS_USERS}
2430         that removes restrictions on where broadcasts can be sent and allows other
2431         types of interactions
2432         @hide -->
2433    <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
2434        android:protectionLevel="signature|installer" />
2435    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
2436
2437    <!-- Allows interaction across profiles in the same profile group. -->
2438    <permission android:name="android.permission.INTERACT_ACROSS_PROFILES"
2439        android:protectionLevel="signature|appop" />
2440
2441    <!-- Allows configuring apps to have the INTERACT_ACROSS_PROFILES permission so that they can
2442         interact across profiles in the same profile group.
2443         @hide -->
2444    <permission android:name="android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES"
2445        android:protectionLevel="signature" />
2446
2447    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query and manage
2448         users on the device. This permission is not available to
2449         third party applications. -->
2450    <permission android:name="android.permission.MANAGE_USERS"
2451        android:protectionLevel="signature|privileged" />
2452
2453    <!-- @SystemApi @hide Allows an application to create, remove users and get the list of
2454         users on the device. Applications holding this permission can only create restricted,
2455         guest, managed, demo, and ephemeral users. For creating other kind of users,
2456         {@link android.Manifest.permission#MANAGE_USERS} is needed.
2457         This permission is not available to third party applications. -->
2458    <permission android:name="android.permission.CREATE_USERS"
2459        android:protectionLevel="signature" />
2460
2461    <!-- @hide Allows an application to set the profile owners and the device owner.
2462         This permission is not available to third party applications.-->
2463    <permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"
2464        android:protectionLevel="signature"
2465        android:label="@string/permlab_manageProfileAndDeviceOwners"
2466        android:description="@string/permdesc_manageProfileAndDeviceOwners" />
2467
2468    <!-- Allows an application to get full detailed information about
2469         recently running tasks, with full fidelity to the real state.
2470         @hide -->
2471    <permission android:name="android.permission.GET_DETAILED_TASKS"
2472        android:protectionLevel="signature" />
2473
2474    <!-- Allows an application to change the Z-order of tasks.
2475         <p>Protection level: normal
2476    -->
2477    <permission android:name="android.permission.REORDER_TASKS"
2478        android:label="@string/permlab_reorderTasks"
2479        android:description="@string/permdesc_reorderTasks"
2480        android:protectionLevel="normal" />
2481
2482    <!-- @SystemApi @TestApi @hide Allows an application to change to remove/kill tasks -->
2483    <permission android:name="android.permission.REMOVE_TASKS"
2484        android:protectionLevel="signature|documenter" />
2485
2486    <!-- @SystemApi @TestApi @hide Allows an application to create/manage/remove stacks -->
2487    <permission android:name="android.permission.MANAGE_ACTIVITY_STACKS"
2488        android:protectionLevel="signature" />
2489
2490    <!-- @SystemApi @TestApi @hide Allows an application to embed other activities -->
2491    <permission android:name="android.permission.ACTIVITY_EMBEDDING"
2492                android:protectionLevel="signature|privileged" />
2493
2494    <!-- Allows an application to start any activity, regardless of permission
2495         protection or exported state.
2496         @hide -->
2497    <permission android:name="android.permission.START_ANY_ACTIVITY"
2498        android:protectionLevel="signature" />
2499
2500    <!-- Allows an application to start activities from background
2501         @hide -->
2502    <permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"
2503        android:protectionLevel="signature|privileged|vendorPrivileged|oem|verifier" />
2504
2505    <!-- @SystemApi Must be required by activities that handle the intent action
2506         {@link Intent#ACTION_SEND_SHOW_SUSPENDED_APP_DETAILS}. This is for use by apps that
2507         hold {@link Manifest.permission#SUSPEND_APPS} to interact with the system.
2508         <p>Not for use by third-party applications.
2509         @hide -->
2510    <permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS"
2511                android:protectionLevel="signature" />
2512    <uses-permission android:name="android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS" />
2513
2514    <!-- Allows an application to start an activity as another app, provided that app has been
2515         granted a permissionToken from the ActivityManagerService.
2516         @hide -->
2517    <permission android:name="android.permission.START_ACTIVITY_AS_CALLER"
2518        android:protectionLevel="signature" />
2519
2520    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
2521        API is no longer supported. -->
2522    <permission android:name="android.permission.RESTART_PACKAGES"
2523        android:label="@string/permlab_killBackgroundProcesses"
2524        android:description="@string/permdesc_killBackgroundProcesses"
2525        android:protectionLevel="normal" />
2526
2527    <!-- Allows an application to call
2528        {@link android.app.ActivityManager#killBackgroundProcesses}.
2529         <p>Protection level: normal
2530    -->
2531    <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
2532        android:label="@string/permlab_killBackgroundProcesses"
2533        android:description="@string/permdesc_killBackgroundProcesses"
2534        android:protectionLevel="normal" />
2535
2536    <!-- @SystemApi @hide Allows an application to query process states and current
2537         OOM adjustment scores.
2538         <p>Not for use by third-party applications. -->
2539    <permission android:name="android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"
2540        android:protectionLevel="signature|privileged|development" />
2541
2542    <!-- Allows use of PendingIntent.getIntent().
2543         @hide -->
2544    <permission android:name="android.permission.GET_INTENT_SENDER_INTENT"
2545        android:protectionLevel="signature" />
2546
2547    <!-- ================================== -->
2548    <!-- Permissions affecting the display of other applications  -->
2549    <!-- ================================== -->
2550    <eat-comment />
2551
2552    <!-- Allows an app to create windows using the type
2553         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
2554         shown on top of all other apps.  Very few apps
2555         should use this permission; these windows are intended for
2556         system-level interaction with the user.
2557
2558         <p class="note"><strong>Note:</strong> If the app
2559         targets API level 23 or higher, the app user must explicitly grant
2560         this permission to the app through a permission management screen. The app requests
2561         the user's approval by sending an intent with action
2562         {@link android.provider.Settings#ACTION_MANAGE_OVERLAY_PERMISSION}.
2563         The app can check whether it has this authorization by calling
2564         {@link android.provider.Settings#canDrawOverlays
2565         Settings.canDrawOverlays()}.
2566         <p>Protection level: signature|preinstalled|appop|pre23|development -->
2567    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
2568        android:label="@string/permlab_systemAlertWindow"
2569        android:description="@string/permdesc_systemAlertWindow"
2570        android:protectionLevel="signature|preinstalled|appop|pre23|development" />
2571
2572    <!-- @deprecated Use {@link android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
2573         @hide
2574    -->
2575    <permission android:name="android.permission.RUN_IN_BACKGROUND"
2576        android:label="@string/permlab_runInBackground"
2577        android:description="@string/permdesc_runInBackground"
2578        android:protectionLevel="signature" />
2579
2580    <!-- @deprecated Use
2581        {@link android.Manifest.permission#REQUEST_COMPANION_USE_DATA_IN_BACKGROUND}
2582         @hide
2583    -->
2584    <permission android:name="android.permission.USE_DATA_IN_BACKGROUND"
2585        android:label="@string/permlab_useDataInBackground"
2586        android:description="@string/permdesc_useDataInBackground"
2587        android:protectionLevel="signature" />
2588
2589    <!-- @hide Allows an application to set display offsets for the screen.
2590         This permission is not available to third party applications. -->
2591    <permission android:name="android.permission.SET_DISPLAY_OFFSET"
2592        android:protectionLevel="signature|privileged" />
2593
2594    <!-- Allows a companion app to run in the background.
2595         <p>Protection level: normal
2596    -->
2597    <permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"
2598                android:label="@string/permlab_runInBackground"
2599                android:description="@string/permdesc_runInBackground"
2600                android:protectionLevel="normal" />
2601
2602    <!-- Allows a companion app to use data in the background.
2603         <p>Protection level: normal
2604    -->
2605    <permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"
2606                android:label="@string/permlab_useDataInBackground"
2607                android:description="@string/permdesc_useDataInBackground"
2608                android:protectionLevel="normal" />
2609
2610    <!-- Allows a companion app to associate to Wi-Fi.
2611         <p>Only for use by a single pre-approved app.
2612         @hide
2613         @SystemApi
2614    -->
2615    <permission android:name="android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS"
2616                android:protectionLevel="signature|privileged" />
2617
2618
2619    <!-- ================================== -->
2620    <!-- Permissions affecting the system wallpaper -->
2621    <!-- ================================== -->
2622    <eat-comment />
2623
2624    <!-- Allows applications to set the wallpaper.
2625         <p>Protection level: normal
2626     -->
2627    <permission android:name="android.permission.SET_WALLPAPER"
2628        android:label="@string/permlab_setWallpaper"
2629        android:description="@string/permdesc_setWallpaper"
2630        android:protectionLevel="normal" />
2631
2632    <!-- Allows applications to set the wallpaper hints.
2633         <p>Protection level: normal
2634    -->
2635    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
2636        android:label="@string/permlab_setWallpaperHints"
2637        android:description="@string/permdesc_setWallpaperHints"
2638        android:protectionLevel="normal" />
2639
2640    <!-- Allow the app to read the system wallpaper image without
2641        holding the READ_EXTERNAL_STORAGE permission.
2642        <p>Not for use by third-party applications.
2643        @hide
2644        @SystemApi
2645    -->
2646    <permission android:name="android.permission.READ_WALLPAPER_INTERNAL"
2647        android:protectionLevel="signature|privileged" />
2648
2649    <!-- ===================================================== -->
2650    <!-- Permissions for changing the system clock / time zone -->
2651    <!-- ===================================================== -->
2652    <eat-comment />
2653
2654    <!-- Allows applications to set the system time directly.
2655         <p>Not for use by third-party applications. -->
2656    <permission android:name="android.permission.SET_TIME"
2657        android:protectionLevel="signature|privileged" />
2658
2659    <!-- Allows applications to set the system time zone directly.
2660         <p>Not for use by third-party applications.
2661    -->
2662    <permission android:name="android.permission.SET_TIME_ZONE"
2663        android:label="@string/permlab_setTimeZone"
2664        android:description="@string/permdesc_setTimeZone"
2665        android:protectionLevel="signature|privileged" />
2666
2667    <!-- Allows telephony to suggest the time / time zone.
2668         <p>Not for use by third-party applications.
2669         @hide
2670     -->
2671    <permission android:name="android.permission.SUGGEST_TELEPHONY_TIME_AND_ZONE"
2672        android:protectionLevel="signature" />
2673
2674    <!-- Allows applications like settings to suggest the user's manually chosen time / time zone.
2675         <p>Not for use by third-party applications.
2676         @hide
2677    -->
2678    <permission android:name="android.permission.SUGGEST_MANUAL_TIME_AND_ZONE"
2679        android:protectionLevel="signature" />
2680
2681    <!-- ==================================================== -->
2682    <!-- Permissions related to changing status bar   -->
2683    <!-- ==================================================== -->
2684    <eat-comment />
2685
2686    <!-- Allows an application to expand or collapse the status bar.
2687         <p>Protection level: normal
2688    -->
2689    <permission android:name="android.permission.EXPAND_STATUS_BAR"
2690        android:label="@string/permlab_expandStatusBar"
2691        android:description="@string/permdesc_expandStatusBar"
2692        android:protectionLevel="normal" />
2693
2694    <!-- ============================================================== -->
2695    <!-- Permissions related to adding/removing shortcuts from Launcher -->
2696    <!-- ============================================================== -->
2697    <eat-comment />
2698
2699    <!-- Allows an application to install a shortcut in Launcher.
2700         <p>In Android O (API level 26) and higher, the <code>INSTALL_SHORTCUT</code> broadcast no
2701         longer has any effect on your app because it's a private, implicit
2702         broadcast. Instead, you should create an app shortcut by using the
2703         {@link android.content.pm.ShortcutManager#requestPinShortcut requestPinShortcut()}
2704         method from the {@link android.content.pm.ShortcutManager} class.
2705         <p>Protection level: normal
2706    -->
2707    <permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
2708        android:label="@string/permlab_install_shortcut"
2709        android:description="@string/permdesc_install_shortcut"
2710        android:protectionLevel="normal"/>
2711
2712    <!-- <p class="caution"><strong>Don't use this permission in your app.</strong><br>This
2713         permission is no longer supported.
2714    -->
2715    <permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"
2716        android:label="@string/permlab_uninstall_shortcut"
2717        android:description="@string/permdesc_uninstall_shortcut"
2718        android:protectionLevel="normal"/>
2719
2720    <!-- ==================================================== -->
2721    <!-- Permissions related to accessing sync settings   -->
2722    <!-- ==================================================== -->
2723    <eat-comment />
2724
2725    <!-- Allows applications to read the sync settings.
2726         <p>Protection level: normal
2727    -->
2728    <permission android:name="android.permission.READ_SYNC_SETTINGS"
2729        android:description="@string/permdesc_readSyncSettings"
2730        android:label="@string/permlab_readSyncSettings"
2731        android:protectionLevel="normal" />
2732
2733    <!-- Allows applications to write the sync settings.
2734         <p>Protection level: normal
2735    -->
2736    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
2737        android:description="@string/permdesc_writeSyncSettings"
2738        android:label="@string/permlab_writeSyncSettings"
2739        android:protectionLevel="normal" />
2740
2741    <!-- Allows applications to read the sync stats.
2742         <p>Protection level: normal
2743    -->
2744    <permission android:name="android.permission.READ_SYNC_STATS"
2745        android:description="@string/permdesc_readSyncStats"
2746        android:label="@string/permlab_readSyncStats"
2747        android:protectionLevel="normal" />
2748
2749    <!-- ============================================ -->
2750    <!-- Permissions for low-level system interaction -->
2751    <!-- ============================================ -->
2752    <eat-comment />
2753
2754    <!-- @SystemApi @hide Change the screen compatibility mode of applications -->
2755    <permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
2756        android:protectionLevel="signature" />
2757
2758    <!-- Allows an application to modify the current configuration, such
2759         as locale.
2760         <p>Protection level: signature|privileged|development -->
2761    <permission android:name="android.permission.CHANGE_CONFIGURATION"
2762        android:protectionLevel="signature|privileged|development" />
2763
2764    <!-- Allows an application to read or write the system settings.
2765
2766        <p class="note"><strong>Note:</strong> If the app targets API level 23
2767        or higher, the app user
2768        must explicitly grant this permission to the app through a permission management screen.
2769        The app requests the user's approval by sending an intent with action
2770        {@link android.provider.Settings#ACTION_MANAGE_WRITE_SETTINGS}. The app
2771        can check whether it has this authorization by calling {@link
2772        android.provider.Settings.System#canWrite Settings.System.canWrite()}.
2773
2774        <p>Protection level: signature|preinstalled|appop|pre23
2775    -->
2776    <permission android:name="android.permission.WRITE_SETTINGS"
2777        android:label="@string/permlab_writeSettings"
2778        android:description="@string/permdesc_writeSettings"
2779        android:protectionLevel="signature|preinstalled|appop|pre23" />
2780
2781    <!-- Allows an application to modify the Google service map.
2782    <p>Not for use by third-party applications. -->
2783    <permission android:name="android.permission.WRITE_GSERVICES"
2784        android:protectionLevel="signature|privileged" />
2785
2786    <!-- @SystemApi @TestApi @hide Allows an application to modify config settings.
2787    <p>Not for use by third-party applications. -->
2788    <permission android:name="android.permission.WRITE_DEVICE_CONFIG"
2789        android:protectionLevel="signature|verifier|configurator"/>
2790
2791    <!-- @SystemApi @hide Allows an application to read config settings.
2792    <p>Not for use by third-party applications. -->
2793    <permission android:name="android.permission.READ_DEVICE_CONFIG"
2794        android:protectionLevel="signature|preinstalled" />
2795
2796    <!-- @hide Allows an application to monitor {@link android.provider.Settings.Config} access.
2797    <p>Not for use by third-party applications. -->
2798    <permission android:name="android.permission.MONITOR_DEVICE_CONFIG_ACCESS"
2799        android:protectionLevel="signature"/>
2800
2801    <!-- @SystemApi @TestApi Allows an application to call
2802        {@link android.app.ActivityManager#forceStopPackage}.
2803        @hide -->
2804    <permission android:name="android.permission.FORCE_STOP_PACKAGES"
2805        android:protectionLevel="signature|privileged" />
2806
2807    <!-- @SystemApi @hide Allows an application to retrieve the content of the active window
2808         An active window is the window that has fired an accessibility event. -->
2809    <permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"
2810        android:protectionLevel="signature|privileged" />
2811
2812    <!-- Modify the global animation scaling factor.
2813    <p>Not for use by third-party applications. -->
2814    <permission android:name="android.permission.SET_ANIMATION_SCALE"
2815        android:protectionLevel="signature|privileged|development" />
2816
2817    <!-- @deprecated This functionality will be removed in the future; please do
2818         not use. Allow an application to make its activities persistent. -->
2819    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
2820        android:label="@string/permlab_persistentActivity"
2821        android:description="@string/permdesc_persistentActivity"
2822        android:protectionLevel="normal" />
2823
2824    <!-- Allows an application to find out the space used by any package.
2825         <p>Protection level: normal
2826    -->
2827    <permission android:name="android.permission.GET_PACKAGE_SIZE"
2828        android:label="@string/permlab_getPackageSize"
2829        android:description="@string/permdesc_getPackageSize"
2830        android:protectionLevel="normal" />
2831
2832    <!-- @deprecated No longer useful, see
2833         {@link android.content.pm.PackageManager#addPackageToPreferred}
2834         for details. -->
2835    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
2836        android:protectionLevel="signature|installer|verifier" />
2837
2838    <!-- Allows an application to receive the
2839         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
2840         broadcast after the system finishes booting.  If you don't
2841         request this permission, you will not receive the broadcast at
2842         that time.  Though holding this permission does not have any
2843         security implications, it can have a negative impact on the
2844         user experience by increasing the amount of time it takes the
2845         system to start and allowing applications to have themselves
2846         running without the user being aware of them.  As such, you must
2847         explicitly declare your use of this facility to make that visible
2848         to the user.
2849         <p>Protection level: normal
2850    -->
2851    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
2852        android:label="@string/permlab_receiveBootCompleted"
2853        android:description="@string/permdesc_receiveBootCompleted"
2854        android:protectionLevel="normal" />
2855
2856    <!-- Allows an application to broadcast sticky intents.  These are
2857         broadcasts whose data is held by the system after being finished,
2858         so that clients can quickly retrieve that data without having
2859         to wait for the next broadcast.
2860         <p>Protection level: normal
2861    -->
2862    <permission android:name="android.permission.BROADCAST_STICKY"
2863        android:label="@string/permlab_broadcastSticky"
2864        android:description="@string/permdesc_broadcastSticky"
2865        android:protectionLevel="normal" />
2866
2867    <!-- Allows mounting and unmounting file systems for removable storage.
2868    <p>Not for use by third-party applications.-->
2869    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
2870        android:protectionLevel="signature|privileged" />
2871
2872    <!-- Allows formatting file systems for removable storage.
2873    <p>Not for use by third-party applications. -->
2874    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
2875        android:protectionLevel="signature|privileged" />
2876
2877    <!-- @hide -->
2878    <permission android:name="android.permission.STORAGE_INTERNAL"
2879        android:protectionLevel="signature" />
2880
2881    <!-- Allows access to ASEC non-destructive API calls
2882         @hide  -->
2883    <permission android:name="android.permission.ASEC_ACCESS"
2884        android:protectionLevel="signature" />
2885
2886    <!-- Allows creation of ASEC volumes
2887         @hide  -->
2888    <permission android:name="android.permission.ASEC_CREATE"
2889        android:protectionLevel="signature" />
2890
2891    <!-- Allows destruction of ASEC volumes
2892         @hide  -->
2893    <permission android:name="android.permission.ASEC_DESTROY"
2894        android:protectionLevel="signature" />
2895
2896    <!-- Allows mount / unmount of ASEC volumes
2897         @hide  -->
2898    <permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"
2899        android:protectionLevel="signature" />
2900
2901    <!-- Allows rename of ASEC volumes
2902         @hide  -->
2903    <permission android:name="android.permission.ASEC_RENAME"
2904        android:protectionLevel="signature" />
2905
2906    <!-- Allows applications to write the apn settings and read sensitive fields of
2907         an existing apn settings like user and password.
2908    <p>Not for use by third-party applications. -->
2909    <permission android:name="android.permission.WRITE_APN_SETTINGS"
2910        android:protectionLevel="signature|privileged" />
2911
2912    <!-- Allows applications to change network connectivity state.
2913         <p>Protection level: normal
2914    -->
2915    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
2916        android:description="@string/permdesc_changeNetworkState"
2917        android:label="@string/permlab_changeNetworkState"
2918        android:protectionLevel="normal" />
2919
2920    <!-- Allows an application to clear the caches of all installed
2921         applications on the device.
2922         <p>Protection level: signature|privileged
2923    -->
2924    <permission android:name="android.permission.CLEAR_APP_CACHE"
2925        android:protectionLevel="signature|privileged" />
2926
2927    <!-- @SystemApi Allows an application to use any media decoder when decoding for playback
2928         @hide -->
2929    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
2930        android:protectionLevel="signature|privileged" />
2931
2932    <!-- @SystemApi Allows an application to install and/or uninstall CA certificates on
2933         behalf of the user.
2934         @hide -->
2935    <permission android:name="android.permission.MANAGE_CA_CERTIFICATES"
2936        android:protectionLevel="signature|privileged" />
2937
2938    <!-- @SystemApi Allows an application to do certain operations needed for
2939         interacting with the recovery (system update) system.
2940         @hide -->
2941    <permission android:name="android.permission.RECOVERY"
2942        android:protectionLevel="signature|privileged" />
2943
2944    <!-- @SystemApi Allows an application to read system update info.
2945         @hide -->
2946    <permission android:name="android.permission.READ_SYSTEM_UPDATE_INFO"
2947        android:protectionLevel="signature" />
2948
2949    <!-- Allows the system to bind to an application's task services
2950         @hide -->
2951    <permission android:name="android.permission.BIND_JOB_SERVICE"
2952        android:protectionLevel="signature" />
2953    <uses-permission android:name="android.permission.BIND_JOB_SERVICE"/>
2954
2955    <!-- Allows an application to initiate configuration updates
2956         <p>An application requesting this permission is responsible for
2957         verifying the source and integrity of any update before passing
2958         it off to the various individual installer components
2959         @hide -->
2960    <permission android:name="android.permission.UPDATE_CONFIG"
2961        android:protectionLevel="signature|privileged" />
2962
2963    <!-- Allows an application to query the current time zone rules state
2964         on device.
2965         @SystemApi @hide -->
2966    <permission android:name="android.permission.QUERY_TIME_ZONE_RULES"
2967                android:protectionLevel="signature|privileged" />
2968
2969    <!-- Allows a time zone rule updater application to request
2970         the system installs / uninstalls timezone rules.
2971         <p>An application requesting this permission is responsible for
2972         verifying the source and integrity of the update before passing
2973         it off to the installer components.
2974         @SystemApi @hide -->
2975    <permission android:name="android.permission.UPDATE_TIME_ZONE_RULES"
2976        android:protectionLevel="signature|privileged" />
2977
2978    <!-- Must be required by a time zone rule updater application,
2979         to ensure that only the system can trigger it.
2980         @hide -->
2981    <permission android:name="android.permission.TRIGGER_TIME_ZONE_RULES_CHECK"
2982        android:protectionLevel="signature" />
2983    <uses-permission android:name="android.permission.TRIGGER_TIME_ZONE_RULES_CHECK"/>
2984
2985    <!-- Allows the system to reset throttling in shortcut manager.
2986         @hide -->
2987    <permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING"
2988        android:protectionLevel="signature" />
2989
2990    <!-- Allows the system to bind to the discovered Network Recommendation Service.
2991         @SystemApi @hide -->
2992    <permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"
2993        android:protectionLevel="signature" />
2994    <uses-permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"/>
2995
2996    <!-- Allows an application to enable, disable and change priority of
2997         runtime resource overlays.
2998         @hide -->
2999    <permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES"
3000        android:protectionLevel="signature|privileged" />
3001
3002    <!-- ========================================= -->
3003    <!-- Permissions for special development tools -->
3004    <!-- ========================================= -->
3005    <eat-comment />
3006
3007    <!-- Allows an application to read or write the secure system settings.
3008    <p>Not for use by third-party applications. -->
3009    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
3010        android:protectionLevel="signature|privileged|development" />
3011
3012    <!-- Allows an application to retrieve state dump information from system services.
3013    <p>Not for use by third-party applications. -->
3014    <permission android:name="android.permission.DUMP"
3015        android:protectionLevel="signature|privileged|development" />
3016
3017    <!-- Allows an application to read the low-level system log files.
3018    <p>Not for use by third-party applications, because
3019    Log entries can contain the user's private information. -->
3020    <permission android:name="android.permission.READ_LOGS"
3021        android:protectionLevel="signature|privileged|development" />
3022
3023    <!-- Configure an application for debugging.
3024    <p>Not for use by third-party applications. -->
3025    <permission android:name="android.permission.SET_DEBUG_APP"
3026        android:protectionLevel="signature|privileged|development" />
3027
3028    <!-- Allows an application to set the maximum number of (not needed)
3029         application processes that can be running.
3030         <p>Not for use by third-party applications. -->
3031    <permission android:name="android.permission.SET_PROCESS_LIMIT"
3032        android:protectionLevel="signature|privileged|development" />
3033
3034    <!-- Allows an application to control whether activities are immediately
3035         finished when put in the background.
3036         <p>Not for use by third-party applications. -->
3037    <permission android:name="android.permission.SET_ALWAYS_FINISH"
3038        android:protectionLevel="signature|privileged|development" />
3039
3040    <!-- Allow an application to request that a signal be sent to all persistent processes.
3041    <p>Not for use by third-party applications. -->
3042    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
3043        android:protectionLevel="signature|privileged|development" />
3044
3045    <!-- @hide @SystemApi @TestApi
3046         Allow an application to approve incident and bug reports to be
3047         shared off-device.  There can be only one application installed on the
3048         device with this permission, and since this is a privileged permission, it
3049         must be in priv-app.
3050        <p>Not for use by third-party applications. -->
3051    <permission android:name="android.permission.APPROVE_INCIDENT_REPORTS"
3052        android:protectionLevel="signature|incidentReportApprover" />
3053
3054    <!-- @hide Allow an application to approve an incident or bug report approval from
3055        the system. -->
3056    <permission android:name="android.permission.REQUEST_INCIDENT_REPORT_APPROVAL"
3057        android:protectionLevel="signature|privileged" />
3058
3059    <!-- ==================================== -->
3060    <!-- Private permissions                  -->
3061    <!-- ==================================== -->
3062    <eat-comment />
3063
3064    <!-- Allows access to the list of accounts in the Accounts Service.
3065         <p>Protection level: signature|privileged -->
3066    <permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"
3067        android:protectionLevel="signature|privileged" />
3068
3069    <!-- Allows but does not guarantee access to user passwords at the conclusion of add account
3070    @hide -->
3071    <permission android:name="android.permission.GET_PASSWORD"
3072        android:protectionLevel="signature" />
3073
3074    <!-- Allows applications to RW to diagnostic resources.
3075    <p>Not for use by third-party applications. -->
3076    <permission android:name="android.permission.DIAGNOSTIC"
3077        android:protectionLevel="signature" />
3078
3079    <!-- Allows an application to open, close, or disable the status bar
3080         and its icons.
3081         <p>Not for use by third-party applications. -->
3082    <permission android:name="android.permission.STATUS_BAR"
3083        android:protectionLevel="signature|privileged" />
3084
3085    <!-- Allows an application to trigger bugreport via shell using the bugreport API.
3086        <p>Not for use by third-party applications.
3087        @hide
3088    -->
3089    <permission android:name="android.permission.TRIGGER_SHELL_BUGREPORT"
3090        android:protectionLevel="signature" />
3091
3092    <!-- Allows an application to be the status bar.  Currently used only by SystemUI.apk
3093    @hide -->
3094    <permission android:name="android.permission.STATUS_BAR_SERVICE"
3095        android:protectionLevel="signature" />
3096
3097    <!-- Allows an application to bind to third party quick settings tiles.
3098         <p>Should only be requested by the System, should be required by
3099         TileService declarations.-->
3100    <permission android:name="android.permission.BIND_QUICK_SETTINGS_TILE"
3101        android:protectionLevel="signature" />
3102
3103    <!-- Allows SystemUI to request third party controls.
3104         <p>Should only be requested by the System and required by
3105         {@link android.service.controls.ControlsProviderService} declarations.
3106    -->
3107    <permission android:name="android.permission.BIND_CONTROLS"
3108        android:protectionLevel="signature" />
3109
3110    <!-- @SystemApi Allows an application to force a BACK operation on whatever is the
3111         top activity.
3112         <p>Not for use by third-party applications.
3113         @hide
3114    -->
3115    <permission android:name="android.permission.FORCE_BACK"
3116        android:protectionLevel="signature" />
3117
3118    <!-- Allows an application to update device statistics.
3119    <p>Not for use by third-party applications. -->
3120    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
3121        android:protectionLevel="signature|privileged" />
3122
3123    <!-- @SystemApi @hide Allows an application to collect application operation statistics.
3124         Not for use by third party apps. -->
3125    <permission android:name="android.permission.GET_APP_OPS_STATS"
3126        android:protectionLevel="signature|privileged|development" />
3127
3128    <!-- @SystemApi Allows an application to update application operation statistics. Not for
3129         use by third party apps.
3130         @hide -->
3131    <permission android:name="android.permission.UPDATE_APP_OPS_STATS"
3132        android:protectionLevel="signature|privileged|installer" />
3133
3134    <!-- @SystemApi Allows an application to update the user app op restrictions.
3135         Not for use by third party apps.
3136         @hide -->
3137    <permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS"
3138        android:protectionLevel="signature|installer" />
3139
3140    <!-- Allows an application to update the user app op modes.
3141         Not for use by third party apps.
3142         @hide -->
3143    <permission android:name="android.permission.MANAGE_APP_OPS_MODES"
3144        android:protectionLevel="signature|installer|verifier" />
3145
3146    <!-- @SystemApi Allows an application to open windows that are for use by parts
3147         of the system user interface.
3148         <p>Not for use by third-party applications.
3149         @hide
3150    -->
3151    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
3152        android:protectionLevel="signature" />
3153
3154    <!-- @SystemApi Allows an application to use
3155         {@link android.view.WindowManager.LayoutsParams#SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS}
3156         to hide non-system-overlay windows.
3157         <p>Not for use by third-party applications.
3158         @hide
3159    -->
3160    <permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"
3161                android:protectionLevel="signature|preinstalled" />
3162
3163    <!-- @SystemApi Allows an application to manage (create, destroy,
3164         Z-order) application tokens in the window manager.
3165         <p>Not for use by third-party applications.
3166         @hide
3167    -->
3168    <permission android:name="android.permission.MANAGE_APP_TOKENS"
3169        android:protectionLevel="signature" />
3170
3171    <!-- Allows System UI to register listeners for events from Window Manager.
3172         @hide -->
3173    <permission android:name="android.permission.REGISTER_WINDOW_MANAGER_LISTENERS"
3174        android:protectionLevel="signature" />
3175
3176    <!-- @hide Allows the application to temporarily freeze the screen for a
3177         full-screen transition. -->
3178    <permission android:name="android.permission.FREEZE_SCREEN"
3179        android:protectionLevel="signature" />
3180
3181    <!-- @SystemApi Allows an application to inject user events (keys, touch, trackball)
3182         into the event stream and deliver them to ANY window.  Without this
3183         permission, you can only deliver events to windows in your own process.
3184         <p>Not for use by third-party applications.
3185         @hide
3186    -->
3187    <permission android:name="android.permission.INJECT_EVENTS"
3188        android:protectionLevel="signature" />
3189
3190    <!-- @hide Allows an application to register an input filter which filters the stream
3191         of user events (keys, touch, trackball) before they are dispatched to any window. -->
3192    <permission android:name="android.permission.FILTER_EVENTS"
3193        android:protectionLevel="signature" />
3194
3195    <!-- @hide Allows an application to retrieve the window token from the accessibility manager. -->
3196    <permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN"
3197        android:protectionLevel="signature" />
3198
3199    <!-- @hide Allows an application to modify accessibility information from another app. -->
3200    <permission android:name="android.permission.MODIFY_ACCESSIBILITY_DATA"
3201                android:protectionLevel="signature" />
3202
3203    <!-- @hide Allows an application to perform accessibility operations (e.g. send events) on
3204         behalf of another package. -->
3205    <permission android:name="android.permission.ACT_AS_PACKAGE_FOR_ACCESSIBILITY"
3206                android:protectionLevel="signature" />
3207
3208    <!-- @hide Allows an application to change the accessibility volume. -->
3209    <permission android:name="android.permission.CHANGE_ACCESSIBILITY_VOLUME"
3210                android:protectionLevel="signature" />
3211
3212    <!-- @hide Allows an application to collect frame statistics -->
3213    <permission android:name="android.permission.FRAME_STATS"
3214         android:protectionLevel="signature" />
3215
3216    <!-- @hide Allows an application to temporary enable accessibility on the device. -->
3217    <permission android:name="android.permission.TEMPORARY_ENABLE_ACCESSIBILITY"
3218        android:protectionLevel="signature" />
3219
3220    <!-- @SystemApi Allows an application to launch detail settings activity of a particular
3221         accessibility service.
3222         <p>Not for use by third-party applications.
3223         @hide -->
3224    <permission android:name="android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS"
3225        android:protectionLevel="signature|installer" />
3226
3227    <!-- @SystemApi Allows an application to watch and control how activities are
3228         started globally in the system.  Only for is in debugging
3229         (usually the monkey command).
3230         <p>Not for use by third-party applications.
3231         @hide
3232    -->
3233    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
3234        android:protectionLevel="signature" />
3235
3236    <!-- @SystemApi Allows an application to call the activity manager shutdown() API
3237         to put the higher-level system there into a shutdown state.
3238         @hide -->
3239    <permission android:name="android.permission.SHUTDOWN"
3240        android:protectionLevel="signature|privileged" />
3241
3242    <!-- @SystemApi Allows an application to tell the activity manager to temporarily
3243         stop application switches, putting it into a special mode that
3244         prevents applications from immediately switching away from some
3245         critical UI such as the home screen.
3246         @hide -->
3247    <permission android:name="android.permission.STOP_APP_SWITCHES"
3248        android:protectionLevel="signature|privileged" />
3249
3250    <!-- @SystemApi Allows an application to retrieve private information about
3251         the current top activity, such as any assist context it can provide.
3252         <p>Not for use by third-party applications.
3253         @hide
3254    -->
3255    <permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"
3256        android:protectionLevel="signature" />
3257
3258    <!-- Allows an application to retrieve the current state of keys and
3259         switches.
3260         <p>Not for use by third-party applications.
3261         @deprecated The API that used this permission has been removed. -->
3262    <permission android:name="android.permission.READ_INPUT_STATE"
3263        android:protectionLevel="signature" />
3264
3265    <!-- Must be required by an {@link android.inputmethodservice.InputMethodService},
3266         to ensure that only the system can bind to it.
3267         <p>Protection level: signature
3268    -->
3269    <permission android:name="android.permission.BIND_INPUT_METHOD"
3270        android:protectionLevel="signature" />
3271
3272    <!-- Must be required by an {@link android.media.midi.MidiDeviceService},
3273         to ensure that only the system can bind to it.
3274         <p>Protection level: signature
3275    -->
3276    <permission android:name="android.permission.BIND_MIDI_DEVICE_SERVICE"
3277        android:protectionLevel="signature" />
3278
3279    <!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
3280         to ensure that only the system can bind to it.
3281         <p>Protection level: signature
3282    -->
3283    <permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
3284        android:protectionLevel="signature" />
3285
3286    <!-- Must be required by a {@link android.printservice.PrintService},
3287         to ensure that only the system can bind to it.
3288         <p>Protection level: signature
3289    -->
3290    <permission android:name="android.permission.BIND_PRINT_SERVICE"
3291        android:protectionLevel="signature" />
3292
3293    <!-- Must be required by a {@link android.printservice.recommendation.RecommendationService},
3294     to ensure that only the system can bind to it.
3295     @hide
3296     @SystemApi
3297     <p>Protection level: signature
3298    -->
3299    <permission android:name="android.permission.BIND_PRINT_RECOMMENDATION_SERVICE"
3300            android:protectionLevel="signature" />
3301
3302    <!-- Allows applications to get the installed and enabled print services.
3303         @hide
3304         @SystemApi
3305         <p>Protection level: signature|preinstalled
3306    -->
3307    <permission android:name="android.permission.READ_PRINT_SERVICES"
3308        android:protectionLevel="signature|preinstalled" />
3309
3310    <!-- Allows applications to get the currently recommended print services for printers.
3311         @hide
3312         @SystemApi
3313         <p>Protection level: signature|preinstalled
3314    -->
3315    <permission android:name="android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS"
3316        android:protectionLevel="signature|preinstalled" />
3317
3318    <!-- Must be required by a {@link android.nfc.cardemulation.HostApduService}
3319         or {@link android.nfc.cardemulation.OffHostApduService} to ensure that only
3320         the system can bind to it.
3321         <p>Protection level: signature
3322    -->
3323    <permission android:name="android.permission.BIND_NFC_SERVICE"
3324        android:protectionLevel="signature" />
3325
3326    <!-- Must be required by a {@link android.service.quickaccesswallet.QuickAccessWalletService}
3327         to ensure that only the system can bind to it.
3328         <p>Protection level: signature
3329    -->
3330    <permission android:name="android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE"
3331                android:protectionLevel="signature" />
3332
3333    <!-- Must be required by the PrintSpooler to ensure that only the system can bind to it.
3334         @hide -->
3335    <permission android:name="android.permission.BIND_PRINT_SPOOLER_SERVICE"
3336        android:protectionLevel="signature" />
3337
3338    <!-- Must be required by the CompanionDeviceManager to ensure that only the system can bind to it.
3339         @hide -->
3340    <permission android:name="android.permission.BIND_COMPANION_DEVICE_MANAGER_SERVICE"
3341        android:protectionLevel="signature" />
3342
3343    <!-- @SystemApi Must be required by the RuntimePermissionPresenterService to ensure
3344         that only the system can bind to it.
3345         @hide -->
3346    <permission android:name="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE"
3347        android:protectionLevel="signature" />
3348
3349    <!-- Must be required by a TextService (e.g. SpellCheckerService)
3350         to ensure that only the system can bind to it.
3351         <p>Protection level: signature
3352    -->
3353    <permission android:name="android.permission.BIND_TEXT_SERVICE"
3354        android:protectionLevel="signature" />
3355
3356    <!-- @SystemApi Must be required by a AttentionService
3357         to ensure that only the system can bind to it.
3358         <p>Protection level: signature
3359         @hide
3360    -->
3361    <permission android:name="android.permission.BIND_ATTENTION_SERVICE"
3362                android:protectionLevel="signature" />
3363    <uses-permission android:name="android.permission.BIND_ATTENTION_SERVICE" />
3364
3365    <!-- Must be required by a {@link android.net.VpnService},
3366         to ensure that only the system can bind to it.
3367         <p>Protection level: signature
3368    -->
3369    <permission android:name="android.permission.BIND_VPN_SERVICE"
3370        android:protectionLevel="signature" />
3371
3372    <!-- Must be required by a {@link android.service.wallpaper.WallpaperService},
3373         to ensure that only the system can bind to it.
3374         <p>Protection level: signature|privileged
3375    -->
3376    <permission android:name="android.permission.BIND_WALLPAPER"
3377        android:protectionLevel="signature|privileged" />
3378
3379    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService},
3380         to ensure that only the system can bind to it.
3381         <p>Protection level: signature
3382    -->
3383    <permission android:name="android.permission.BIND_VOICE_INTERACTION"
3384        android:protectionLevel="signature" />
3385
3386    <!-- Must be required by a {@link android.service.autofill.AutofillService},
3387         to ensure that only the system can bind to it.
3388         <p>Protection level: signature
3389    -->
3390    <permission android:name="android.permission.BIND_AUTOFILL_SERVICE"
3391        android:protectionLevel="signature" />
3392
3393   <!-- Alternative version of android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE.
3394        This permission was renamed during the O previews but it was supported on the final O
3395        release, so we need to carry it over.
3396        <p>Protection level: signature
3397        @hide
3398    -->
3399    <permission android:name="android.permission.BIND_AUTOFILL"
3400        android:protectionLevel="signature" />
3401
3402    <!-- Must be required by an {@link android.service.autofill.AutofillFieldClassificationService}
3403         to ensure that only the system can bind to it.
3404         @hide This is not a third-party API (intended for OEMs and system apps).
3405    -->
3406    <permission android:name="android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE"
3407                android:protectionLevel="signature" />
3408
3409    <!-- Must be required by an {@link android.service.autofill.InlineSuggestionRenderService}
3410         to ensure that only the system can bind to it.
3411         @hide This is not a third-party API (intended for OEMs and system apps).
3412    -->
3413    <permission android:name="android.permission.BIND_INLINE_SUGGESTION_RENDER_SERVICE"
3414                android:protectionLevel="signature" />
3415
3416    <!-- Must be required by a android.service.textclassifier.TextClassifierService,
3417         to ensure that only the system can bind to it.
3418         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
3419         <p>Protection level: signature
3420    -->
3421    <permission android:name="android.permission.BIND_TEXTCLASSIFIER_SERVICE"
3422                android:protectionLevel="signature" />
3423
3424    <!-- Must be required by a android.service.contentcapture.ContentCaptureService,
3425         to ensure that only the system can bind to it.
3426         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
3427         <p>Protection level: signature
3428    -->
3429    <permission android:name="android.permission.BIND_CONTENT_CAPTURE_SERVICE"
3430                android:protectionLevel="signature" />
3431
3432    <!-- Must be required by a android.service.contentsuggestions.ContentSuggestionsService,
3433         to ensure that only the system can bind to it.
3434         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
3435         <p>Protection level: signature
3436    -->
3437    <permission android:name="android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE"
3438                android:protectionLevel="signature" />
3439
3440    <!-- Must be required by a android.service.autofill.augmented.AugmentedAutofillService,
3441         to ensure that only the system can bind to it.
3442         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
3443         <p>Protection level: signature
3444    -->
3445    <permission android:name="android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE"
3446                android:protectionLevel="signature" />
3447
3448    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService} implementation
3449         to enroll its own sound models. This is a more restrictive permission than the higher-level
3450         permission KEYPHRASE_ENROLLMENT_APPLICATION. For the caller to enroll sound models with
3451         this permission, it must hold the permission and be the active VoiceInteractionService in
3452         the system.
3453         {@see Settings.Secure.VOICE_INTERACTION_SERVICE}
3454         @hide -->
3455    <permission android:name="android.permission.MANAGE_VOICE_KEYPHRASES"
3456        android:protectionLevel="signature|privileged" />
3457
3458    <!-- Must be required by a keyphrase enrollment application, to enroll sound models. This is
3459         treated as a higher-level permission to MANAGE_VOICE_KEYPHRASES as a caller can enroll
3460         sound models at any time. This permission should be reserved for system enrollment
3461         applications detected by {@link android.hardware.soundtrigger.KeyphraseEnrollmentInfo}
3462         only.
3463         @hide <p>Not for use by third-party applications.</p> -->
3464    <permission android:name="android.permission.KEYPHRASE_ENROLLMENT_APPLICATION"
3465        android:protectionLevel="signature|privileged" />
3466
3467    <!-- Must be required by a {@link com.android.media.remotedisplay.RemoteDisplayProvider},
3468         to ensure that only the system can bind to it.
3469         @hide -->
3470    <permission android:name="android.permission.BIND_REMOTE_DISPLAY"
3471        android:protectionLevel="signature" />
3472
3473    <!-- Must be required by a {@link android.media.tv.TvInputService}
3474         to ensure that only the system can bind to it.
3475         <p>Protection level: signature|privileged
3476    -->
3477    <permission android:name="android.permission.BIND_TV_INPUT"
3478        android:protectionLevel="signature|privileged" />
3479
3480    <!-- @SystemApi
3481         Must be required by a {@link com.android.media.tv.remoteprovider.TvRemoteProvider}
3482         to ensure that only the system can bind to it.
3483         <p>Protection level: signature|privileged
3484         <p>Not for use by third-party applications. </p>
3485         @hide  -->
3486    <permission android:name="android.permission.BIND_TV_REMOTE_SERVICE"
3487        android:protectionLevel="signature|privileged" />
3488
3489    <!-- @SystemApi
3490         Must be required for a virtual remote controller for TV.
3491         <p>Protection level: signature|privileged
3492         <p>Not for use by third-party applications. </p>
3493         @hide  -->
3494    <permission android:name="android.permission.TV_VIRTUAL_REMOTE_CONTROLLER"
3495        android:protectionLevel="signature|privileged" />
3496
3497    <!-- Allows an application to change HDMI CEC active source.
3498         <p>Not for use by third-party applications.
3499         @hide -->
3500    <permission android:name="android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE"
3501        android:protectionLevel="signature|privileged" />
3502
3503    <!-- @SystemApi Allows an application to modify parental controls
3504         <p>Not for use by third-party applications.
3505         @hide -->
3506    <permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS"
3507        android:protectionLevel="signature|privileged" />
3508
3509    <!-- @SystemApi Allows an application to read TvContentRatingSystemInfo
3510         <p>Not for use by third-party applications.
3511         @hide -->
3512    <permission android:name="android.permission.READ_CONTENT_RATING_SYSTEMS"
3513        android:protectionLevel="signature|privileged" />
3514
3515    <!-- Allows an application to notify TV inputs by sending broadcasts.
3516         <p>Protection level: signature|privileged
3517         <p>Not for use by third-party applications.
3518         @hide @SystemApi -->
3519    <permission android:name="android.permission.NOTIFY_TV_INPUTS"
3520         android:protectionLevel="signature|privileged" />
3521
3522    <!-- This permission is required among systems services when accessing
3523         tuner resource management related APIs or information.
3524         <p>Protection level: signature|privileged
3525         <p>Not for use by third-party applications.
3526         @hide -->
3527    <permission android:name="android.permission.TUNER_RESOURCE_ACCESS"
3528         android:protectionLevel="signature|privileged" />
3529
3530    <!-- This permission is required by Media Resource Manager Service when
3531         accessing its overridePid Api.
3532         <p>Protection level: signature
3533         <p>Not for use by third-party applications.
3534         @hide -->
3535    <permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID"
3536         android:protectionLevel="signature" />
3537    <uses-permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID" />
3538
3539
3540    <!-- Must be required by a {@link android.media.routing.MediaRouteService}
3541         to ensure that only the system can interact with it.
3542         @hide -->
3543    <permission android:name="android.permission.BIND_ROUTE_PROVIDER"
3544        android:protectionLevel="signature" />
3545
3546    <!-- Must be required by device administration receiver, to ensure that only the
3547         system can interact with it.
3548         <p>Protection level: signature
3549    -->
3550    <permission android:name="android.permission.BIND_DEVICE_ADMIN"
3551        android:protectionLevel="signature" />
3552
3553    <!-- @SystemApi Required to add or remove another application as a device admin.
3554         <p>Not for use by third-party applications.
3555         @hide
3556         @removed -->
3557    <permission android:name="android.permission.MANAGE_DEVICE_ADMINS"
3558        android:protectionLevel="signature" />
3559
3560    <!-- @SystemApi Allows an app to reset the device password.
3561         <p>Not for use by third-party applications.
3562         @hide -->
3563    <permission android:name="android.permission.RESET_PASSWORD"
3564        android:protectionLevel="signature|privileged" />
3565
3566    <!-- @SystemApi Allows an app to lock the device.
3567         <p>Not for use by third-party applications.
3568         @hide -->
3569    <permission android:name="android.permission.LOCK_DEVICE"
3570        android:protectionLevel="signature|privileged" />
3571
3572    <!-- @SystemApi Allows low-level access to setting the orientation (actually
3573         rotation) of the screen.
3574         <p>Not for use by third-party applications.
3575         @hide
3576    -->
3577    <permission android:name="android.permission.SET_ORIENTATION"
3578        android:protectionLevel="signature" />
3579
3580    <!-- @SystemApi Allows low-level access to setting the pointer speed.
3581         <p>Not for use by third-party applications.
3582         @hide
3583    -->
3584    <permission android:name="android.permission.SET_POINTER_SPEED"
3585        android:protectionLevel="signature" />
3586
3587    <!-- Allows low-level access to setting input device calibration.
3588         <p>Not for use by normal applications.
3589         @hide -->
3590    <permission android:name="android.permission.SET_INPUT_CALIBRATION"
3591        android:protectionLevel="signature" />
3592
3593    <!-- Allows low-level access to setting the keyboard layout.
3594         <p>Not for use by third-party applications.
3595         @hide -->
3596    <permission android:name="android.permission.SET_KEYBOARD_LAYOUT"
3597        android:protectionLevel="signature" />
3598
3599    <!-- Allows an application to query tablet mode state and monitor changes
3600         in it.
3601         <p>Not for use by third-party applications.
3602         @hide -->
3603    <permission android:name="android.permission.TABLET_MODE"
3604        android:protectionLevel="signature" />
3605
3606    <!-- Allows an application to request installing packages. Apps
3607         targeting APIs greater than 25 must hold this permission in
3608         order to use {@link android.content.Intent#ACTION_INSTALL_PACKAGE}.
3609         <p>Protection level: signature
3610    -->
3611    <permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"
3612        android:label="@string/permlab_requestInstallPackages"
3613        android:description="@string/permdesc_requestInstallPackages"
3614        android:protectionLevel="signature|appop" />
3615
3616    <!-- Allows an application to request deleting packages. Apps
3617         targeting APIs {@link android.os.Build.VERSION_CODES#P} or greater must hold this
3618         permission in order to use {@link android.content.Intent#ACTION_UNINSTALL_PACKAGE} or
3619         {@link android.content.pm.PackageInstaller#uninstall}.
3620         <p>Protection level: normal
3621    -->
3622    <permission android:name="android.permission.REQUEST_DELETE_PACKAGES"
3623        android:label="@string/permlab_requestDeletePackages"
3624        android:description="@string/permdesc_requestDeletePackages"
3625        android:protectionLevel="normal" />
3626
3627    <!-- Allows an application to install packages.
3628    <p>Not for use by third-party applications. -->
3629    <permission android:name="android.permission.INSTALL_PACKAGES"
3630      android:protectionLevel="signature|privileged" />
3631
3632    <!-- @SystemApi Allows an application to install self updates. This is a limited version
3633         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
3634        <p>Not for use by third-party applications.
3635        @hide
3636    -->
3637    <permission android:name="android.permission.INSTALL_SELF_UPDATES"
3638        android:protectionLevel="signature|privileged" />
3639
3640    <!-- @SystemApi Allows an application to install updates. This is a limited version
3641         of {@link android.Manifest.permission#INSTALL_PACKAGES}.
3642        <p>Not for use by third-party applications.
3643        @hide
3644    -->
3645    <permission android:name="android.permission.INSTALL_PACKAGE_UPDATES"
3646        android:protectionLevel="signature|privileged" />
3647
3648    <!-- Allows an application to install existing system packages. This is a limited
3649         version of {@link android.Manifest.permission#INSTALL_PACKAGES}.
3650         <p>Not for use by third-party applications.
3651         TODO(b/80204953): remove this permission once we have a long-term solution.
3652         @hide
3653    -->
3654    <permission android:name="com.android.permission.INSTALL_EXISTING_PACKAGES"
3655        android:protectionLevel="signature|privileged" />
3656
3657    <!-- Allows an application to use the package installer v2 APIs.
3658         <p>The package installer v2 APIs are still a work in progress and we're
3659         currently validating they work in all scenarios.
3660         <p>Not for use by third-party applications.
3661         TODO(b/152310230): use this permission to protect only Incremental installations
3662         once the APIs are confirmed to be sufficient.
3663         @hide
3664    -->
3665    <permission android:name="com.android.permission.USE_INSTALLER_V2"
3666        android:protectionLevel="signature|verifier" />
3667
3668    <!-- @SystemApi @TestApi Allows an application to clear user data.
3669         <p>Not for use by third-party applications
3670         @hide
3671    -->
3672    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
3673        android:protectionLevel="signature|installer" />
3674
3675    <!-- @hide Allows an application to get the URI permissions
3676         granted to another application.
3677         <p>Not for use by third-party applications
3678    -->
3679    <permission android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS"
3680        android:protectionLevel="signature" />
3681
3682    <!-- @hide Allows an application to clear the URI permissions
3683         granted to another application.
3684         <p>Not for use by third-party applications
3685    -->
3686    <permission
3687        android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS"
3688        android:protectionLevel="signature" />
3689
3690    <!-- @hide
3691         Allows an application to change the status of Scoped Access Directory requests granted or
3692         rejected by the user.
3693         <p>This permission should <em>only</em> be requested by the platform
3694         settings app.  This permission cannot be granted to third-party apps.
3695         <p>Protection level: signature
3696    -->
3697    <permission
3698         android:name="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS"
3699         android:protectionLevel="signature" />
3700
3701    <!-- @hide
3702         Allows an application to change the status of a persistable URI permission granted
3703         to another application.
3704         <p>This permission should <em>only</em> be requested by the platform
3705         settings app.  This permission cannot be granted to third-party apps.
3706         <p>Protection level: signature
3707    -->
3708    <permission android:name="android.permission.FORCE_PERSISTABLE_URI_PERMISSIONS"
3709        android:protectionLevel="signature" />
3710
3711    <!-- Old permission for deleting an app's cache files, no longer used,
3712         but signals for us to quietly ignore calls instead of throwing an exception.
3713         <p>Protection level: signature|privileged -->
3714    <permission android:name="android.permission.DELETE_CACHE_FILES"
3715        android:protectionLevel="signature|privileged" />
3716
3717    <!-- Allows an application to delete cache files.
3718         @hide -->
3719    <permission android:name="android.permission.INTERNAL_DELETE_CACHE_FILES"
3720        android:protectionLevel="signature" />
3721
3722    <!-- Allows an application to delete packages.
3723         <p>Not for use by third-party applications.
3724         <p>Starting in {@link android.os.Build.VERSION_CODES#N}, user confirmation is requested
3725         when the application deleting the package is not the same application that installed the
3726         package. -->
3727    <permission android:name="android.permission.DELETE_PACKAGES"
3728        android:protectionLevel="signature|privileged" />
3729
3730    <!-- @SystemApi Allows an application to move location of installed package.
3731         @hide -->
3732    <permission android:name="android.permission.MOVE_PACKAGE"
3733        android:protectionLevel="signature|privileged" />
3734
3735    <!-- Allows an application to change whether an application component (other than its own) is
3736         enabled or not.
3737         <p>Not for use by third-party applications. -->
3738    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
3739        android:protectionLevel="signature|privileged" />
3740
3741    <!-- @SystemApi Allows an application to grant specific permissions.
3742         @hide -->
3743    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS"
3744        android:protectionLevel="signature|installer|verifier" />
3745
3746    <!-- @SystemApi Allows an app that has this permission and the permissions to install packages
3747         to request certain runtime permissions to be granted at installation.
3748         @hide -->
3749    <permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS"
3750        android:protectionLevel="signature|installer|verifier" />
3751
3752    <!-- @SystemApi Allows an application to revoke specific permissions.
3753        @hide -->
3754    <permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS"
3755         android:protectionLevel="signature|installer|verifier" />
3756
3757    <!-- @SystemApi Allows the system to read runtime permission state.
3758        @hide -->
3759    <permission android:name="android.permission.GET_RUNTIME_PERMISSIONS"
3760                android:protectionLevel="signature" />
3761
3762    <!-- @SystemApi Allows the system to restore runtime permission state. This might grant
3763    permissions, hence this is a more scoped, less powerful variant of GRANT_RUNTIME_PERMISSIONS.
3764    Among other restrictions this cannot override user choices.
3765    @hide -->
3766    <permission android:name="android.permission.RESTORE_RUNTIME_PERMISSIONS"
3767                android:protectionLevel="signature" />
3768
3769    <!-- @SystemApi Allows an application to change policy_fixed permissions.
3770    @hide -->
3771    <permission android:name="android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY"
3772                android:protectionLevel="signature|installer" />
3773
3774    <!-- @SystemApi @TestApi Allows an application to upgrade runtime permissions.
3775    @hide -->
3776    <permission android:name="android.permission.UPGRADE_RUNTIME_PERMISSIONS"
3777                android:protectionLevel="signature" />
3778
3779    <!-- @SystemApi Allows an application to whitelist restricted permissions
3780         on any of the whitelists.
3781    @hide -->
3782    <permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS"
3783                android:protectionLevel="signature|installer" />
3784
3785    <!-- @SystemApi Allows an application to an exempt an app from having its permission be
3786        auto-revoked when unused for an extended period of time.
3787        @hide -->
3788    <permission android:name="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS"
3789        android:protectionLevel="signature|installer" />
3790
3791    <!-- @hide Allows an application to observe permission changes. -->
3792    <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"
3793        android:protectionLevel="signature|privileged" />
3794
3795    <!-- @SystemApi Allows an application to start and stop one time permission sessions
3796    @hide -->
3797    <permission android:name="android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS"
3798                android:protectionLevel="signature|installer" />
3799
3800    <!-- @SystemApi Allows an application to manage the holders of a role.
3801         @hide -->
3802    <permission android:name="android.permission.MANAGE_ROLE_HOLDERS"
3803                android:protectionLevel="signature|installer" />
3804
3805    <!-- @SystemApi Allows an application to observe role holder changes.
3806         @hide -->
3807    <permission android:name="android.permission.OBSERVE_ROLE_HOLDERS"
3808                android:protectionLevel="signature|installer" />
3809
3810    <!-- Allows an application to manage the companion devices.
3811         @hide -->
3812    <permission android:name="android.permission.MANAGE_COMPANION_DEVICES"
3813                android:protectionLevel="signature" />
3814
3815    <!-- @SystemApi Allows an application to use SurfaceFlinger's low level features.
3816         <p>Not for use by third-party applications.
3817         @hide
3818    -->
3819    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
3820        android:protectionLevel="signature" />
3821
3822    <!-- Allows an application to take screen shots and more generally
3823         get access to the frame buffer data.
3824         <p>Not for use by third-party applications.
3825          @hide
3826          @removed -->
3827    <permission android:name="android.permission.READ_FRAME_BUFFER"
3828        android:protectionLevel="signature" />
3829
3830    <!-- Allows an application to use InputFlinger's low level features.
3831         @hide -->
3832    <permission android:name="android.permission.ACCESS_INPUT_FLINGER"
3833        android:protectionLevel="signature" />
3834
3835    <!-- Allows an application to disable/enable input devices.
3836         Could be used to prevent unwanted touch events
3837         on a touchscreen, for example during swimming or rain.
3838         @hide -->
3839    <permission android:name="android.permission.DISABLE_INPUT_DEVICE"
3840        android:protectionLevel="signature" />
3841
3842    <!-- Allows an application to configure and connect to Wifi displays
3843         @hide
3844         @SystemApi -->
3845    <permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY"
3846        android:protectionLevel="signature" />
3847
3848    <!-- Allows an application to control low-level features of Wifi displays
3849         such as opening an RTSP socket.  This permission should only be used
3850         by the display manager.
3851         @hide -->
3852    <permission android:name="android.permission.CONTROL_WIFI_DISPLAY"
3853        android:protectionLevel="signature" />
3854
3855    <!-- Allows an application to control the color modes set for displays system-wide.
3856         <p>Not for use by third-party applications.</p>
3857         @hide -->
3858    <permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE"
3859        android:protectionLevel="signature" />
3860
3861    <!-- Allows an application to control the lights on the device.
3862         @hide
3863         @SystemApi
3864         @TestApi -->
3865    <permission android:name="android.permission.CONTROL_DEVICE_LIGHTS"
3866        android:protectionLevel="signature|privileged" />
3867
3868    <!-- Allows an application to control the color saturation of the display.
3869         @hide
3870         @SystemApi -->
3871    <permission android:name="android.permission.CONTROL_DISPLAY_SATURATION"
3872        android:protectionLevel="signature|privileged" />
3873
3874    <!-- Allows an application to control display color transformations.
3875         <p>Not for use by third-party applications.</p>
3876         @hide
3877         @SystemApi -->
3878    <permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS"
3879        android:protectionLevel="signature|privileged" />
3880
3881    <!-- Allows an application to collect usage infomation about brightness slider changes.
3882         <p>Not for use by third-party applications.</p>
3883         @hide
3884         @SystemApi
3885         @TestApi -->
3886    <permission android:name="android.permission.BRIGHTNESS_SLIDER_USAGE"
3887        android:protectionLevel="signature|privileged|development" />
3888
3889    <!-- Allows an application to collect ambient light stats.
3890         <p>Not for use by third party applications.</p>
3891         @hide
3892         @SystemApi -->
3893    <permission android:name="android.permission.ACCESS_AMBIENT_LIGHT_STATS"
3894        android:protectionLevel="signature|privileged|development" />
3895
3896    <!-- Allows an application to modify the display brightness configuration
3897         @hide
3898         @SystemApi
3899         @TestApi -->
3900    <permission android:name="android.permission.CONFIGURE_DISPLAY_BRIGHTNESS"
3901        android:protectionLevel="signature|privileged|development" />
3902
3903    <!-- Allows an application to control the system's display brightness
3904         @hide -->
3905    <permission android:name="android.permission.CONTROL_DISPLAY_BRIGHTNESS"
3906        android:protectionLevel="signature" />
3907
3908    <!-- @SystemApi Allows an application to control VPN.
3909         <p>Not for use by third-party applications.</p>
3910         @hide -->
3911    <permission android:name="android.permission.CONTROL_VPN"
3912        android:protectionLevel="signature|privileged" />
3913    <uses-permission android:name="android.permission.CONTROL_VPN" />
3914
3915    <!-- Allows an application to access and modify always-on VPN configuration.
3916         <p>Not for use by third-party or privileged applications.
3917         @hide -->
3918    <permission android:name="android.permission.CONTROL_ALWAYS_ON_VPN"
3919        android:protectionLevel="signature" />
3920
3921    <!-- Allows an application to capture audio output.
3922         Use the {@code CAPTURE_MEDIA_OUTPUT} permission if only the {@code USAGE_UNKNOWN}),
3923         {@code USAGE_MEDIA}) or {@code USAGE_GAME}) usages are intended to be captured.
3924         <p>Not for use by third-party applications.</p> -->
3925    <permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"
3926        android:protectionLevel="signature|privileged" />
3927
3928    <!-- @SystemApi Allows an application to capture the audio played by other apps
3929         that have set an allow capture policy of
3930         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}.
3931
3932         Without this permission, only audio with an allow capture policy of
3933         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_ALL} can be used.
3934
3935         There are strong restriction listed at
3936         {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
3937         on what an app can do with the captured audio.
3938
3939         See {@code CAPTURE_AUDIO_OUTPUT} for capturing audio use cases other than media playback.
3940
3941         <p>Not for use by third-party applications.</p>
3942         @hide -->
3943    <permission android:name="android.permission.CAPTURE_MEDIA_OUTPUT"
3944        android:protectionLevel="signature|privileged" />
3945
3946    <!-- @SystemApi Allows an application to capture the audio played by other apps
3947        with the {@code USAGE_VOICE_COMMUNICATION} usage.
3948
3949        The application may opt out of capturing by setting an allow capture policy of
3950        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_NONE}.
3951
3952        There are strong restriction listed at
3953        {@link android.media.AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM}
3954        on what an app can do with the captured audio.
3955
3956        See {@code CAPTURE_AUDIO_OUTPUT} and {@code CAPTURE_MEDIA_OUTPUT} for capturing
3957        audio use cases other than voice communication playback.
3958
3959        <p>Not for use by third-party applications.</p>
3960        @hide -->
3961    <permission android:name="android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT"
3962        android:protectionLevel="signature|privileged" />
3963
3964    <!-- @SystemApi Allows an application to capture audio for hotword detection.
3965         <p>Not for use by third-party applications.</p>
3966         @hide -->
3967    <permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD"
3968        android:protectionLevel="signature|privileged" />
3969
3970    <!-- @SystemApi Allows an application to modify audio routing and override policy decisions.
3971         <p>Not for use by third-party applications.</p>
3972         @hide -->
3973    <permission android:name="android.permission.MODIFY_AUDIO_ROUTING"
3974        android:protectionLevel="signature|privileged" />
3975
3976    <!-- Allows an application to modify what effects are applied to all audio
3977         (matching certain criteria) from any application.
3978         <p>Not for use by third-party applications.</p>
3979         @hide -->
3980    <permission android:name="android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS"
3981        android:protectionLevel="signature|privileged" />
3982
3983    <!-- @SystemApi Allows an application to provide remote displays.
3984         <p>Not for use by third-party applications.</p>
3985         @hide -->
3986    <permission android:name="android.permission.REMOTE_DISPLAY_PROVIDER"
3987        android:protectionLevel="signature|privileged" />
3988
3989    <!-- Allows an application to capture video output.
3990         <p>Not for use by third-party applications.</p>
3991          @hide
3992          @removed -->
3993    <permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"
3994        android:protectionLevel="signature" />
3995
3996    <!-- Allows an application to capture secure video output.
3997         <p>Not for use by third-party applications.</p>
3998          @hide
3999          @removed -->
4000    <permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT"
4001        android:protectionLevel="signature" />
4002
4003    <!-- Allows an application to know what content is playing and control its playback.
4004         <p>Not for use by third-party applications due to privacy of media consumption</p>  -->
4005    <permission android:name="android.permission.MEDIA_CONTENT_CONTROL"
4006        android:protectionLevel="signature|privileged" />
4007
4008    <!-- @SystemApi @hide Allows an application to set the volume key long-press listener.
4009         <p>When it's set, the application will receive the volume key long-press event
4010         instead of changing volume.</p>
4011         <p>Not for use by third-party applications</p> -->
4012    <permission android:name="android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER"
4013        android:protectionLevel="signature|privileged|development" />
4014
4015    <!-- @SystemApi @hide Allows an application to set media key event listener.
4016         <p>When it's set, the application will receive the media key event before
4017         any other media sessions. If the event is handled by the listener, other sessions
4018         cannot get the event.</p>
4019         <p>Not for use by third-party applications</p> -->
4020    <permission android:name="android.permission.SET_MEDIA_KEY_LISTENER"
4021        android:protectionLevel="signature|privileged|development" />
4022
4023    <!-- @SystemApi Required to be able to disable the device (very dangerous!).
4024         <p>Not for use by third-party applications.
4025         @hide
4026    -->
4027    <permission android:name="android.permission.BRICK"
4028        android:protectionLevel="signature" />
4029
4030    <!-- Required to be able to reboot the device.
4031    <p>Not for use by third-party applications. -->
4032    <permission android:name="android.permission.REBOOT"
4033        android:protectionLevel="signature|privileged" />
4034
4035   <!-- @SystemApi Allows low-level access to power management.
4036        <p>Not for use by third-party applications.
4037        @hide
4038    -->
4039   <permission android:name="android.permission.DEVICE_POWER"
4040        android:protectionLevel="signature" />
4041
4042    <!-- Allows toggling battery saver on the system.
4043         Superseded by DEVICE_POWER permission. @hide @SystemApi
4044    -->
4045    <permission android:name="android.permission.POWER_SAVER"
4046        android:protectionLevel="signature|privileged" />
4047
4048   <!-- Allows access to the PowerManager.userActivity function.
4049   <p>Not for use by third-party applications. @hide @SystemApi -->
4050    <permission android:name="android.permission.USER_ACTIVITY"
4051        android:protectionLevel="signature|privileged" />
4052
4053   <!-- @hide Allows low-level access to tun tap driver -->
4054    <permission android:name="android.permission.NET_TUNNELING"
4055        android:protectionLevel="signature" />
4056
4057    <!-- Run as a manufacturer test application, running as the root user.
4058         Only available when the device is running in manufacturer test mode.
4059         <p>Not for use by third-party applications.
4060    -->
4061    <permission android:name="android.permission.FACTORY_TEST"
4062        android:protectionLevel="signature" />
4063
4064    <!-- Allows an application to broadcast a notification that an application
4065         package has been removed.
4066         <p>Not for use by third-party applications.
4067    -->
4068    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
4069        android:protectionLevel="signature" />
4070
4071    <!-- Allows an application to broadcast an SMS receipt notification.
4072         <p>Not for use by third-party applications.
4073    -->
4074    <permission android:name="android.permission.BROADCAST_SMS"
4075        android:protectionLevel="signature" />
4076
4077    <!-- Allows an application to broadcast a WAP PUSH receipt notification.
4078         <p>Not for use by third-party applications.
4079    -->
4080    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
4081        android:protectionLevel="signature" />
4082
4083    <!-- @SystemApi Allows an application to broadcast privileged networking requests.
4084         <p>Not for use by third-party applications.
4085         @hide
4086         @deprecated Use {@link android.Manifest.permission#REQUEST_NETWORK_SCORES} instead
4087    -->
4088    <permission android:name="android.permission.BROADCAST_NETWORK_PRIVILEGED"
4089        android:protectionLevel="signature|privileged" />
4090
4091    <!-- Not for use by third-party applications. -->
4092    <permission android:name="android.permission.MASTER_CLEAR"
4093        android:protectionLevel="signature|privileged" />
4094
4095    <!-- Allows an application to call any phone number, including emergency
4096         numbers, without going through the Dialer user interface for the user
4097         to confirm the call being placed.
4098         <p>Not for use by third-party applications. -->
4099    <permission android:name="android.permission.CALL_PRIVILEGED"
4100        android:protectionLevel="signature|privileged" />
4101
4102    <!-- @SystemApi Allows an application to perform CDMA OTA provisioning @hide -->
4103    <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"
4104        android:protectionLevel="signature|privileged" />
4105
4106    <!-- @SystemApi Allows an application to perform SIM Activation @hide -->
4107    <permission android:name="android.permission.PERFORM_SIM_ACTIVATION"
4108        android:protectionLevel="signature|privileged" />
4109
4110    <!-- Allows enabling/disabling location update notifications from
4111         the radio.
4112         <p>Not for use by third-party applications. -->
4113    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
4114        android:protectionLevel="signature|privileged" />
4115
4116    <!-- Allows read/write access to the "properties" table in the checkin
4117         database, to change values that get uploaded.
4118         <p>Not for use by third-party applications. -->
4119    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
4120        android:protectionLevel="signature|privileged" />
4121
4122    <!-- Allows an application to collect component usage
4123         statistics
4124         <p>Declaring the permission implies intention to use the API and the user of the
4125         device can grant permission through the Settings application.
4126         <p>Protection level: signature|privileged|development|appop|retailDemo -->
4127    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
4128        android:protectionLevel="signature|privileged|development|appop|retailDemo" />
4129    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
4130
4131    <!-- Allows a data loader to read a package's access logs. The access logs contain the
4132         set of pages referenced over time.
4133         <p>Declaring the permission implies intention to use the API and the user of the
4134         device can grant permission through the Settings application.
4135         <p>Protection level: signature|privileged|appop
4136         <p>A data loader has to be the one which provides data to install an app.
4137         <p>A data loader has to have both permission:LOADER_USAGE_STATS AND
4138         appop:LOADER_USAGE_STATS allowed to be able to access the read logs. -->
4139    <permission android:name="android.permission.LOADER_USAGE_STATS"
4140        android:protectionLevel="signature|privileged|appop" />
4141    <uses-permission android:name="android.permission.LOADER_USAGE_STATS" />
4142
4143    <!-- @hide @SystemApi Allows an application to observe usage time of apps. The app can register
4144         for callbacks when apps reach a certain usage time limit, etc. -->
4145    <permission android:name="android.permission.OBSERVE_APP_USAGE"
4146        android:protectionLevel="signature|privileged" />
4147
4148    <!-- @hide @TestApi @SystemApi Allows an application to change the app idle state of an app.
4149         <p>Not for use by third-party applications. -->
4150    <permission android:name="android.permission.CHANGE_APP_IDLE_STATE"
4151        android:protectionLevel="signature|privileged" />
4152
4153    <!-- @hide @SystemApi Allows an application to temporarily whitelist an inactive app to
4154         access the network and acquire wakelocks.
4155         <p>Not for use by third-party applications. -->
4156    <permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"
4157        android:protectionLevel="signature|privileged" />
4158
4159    <!-- Permission an application must hold in order to use
4160         {@link android.provider.Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS}.
4161         <p>Protection level: normal -->
4162    <permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
4163        android:label="@string/permlab_requestIgnoreBatteryOptimizations"
4164        android:description="@string/permdesc_requestIgnoreBatteryOptimizations"
4165        android:protectionLevel="normal" />
4166
4167    <!-- Allows an application to collect battery statistics
4168         <p>Protection level: signature|privileged|development -->
4169    <permission android:name="android.permission.BATTERY_STATS"
4170        android:protectionLevel="signature|privileged|development" />
4171
4172    <!--Allows an application to manage statscompanion.
4173    <p>Not for use by third-party applications.
4174         @hide -->
4175    <permission android:name="android.permission.STATSCOMPANION"
4176        android:protectionLevel="signature" />
4177
4178    <!--@SystemApi @hide Allows an application to register stats pull atom callbacks.
4179    <p>Not for use by third-party applications.-->
4180    <permission android:name="android.permission.REGISTER_STATS_PULL_ATOM"
4181                android:protectionLevel="signature|privileged" />
4182
4183    <!-- @SystemApi Allows an application to control the backup and restore process.
4184    <p>Not for use by third-party applications.
4185         @hide pending API council -->
4186    <permission android:name="android.permission.BACKUP"
4187        android:protectionLevel="signature|privileged" />
4188
4189    <!-- @SystemApi Allows an application to make modifications to device settings such that these
4190         modifications will be overridden by settings restore..
4191    <p>Not for use by third-party applications.
4192         @hide -->
4193    <permission android:name="android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE"
4194                android:protectionLevel="signature|setup" />
4195
4196    <!-- @SystemApi Allows application to manage
4197         {@link android.security.keystore.recovery.RecoveryController}.
4198         <p>Not for use by third-party applications.
4199         @hide -->
4200    <permission android:name="android.permission.RECOVER_KEYSTORE"
4201        android:protectionLevel="signature|privileged" />
4202
4203    <!-- Allows a package to launch the secure full-backup confirmation UI.
4204         ONLY the system process may hold this permission.
4205         @hide -->
4206    <permission android:name="android.permission.CONFIRM_FULL_BACKUP"
4207        android:protectionLevel="signature" />
4208
4209    <!-- Must be required by a {@link android.widget.RemoteViewsService},
4210         to ensure that only the system can bind to it.
4211         <p>Protection level: signature|privileged -->
4212    <permission android:name="android.permission.BIND_REMOTEVIEWS"
4213        android:protectionLevel="signature|privileged" />
4214
4215    <!-- Allows an application to tell the AppWidget service which application
4216         can access AppWidget's data.  The normal user flow is that a user
4217         picks an AppWidget to go into a particular host, thereby giving that
4218         host application access to the private data from the AppWidget app.
4219         An application that has this permission should honor that contract.
4220         <p>Not for use by third-party applications. -->
4221    <permission android:name="android.permission.BIND_APPWIDGET"
4222        android:protectionLevel="signature|privileged" />
4223
4224    <!-- @hide Allows sysui to manage user grants of slice permissions. -->
4225    <permission android:name="android.permission.MANAGE_SLICE_PERMISSIONS"
4226        android:protectionLevel="signature" />
4227
4228    <!-- @SystemApi Private permission, to restrict who can bring up a dialog to add a new
4229         keyguard widget
4230         @hide -->
4231    <permission android:name="android.permission.BIND_KEYGUARD_APPWIDGET"
4232        android:protectionLevel="signature|privileged" />
4233
4234    <!-- @SystemApi Internal permission allowing an application to query/set which
4235         applications can bind AppWidgets.
4236         @hide -->
4237    <permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"
4238        android:protectionLevel="signature|privileged" />
4239
4240    <!-- Allows applications to change the background data setting.
4241    <p>Not for use by third-party applications.
4242         @hide pending API council -->
4243    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
4244        android:protectionLevel="signature" />
4245
4246    <!-- This permission can be used on content providers to allow the global
4247         search system to access their data.  Typically it used when the
4248         provider has some permissions protecting it (which global search
4249         would not be expected to hold), and added as a read-only permission
4250         to the path in the provider where global search queries are
4251         performed.  This permission can not be held by regular applications;
4252         it is used by applications to protect themselves from everyone else
4253         besides global search.
4254         <p>Protection level: signature|privileged -->
4255    <permission android:name="android.permission.GLOBAL_SEARCH"
4256        android:protectionLevel="signature|privileged" />
4257
4258    <!-- Internal permission protecting access to the global search
4259         system: ensures that only the system can access the provider
4260         to perform queries (since this otherwise provides unrestricted
4261         access to a variety of content providers), and to write the
4262         search statistics (to keep applications from gaming the source
4263         ranking).
4264         @hide -->
4265    <permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"
4266        android:protectionLevel="signature" />
4267
4268    <!-- @SystemApi Internal permission to allows an application to read indexable data.
4269        @hide -->
4270    <permission android:name="android.permission.READ_SEARCH_INDEXABLES"
4271        android:protectionLevel="signature|privileged" />
4272
4273    <!-- @SystemApi Internal permission to allows an application to bind to suggestion service.
4274        @hide -->
4275    <permission android:name="android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE"
4276                android:protectionLevel="signature" />
4277
4278    <!-- @hide Internal permission to allows an application to access card content provider. -->
4279    <permission android:name="android.permission.WRITE_SETTINGS_HOMEPAGE_DATA"
4280                android:protectionLevel="signature|privileged" />
4281
4282    <!-- @SystemApi Allows applications to set a live wallpaper.
4283         @hide XXX Change to signature once the picker is moved to its
4284         own apk as Ghod Intended. -->
4285    <permission android:name="android.permission.SET_WALLPAPER_COMPONENT"
4286        android:protectionLevel="signature|privileged" />
4287
4288    <!-- @SystemApi Allows applications to read dream settings and dream state.
4289         @hide -->
4290    <permission android:name="android.permission.READ_DREAM_STATE"
4291        android:protectionLevel="signature|privileged" />
4292
4293    <!-- @SystemApi Allows applications to write dream settings, and start or stop dreaming.
4294         @hide -->
4295    <permission android:name="android.permission.WRITE_DREAM_STATE"
4296        android:protectionLevel="signature|privileged" />
4297
4298    <!-- @SystemApi Allow an application to read and write the cache partition.
4299         @hide -->
4300    <permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
4301        android:protectionLevel="signature|privileged" />
4302
4303    <!-- Must be required by default container service so that only
4304         the system can bind to it and use it to copy
4305         protected data to secure containers or files
4306         accessible to the system.
4307         @hide -->
4308    <permission android:name="android.permission.COPY_PROTECTED_DATA"
4309        android:protectionLevel="signature" />
4310
4311    <!-- @SystemApi Internal permission protecting access to the encryption methods
4312        @hide
4313    -->
4314    <permission android:name="android.permission.CRYPT_KEEPER"
4315        android:protectionLevel="signature|privileged" />
4316
4317    <!-- @SystemApi Allows an application to read historical network usage for
4318         specific networks and applications. @hide -->
4319    <permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"
4320        android:protectionLevel="signature|privileged" />
4321
4322    <!-- Allows an application to manage network policies (such as warning and disable
4323         limits) and to define application-specific rules. @hide -->
4324    <permission android:name="android.permission.MANAGE_NETWORK_POLICY"
4325        android:protectionLevel="signature" />
4326
4327    <!-- @SystemApi @hide @deprecated use UPDATE_DEVICE_STATS instead -->
4328    <permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"
4329        android:protectionLevel="signature|privileged" />
4330
4331    <!-- @SystemApi @hide Allows an application to manage carrier subscription plans. -->
4332    <permission android:name="android.permission.MANAGE_SUBSCRIPTION_PLANS"
4333        android:protectionLevel="signature|privileged" />
4334
4335    <!-- C2DM permission.
4336         @hide Used internally.
4337     -->
4338    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
4339          android:protectionLevel="signature" />
4340    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
4341
4342    <!-- @SystemApi @hide Package verifier needs to have this permission before the PackageManager will
4343         trust it to verify packages.
4344    -->
4345    <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
4346        android:protectionLevel="signature|privileged" />
4347
4348    <!-- Must be required by package verifier receiver, to ensure that only the
4349         system can interact with it.
4350         @hide
4351    -->
4352    <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
4353        android:protectionLevel="signature" />
4354
4355    <!-- @hide Rollback manager needs to have this permission before the PackageManager will
4356         trust it to enable rollback.
4357    -->
4358    <permission android:name="android.permission.PACKAGE_ROLLBACK_AGENT"
4359        android:protectionLevel="signature" />
4360
4361    <!-- @SystemApi @TestApi @hide Allows managing apk level rollbacks. -->
4362    <permission android:name="android.permission.MANAGE_ROLLBACKS"
4363        android:protectionLevel="signature|privileged" />
4364
4365    <!-- @TestApi @hide Allows testing apk level rollbacks. -->
4366    <permission android:name="android.permission.TEST_MANAGE_ROLLBACKS"
4367        android:protectionLevel="signature" />
4368
4369    <!-- @SystemApi @hide Allows an application to mark other applications as harmful -->
4370    <permission android:name="android.permission.SET_HARMFUL_APP_WARNINGS"
4371        android:protectionLevel="signature|verifier" />
4372
4373    <!-- @SystemApi @hide Intent filter verifier needs to have this permission before the
4374         PackageManager will trust it to verify intent filters.
4375    -->
4376    <permission android:name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"
4377        android:protectionLevel="signature|privileged" />
4378
4379    <!-- Must be required by intent filter verifier rintent-filtereceiver, to ensure that only the
4380         system can interact with it.
4381         @hide
4382    -->
4383    <permission android:name="android.permission.BIND_INTENT_FILTER_VERIFIER"
4384        android:protectionLevel="signature" />
4385
4386    <!-- @SystemApi Allows applications to access serial ports via the SerialManager.
4387         @hide -->
4388    <permission android:name="android.permission.SERIAL_PORT"
4389        android:protectionLevel="signature|privileged" />
4390
4391    <!-- Allows the holder to access content providers from outside an ApplicationThread.
4392         This permission is enforced by the ActivityManagerService on the corresponding APIs,
4393         in particular ActivityManagerService#getContentProviderExternal(String) and
4394         ActivityManagerService#removeContentProviderExternal(String).
4395         @hide
4396    -->
4397    <permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
4398        android:protectionLevel="signature" />
4399
4400    <!-- @SystemApi Allows an application to hold an UpdateLock, recommending that a headless
4401         OTA reboot *not* occur while the lock is held.
4402         @hide -->
4403    <permission android:name="android.permission.UPDATE_LOCK"
4404        android:protectionLevel="signature|privileged" />
4405
4406    <!-- @SystemApi Allows an application the opportunity to become a
4407         {@link android.service.notification.NotificationAssistantService}.
4408         User permission is still required before access is granted.
4409         @hide -->
4410    <permission android:name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE"
4411                android:protectionLevel="signature|privileged" />
4412
4413    <!-- @SystemApi @TestApi Allows an application to read the current set of notifications, including
4414         any metadata and intents attached.
4415         @hide -->
4416    <permission android:name="android.permission.ACCESS_NOTIFICATIONS"
4417        android:protectionLevel="signature|privileged|appop" />
4418
4419    <!-- Marker permission for applications that wish to access notification policy. This permission
4420        is not supported on managed profiles.
4421         <p>Protection level: normal
4422    -->
4423    <permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"
4424        android:description="@string/permdesc_access_notification_policy"
4425        android:label="@string/permlab_access_notification_policy"
4426        android:protectionLevel="normal" />
4427
4428    <!-- Allows modification of do not disturb rules and policies. Only allowed for system
4429        processes.
4430        @hide -->
4431    <permission android:name="android.permission.MANAGE_NOTIFICATIONS"
4432                android:protectionLevel="signature" />
4433
4434    <!-- Allows notifications to be colorized
4435         <p>Not for use by third-party applications. @hide -->
4436    <permission android:name="android.permission.USE_COLORIZED_NOTIFICATIONS"
4437                android:protectionLevel="signature|setup" />
4438
4439    <!-- Allows access to keyguard secure storage.  Only allowed for system processes.
4440        @hide -->
4441    <permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
4442        android:protectionLevel="signature" />
4443
4444    <!-- Allows applications to set the initial lockscreen state.
4445         <p>Not for use by third-party applications. @hide -->
4446    <permission android:name="android.permission.SET_INITIAL_LOCK"
4447        android:protectionLevel="signature|setup"/>
4448
4449    <!-- Allows managing (adding, removing) fingerprint templates. Reserved for the system. @hide -->
4450    <permission android:name="android.permission.MANAGE_FINGERPRINT"
4451        android:protectionLevel="signature|privileged" />
4452
4453    <!-- Allows an app to reset fingerprint attempt counter. Reserved for the system. @hide -->
4454    <permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT"
4455        android:protectionLevel="signature" />
4456
4457    <!-- Allows direct access to the <Biometric>Service interfaces. Reserved for the system. @hide -->
4458    <permission android:name="android.permission.MANAGE_BIOMETRIC"
4459        android:protectionLevel="signature" />
4460
4461    <!-- Allows direct access to the <Biometric>Service authentication methods. Reserved for the system. @hide -->
4462    <permission android:name="android.permission.USE_BIOMETRIC_INTERNAL"
4463        android:protectionLevel="signature" />
4464
4465    <!-- Allows the system to control the BiometricDialog (SystemUI). Reserved for the system. @hide -->
4466    <permission android:name="android.permission.MANAGE_BIOMETRIC_DIALOG"
4467        android:protectionLevel="signature" />
4468
4469    <!-- Allows an app to reset face authentication attempt counter. Reserved for the system. @hide -->
4470    <permission android:name="android.permission.RESET_FACE_LOCKOUT"
4471        android:protectionLevel="signature" />
4472
4473    <!-- Allows an application to control keyguard.  Only allowed for system processes.
4474        @hide -->
4475    <permission android:name="android.permission.CONTROL_KEYGUARD"
4476        android:protectionLevel="signature" />
4477
4478    <!-- @SystemApi Allows an application to control keyguard features like secure notifications.
4479         @hide -->
4480    <permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS"
4481        android:protectionLevel="signature|privileged" />
4482
4483    <!-- Allows an application to listen to trust changes.  Only allowed for system processes.
4484        @hide -->
4485    <permission android:name="android.permission.TRUST_LISTENER"
4486        android:protectionLevel="signature" />
4487
4488    <!-- @SystemApi Allows an application to provide a trust agent.
4489         @hide For security reasons, this is a platform-only permission. -->
4490    <permission android:name="android.permission.PROVIDE_TRUST_AGENT"
4491        android:protectionLevel="signature|privileged" />
4492
4493    <!-- @SystemApi Allows an application to show a message
4494         on the keyguard when asking to dismiss it.
4495         @hide For security reasons, this is a platform-only permission. -->
4496    <permission android:name="android.permission.SHOW_KEYGUARD_MESSAGE"
4497        android:protectionLevel="signature|privileged" />
4498
4499    <!-- Allows an application to launch the trust agent settings activity.
4500        @hide -->
4501    <permission android:name="android.permission.LAUNCH_TRUST_AGENT_SETTINGS"
4502        android:protectionLevel="signature|privileged" />
4503
4504    <!-- @SystemApi Must be required by an {@link
4505        android.service.trust.TrustAgentService},
4506        to ensure that only the system can bind to it.
4507        @hide -->
4508    <permission android:name="android.permission.BIND_TRUST_AGENT"
4509        android:protectionLevel="signature" />
4510
4511    <!-- Must be required by an {@link
4512         android.service.notification.NotificationListenerService},
4513         to ensure that only the system can bind to it.
4514         <p>Protection level: signature
4515    -->
4516    <permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
4517        android:protectionLevel="signature" />
4518
4519    <!-- @SystemApi Must be required by an {@link
4520         android.service.notification.NotificationAssistantService} to ensure that only the system
4521         can bind to it.
4522         <p>Protection level: signature
4523         @hide
4524    -->
4525    <permission android:name="android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE"
4526        android:protectionLevel="signature" />
4527
4528    <!-- Must be required by a {@link
4529         android.service.chooser.ChooserTargetService}, to ensure that
4530         only the system can bind to it.
4531         <p>Protection level: signature
4532
4533         @deprecated For publishing direct share targets, please follow the instructions in
4534         https://developer.android.com/training/sharing/receive.html#providing-direct-share-targets
4535         instead.
4536    -->
4537    <permission android:name="android.permission.BIND_CHOOSER_TARGET_SERVICE"
4538        android:protectionLevel="signature" />
4539
4540    <!-- @SystemApi Must be held by services that extend
4541         {@link android.service.resolver.ResolverRankerService}.
4542         <p>Protection level: signature|privileged
4543         @hide
4544    -->
4545    <permission android:name="android.permission.PROVIDE_RESOLVER_RANKER_SERVICE"
4546                android:protectionLevel="signature|privileged" />
4547
4548    <!-- @SystemApi Must be required by services that extend
4549         {@link android.service.resolver.ResolverRankerService}, to ensure that only the system can
4550         bind to them.
4551         <p>Protection level: signature
4552         @hide
4553    -->
4554    <permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE"
4555        android:protectionLevel="signature" />
4556
4557    <!-- Must be required by a {@link
4558         android.service.notification.ConditionProviderService},
4559         to ensure that only the system can bind to it.
4560         <p>Protection level: signature
4561         -->
4562    <permission android:name="android.permission.BIND_CONDITION_PROVIDER_SERVICE"
4563        android:protectionLevel="signature" />
4564
4565    <!-- Must be required by an {@link android.service.dreams.DreamService},
4566         to ensure that only the system can bind to it.
4567         <p>Protection level: signature
4568    -->
4569    <permission android:name="android.permission.BIND_DREAM_SERVICE"
4570        android:protectionLevel="signature" />
4571
4572    <!-- Must be required by an {@link android.app.usage.CacheQuotaService} to ensure that only the
4573         system can bind to it.
4574         @hide This is not a third-party API (intended for OEMs and system apps).
4575    -->
4576    <permission android:name="android.permission.BIND_CACHE_QUOTA_SERVICE"
4577                android:protectionLevel="signature" />
4578
4579    <!-- @SystemApi Allows an application to call into a carrier setup flow. It is up to the
4580         carrier setup application to enforce that this permission is required
4581         @hide This is not a third-party API (intended for OEMs and system apps). -->
4582    <permission android:name="android.permission.INVOKE_CARRIER_SETUP"
4583        android:protectionLevel="signature|privileged" />
4584
4585    <!-- @SystemApi Allows an application to listen for network condition observations.
4586         @hide This is not a third-party API (intended for system apps). -->
4587    <permission android:name="android.permission.ACCESS_NETWORK_CONDITIONS"
4588        android:protectionLevel="signature|privileged" />
4589
4590    <!-- @SystemApi Allows an application to provision and access DRM certificates
4591         @hide This is not a third-party API (intended for system apps). -->
4592    <permission android:name="android.permission.ACCESS_DRM_CERTIFICATES"
4593        android:protectionLevel="signature|privileged" />
4594
4595    <!-- Api Allows an application to manage media projection sessions.
4596         @hide This is not a third-party API (intended for system apps). -->
4597    <permission android:name="android.permission.MANAGE_MEDIA_PROJECTION"
4598        android:protectionLevel="signature" />
4599
4600    <!-- @SystemApi Allows an application to read install sessions
4601         @hide This is not a third-party API (intended for system apps). -->
4602    <permission android:name="android.permission.READ_INSTALL_SESSIONS"
4603        android:label="@string/permlab_readInstallSessions"
4604        android:description="@string/permdesc_readInstallSessions"
4605        android:protectionLevel="normal"/>
4606
4607    <!-- @SystemApi Allows an application to remove DRM certificates
4608         @hide This is not a third-party API (intended for system apps). -->
4609    <permission android:name="android.permission.REMOVE_DRM_CERTIFICATES"
4610        android:protectionLevel="signature|privileged" />
4611
4612    <!-- @deprecated Use {@link android.Manifest.permission#BIND_CARRIER_SERVICES} instead -->
4613    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE"
4614        android:protectionLevel="signature|privileged" />
4615
4616    <!-- Allows an application to interact with the currently active
4617         {@link android.service.voice.VoiceInteractionService}.
4618         @hide -->
4619    <permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE"
4620        android:protectionLevel="signature" />
4621
4622    <!-- The system process that is allowed to bind to services in carrier apps will
4623         have this permission. Carrier apps should use this permission to protect
4624         their services that only the system is allowed to bind to.
4625         <p>Protection level: signature|privileged
4626    -->
4627    <permission android:name="android.permission.BIND_CARRIER_SERVICES"
4628        android:label="@string/permlab_bindCarrierServices"
4629        android:description="@string/permdesc_bindCarrierServices"
4630        android:protectionLevel="signature|privileged" />
4631
4632    <!--
4633        Allows the holder to start the permission usage screen for an app.
4634        <p>Protection level: signature|installer
4635    -->
4636    <permission android:name="android.permission.START_VIEW_PERMISSION_USAGE"
4637        android:label="@string/permlab_startViewPermissionUsage"
4638        android:description="@string/permdesc_startViewPermissionUsage"
4639        android:protectionLevel="signature|installer" />
4640
4641    <!-- Allows an application to query whether DO_NOT_ASK_CREDENTIALS_ON_BOOT
4642         flag is set.
4643         @hide -->
4644    <permission android:name="android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT"
4645                android:protectionLevel="signature" />
4646
4647    <!-- @SystemApi Allows applications to kill UIDs.
4648        <p>Not for use by third-party applications.
4649         @hide -->
4650    <permission android:name="android.permission.KILL_UID"
4651                android:protectionLevel="signature|installer" />
4652
4653    <!-- @SystemApi Allows applications to read the local WiFi and Bluetooth MAC address.
4654        @hide -->
4655    <permission android:name="android.permission.LOCAL_MAC_ADDRESS"
4656                android:protectionLevel="signature|privileged" />
4657    <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"/>
4658
4659    <!-- @SystemApi Allows access to MAC addresses of WiFi and Bluetooth peer devices.
4660        @hide -->
4661    <permission android:name="android.permission.PEERS_MAC_ADDRESS"
4662                android:protectionLevel="signature|setup" />
4663
4664    <!-- Allows the Nfc stack to dispatch Nfc messages to applications. Applications
4665        can use this permission to ensure incoming Nfc messages are from the Nfc stack
4666        and not simulated by another application.
4667        @hide -->
4668    <permission android:name="android.permission.DISPATCH_NFC_MESSAGE"
4669                android:protectionLevel="signature|privileged" />
4670
4671    <!-- @SystemApi Allows changing day / night mode when system is configured with
4672         config_lockDayNightMode set to true. If requesting app does not have permission,
4673         it will be ignored.
4674        @hide -->
4675    <permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"
4676      android:protectionLevel="signature|privileged" />
4677
4678    <!-- @SystemApi Allows entering or exiting car mode using a specified priority.
4679        This permission is required to use UiModeManager while specifying a priority for the calling
4680        app.  A device manufacturer uses this permission to prioritize the apps which can
4681        potentially request to enter car-mode on a device to help establish the correct behavior
4682        where multiple such apps are active at the same time.
4683        @hide -->
4684    <permission android:name="android.permission.ENTER_CAR_MODE_PRIORITIZED"
4685                android:protectionLevel="signature|privileged" />
4686
4687    <!-- @SystemApi Required to receive ACTION_ENTER_CAR_MODE_PRIVILEGED or
4688        ACTION_EXIT_CAR_MODE_PRIVILEGED.
4689        @hide -->
4690    <permission android:name="android.permission.HANDLE_CAR_MODE_CHANGES"
4691                android:protectionLevel="signature|privileged" />
4692
4693    <!-- The system process is explicitly the only one allowed to launch the
4694         confirmation UI for full backup/restore -->
4695    <uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
4696
4697    <!-- @SystemApi Allows the holder to access and manage instant applications on the device.
4698         @hide -->
4699    <permission android:name="android.permission.ACCESS_INSTANT_APPS"
4700            android:protectionLevel="signature|installer|verifier|wellbeing" />
4701    <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS"/>
4702
4703    <!-- Allows the holder to view the instant applications on the device.
4704    @hide -->
4705    <permission android:name="android.permission.VIEW_INSTANT_APPS"
4706                android:protectionLevel="signature|preinstalled" />
4707
4708    <!-- Allows the holder to manage whether the system can bind to services
4709         provided by instant apps. This permission is intended to protect
4710         test/development fucntionality and should be used only in such cases.
4711    @hide -->
4712    <permission android:name="android.permission.MANAGE_BIND_INSTANT_SERVICE"
4713                android:protectionLevel="signature" />
4714
4715    <!-- Allows receiving the usage of media resource e.g. video/audio codec and
4716         graphic memory.
4717         @hide -->
4718    <permission android:name="android.permission.RECEIVE_MEDIA_RESOURCE_USAGE"
4719                android:protectionLevel="signature|privileged" />
4720
4721    <!-- Must be required by system/priv apps when accessing the sound trigger
4722         APIs given by {@link SoundTriggerManager}.
4723         @hide
4724         @SystemApi -->
4725    <permission android:name="android.permission.MANAGE_SOUND_TRIGGER"
4726        android:protectionLevel="signature|privileged" />
4727
4728    <!-- Must be required by system/priv apps implementing sound trigger detection services
4729         @hide
4730         @SystemApi -->
4731    <permission android:name="android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE"
4732        android:protectionLevel="signature" />
4733
4734    <!-- @SystemApi Allows trusted applications to dispatch managed provisioning message to Managed
4735         Provisioning app. If requesting app does not have permission, it will be ignored.
4736         @hide -->
4737    <permission android:name="android.permission.DISPATCH_PROVISIONING_MESSAGE"
4738                android:protectionLevel="signature|privileged" />
4739
4740    <!-- Allows the holder to read blocked numbers. See
4741         {@link android.provider.BlockedNumberContract}.
4742         @hide -->
4743    <permission android:name="android.permission.READ_BLOCKED_NUMBERS"
4744                android:protectionLevel="signature" />
4745
4746    <!-- Allows the holder to write blocked numbers. See
4747         {@link android.provider.BlockedNumberContract}.
4748         @hide -->
4749    <permission android:name="android.permission.WRITE_BLOCKED_NUMBERS"
4750                android:protectionLevel="signature" />
4751
4752    <!-- Must be required by an {@link android.service.vr.VrListenerService}, to ensure that only
4753         the system can bind to it.
4754         <p>Protection level: signature -->
4755    <permission android:name="android.permission.BIND_VR_LISTENER_SERVICE"
4756        android:protectionLevel="signature" />
4757
4758    <!-- Must be required by system apps when accessing restricted VR APIs.
4759         @hide
4760         @SystemApi
4761         <p>Protection level: signature -->
4762    <permission android:name="android.permission.RESTRICTED_VR_ACCESS"
4763        android:protectionLevel="signature|preinstalled" />
4764
4765    <!-- Required to make calls to {@link android.service.vr.IVrManager}.
4766         @hide -->
4767    <permission android:name="android.permission.ACCESS_VR_MANAGER"
4768            android:protectionLevel="signature" />
4769
4770    <!-- Required to access VR-Mode state and state change events via {android.app.VrStateCallback}
4771         @hide -->
4772    <permission android:name="android.permission.ACCESS_VR_STATE"
4773        android:protectionLevel="signature|preinstalled" />
4774
4775    <!-- Allows an application to whitelist tasks during lock task mode
4776         @hide <p>Not for use by third-party applications.</p> -->
4777    <permission android:name="android.permission.UPDATE_LOCK_TASK_PACKAGES"
4778        android:protectionLevel="signature|setup" />
4779
4780    <!-- @SystemApi Allows an application to replace the app name displayed alongside notifications
4781         in the N-release and later.
4782         @hide  <p>Not for use by third-party applications.</p> -->
4783    <permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"
4784                android:protectionLevel="signature|privileged" />
4785
4786    <!-- @SystemApi Allows an application to show notifications before the device is provisioned.
4787         @hide  <p>Not for use by third-party applications.</p> -->
4788    <permission android:name="android.permission.NOTIFICATION_DURING_SETUP"
4789                android:protectionLevel="signature|privileged" />
4790
4791    <!-- @SystemApi Allows an application to manage auto-fill sessions.
4792         @hide  <p>Not for use by third-party applications.</p> -->
4793    <permission android:name="android.permission.MANAGE_AUTO_FILL"
4794        android:protectionLevel="signature" />
4795
4796    <!-- @SystemApi Allows an application to manage the content capture service.
4797         @hide  <p>Not for use by third-party applications.</p> -->
4798    <permission android:name="android.permission.MANAGE_CONTENT_CAPTURE"
4799        android:protectionLevel="signature" />
4800
4801    <!-- @SystemApi Allows an application to manage the content suggestions service.
4802         @hide  <p>Not for use by third-party applications.</p> -->
4803    <permission android:name="android.permission.MANAGE_CONTENT_SUGGESTIONS"
4804         android:protectionLevel="signature" />
4805
4806    <!-- @SystemApi Allows an application to manage the app predictions service.
4807         @hide  <p>Not for use by third-party applications.</p> -->
4808    <permission android:name="android.permission.MANAGE_APP_PREDICTIONS"
4809         android:protectionLevel="signature|appPredictor" />
4810
4811    <!-- Allows an app to set the theme overlay in /vendor/overlay
4812         being used.
4813         @hide  <p>Not for use by third-party applications.</p> -->
4814    <permission android:name="android.permission.MODIFY_THEME_OVERLAY"
4815                android:protectionLevel="signature" />
4816
4817    <!-- Allows an instant app to create foreground services.
4818         <p>Protection level: signature|development|instant|appop -->
4819    <permission android:name="android.permission.INSTANT_APP_FOREGROUND_SERVICE"
4820        android:protectionLevel="signature|development|instant|appop" />
4821
4822    <!-- Allows a regular application to use {@link android.app.Service#startForeground
4823         Service.startForeground}.
4824         <p>Protection level: normal
4825    -->
4826    <permission android:name="android.permission.FOREGROUND_SERVICE"
4827        android:description="@string/permdesc_foregroundService"
4828        android:label="@string/permlab_foregroundService"
4829        android:protectionLevel="normal|instant" />
4830
4831    <!-- @SystemApi Allows to access all app shortcuts.
4832         @hide -->
4833    <permission android:name="android.permission.ACCESS_SHORTCUTS"
4834        android:protectionLevel="signature|appPredictor" />
4835
4836    <!-- @SystemApi Allows unlimited calls to shortcut mutation APIs.
4837         @hide -->
4838    <permission android:name="android.permission.UNLIMITED_SHORTCUTS_API_CALLS"
4839        android:protectionLevel="signature|appPredictor" />
4840
4841    <!-- @SystemApi Allows an application to read the runtime profiles of other apps.
4842         @hide <p>Not for use by third-party applications. -->
4843    <permission android:name="android.permission.READ_RUNTIME_PROFILES"
4844                android:protectionLevel="signature|privileged" />
4845
4846    <!-- @hide Allows audio policy management. -->
4847    <permission android:name="android.permission.MANAGE_AUDIO_POLICY"
4848        android:protectionLevel="signature" />
4849
4850    <!-- @SystemApi Allows an application to turn on / off quiet mode.
4851         @hide -->
4852    <permission android:name="android.permission.MODIFY_QUIET_MODE"
4853                android:protectionLevel="signature|privileged|wellbeing|development" />
4854
4855    <!-- Allows internal management of the camera framework
4856         @hide -->
4857    <permission android:name="android.permission.MANAGE_CAMERA"
4858        android:protectionLevel="signature" />
4859
4860    <!-- Allows an application to control remote animations. See
4861         {@link ActivityOptions#makeRemoteAnimation}
4862         @hide <p>Not for use by third-party applications. -->
4863    <permission android:name="android.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS"
4864        android:protectionLevel="signature|privileged" />
4865
4866    <!-- Allows an application to watch changes and/or active state of app ops.
4867         @hide <p>Not for use by third-party applications. -->
4868    <permission android:name="android.permission.WATCH_APPOPS"
4869        android:protectionLevel="signature|privileged" />
4870
4871    <!-- Allows an application to directly open the "Open by default" page inside a package's
4872         Details screen.
4873         @hide <p>Not for use by third-party applications. -->
4874    <permission android:name="android.permission.OPEN_APP_OPEN_BY_DEFAULT_SETTINGS"
4875                android:protectionLevel="signature" />
4876
4877    <!-- Allows hidden API checks to be disabled when starting a process.
4878         @hide <p>Not for use by third-party applications. -->
4879    <permission android:name="android.permission.DISABLE_HIDDEN_API_CHECKS"
4880                android:protectionLevel="signature" />
4881
4882    <!-- @hide Permission that protects the
4883        {@link android.provider.Telephony.Intents#ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL}
4884        broadcast -->
4885    <permission android:name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE"
4886        android:protectionLevel="signature|privileged" />
4887
4888    <!-- A subclass of {@link android.service.carrier.CarrierMessagingClientService} must be protected with this permission.
4889           <p>Protection level: signature -->
4890    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE"
4891        android:protectionLevel="signature" />
4892
4893    <!-- Must be required by an {@link android.service.watchdog.ExplicitHealthCheckService} to
4894         ensure that only the system can bind to it.
4895         @hide This is not a third-party API (intended for OEMs and system apps).
4896    -->
4897    <permission android:name="android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE"
4898        android:protectionLevel="signature|privileged" />
4899
4900    <!-- @SystemApi Must be required by an {@link android.service.storage.ExternalStorageService} to
4901         ensure that only the system can bind to it.
4902         @hide This is not a third-party API (intended for OEMs and system apps).
4903    -->
4904    <permission android:name="android.permission.BIND_EXTERNAL_STORAGE_SERVICE"
4905        android:protectionLevel="signature" />
4906
4907    <!-- @hide Permission that allows configuring appops.
4908     <p>Not for use by third-party applications. -->
4909    <permission android:name="android.permission.MANAGE_APPOPS"
4910                android:protectionLevel="signature" />
4911
4912    <!-- @hide Permission that allows background clipboard access.
4913         <p>Not for use by third-party applications. -->
4914    <permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"
4915        android:protectionLevel="signature" />
4916
4917    <!-- @SystemApi Allows modifying accessibility state.
4918         @hide -->
4919    <permission android:name="android.permission.MANAGE_ACCESSIBILITY"
4920        android:protectionLevel="signature|setup" />
4921
4922    <!-- @SystemApi Allows an app to grant a profile owner access to device identifiers.
4923         <p>Not for use by third-party applications.
4924         @deprecated
4925         @hide -->
4926    <permission android:name="android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS"
4927        android:protectionLevel="signature" />
4928
4929    <!-- Allows an app to mark a profile owner as managing an organization-owned device.
4930         <p>Not for use by third-party applications.
4931         @hide -->
4932    <permission android:name="android.permission.MARK_DEVICE_ORGANIZATION_OWNED"
4933                android:protectionLevel="signature" />
4934
4935    <!-- Allows financial apps to read filtered sms messages.
4936         Protection level: signature|appop  -->
4937    <permission android:name="android.permission.SMS_FINANCIAL_TRANSACTIONS"
4938        android:protectionLevel="signature|appop" />
4939
4940    <!-- Required for apps targeting {@link android.os.Build.VERSION_CODES#Q} that want to use
4941         {@link android.app.Notification.Builder#setFullScreenIntent notification full screen
4942         intents}.
4943         <p>Protection level: normal -->
4944    <permission android:name="android.permission.USE_FULL_SCREEN_INTENT"
4945                android:protectionLevel="normal" />
4946
4947    <!-- @SystemApi Allows requesting the framework broadcast the
4948         {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY} intent.
4949         @hide -->
4950    <permission android:name="android.permission.SEND_DEVICE_CUSTOMIZATION_READY"
4951        android:protectionLevel="signature|privileged" />
4952
4953    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY}
4954         intent.
4955         @hide -->
4956    <permission android:name="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY"
4957        android:protectionLevel="signature|preinstalled" />
4958
4959    <!-- @SystemApi Allows wallpaper to be rendered in ambient mode.
4960         @hide -->
4961    <permission android:name="android.permission.AMBIENT_WALLPAPER"
4962                android:protectionLevel="signature|preinstalled" />
4963
4964    <!-- @SystemApi Allows sensor privacy to be modified.
4965         @hide -->
4966    <permission android:name="android.permission.MANAGE_SENSOR_PRIVACY"
4967                android:protectionLevel="signature" />
4968    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_REVIEW_ACCESSIBILITY_SERVICES}
4969         intent.
4970         @hide -->
4971    <permission android:name="android.permission.REVIEW_ACCESSIBILITY_SERVICES"
4972                android:protectionLevel="signature" />
4973
4974    <!-- @SystemApi Allows an activity to replace the app name and icon displayed in share targets
4975         in the sharesheet for the Q-release and later.
4976         @hide  <p>Not for use by third-party applications.</p> -->
4977    <permission android:name="android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON"
4978                android:protectionLevel="signature|privileged" />
4979
4980    <!-- @SystemApi Allows an application to access shared libraries.
4981         @hide -->
4982    <permission android:name="android.permission.ACCESS_SHARED_LIBRARIES"
4983                android:protectionLevel="signature|installer" />
4984
4985    <!-- Allows an app to log compat change usage.
4986         @hide  <p>Not for use by third-party applications.</p> -->
4987    <permission android:name="android.permission.LOG_COMPAT_CHANGE"
4988                android:protectionLevel="signature|privileged" />
4989    <!-- Allows an app to read compat change config.
4990         @hide  <p>Not for use by third-party applications.</p> -->
4991    <permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"
4992                android:protectionLevel="signature|privileged" />
4993    <!-- Allows an app to override compat change config.
4994         @hide  <p>Not for use by third-party applications.</p> -->
4995    <permission android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG"
4996                android:protectionLevel="signature|privileged" />
4997
4998    <!-- Allows input events to be monitored. Very dangerous!  @hide -->
4999    <permission android:name="android.permission.MONITOR_INPUT"
5000                android:protectionLevel="signature" />
5001    <!--  Allows the caller to change the associations between input devices and displays.
5002        Very dangerous! @hide -->
5003    <permission android:name="android.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY_BY_PORT"
5004                android:protectionLevel="signature" />
5005
5006    <!-- Allows query of any normal app on the device, regardless of manifest declarations.
5007        <p>Protection level: normal -->
5008    <permission android:name="android.permission.QUERY_ALL_PACKAGES"
5009                android:protectionLevel="normal" />
5010    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
5011
5012    <!-- @hide Allow the caller to collect debugging data from processes that otherwise
5013        would require USAGE_STATS. Before sharing this data with other apps, holders
5014        of this permission are REQUIRED to themselves check that the caller has
5015        PACKAGE_USAGE_STATS and OP_GET_USAGE_STATS. -->
5016    <permission android:name="android.permission.PEEK_DROPBOX_DATA"
5017        android:protectionLevel="signature" />
5018
5019    <!-- @SystemApi Allows an application to access TV tuner HAL
5020         <p>Not for use by third-party applications.
5021         @hide -->
5022    <permission android:name="android.permission.ACCESS_TV_TUNER"
5023        android:protectionLevel="signature|privileged|vendorPrivileged" />
5024
5025    <!-- @SystemApi Allows an application to access descrambler of TV tuner HAL
5026         <p>Not for use by third-party applications.
5027         @hide -->
5028    <permission android:name="android.permission.ACCESS_TV_DESCRAMBLER"
5029        android:protectionLevel="signature|privileged|vendorPrivileged" />
5030
5031    <!-- Allows an application to create trusted displays. @hide -->
5032    <permission android:name="android.permission.ADD_TRUSTED_DISPLAY"
5033                android:protectionLevel="signature" />
5034
5035    <!-- @hide @SystemApi Allows an application to access locusId events in the usage stats. -->
5036    <permission android:name="android.permission.ACCESS_LOCUS_ID_USAGE_STATS"
5037                android:protectionLevel="signature|appPredictor" />
5038
5039    <!-- Attribution for Country Detector. -->
5040    <attribution android:tag="CountryDetector" android:label="@string/country_detector"/>
5041    <!-- Attribution for Location service. -->
5042    <attribution android:tag="LocationService" android:label="@string/location_service"/>
5043    <!-- Attribution for Sensor Notification service. -->
5044    <attribution android:tag="SensorNotificationService"
5045             android:label="@string/sensor_notification_service"/>
5046    <!-- Feature Id for Twilight service. -->
5047    <attribution android:tag="TwilightService" android:label="@string/twilight_service"/>
5048
5049    <application android:process="system"
5050                 android:persistent="true"
5051                 android:hasCode="false"
5052                 android:label="@string/android_system_label"
5053                 android:allowClearUserData="false"
5054                 android:backupAgent="com.android.server.backup.SystemBackupAgent"
5055                 android:killAfterRestore="false"
5056                 android:icon="@drawable/ic_launcher_android"
5057                 android:supportsRtl="true"
5058                 android:theme="@style/Theme.DeviceDefault.Light.DarkActionBar"
5059                 android:defaultToDeviceProtectedStorage="true"
5060                 android:forceQueryable="true"
5061                 android:directBootAware="true">
5062        <activity android:name="com.android.internal.app.ChooserActivity"
5063                android:theme="@style/Theme.DeviceDefault.Chooser"
5064                android:finishOnCloseSystemDialogs="true"
5065                android:excludeFromRecents="true"
5066                android:documentLaunchMode="never"
5067                android:relinquishTaskIdentity="true"
5068                android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
5069                android:process=":ui"
5070                android:visibleToInstantApps="true">
5071            <intent-filter>
5072                <action android:name="android.intent.action.CHOOSER" />
5073                <category android:name="android.intent.category.DEFAULT" />
5074                <category android:name="android.intent.category.VOICE" />
5075            </intent-filter>
5076        </activity>
5077        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityShortcutChooserActivity"
5078                  android:exported="false"
5079                  android:theme="@style/Theme.DeviceDefault.Dialog.Alert.DayNight"
5080                  android:finishOnCloseSystemDialogs="true"
5081                  android:excludeFromRecents="true"
5082                  android:documentLaunchMode="never"
5083                  android:relinquishTaskIdentity="true"
5084                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
5085                  android:process=":ui"
5086                  android:visibleToInstantApps="true">
5087            <intent-filter>
5088                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
5089                <category android:name="android.intent.category.DEFAULT" />
5090            </intent-filter>
5091        </activity>
5092        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityButtonChooserActivity"
5093                  android:exported="false"
5094                  android:theme="@style/Theme.DeviceDefault.Resolver"
5095                  android:finishOnCloseSystemDialogs="true"
5096                  android:excludeFromRecents="true"
5097                  android:documentLaunchMode="never"
5098                  android:relinquishTaskIdentity="true"
5099                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
5100                  android:process=":ui"
5101                  android:visibleToInstantApps="true">
5102            <intent-filter>
5103                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
5104                <category android:name="android.intent.category.DEFAULT" />
5105            </intent-filter>
5106        </activity>
5107        <activity android:name="com.android.internal.app.IntentForwarderActivity"
5108                android:finishOnCloseSystemDialogs="true"
5109                android:theme="@style/Theme.Translucent.NoTitleBar"
5110                android:excludeFromRecents="true"
5111                android:label="@string/user_owner_label"
5112                android:exported="true"
5113                android:visibleToInstantApps="true"
5114                >
5115        </activity>
5116        <activity-alias android:name="com.android.internal.app.ForwardIntentToParent"
5117                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
5118                android:exported="true"
5119                android:label="@string/user_owner_label">
5120        </activity-alias>
5121        <activity-alias android:name="com.android.internal.app.ForwardIntentToManagedProfile"
5122                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
5123                android:icon="@drawable/ic_corp_badge"
5124                android:exported="true"
5125                android:label="@string/managed_profile_label">
5126        </activity-alias>
5127        <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
5128                android:theme="@style/Theme.DeviceDefault.System.Dialog.Alert"
5129                android:label="@string/heavy_weight_switcher_title"
5130                android:finishOnCloseSystemDialogs="true"
5131                android:excludeFromRecents="true"
5132                android:process=":ui">
5133        </activity>
5134        <activity android:name="com.android.internal.app.PlatLogoActivity"
5135                android:theme="@style/Theme.DeviceDefault.DayNight"
5136                android:configChanges="orientation|keyboardHidden"
5137                android:icon="@drawable/platlogo"
5138                android:process=":ui">
5139        </activity>
5140        <activity android:name="com.android.internal.app.DisableCarModeActivity"
5141                android:theme="@style/Theme.NoDisplay"
5142                android:excludeFromRecents="true"
5143                android:process=":ui">
5144        </activity>
5145
5146        <activity android:name="android.accounts.ChooseAccountActivity"
5147                android:excludeFromRecents="true"
5148                android:exported="true"
5149                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
5150                android:label="@string/choose_account_label"
5151                android:process=":ui"
5152                android:visibleToInstantApps="true">
5153        </activity>
5154
5155        <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
5156                android:excludeFromRecents="true"
5157                android:exported="true"
5158                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
5159                android:label="@string/choose_account_label"
5160                android:process=":ui"
5161                android:visibleToInstantApps="true">
5162        </activity>
5163
5164        <activity android:name="android.accounts.ChooseAccountTypeActivity"
5165                android:excludeFromRecents="true"
5166                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
5167                android:label="@string/choose_account_label"
5168                android:process=":ui"
5169                android:visibleToInstantApps="true">
5170        </activity>
5171
5172        <activity android:name="android.accounts.CantAddAccountActivity"
5173                android:excludeFromRecents="true"
5174                android:exported="true"
5175                android:theme="@style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
5176                android:process=":ui">
5177        </activity>
5178
5179        <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
5180                android:excludeFromRecents="true"
5181                android:exported="true"
5182                android:theme="@style/Theme.DeviceDefault.Light.DialogWhenLarge"
5183                android:process=":ui"
5184                android:visibleToInstantApps="true">
5185        </activity>
5186
5187        <activity android:name="android.content.SyncActivityTooManyDeletes"
5188               android:theme="@style/Theme.DeviceDefault.Light.Dialog"
5189               android:label="@string/sync_too_many_deletes"
5190               android:process=":ui">
5191        </activity>
5192
5193        <activity android:name="com.android.internal.app.ShutdownActivity"
5194            android:permission="android.permission.SHUTDOWN"
5195            android:theme="@style/Theme.NoDisplay"
5196            android:excludeFromRecents="true">
5197            <intent-filter>
5198                <action android:name="com.android.internal.intent.action.REQUEST_SHUTDOWN" />
5199                <category android:name="android.intent.category.DEFAULT" />
5200            </intent-filter>
5201            <intent-filter>
5202                <action android:name="android.intent.action.REBOOT" />
5203                <category android:name="android.intent.category.DEFAULT" />
5204            </intent-filter>
5205        </activity>
5206
5207        <activity android:name="com.android.internal.app.NetInitiatedActivity"
5208                android:theme="@style/Theme.Dialog.Confirmation"
5209                android:excludeFromRecents="true"
5210                android:process=":ui">
5211        </activity>
5212
5213        <activity android:name="com.android.internal.app.SystemUserHomeActivity"
5214                  android:enabled="false"
5215                  android:process=":ui"
5216                  android:systemUserOnly="true"
5217                  android:theme="@style/Theme.Translucent.NoTitleBar">
5218            <intent-filter android:priority="-100">
5219                <action android:name="android.intent.action.MAIN" />
5220                <category android:name="android.intent.category.HOME" />
5221            </intent-filter>
5222        </activity>
5223
5224        <!-- Activity to prompt user if it's ok to create a new user sandbox for a
5225             specified account. -->
5226        <activity android:name="com.android.internal.app.ConfirmUserCreationActivity"
5227                android:excludeFromRecents="true"
5228                android:process=":ui"
5229                android:theme="@style/Theme.Dialog.Confirmation">
5230            <intent-filter android:priority="1000">
5231                <action android:name="android.os.action.CREATE_USER" />
5232                <category android:name="android.intent.category.DEFAULT" />
5233            </intent-filter>
5234        </activity>
5235
5236        <activity android:name="com.android.internal.app.SuspendedAppActivity"
5237                  android:theme="@style/Theme.DeviceDefault.Dialog.Alert.DayNight"
5238                  android:excludeFromRecents="true"
5239                  android:process=":ui">
5240        </activity>
5241
5242        <activity android:name="com.android.internal.app.UnlaunchableAppActivity"
5243                android:theme="@style/Theme.Dialog.Confirmation"
5244                android:excludeFromRecents="true"
5245                android:process=":ui">
5246        </activity>
5247
5248        <activity android:name="com.android.internal.app.BlockedAppActivity"
5249                android:theme="@style/Theme.Dialog.Confirmation"
5250                android:excludeFromRecents="true"
5251                android:lockTaskMode="always"
5252                android:process=":ui">
5253        </activity>
5254
5255        <activity android:name="com.android.settings.notification.NotificationAccessConfirmationActivity"
5256                  android:theme="@style/Theme.Dialog.Confirmation"
5257                  android:excludeFromRecents="true">
5258        </activity>
5259
5260        <activity android:name="com.android.internal.app.HarmfulAppWarningActivity"
5261                  android:theme="@style/Theme.Dialog.Confirmation"
5262                  android:excludeFromRecents="true"
5263                  android:process=":ui"
5264                  android:label="@string/harmful_app_warning_title"
5265                  android:exported="false">
5266        </activity>
5267
5268        <receiver android:name="com.android.server.BootReceiver"
5269                android:systemUserOnly="true">
5270            <intent-filter android:priority="1000">
5271                <action android:name="android.intent.action.BOOT_COMPLETED" />
5272            </intent-filter>
5273        </receiver>
5274
5275        <receiver android:name="com.android.server.updates.CertPinInstallReceiver"
5276                android:permission="android.permission.UPDATE_CONFIG">
5277            <intent-filter>
5278                <action android:name="android.intent.action.UPDATE_PINS" />
5279                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
5280            </intent-filter>
5281        </receiver>
5282
5283        <receiver android:name="com.android.server.updates.IntentFirewallInstallReceiver"
5284                android:permission="android.permission.UPDATE_CONFIG">
5285            <intent-filter>
5286                <action android:name="android.intent.action.UPDATE_INTENT_FIREWALL" />
5287                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
5288            </intent-filter>
5289        </receiver>
5290
5291        <receiver android:name="com.android.server.updates.SmsShortCodesInstallReceiver"
5292                android:permission="android.permission.UPDATE_CONFIG">
5293            <intent-filter>
5294                <action android:name="android.intent.action.UPDATE_SMS_SHORT_CODES" />
5295                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
5296            </intent-filter>
5297        </receiver>
5298
5299        <receiver android:name="com.android.server.updates.NetworkWatchlistInstallReceiver"
5300                  android:permission="android.permission.UPDATE_CONFIG">
5301            <intent-filter>
5302                <action android:name="android.intent.action.UPDATE_NETWORK_WATCHLIST" />
5303                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
5304            </intent-filter>
5305        </receiver>
5306
5307        <receiver android:name="com.android.server.updates.ApnDbInstallReceiver"
5308                android:permission="android.permission.UPDATE_CONFIG">
5309            <intent-filter>
5310                <action android:name="com.android.internal.intent.action.UPDATE_APN_DB" />
5311                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
5312            </intent-filter>
5313        </receiver>
5314
5315        <receiver android:name="com.android.server.updates.CarrierProvisioningUrlsInstallReceiver"
5316                android:permission="android.permission.UPDATE_CONFIG">
5317            <intent-filter>
5318                <action android:name="android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS" />
5319                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
5320            </intent-filter>
5321        </receiver>
5322
5323        <receiver android:name="com.android.server.updates.CertificateTransparencyLogInstallReceiver"
5324                android:permission="android.permission.UPDATE_CONFIG">
5325            <intent-filter>
5326                <action android:name="android.intent.action.UPDATE_CT_LOGS" />
5327                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
5328            </intent-filter>
5329        </receiver>
5330
5331        <receiver android:name="com.android.server.updates.LangIdInstallReceiver"
5332                android:permission="android.permission.UPDATE_CONFIG">
5333            <intent-filter>
5334                <action android:name="android.intent.action.UPDATE_LANG_ID" />
5335                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
5336            </intent-filter>
5337        </receiver>
5338
5339        <receiver android:name="com.android.server.updates.SmartSelectionInstallReceiver"
5340                android:permission="android.permission.UPDATE_CONFIG">
5341            <intent-filter>
5342                <action android:name="android.intent.action.UPDATE_SMART_SELECTION" />
5343                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
5344            </intent-filter>
5345        </receiver>
5346
5347        <receiver android:name="com.android.server.updates.ConversationActionsInstallReceiver"
5348                  android:permission="android.permission.UPDATE_CONFIG">
5349            <intent-filter>
5350                <action android:name="android.intent.action.UPDATE_CONVERSATION_ACTIONS" />
5351                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
5352            </intent-filter>
5353        </receiver>
5354
5355        <receiver android:name="com.android.server.updates.CarrierIdInstallReceiver"
5356                  android:permission="android.permission.UPDATE_CONFIG">
5357            <intent-filter>
5358                <action android:name="android.os.action.UPDATE_CARRIER_ID_DB" />
5359                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
5360            </intent-filter>
5361        </receiver>
5362
5363        <receiver android:name="com.android.server.updates.EmergencyNumberDbInstallReceiver"
5364                  android:permission="android.permission.UPDATE_CONFIG">
5365            <intent-filter>
5366                <action android:name="android.os.action.UPDATE_EMERGENCY_NUMBER_DB" />
5367                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
5368            </intent-filter>
5369        </receiver>
5370
5371        <receiver android:name="com.android.server.MasterClearReceiver"
5372            android:permission="android.permission.MASTER_CLEAR">
5373            <intent-filter
5374                    android:priority="100" >
5375                <!-- For Checkin, Settings, etc.: action=FACTORY_RESET -->
5376                <action android:name="android.intent.action.FACTORY_RESET" />
5377                <!-- As above until all the references to the deprecated MASTER_CLEAR get updated to
5378                     FACTORY_RESET. -->
5379                <action android:name="android.intent.action.MASTER_CLEAR" />
5380
5381                <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
5382                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
5383                <category android:name="android.intent.category.MASTER_CLEAR" />
5384            </intent-filter>
5385        </receiver>
5386
5387        <receiver android:name="com.android.server.WallpaperUpdateReceiver"
5388                  android:permission="android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY">
5389            <intent-filter>
5390                <action android:name="android.intent.action.DEVICE_CUSTOMIZATION_READY"/>
5391            </intent-filter>
5392        </receiver>
5393
5394        <service android:name="android.hardware.location.GeofenceHardwareService"
5395            android:permission="android.permission.LOCATION_HARDWARE"
5396            android:exported="false" />
5397
5398        <service android:name="com.android.server.MountServiceIdler"
5399                 android:exported="true"
5400                 android:permission="android.permission.BIND_JOB_SERVICE" >
5401        </service>
5402
5403        <service android:name="com.android.server.ZramWriteback"
5404                 android:exported="false"
5405                 android:permission="android.permission.BIND_JOB_SERVICE" >
5406        </service>
5407
5408        <service android:name="com.android.server.backup.FullBackupJob"
5409                 android:exported="true"
5410                 android:permission="android.permission.BIND_JOB_SERVICE" >
5411        </service>
5412
5413        <service android:name="com.android.server.backup.KeyValueBackupJob"
5414                 android:permission="android.permission.BIND_JOB_SERVICE" >
5415        </service>
5416
5417        <service android:name="com.android.server.content.SyncJobService"
5418                 android:permission="android.permission.BIND_JOB_SERVICE" >
5419        </service>
5420
5421        <service android:name="com.android.server.pm.BackgroundDexOptService"
5422                 android:exported="true"
5423                 android:permission="android.permission.BIND_JOB_SERVICE">
5424        </service>
5425
5426        <service android:name="com.android.server.pm.DynamicCodeLoggingService"
5427                 android:permission="android.permission.BIND_JOB_SERVICE">
5428        </service>
5429
5430        <service android:name="com.android.server.PruneInstantAppsJobService"
5431                 android:permission="android.permission.BIND_JOB_SERVICE" >
5432        </service>
5433
5434        <service android:name="com.android.server.storage.DiskStatsLoggingService"
5435                 android:permission="android.permission.BIND_JOB_SERVICE" >
5436        </service>
5437
5438        <service android:name="com.android.server.PreloadsFileCacheExpirationJobService"
5439                 android:permission="android.permission.BIND_JOB_SERVICE" >
5440        </service>
5441
5442        <service android:name="com.android.server.camera.CameraStatsJobService"
5443                 android:permission="android.permission.BIND_JOB_SERVICE" >
5444        </service>
5445
5446        <service android:name="com.android.server.timezone.TimeZoneUpdateIdler"
5447                 android:permission="android.permission.BIND_JOB_SERVICE" >
5448        </service>
5449
5450        <service android:name="com.android.server.usage.UsageStatsIdleService"
5451                 android:permission="android.permission.BIND_JOB_SERVICE" >
5452        </service>
5453
5454        <service android:name="com.android.server.net.watchlist.ReportWatchlistJobService"
5455                 android:permission="android.permission.BIND_JOB_SERVICE" >
5456        </service>
5457
5458        <service android:name="com.android.server.display.BrightnessIdleJob"
5459                 android:permission="android.permission.BIND_JOB_SERVICE" >
5460        </service>
5461
5462        <service android:name="com.android.server.people.data.DataMaintenanceService"
5463                 android:permission="android.permission.BIND_JOB_SERVICE" >
5464        </service>
5465
5466        <service
5467                android:name="com.android.server.autofill.AutofillCompatAccessibilityService"
5468                android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
5469                android:visibleToInstantApps="true"
5470                android:exported="true">
5471            <meta-data
5472                    android:name="android.accessibilityservice"
5473                    android:resource="@xml/autofill_compat_accessibility_service" />
5474        </service>
5475
5476        <service android:name="com.google.android.startop.iorap.IorapForwardingService$IorapdJobServiceProxy"
5477                 android:permission="android.permission.BIND_JOB_SERVICE" >
5478        </service>
5479
5480        <service android:name="com.android.server.blob.BlobStoreIdleJobService"
5481                 android:permission="android.permission.BIND_JOB_SERVICE">
5482        </service>
5483
5484        <service android:name="com.android.server.pm.PackageManagerShellCommandDataLoader"
5485            android:exported="false">
5486            <intent-filter>
5487                <action android:name="android.intent.action.LOAD_DATA"/>
5488            </intent-filter>
5489        </service>
5490
5491        <provider
5492            android:name="com.android.server.textclassifier.IconsContentProvider"
5493            android:authorities="com.android.textclassifier.icons"
5494            android:singleUser="true"
5495            android:enabled="true"
5496            android:exported="true">
5497        </provider>
5498
5499    </application>
5500
5501</manifest>
5502