AndroidManifest.xml revision 2b07bbafa261c27409cd7ca8c586521f54babd96
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_RESTARTED" />
46    <protected-broadcast android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
47    <protected-broadcast android:name="android.intent.action.PACKAGE_FIRST_LAUNCH" />
48    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION" />
49    <protected-broadcast android:name="android.intent.action.PACKAGE_VERIFIED" />
50    <protected-broadcast android:name="android.intent.action.PACKAGES_SUSPENDED" />
51    <protected-broadcast android:name="android.intent.action.PACKAGES_UNSUSPENDED" />
52    <protected-broadcast android:name="android.intent.action.ACTION_PREFERRED_ACTIVITY_CHANGED" />
53    <protected-broadcast android:name="android.intent.action.UID_REMOVED" />
54    <protected-broadcast android:name="android.intent.action.QUERY_PACKAGE_RESTART" />
55    <protected-broadcast android:name="android.intent.action.CONFIGURATION_CHANGED" />
56    <protected-broadcast android:name="android.intent.action.LOCALE_CHANGED" />
57    <protected-broadcast android:name="android.intent.action.BATTERY_CHANGED" />
58    <protected-broadcast android:name="android.intent.action.BATTERY_LOW" />
59    <protected-broadcast android:name="android.intent.action.BATTERY_OKAY" />
60    <protected-broadcast android:name="android.intent.action.ACTION_POWER_CONNECTED" />
61    <protected-broadcast android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
62    <protected-broadcast android:name="android.intent.action.ACTION_SHUTDOWN" />
63    <protected-broadcast android:name="android.intent.action.CHARGING" />
64    <protected-broadcast android:name="android.intent.action.DISCHARGING" />
65    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_LOW" />
66    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_OK" />
67    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_FULL" />
68    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_NOT_FULL" />
69    <protected-broadcast android:name="android.intent.action.NEW_OUTGOING_CALL" />
70    <protected-broadcast android:name="android.intent.action.REBOOT" />
71    <protected-broadcast android:name="android.intent.action.DOCK_EVENT" />
72    <protected-broadcast android:name="android.intent.action.THERMAL_EVENT" />
73    <protected-broadcast android:name="android.intent.action.MASTER_CLEAR_NOTIFICATION" />
74    <protected-broadcast android:name="android.intent.action.USER_ADDED" />
75    <protected-broadcast android:name="android.intent.action.USER_REMOVED" />
76    <protected-broadcast android:name="android.intent.action.USER_STARTING" />
77    <protected-broadcast android:name="android.intent.action.USER_STARTED" />
78    <protected-broadcast android:name="android.intent.action.USER_STOPPING" />
79    <protected-broadcast android:name="android.intent.action.USER_STOPPED" />
80    <protected-broadcast android:name="android.intent.action.USER_BACKGROUND" />
81    <protected-broadcast android:name="android.intent.action.USER_FOREGROUND" />
82    <protected-broadcast android:name="android.intent.action.USER_SWITCHED" />
83    <protected-broadcast android:name="android.intent.action.USER_INITIALIZE" />
84    <protected-broadcast android:name="android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION" />
85    <protected-broadcast android:name="android.intent.action.OVERLAY_ADDED" />
86    <protected-broadcast android:name="android.intent.action.OVERLAY_CHANGED" />
87    <protected-broadcast android:name="android.intent.action.OVERLAY_REMOVED" />
88    <protected-broadcast android:name="android.intent.action.OVERLAY_PRIORITY_CHANGED" />
89
90    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED" />
91    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGING" />
92    <protected-broadcast android:name="android.os.action.DEVICE_IDLE_MODE_CHANGED" />
93    <protected-broadcast android:name="android.os.action.POWER_SAVE_WHITELIST_CHANGED" />
94    <protected-broadcast android:name="android.os.action.POWER_SAVE_TEMP_WHITELIST_CHANGED" />
95    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED_INTERNAL" />
96
97    <protected-broadcast android:name="android.os.action.SCREEN_BRIGHTNESS_BOOST_CHANGED" />
98
99    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE" />
100    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE" />
101    <protected-broadcast android:name="android.app.action.ENTER_DESK_MODE" />
102    <protected-broadcast android:name="android.app.action.EXIT_DESK_MODE" />
103    <protected-broadcast android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
104
105    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARING_DECLINED" />
106    <protected-broadcast android:name="android.app.action.BUGREPORT_FAILED" />
107    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARE" />
108    <protected-broadcast android:name="android.app.action.SHOW_DEVICE_MONITORING_DIALOG" />
109
110    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_UPDATE_OPTIONS" />
111    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DELETED" />
112    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DISABLED" />
113    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLED" />
114    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED" />
115    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_RESTORED" />
116
117    <protected-broadcast android:name="android.os.action.SETTING_RESTORED" />
118
119    <protected-broadcast android:name="android.app.backup.intent.RUN" />
120    <protected-broadcast android:name="android.app.backup.intent.CLEAR" />
121    <protected-broadcast android:name="android.app.backup.intent.INIT" />
122
123    <protected-broadcast android:name="android.bluetooth.intent.DISCOVERABLE_TIMEOUT" />
124    <protected-broadcast android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
125    <protected-broadcast android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
126    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
127    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
128    <protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
129    <protected-broadcast android:name="android.bluetooth.adapter.action.BLUETOOTH_ADDRESS_CHANGED" />
130    <protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
131    <protected-broadcast android:name="android.bluetooth.device.action.UUID" />
132    <protected-broadcast android:name="android.bluetooth.device.action.MAS_INSTANCE" />
133    <protected-broadcast android:name="android.bluetooth.device.action.ALIAS_CHANGED" />
134    <protected-broadcast android:name="android.bluetooth.device.action.FOUND" />
135    <protected-broadcast android:name="android.bluetooth.device.action.DISAPPEARED" />
136    <protected-broadcast android:name="android.bluetooth.device.action.CLASS_CHANGED" />
137    <protected-broadcast android:name="android.bluetooth.device.action.ACL_CONNECTED" />
138    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
139    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
140    <protected-broadcast android:name="android.bluetooth.device.action.NAME_CHANGED" />
141    <protected-broadcast android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
142    <protected-broadcast android:name="android.bluetooth.device.action.NAME_FAILED" />
143    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
144    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
145    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
146    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL" />
147    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST" />
148    <protected-broadcast android:name="android.bluetooth.device.action.SDP_RECORD" />
149    <protected-broadcast android:name="android.bluetooth.device.action.BATTERY_LEVEL_CHANGED" />
150    <protected-broadcast android:name="android.bluetooth.devicepicker.action.LAUNCH" />
151    <protected-broadcast android:name="android.bluetooth.devicepicker.action.DEVICE_SELECTED" />
152    <protected-broadcast
153        android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
154    <protected-broadcast
155        android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />
156    <protected-broadcast
157        android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
158    <protected-broadcast
159        android:name="android.bluetooth.headset.action.HF_INDICATORS_VALUE_CHANGED" />
160    <protected-broadcast
161        android:name="android.bluetooth.headsetclient.profile.action.CONNECTION_STATE_CHANGED" />
162    <protected-broadcast
163        android:name="android.bluetooth.headsetclient.profile.action.AUDIO_STATE_CHANGED" />
164    <protected-broadcast
165        android:name="android.bluetooth.headsetclient.profile.action.AG_EVENT" />
166    <protected-broadcast
167        android:name="android.bluetooth.headsetclient.profile.action.AG_CALL_CHANGED" />
168    <protected-broadcast
169        android:name="android.bluetooth.headsetclient.profile.action.RESULT" />
170    <protected-broadcast
171        android:name="android.bluetooth.headsetclient.profile.action.LAST_VTAG" />
172    <protected-broadcast
173        android:name="android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED" />
174    <protected-broadcast
175        android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
176    <protected-broadcast
177        android:name="android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED" />
178    <protected-broadcast
179        android:name="android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED" />
180    <protected-broadcast
181        android:name="android.bluetooth.a2dp-sink.profile.action.PLAYING_STATE_CHANGED" />
182    <protected-broadcast
183        android:name="android.bluetooth.a2dp-sink.profile.action.AUDIO_CONFIG_CHANGED" />
184    <protected-broadcast
185        android:name="android.bluetooth.avrcp-controller.profile.action.CONNECTION_STATE_CHANGED" />
186    <protected-broadcast
187        android:name="android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED" />
188    <protected-broadcast
189        android:name="android.bluetooth.input.profile.action.PROTOCOL_MODE_CHANGED" />
190    <protected-broadcast
191        android:name="android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS" />
192    <protected-broadcast
193        android:name="android.bluetooth.inputhost.profile.action.CONNECTION_STATE_CHANGED" />
194    <protected-broadcast
195        android:name="android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED" />
196    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.CONNECTION_STATE_CHANGED" />
197    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_RECEIVED" />
198    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_SENT_SUCCESSFULLY" />
199    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELIVERED_SUCCESSFULLY" />
200    <protected-broadcast
201        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
202    <protected-broadcast
203        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
204    <protected-broadcast
205        android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" />
206    <protected-broadcast android:name="android.bluetooth.pbap.intent.action.PBAP_STATE_CHANGED" />
207    <protected-broadcast android:name="android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED" />
208    <protected-broadcast android:name="android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED" />
209    <protected-broadcast android:name="android.btopp.intent.action.INCOMING_FILE_NOTIFICATION" />
210    <protected-broadcast android:name="android.btopp.intent.action.USER_CONFIRMATION_TIMEOUT" />
211    <protected-broadcast android:name="android.btopp.intent.action.LIST" />
212    <protected-broadcast android:name="android.btopp.intent.action.OPEN_OUTBOUND" />
213    <protected-broadcast android:name="android.btopp.intent.action.HIDE_COMPLETE" />
214    <protected-broadcast android:name="android.btopp.intent.action.CONFIRM" />
215    <protected-broadcast android:name="android.btopp.intent.action.HIDE" />
216    <protected-broadcast android:name="android.btopp.intent.action.RETRY" />
217    <protected-broadcast android:name="android.btopp.intent.action.OPEN" />
218    <protected-broadcast android:name="android.btopp.intent.action.OPEN_INBOUND" />
219    <protected-broadcast android:name="android.btopp.intent.action.TRANSFER_COMPLETE" />
220    <protected-broadcast android:name="android.btopp.intent.action.ACCEPT" />
221    <protected-broadcast android:name="android.btopp.intent.action.DECLINE" />
222    <protected-broadcast android:name="com.android.bluetooth.gatt.REFRESH_BATCHED_SCAN" />
223    <protected-broadcast android:name="com.android.bluetooth.pbap.authchall" />
224    <protected-broadcast android:name="com.android.bluetooth.pbap.userconfirmtimeout" />
225    <protected-broadcast android:name="com.android.bluetooth.pbap.authresponse" />
226    <protected-broadcast android:name="com.android.bluetooth.pbap.authcancelled" />
227    <protected-broadcast android:name="com.android.bluetooth.sap.USER_CONFIRM_TIMEOUT" />
228    <protected-broadcast android:name="com.android.bluetooth.sap.action.DISCONNECT_ACTION" />
229
230    <protected-broadcast android:name="android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED" />
231
232    <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" />
233    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_CHANGED" />
234    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
235    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_DETACHED" />
236    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
237    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
238
239    <protected-broadcast android:name="android.intent.action.HEADSET_PLUG" />
240    <protected-broadcast android:name="android.media.action.HDMI_AUDIO_PLUG" />
241
242    <protected-broadcast android:name="android.media.AUDIO_BECOMING_NOISY" />
243    <protected-broadcast android:name="android.media.RINGER_MODE_CHANGED" />
244    <protected-broadcast android:name="android.media.VIBRATE_SETTING_CHANGED" />
245    <protected-broadcast android:name="android.media.VOLUME_CHANGED_ACTION" />
246    <protected-broadcast android:name="android.media.MASTER_VOLUME_CHANGED_ACTION" />
247    <protected-broadcast android:name="android.media.MASTER_MUTE_CHANGED_ACTION" />
248    <protected-broadcast android:name="android.media.MASTER_MONO_CHANGED_ACTION" />
249    <protected-broadcast android:name="android.media.SCO_AUDIO_STATE_CHANGED" />
250    <protected-broadcast android:name="android.media.ACTION_SCO_AUDIO_STATE_UPDATED" />
251
252    <protected-broadcast android:name="android.intent.action.MEDIA_REMOVED" />
253    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTED" />
254    <protected-broadcast android:name="android.intent.action.MEDIA_CHECKING" />
255    <protected-broadcast android:name="android.intent.action.MEDIA_NOFS" />
256    <protected-broadcast android:name="android.intent.action.MEDIA_MOUNTED" />
257    <protected-broadcast android:name="android.intent.action.MEDIA_SHARED" />
258    <protected-broadcast android:name="android.intent.action.MEDIA_UNSHARED" />
259    <protected-broadcast android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
260    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTABLE" />
261    <protected-broadcast android:name="android.intent.action.MEDIA_EJECT" />
262
263    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL" />
264    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE" />
265    <!-- @deprecated.  Only {@link android.net.ConnectivityManager.CONNECTIVITY_ACTION} is sent. -->
266    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE" />
267    <protected-broadcast android:name="android.net.conn.DATA_ACTIVITY_CHANGE" />
268    <protected-broadcast android:name="android.net.conn.RESTRICT_BACKGROUND_CHANGED" />
269    <protected-broadcast android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
270    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL_TEST_COMPLETED" />
271
272    <protected-broadcast android:name="android.net.nsd.STATE_CHANGED" />
273
274    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
275    <protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
276    <protected-broadcast android:name="com.android.nfc.action.LLCP_UP" />
277    <protected-broadcast android:name="com.android.nfc.action.LLCP_DOWN" />
278    <protected-broadcast android:name="com.android.nfc.cardemulation.action.CLOSE_TAP_DIALOG" />
279    <protected-broadcast android:name="com.android.nfc.handover.action.ALLOW_CONNECT" />
280    <protected-broadcast android:name="com.android.nfc.handover.action.DENY_CONNECT" />
281    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_ON_DETECTED" />
282    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED" />
283    <protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
284    <!-- For NFC to BT handover -->
285    <protected-broadcast android:name="android.btopp.intent.action.WHITELIST_DEVICE" />
286    <protected-broadcast android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER" />
287    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND" />
288    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE" />
289    <protected-broadcast android:name="com.android.nfc.handover.action.CANCEL_HANDOVER_TRANSFER" />
290
291    <protected-broadcast android:name="android.intent.action.CLEAR_DNS_CACHE" />
292    <protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
293
294    <protected-broadcast android:name="android.os.UpdateLock.UPDATE_LOCK_CHANGED" />
295
296    <protected-broadcast android:name="android.intent.action.DREAMING_STARTED" />
297    <protected-broadcast android:name="android.intent.action.DREAMING_STOPPED" />
298    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
299
300    <protected-broadcast android:name="com.android.server.WifiManager.action.START_SCAN" />
301    <protected-broadcast android:name="com.android.server.WifiManager.action.START_PNO" />
302    <protected-broadcast android:name="com.android.server.WifiManager.action.DELAYED_DRIVER_STOP" />
303    <protected-broadcast android:name="com.android.server.WifiManager.action.DEVICE_IDLE" />
304    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_ACCEPTED" />
305    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_DECLINED" />
306    <protected-broadcast android:name="com.android.server.action.WIPE_EUICC_DATA" />
307    <protected-broadcast android:name="com.android.server.usb.ACTION_OPEN_IN_APPS" />
308    <protected-broadcast android:name="com.android.server.am.DELETE_DUMPHEAP" />
309    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_WARNING" />
310    <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" />
311    <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
312    <protected-broadcast android:name="android.net.wifi.WIFI_CREDENTIAL_CHANGED" />
313    <protected-broadcast android:name="android.net.wifi.WIFI_SCAN_AVAILABLE" />
314    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED" />
315    <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" />
316    <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" />
317    <protected-broadcast android:name="android.net.wifi.STATE_CHANGE" />
318    <protected-broadcast android:name="android.net.wifi.LINK_CONFIGURATION_CHANGED" />
319    <protected-broadcast android:name="android.net.wifi.CONFIGURED_NETWORKS_CHANGE" />
320    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_DEAUTH_IMMINENT" />
321    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_ICON" />
322    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_OSU_PROVIDERS_LIST" />
323    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_SUBSCRIPTION_REMEDIATION" />
324    <protected-broadcast android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
325    <protected-broadcast android:name="android.net.wifi.supplicant.STATE_CHANGE" />
326    <protected-broadcast android:name="android.net.wifi.p2p.STATE_CHANGED" />
327    <protected-broadcast android:name="android.net.wifi.p2p.DISCOVERY_STATE_CHANGE" />
328    <protected-broadcast android:name="android.net.wifi.p2p.THIS_DEVICE_CHANGED" />
329    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
330    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
331    <protected-broadcast android:name="android.net.wifi.p2p.PERSISTENT_GROUPS_CHANGED" />
332    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
333    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
334    <protected-broadcast android:name="android.net.conn.NETWORK_CONDITIONS_MEASURED" />
335    <protected-broadcast
336            android:name="android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED" />
337    <protected-broadcast android:name="android.net.scoring.SCORE_NETWORKS" />
338    <protected-broadcast android:name="android.net.scoring.SCORER_CHANGED" />
339    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE" />
340    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" />
341    <protected-broadcast android:name="android.intent.action.AIRPLANE_MODE" />
342    <protected-broadcast android:name="android.intent.action.ADVANCED_SETTINGS" />
343    <protected-broadcast android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED" />
344
345    <!-- Legacy -->
346    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_START" />
347    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_END" />
348
349    <protected-broadcast android:name="com.android.server.ACTION_TRIGGER_IDLE" />
350
351    <protected-broadcast android:name="android.intent.action.HDMI_PLUGGED" />
352
353    <protected-broadcast android:name="android.intent.action.PHONE_STATE" />
354
355    <protected-broadcast android:name="android.intent.action.SUB_DEFAULT_CHANGED" />
356
357    <protected-broadcast android:name="android.location.GPS_ENABLED_CHANGE" />
358    <protected-broadcast android:name="android.location.PROVIDERS_CHANGED" />
359    <protected-broadcast android:name="android.location.MODE_CHANGED" />
360    <protected-broadcast android:name="android.location.GPS_FIX_CHANGE" />
361    <protected-broadcast android:name="android.net.proxy.PAC_REFRESH" />
362
363    <protected-broadcast android:name="android.telecom.action.DEFAULT_DIALER_CHANGED" />
364    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED" />
365    <protected-broadcast android:name="android.intent.action.CONTENT_CHANGED" />
366    <protected-broadcast android:name="android.provider.Telephony.MMS_DOWNLOADED" />
367
368    <protected-broadcast
369        android:name="com.android.server.connectivityservice.CONNECTED_TO_PROVISIONING_NETWORK_ACTION" />
370
371    <!-- Defined in RestrictionsManager -->
372    <protected-broadcast
373        android:name="android.intent.action.PERMISSION_RESPONSE_RECEIVED" />
374    <!-- Defined in RestrictionsManager -->
375
376    <protected-broadcast android:name="android.intent.action.REQUEST_PERMISSION" />
377    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_STARTED" />
378    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
379    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_PROGRESS" />
380    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
381
382    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED" />
383    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED" />
384    <protected-broadcast android:name="android.intent.action.ACTION_SUBINFO_CONTENT_CHANGE" />
385    <protected-broadcast android:name="android.intent.action.ACTION_SUBINFO_RECORD_UPDATED" />
386
387    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_DONE" />
388    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_FAILED" />
389
390    <protected-broadcast android:name="android.internal.policy.action.BURN_IN_PROTECTION" />
391    <protected-broadcast android:name="android.app.action.SYSTEM_UPDATE_POLICY_CHANGED" />
392    <protected-broadcast android:name="android.app.action.DEVICE_OWNER_CHANGED" />
393
394    <!-- Added in N -->
395    <protected-broadcast android:name="android.intent.action.ANR" />
396    <protected-broadcast android:name="android.intent.action.CALL" />
397    <protected-broadcast android:name="android.intent.action.CALL_PRIVILEGED" />
398    <protected-broadcast android:name="android.intent.action.DROPBOX_ENTRY_ADDED" />
399    <protected-broadcast android:name="android.intent.action.INPUT_METHOD_CHANGED" />
400    <protected-broadcast android:name="android.intent.action.internal_sim_state_changed" />
401    <protected-broadcast android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
402    <protected-broadcast android:name="android.intent.action.PRECISE_CALL_STATE" />
403    <protected-broadcast android:name="android.intent.action.PRECISE_DATA_CONNECTION_STATE_CHANGED" />
404    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_PHONE_STATE" />
405    <protected-broadcast android:name="android.intent.action.USER_INFO_CHANGED" />
406    <protected-broadcast android:name="android.intent.action.USER_UNLOCKED" />
407    <protected-broadcast android:name="android.intent.action.WALLPAPER_CHANGED" />
408
409    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_MANAGER_STATE_CHANGED" />
410    <protected-broadcast android:name="android.app.action.CHOOSE_PRIVATE_KEY_ALIAS" />
411    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
412    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
413    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
414    <protected-broadcast android:name="android.app.action.LOCK_TASK_ENTERING" />
415    <protected-broadcast android:name="android.app.action.LOCK_TASK_EXITING" />
416    <protected-broadcast android:name="android.app.action.NOTIFY_PENDING_SYSTEM_UPDATE" />
417    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_CHANGED" />
418    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_EXPIRING" />
419    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_FAILED" />
420    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_SUCCEEDED" />
421    <protected-broadcast android:name="com.android.server.ACTION_EXPIRED_PASSWORD_NOTIFICATION" />
422
423    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_ADDED" />
424    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNLOCKED" />
425    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_REMOVED" />
426
427    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_STATE_CHANGED" />
428    <protected-broadcast android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT" />
429    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
430    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
431    <protected-broadcast android:name="android.content.jobscheduler.JOB_DELAY_EXPIRED" />
432    <protected-broadcast android:name="android.content.syncmanager.SYNC_ALARM" />
433    <protected-broadcast android:name="android.media.INTERNAL_RINGER_MODE_CHANGED_ACTION" />
434    <protected-broadcast android:name="android.media.STREAM_DEVICES_CHANGED_ACTION" />
435    <protected-broadcast android:name="android.media.STREAM_MUTE_CHANGED_ACTION" />
436    <protected-broadcast android:name="android.net.sip.SIP_SERVICE_UP" />
437    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
438    <protected-broadcast android:name="android.os.action.CHARGING" />
439    <protected-broadcast android:name="android.os.action.DISCHARGING" />
440    <protected-broadcast android:name="android.search.action.SEARCHABLES_CHANGED" />
441    <protected-broadcast android:name="android.security.STORAGE_CHANGED" />
442    <protected-broadcast android:name="android.security.action.TRUST_STORE_CHANGED" />
443    <protected-broadcast android:name="android.security.action.KEYCHAIN_CHANGED" />
444    <protected-broadcast android:name="android.security.action.KEY_ACCESS_CHANGED" />
445    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_REGISTERED" />
446    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_UNREGISTERED" />
447    <protected-broadcast android:name="android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION" />
448    <protected-broadcast android:name="android.telephony.action.CARRIER_CONFIG_CHANGED" />
449    <protected-broadcast android:name="android.telephony.action.DEFAULT_SUBSCRIPTION_CHANGED" />
450    <protected-broadcast android:name="android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED" />
451    <protected-broadcast android:name="android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION" />
452
453    <protected-broadcast android:name="com.android.bluetooth.btservice.action.ALARM_WAKEUP" />
454    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_POLL" />
455    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_UPDATED" />
456    <protected-broadcast android:name="com.android.server.NetworkTimeUpdateService.action.POLL" />
457    <protected-broadcast android:name="com.android.server.telecom.intent.action.CALLS_ADD_ENTRY" />
458    <protected-broadcast android:name="com.android.settings.location.MODE_CHANGING" />
459    <protected-broadcast android:name="com.android.settings.bluetooth.ACTION_DISMISS_PAIRING" />
460
461    <protected-broadcast android:name="NotificationManagerService.TIMEOUT" />
462    <protected-broadcast android:name="ScheduleConditionProvider.EVALUATE" />
463    <protected-broadcast android:name="EventConditionProvider.EVALUATE" />
464    <protected-broadcast android:name="SnoozeHelper.EVALUATE" />
465    <protected-broadcast android:name="wifi_scan_available" />
466
467    <protected-broadcast android:name="action.cne.started" />
468    <protected-broadcast android:name="android.content.jobscheduler.JOB_DEADLINE_EXPIRED" />
469    <protected-broadcast android:name="android.intent.action.ACTION_UNSOL_RESPONSE_OEM_HOOK_RAW" />
470    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_SUPL" />
471    <protected-broadcast android:name="android.os.action.ACTION_EFFECTS_SUPPRESSOR_CHANGED" />
472    <protected-broadcast android:name="android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED" />
473    <protected-broadcast android:name="android.os.storage.action.VOLUME_STATE_CHANGED" />
474    <protected-broadcast android:name="android.os.storage.action.DISK_SCANNED" />
475    <protected-broadcast android:name="com.android.server.action.UPDATE_TWILIGHT_STATE" />
476    <protected-broadcast android:name="com.android.server.action.RESET_TWILIGHT_AUTO" />
477    <protected-broadcast android:name="com.android.server.device_idle.STEP_IDLE_STATE" />
478    <protected-broadcast android:name="com.android.server.device_idle.STEP_LIGHT_IDLE_STATE" />
479    <protected-broadcast android:name="com.android.server.Wifi.action.TOGGLE_PNO" />
480    <protected-broadcast android:name="intent.action.ACTION_RF_BAND_INFO" />
481    <protected-broadcast android:name="android.intent.action.MEDIA_RESOURCE_GRANTED" />
482    <protected-broadcast android:name="android.app.action.NETWORK_LOGS_AVAILABLE" />
483    <protected-broadcast android:name="android.app.action.SECURITY_LOGS_AVAILABLE" />
484
485    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED" />
486    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED_INTERNAL" />
487    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_CHANGED" />
488    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED" />
489    <protected-broadcast android:name="android.os.action.ACTION_EFFECTS_SUPPRESSOR_CHANGED" />
490
491    <protected-broadcast android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS" />
492    <protected-broadcast android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS" />
493
494    <protected-broadcast android:name="android.intent.action.DYNAMIC_SENSOR_CHANGED" />
495
496    <protected-broadcast android:name="android.intent.action.ACTION_RADIO_OFF" />
497
498    <protected-broadcast android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
499    <protected-broadcast android:name="android.accounts.action.ACCOUNT_REMOVED" />
500    <protected-broadcast android:name="android.accounts.action.VISIBLE_ACCOUNTS_CHANGED" />
501
502    <protected-broadcast android:name="com.android.sync.SYNC_CONN_STATUS_CHANGED" />
503
504    <protected-broadcast android:name="com.android.phone.SIP_INCOMING_CALL" />
505    <protected-broadcast android:name="com.android.phone.SIP_ADD_PHONE" />
506    <protected-broadcast android:name="com.android.phone.SIP_REMOVE_PHONE" />
507    <protected-broadcast android:name="com.android.phone.SIP_CALL_OPTION_CHANGED" />
508
509    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_CONNECTED" />
510    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_DISCONNECTED" />
511
512    <protected-broadcast android:name="android.bluetooth.input.profile.action.HANDSHAKE" />
513    <protected-broadcast android:name="android.bluetooth.input.profile.action.REPORT" />
514
515    <protected-broadcast android:name="android.intent.action.TWILIGHT_CHANGED" />
516
517    <protected-broadcast android:name="com.android.server.fingerprint.ACTION_LOCKOUT_RESET" />
518    <protected-broadcast android:name="android.net.wifi.PASSPOINT_ICON_RECEIVED" />
519    <protected-broadcast android:name="com.android.server.notification.CountdownConditionProvider" />
520
521    <protected-broadcast android:name="com.android.internal.location.ALARM_WAKEUP" />
522    <protected-broadcast android:name="com.android.internal.location.ALARM_TIMEOUT" />
523    <protected-broadcast android:name="android.intent.action.GLOBAL_BUTTON" />
524
525    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_AVAILABLE" />
526    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNAVAILABLE" />
527    <protected-broadcast android:name="com.android.server.pm.DISABLE_QUIET_MODE_AFTER_UNLOCK" />
528
529    <protected-broadcast android:name="com.android.server.retaildemo.ACTION_RESET_DEMO" />
530
531    <protected-broadcast android:name="android.intent.action.DEVICE_LOCKED_CHANGED" />
532
533    <!-- Added in O -->
534    <!-- TODO: temporary broadcast used by AutoFillManagerServiceImpl; will be removed -->
535    <protected-broadcast android:name="com.android.internal.autofill.action.REQUEST_AUTOFILL" />
536    <protected-broadcast android:name="android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED" />
537    <protected-broadcast android:name="com.android.server.wm.ACTION_REVOKE_SYSTEM_ALERT_WINDOW_PERMISSION" />
538    <protected-broadcast android:name="android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED" />
539
540    <protected-broadcast android:name="android.content.pm.action.SESSION_COMMITTED" />
541    <protected-broadcast android:name="android.os.action.USER_RESTRICTIONS_CHANGED" />
542    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT" />
543    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED" />
544    <protected-broadcast android:name="android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED" />
545    <protected-broadcast android:name="android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED" />
546
547    <!-- ====================================================================== -->
548    <!--                          RUNTIME PERMISSIONS                           -->
549    <!-- ====================================================================== -->
550    <eat-comment />
551
552    <!-- ====================================================================== -->
553    <!-- Permissions for accessing user's contacts including personal profile   -->
554    <!-- ====================================================================== -->
555    <eat-comment />
556
557    <!-- Used for runtime permissions related to contacts and profiles on this
558        device. -->
559    <permission-group android:name="android.permission-group.CONTACTS"
560        android:icon="@drawable/perm_group_contacts"
561        android:label="@string/permgrouplab_contacts"
562        android:description="@string/permgroupdesc_contacts"
563        android:priority="100" />
564
565    <!-- Allows an application to read the user's contacts data.
566        <p>Protection level: dangerous
567    -->
568    <permission android:name="android.permission.READ_CONTACTS"
569        android:permissionGroup="android.permission-group.CONTACTS"
570        android:label="@string/permlab_readContacts"
571        android:description="@string/permdesc_readContacts"
572        android:protectionLevel="dangerous" />
573
574    <!-- Allows an application to write the user's contacts data.
575         <p>Protection level: dangerous
576    -->
577    <permission android:name="android.permission.WRITE_CONTACTS"
578        android:permissionGroup="android.permission-group.CONTACTS"
579        android:label="@string/permlab_writeContacts"
580        android:description="@string/permdesc_writeContacts"
581        android:protectionLevel="dangerous" />
582
583    <!-- ====================================================================== -->
584    <!-- Permissions for accessing user's calendar                              -->
585    <!-- ====================================================================== -->
586    <eat-comment />
587
588    <!-- Used for runtime permissions related to user's calendar. -->
589    <permission-group android:name="android.permission-group.CALENDAR"
590        android:icon="@drawable/perm_group_calendar"
591        android:label="@string/permgrouplab_calendar"
592        android:description="@string/permgroupdesc_calendar"
593        android:priority="200" />
594
595    <!-- Allows an application to read the user's calendar data.
596         <p>Protection level: dangerous
597    -->
598    <permission android:name="android.permission.READ_CALENDAR"
599        android:permissionGroup="android.permission-group.CALENDAR"
600        android:label="@string/permlab_readCalendar"
601        android:description="@string/permdesc_readCalendar"
602        android:protectionLevel="dangerous" />
603
604    <!-- Allows an application to write the user's calendar data.
605         <p>Protection level: dangerous
606    -->
607    <permission android:name="android.permission.WRITE_CALENDAR"
608        android:permissionGroup="android.permission-group.CALENDAR"
609        android:label="@string/permlab_writeCalendar"
610        android:description="@string/permdesc_writeCalendar"
611        android:protectionLevel="dangerous" />
612
613    <!-- ====================================================================== -->
614    <!-- Permissions for accessing and modifying user's SMS messages            -->
615    <!-- ====================================================================== -->
616    <eat-comment />
617
618    <!-- Used for runtime permissions related to user's SMS messages. -->
619    <permission-group android:name="android.permission-group.SMS"
620        android:icon="@drawable/perm_group_sms"
621        android:label="@string/permgrouplab_sms"
622        android:description="@string/permgroupdesc_sms"
623        android:priority="300" />
624
625    <!-- Allows an application to send SMS messages.
626         <p>Protection level: dangerous
627    -->
628    <permission android:name="android.permission.SEND_SMS"
629        android:permissionGroup="android.permission-group.SMS"
630        android:label="@string/permlab_sendSms"
631        android:description="@string/permdesc_sendSms"
632        android:permissionFlags="costsMoney"
633        android:protectionLevel="dangerous" />
634
635    <!-- Allows an application to receive SMS messages.
636         <p>Protection level: dangerous
637    -->
638    <permission android:name="android.permission.RECEIVE_SMS"
639        android:permissionGroup="android.permission-group.SMS"
640        android:label="@string/permlab_receiveSms"
641        android:description="@string/permdesc_receiveSms"
642        android:protectionLevel="dangerous"/>
643
644    <!-- Allows an application to read SMS messages.
645         <p>Protection level: dangerous
646    -->
647    <permission android:name="android.permission.READ_SMS"
648        android:permissionGroup="android.permission-group.SMS"
649        android:label="@string/permlab_readSms"
650        android:description="@string/permdesc_readSms"
651        android:protectionLevel="dangerous" />
652
653    <!-- Allows an application to receive WAP push messages.
654         <p>Protection level: dangerous
655    -->
656    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
657        android:permissionGroup="android.permission-group.SMS"
658        android:label="@string/permlab_receiveWapPush"
659        android:description="@string/permdesc_receiveWapPush"
660        android:protectionLevel="dangerous" />
661
662    <!-- Allows an application to monitor incoming MMS messages.
663        <p>Protection level: dangerous
664    -->
665    <permission android:name="android.permission.RECEIVE_MMS"
666        android:permissionGroup="android.permission-group.SMS"
667        android:label="@string/permlab_receiveMms"
668        android:description="@string/permdesc_receiveMms"
669        android:protectionLevel="dangerous" />
670
671    <!-- Allows an application to read previously received cell broadcast
672         messages and to register a content observer to get notifications when
673         a cell broadcast has been received and added to the database. For
674         emergency alerts, the database is updated immediately after the
675         alert dialog and notification sound/vibration/speech are presented.
676         The "read" column is then updated after the user dismisses the alert.
677         This enables supplementary emergency assistance apps to start loading
678         additional emergency information (if Internet access is available)
679         when the alert is first received, and to delay presenting the info
680         to the user until after the initial alert dialog is dismissed.
681         <p>Protection level: dangerous
682         @hide Pending API council approval -->
683    <permission android:name="android.permission.READ_CELL_BROADCASTS"
684        android:permissionGroup="android.permission-group.SMS"
685        android:label="@string/permlab_readCellBroadcasts"
686        android:description="@string/permdesc_readCellBroadcasts"
687        android:protectionLevel="dangerous" />
688
689    <!-- ====================================================================== -->
690    <!-- Permissions for accessing external storage                             -->
691    <!-- ====================================================================== -->
692    <eat-comment />
693
694    <!-- Used for runtime permissions related to the shared external storage. -->
695    <permission-group android:name="android.permission-group.STORAGE"
696        android:icon="@drawable/perm_group_storage"
697        android:label="@string/permgrouplab_storage"
698        android:description="@string/permgroupdesc_storage"
699        android:priority="900" />
700
701    <!-- Allows an application to read from external storage.
702     <p>Any app that declares the {@link #WRITE_EXTERNAL_STORAGE} permission is implicitly
703     granted this permission.</p>
704     <p>This permission is enforced starting in API level 19.  Before API level 19, this
705     permission is not enforced and all apps still have access to read from external storage.
706     You can test your app with the permission enforced by enabling <em>Protect USB
707     storage</em> under Developer options in the Settings app on a device running Android 4.1 or
708     higher.</p>
709     <p>Also starting in API level 19, this permission is <em>not</em> required to
710     read/write files in your application-specific directories returned by
711     {@link android.content.Context#getExternalFilesDir} and
712     {@link android.content.Context#getExternalCacheDir}.
713     <p class="note"><strong>Note:</strong> If <em>both</em> your <a
714     href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
715     minSdkVersion}</a> and <a
716     href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
717     targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
718     grants your app this permission. If you don't need this permission, be sure your <a
719     href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
720     targetSdkVersion}</a> is 4 or higher.
721     <p>Protection level: dangerous
722     -->
723    <permission android:name="android.permission.READ_EXTERNAL_STORAGE"
724        android:permissionGroup="android.permission-group.STORAGE"
725        android:label="@string/permlab_sdcardRead"
726        android:description="@string/permdesc_sdcardRead"
727        android:protectionLevel="dangerous" />
728
729    <!-- Allows an application to write to external storage.
730         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
731         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
732         minSdkVersion}</a> and <a
733         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
734         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
735         grants your app this permission. If you don't need this permission, be sure your <a
736         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
737         targetSdkVersion}</a> is 4 or higher.
738         <p>Starting in API level 19, this permission is <em>not</em> required to
739         read/write files in your application-specific directories returned by
740         {@link android.content.Context#getExternalFilesDir} and
741         {@link android.content.Context#getExternalCacheDir}.
742         <p>Protection level: dangerous
743    -->
744    <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
745        android:permissionGroup="android.permission-group.STORAGE"
746        android:label="@string/permlab_sdcardWrite"
747        android:description="@string/permdesc_sdcardWrite"
748        android:protectionLevel="dangerous" />
749
750    <!-- ====================================================================== -->
751    <!-- Permissions for accessing the device location                          -->
752    <!-- ====================================================================== -->
753    <eat-comment />
754
755    <!-- Used for permissions that allow accessing the device location. -->
756    <permission-group android:name="android.permission-group.LOCATION"
757        android:icon="@drawable/perm_group_location"
758        android:label="@string/permgrouplab_location"
759        android:description="@string/permgroupdesc_location"
760        android:priority="400" />
761
762    <!-- Allows an app to access precise location.
763         Alternatively, you might want {@link #ACCESS_COARSE_LOCATION}.
764         <p>Protection level: dangerous
765    -->
766    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
767        android:permissionGroup="android.permission-group.LOCATION"
768        android:label="@string/permlab_accessFineLocation"
769        android:description="@string/permdesc_accessFineLocation"
770        android:protectionLevel="dangerous|ephemeral" />
771
772    <!-- Allows an app to access approximate location.
773         Alternatively, you might want {@link #ACCESS_FINE_LOCATION}.
774         <p>Protection level: dangerous
775    -->
776    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
777        android:permissionGroup="android.permission-group.LOCATION"
778        android:label="@string/permlab_accessCoarseLocation"
779        android:description="@string/permdesc_accessCoarseLocation"
780        android:protectionLevel="dangerous|ephemeral" />
781
782    <!-- ====================================================================== -->
783    <!-- Permissions for accessing the device telephony                         -->
784    <!-- ====================================================================== -->
785    <eat-comment />
786
787    <!-- Used for permissions that are associated telephony features. -->
788    <permission-group android:name="android.permission-group.PHONE"
789        android:icon="@drawable/perm_group_phone_calls"
790        android:label="@string/permgrouplab_phone"
791        android:description="@string/permgroupdesc_phone"
792        android:priority="500" />
793
794    <!-- Allows read only access to phone state, including the phone number of the device,
795         current cellular network information, the status of any ongoing calls, and a list of any
796         {@link android.telecom.PhoneAccount}s registered on the device.
797         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
798         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
799         minSdkVersion}</a> and <a
800         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
801         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
802         grants your app this permission. If you don't need this permission, be sure your <a
803         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
804         targetSdkVersion}</a> is 4 or higher.
805         <p>Protection level: dangerous
806    -->
807    <permission android:name="android.permission.READ_PHONE_STATE"
808        android:permissionGroup="android.permission-group.PHONE"
809        android:label="@string/permlab_readPhoneState"
810        android:description="@string/permdesc_readPhoneState"
811        android:protectionLevel="dangerous" />
812
813    <!-- Allows read access to the device's phone number(s). This is a subset of the capabilities
814         granted by {@link #READ_PHONE_STATE} but is exposed to ephemeral applications.
815         <p>Protection level: dangerous-->
816    <permission android:name="android.permission.READ_PHONE_NUMBERS"
817        android:permissionGroup="android.permission-group.PHONE"
818        android:label="@string/permlab_readPhoneNumbers"
819        android:description="@string/permdesc_readPhoneNumbers"
820        android:protectionLevel="dangerous|ephemeral" />
821
822    <!-- Allows an application to initiate a phone call without going through
823        the Dialer user interface for the user to confirm the call.
824        <p>Protection level: dangerous
825    -->
826    <permission android:name="android.permission.CALL_PHONE"
827        android:permissionGroup="android.permission-group.PHONE"
828        android:permissionFlags="costsMoney"
829        android:label="@string/permlab_callPhone"
830        android:description="@string/permdesc_callPhone"
831        android:protectionLevel="dangerous" />
832
833    <!-- Allows an application to access the IMS call service: making and
834         modifying a call
835        <p>Protection level: signature|privileged
836        @hide
837    -->
838    <permission android:name="android.permission.ACCESS_IMS_CALL_SERVICE"
839        android:permissionGroup="android.permission-group.PHONE"
840        android:label="@string/permlab_accessImsCallService"
841        android:description="@string/permdesc_accessImsCallService"
842        android:protectionLevel="signature|privileged" />
843
844    <!-- Allows an application to read the user's call log.
845         <p class="note"><strong>Note:</strong> If your app uses the
846         {@link #READ_CONTACTS} permission and <em>both</em> your <a
847         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
848         minSdkVersion}</a> and <a
849         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
850         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
851         grants your app this permission. If you don't need this permission, be sure your <a
852         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
853         targetSdkVersion}</a> is 16 or higher.</p>
854         <p>Protection level: dangerous
855    -->
856    <permission android:name="android.permission.READ_CALL_LOG"
857        android:permissionGroup="android.permission-group.PHONE"
858        android:label="@string/permlab_readCallLog"
859        android:description="@string/permdesc_readCallLog"
860        android:protectionLevel="dangerous" />
861
862    <!-- Allows an application to write (but not read) the user's
863         call log data.
864         <p class="note"><strong>Note:</strong> If your app uses the
865         {@link #WRITE_CONTACTS} permission and <em>both</em> your <a
866         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
867         minSdkVersion}</a> and <a
868         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
869         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
870         grants your app this permission. If you don't need this permission, be sure your <a
871         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
872         targetSdkVersion}</a> is 16 or higher.</p>
873         <p>Protection level: dangerous
874    -->
875    <permission android:name="android.permission.WRITE_CALL_LOG"
876        android:permissionGroup="android.permission-group.PHONE"
877        android:label="@string/permlab_writeCallLog"
878        android:description="@string/permdesc_writeCallLog"
879        android:protectionLevel="dangerous" />
880
881    <!-- Allows an application to add voicemails into the system.
882         <p>Protection level: dangerous
883    -->
884    <permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
885        android:permissionGroup="android.permission-group.PHONE"
886        android:label="@string/permlab_addVoicemail"
887        android:description="@string/permdesc_addVoicemail"
888        android:protectionLevel="dangerous" />
889
890    <!-- Allows an application to use SIP service.
891         <p>Protection level: dangerous
892    -->
893    <permission android:name="android.permission.USE_SIP"
894        android:permissionGroup="android.permission-group.PHONE"
895        android:description="@string/permdesc_use_sip"
896        android:label="@string/permlab_use_sip"
897        android:protectionLevel="dangerous"/>
898
899    <!-- Allows an application to see the number being dialed during an outgoing
900         call with the option to redirect the call to a different number or
901         abort the call altogether.
902         <p>Protection level: dangerous
903    -->
904    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
905        android:permissionGroup="android.permission-group.PHONE"
906        android:label="@string/permlab_processOutgoingCalls"
907        android:description="@string/permdesc_processOutgoingCalls"
908        android:protectionLevel="dangerous" />
909
910
911    <!-- Allows the app to answer an incoming phone call.
912         <p>Protection level: dangerous
913    -->
914    <permission android:name="android.permission.ANSWER_PHONE_CALLS"
915        android:permissionGroup="android.permission-group.PHONE"
916        android:label="@string/permlab_answerPhoneCalls"
917        android:description="@string/permdesc_answerPhoneCalls"
918        android:protectionLevel="dangerous|runtime" />
919
920    <!-- Allows a calling application which manages it own calls through the self-managed
921         {@link android.telecom.ConnectionService} APIs.  See
922         {@link android.telecom.PhoneAccount#CAPABILITY_SELF_MANAGED for more information on the
923         self-managed ConnectionService APIs.
924         <p>Protection level: normal
925    -->
926    <permission android:name="android.permission.MANAGE_OWN_CALLS"
927                android:label="@string/permlab_manageOwnCalls"
928                android:description="@string/permdesc_manageOwnCalls"
929                android:protectionLevel="normal" />
930
931    <!-- ====================================================================== -->
932    <!-- Permissions for accessing the device microphone                        -->
933    <!-- ====================================================================== -->
934    <eat-comment />
935
936    <!-- Used for permissions that are associated with accessing
937         microphone audio from the device. Note that phone calls also capture audio
938         but are in a separate (more visible) permission group. -->
939    <permission-group android:name="android.permission-group.MICROPHONE"
940        android:icon="@drawable/perm_group_microphone"
941        android:label="@string/permgrouplab_microphone"
942        android:description="@string/permgroupdesc_microphone"
943        android:priority="600" />
944
945    <!-- Allows an application to record audio.
946         <p>Protection level: dangerous
947    -->
948    <permission android:name="android.permission.RECORD_AUDIO"
949        android:permissionGroup="android.permission-group.MICROPHONE"
950        android:label="@string/permlab_recordAudio"
951        android:description="@string/permdesc_recordAudio"
952        android:protectionLevel="dangerous"/>
953
954    <!-- ====================================================================== -->
955    <!-- Permissions for accessing the UCE Service                              -->
956    <!-- ====================================================================== -->
957
958    <!-- @hide Allows an application to Access UCE-Presence.
959         <p>Protection level: dangerous
960    -->
961    <permission android:name="android.permission.ACCESS_UCE_PRESENCE_SERVICE"
962        android:permissionGroup="android.permission-group.PHONE"
963        android:protectionLevel="signatureOrSystem"/>
964
965    <!-- @hide Allows an application to Access UCE-OPTIONS.
966         <p>Protection level: dangerous
967    -->
968    <permission android:name="android.permission.ACCESS_UCE_OPTIONS_SERVICE"
969        android:permissionGroup="android.permission-group.PHONE"
970        android:protectionLevel="signatureOrSystem"/>
971
972
973
974    <!-- ====================================================================== -->
975    <!-- Permissions for accessing the device camera                            -->
976    <!-- ====================================================================== -->
977    <eat-comment />
978
979    <!-- Used for permissions that are associated with accessing
980     camera or capturing images/video from the device. -->
981    <permission-group android:name="android.permission-group.CAMERA"
982        android:icon="@drawable/perm_group_camera"
983        android:label="@string/permgrouplab_camera"
984        android:description="@string/permgroupdesc_camera"
985        android:priority="700" />
986
987    <!-- Required to be able to access the camera device.
988         <p>This will automatically enforce the <a
989         href="{@docRoot}guide/topics/manifest/uses-feature-element.html">
990         <uses-feature>}</a> manifest element for <em>all</em> camera features.
991         If you do not require all camera features or can properly operate if a camera
992         is not available, then you must modify your manifest as appropriate in order to
993         install on devices that don't support all camera features.</p>
994         <p>Protection level: dangerous
995    -->
996    <permission android:name="android.permission.CAMERA"
997        android:permissionGroup="android.permission-group.CAMERA"
998        android:label="@string/permlab_camera"
999        android:description="@string/permdesc_camera"
1000        android:protectionLevel="dangerous|ephemeral" />
1001
1002
1003    <!-- ====================================================================== -->
1004    <!-- Permissions for accessing the device sensors                           -->
1005    <!-- ====================================================================== -->
1006    <eat-comment />
1007
1008    <!-- Used for permissions that are associated with accessing
1009         camera or capturing images/video from the device. -->
1010    <permission-group android:name="android.permission-group.SENSORS"
1011        android:icon="@drawable/perm_group_sensors"
1012        android:label="@string/permgrouplab_sensors"
1013        android:description="@string/permgroupdesc_sensors"
1014        android:priority="800" />
1015
1016    <!-- Allows an application to access data from sensors that the user uses to
1017         measure what is happening inside his/her body, such as heart rate.
1018         <p>Protection level: dangerous -->
1019    <permission android:name="android.permission.BODY_SENSORS"
1020        android:permissionGroup="android.permission-group.SENSORS"
1021        android:label="@string/permlab_bodySensors"
1022        android:description="@string/permdesc_bodySensors"
1023        android:protectionLevel="dangerous" />
1024
1025    <!-- Allows an app to use fingerprint hardware.
1026         <p>Protection level: normal
1027    -->
1028    <permission android:name="android.permission.USE_FINGERPRINT"
1029        android:permissionGroup="android.permission-group.SENSORS"
1030        android:label="@string/permlab_useFingerprint"
1031        android:description="@string/permdesc_useFingerprint"
1032        android:protectionLevel="normal" />
1033
1034    <!-- ====================================================================== -->
1035    <!-- REMOVED PERMISSIONS                                                    -->
1036    <!-- ====================================================================== -->
1037
1038    <!-- @hide We need to keep this around for backwards compatibility -->
1039    <permission android:name="android.permission.READ_PROFILE"
1040        android:protectionLevel="normal"
1041        android:permissionFlags="removed"/>
1042
1043    <!-- @hide We need to keep this around for backwards compatibility -->
1044    <permission android:name="android.permission.WRITE_PROFILE"
1045        android:protectionLevel="normal"
1046        android:permissionFlags="removed"/>
1047
1048    <!-- @hide We need to keep this around for backwards compatibility -->
1049    <permission android:name="android.permission.READ_SOCIAL_STREAM"
1050        android:protectionLevel="normal"
1051        android:permissionFlags="removed"/>
1052
1053    <!-- @hide We need to keep this around for backwards compatibility -->
1054    <permission android:name="android.permission.WRITE_SOCIAL_STREAM"
1055        android:protectionLevel="normal"
1056        android:permissionFlags="removed"/>
1057
1058    <!-- @hide We need to keep this around for backwards compatibility -->
1059    <permission android:name="android.permission.READ_USER_DICTIONARY"
1060        android:protectionLevel="normal"
1061        android:permissionFlags="removed"/>
1062
1063    <!-- @hide We need to keep this around for backwards compatibility -->
1064    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
1065        android:protectionLevel="normal"
1066        android:permissionFlags="removed"/>
1067
1068    <!-- @hide We need to keep this around for backwards compatibility -->
1069    <permission android:name="android.permission.WRITE_SMS"
1070        android:protectionLevel="normal"
1071        android:permissionFlags="removed"/>
1072
1073    <!-- @hide We need to keep this around for backwards compatibility -->
1074    <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
1075        android:protectionLevel="normal"
1076        android:permissionFlags="removed"/>
1077
1078    <!-- @hide We need to keep this around for backwards compatibility -->
1079    <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
1080        android:protectionLevel="normal"
1081        android:permissionFlags="removed"/>
1082
1083    <!-- @hide We need to keep this around for backwards compatibility -->
1084    <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"
1085        android:protectionLevel="normal"
1086        android:permissionFlags="removed"/>
1087
1088    <!-- @hide We need to keep this around for backwards compatibility -->
1089    <permission android:name="android.permission.MANAGE_ACCOUNTS"
1090        android:protectionLevel="normal"
1091        android:permissionFlags="removed"/>
1092
1093    <!-- @hide We need to keep this around for backwards compatibility -->
1094    <permission android:name="android.permission.USE_CREDENTIALS"
1095        android:protectionLevel="normal"
1096        android:permissionFlags="removed"/>
1097
1098    <!-- @hide We need to keep this around for backwards compatibility -->
1099    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
1100        android:protectionLevel="normal"
1101        android:permissionFlags="removed"/>
1102
1103    <!-- @hide We need to keep this around for backwards compatibility -->
1104    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
1105        android:protectionLevel="normal"
1106        android:permissionFlags="removed"/>
1107
1108    <!-- @hide We need to keep this around for backwards compatibility -->
1109    <permission android:name="android.permission.FLASHLIGHT"
1110        android:protectionLevel="normal"
1111        android:permissionFlags="removed"/>
1112
1113    <!-- ====================================================================== -->
1114    <!-- INSTALL PERMISSIONS                                                    -->
1115    <!-- ====================================================================== -->
1116
1117    <!-- ================================== -->
1118    <!-- Permissions for accessing messages -->
1119    <!-- ================================== -->
1120    <eat-comment />
1121
1122    <!-- @SystemApi Allows an application (Phone) to send a request to other applications
1123         to handle the respond-via-message action during incoming calls.
1124         <p>Not for use by third-party applications. -->
1125    <permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE"
1126        android:protectionLevel="signature|privileged" />
1127
1128    <!-- @SystemApi Allows an application to send SMS to premium shortcodes without user permission.
1129         <p>Not for use by third-party applications.
1130         @hide -->
1131    <permission android:name="android.permission.SEND_SMS_NO_CONFIRMATION"
1132        android:protectionLevel="signature|privileged" />
1133
1134    <!-- Allows an application to filter carrier specific sms.
1135         @hide -->
1136    <permission android:name="android.permission.CARRIER_FILTER_SMS"
1137        android:protectionLevel="signature|privileged" />
1138
1139    <!-- @SystemApi Allows an application to receive emergency cell broadcast messages,
1140         to record or display them to the user.
1141         <p>Not for use by third-party applications.
1142         @hide -->
1143    <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"
1144        android:protectionLevel="signature|privileged" />
1145
1146    <!-- Allows an application to monitor incoming Bluetooth MAP messages, to record
1147         or perform processing on them. -->
1148    <!-- @hide -->
1149    <permission android:name="android.permission.RECEIVE_BLUETOOTH_MAP"
1150        android:protectionLevel="signature|privileged" />
1151
1152    <!-- @SystemApi @hide Allows an application to execute contacts directory search.
1153         This should only be used by ContactsProvider.
1154         <p>Not for use by third-party applications. -->
1155    <permission android:name="android.permission.BIND_DIRECTORY_SEARCH"
1156        android:protectionLevel="signature|privileged" />
1157
1158    <!-- @SystemApi @hide Allows an application to modify cell broadcasts through the content provider.
1159         <p>Not for use by third-party applications. -->
1160    <permission android:name="android.permission.MODIFY_CELL_BROADCASTS"
1161                android:protectionLevel="signature|privileged" />
1162
1163    <!-- =============================================================== -->
1164    <!-- Permissions for setting the device alarm                        -->
1165    <!-- =============================================================== -->
1166    <eat-comment />
1167
1168    <!-- Allows an application to broadcast an Intent to set an alarm for the user.
1169         <p>Protection level: normal
1170    -->
1171    <permission android:name="com.android.alarm.permission.SET_ALARM"
1172        android:label="@string/permlab_setAlarm"
1173        android:description="@string/permdesc_setAlarm"
1174        android:protectionLevel="normal" />
1175
1176    <!-- =============================================================== -->
1177    <!-- Permissions for accessing the user voicemail                    -->
1178    <!-- =============================================================== -->
1179    <eat-comment />
1180
1181    <!-- Allows an application to modify and remove existing voicemails in the system.
1182        <p>Protection level: signature|privileged
1183    -->
1184    <permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"
1185        android:protectionLevel="signature|privileged" />
1186
1187    <!-- Allows an application to read voicemails in the system.
1188         <p>Protection level: signature|privileged
1189    -->
1190    <permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"
1191        android:protectionLevel="signature|privileged" />
1192
1193    <!-- ======================================= -->
1194    <!-- Permissions for accessing location info -->
1195    <!-- ======================================= -->
1196    <eat-comment />
1197
1198    <!-- Allows an application to access extra location provider commands.
1199         <p>Protection level: normal
1200    -->
1201    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
1202        android:label="@string/permlab_accessLocationExtraCommands"
1203        android:description="@string/permdesc_accessLocationExtraCommands"
1204        android:protectionLevel="normal" />
1205
1206    <!-- @SystemApi Allows an application to install a location provider into the Location Manager.
1207    <p>Not for use by third-party applications. -->
1208    <permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"
1209        android:protectionLevel="signature|privileged" />
1210
1211    <!-- @SystemApi @hide Allows HDMI-CEC service to access device and configuration files.
1212         This should only be used by HDMI-CEC service.
1213    -->
1214    <permission android:name="android.permission.HDMI_CEC"
1215        android:protectionLevel="signature|privileged" />
1216
1217    <!-- @SystemApi Allows an application to use location features in hardware,
1218         such as the geofencing api.
1219         <p>Not for use by third-party applications. -->
1220    <permission android:name="android.permission.LOCATION_HARDWARE"
1221        android:protectionLevel="signature|privileged" />
1222    <uses-permission android:name="android.permission.LOCATION_HARDWARE"/>
1223
1224    <!-- @SystemApi Allows an application to create mock location providers for testing.
1225         <p>Protection level: signature
1226         @hide
1227    -->
1228    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
1229        android:protectionLevel="signature" />
1230
1231    <!-- ======================================= -->
1232    <!-- Permissions for accessing networks -->
1233    <!-- ======================================= -->
1234    <eat-comment />
1235
1236    <!-- Allows applications to open network sockets.
1237         <p>Protection level: normal
1238    -->
1239    <permission android:name="android.permission.INTERNET"
1240        android:description="@string/permdesc_createNetworkSockets"
1241        android:label="@string/permlab_createNetworkSockets"
1242        android:protectionLevel="normal|ephemeral" />
1243
1244    <!-- Allows applications to access information about networks.
1245         <p>Protection level: normal
1246    -->
1247    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
1248        android:description="@string/permdesc_accessNetworkState"
1249        android:label="@string/permlab_accessNetworkState"
1250        android:protectionLevel="normal|ephemeral" />
1251
1252    <!-- Allows applications to access information about Wi-Fi networks.
1253         <p>Protection level: normal
1254    -->
1255    <permission android:name="android.permission.ACCESS_WIFI_STATE"
1256        android:description="@string/permdesc_accessWifiState"
1257        android:label="@string/permlab_accessWifiState"
1258        android:protectionLevel="normal" />
1259
1260    <!-- Allows applications to change Wi-Fi connectivity state.
1261         <p>Protection level: normal
1262    -->
1263    <permission android:name="android.permission.CHANGE_WIFI_STATE"
1264        android:description="@string/permdesc_changeWifiState"
1265        android:label="@string/permlab_changeWifiState"
1266        android:protectionLevel="normal" />
1267
1268    <!-- @SystemApi @hide Allows applications to read Wi-Fi credential.
1269         <p>Not for use by third-party applications. -->
1270    <permission android:name="android.permission.READ_WIFI_CREDENTIAL"
1271        android:protectionLevel="signature|privileged" />
1272
1273    <!-- @SystemApi @hide Allows applications to change tether state and run
1274         tether carrier provisioning.
1275         <p>Not for use by third-party applications. -->
1276    <permission android:name="android.permission.TETHER_PRIVILEGED"
1277        android:protectionLevel="signature|privileged" />
1278
1279    <!-- @SystemApi @hide Allow system apps to receive broadcast
1280         when a wifi network credential is changed.
1281         <p>Not for use by third-party applications. -->
1282    <permission android:name="android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE"
1283        android:protectionLevel="signature|privileged" />
1284
1285    <!-- @SystemApi @hide Allows an application to modify any wifi configuration, even if created
1286     by another application. Once reconfigured the original creator cannot make any further
1287     modifications.
1288     <p>Not for use by third-party applications. -->
1289    <permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"
1290        android:protectionLevel="signature|privileged" />
1291
1292    <!-- @hide -->
1293    <permission android:name="android.permission.ACCESS_WIMAX_STATE"
1294        android:description="@string/permdesc_accessWimaxState"
1295        android:label="@string/permlab_accessWimaxState"
1296        android:protectionLevel="normal" />
1297
1298    <!-- @hide -->
1299    <permission android:name="android.permission.CHANGE_WIMAX_STATE"
1300        android:description="@string/permdesc_changeWimaxState"
1301        android:label="@string/permlab_changeWimaxState"
1302        android:protectionLevel="normal" />
1303
1304    <!-- Allows applications to act as network scorers. @hide @SystemApi-->
1305    <permission android:name="android.permission.SCORE_NETWORKS"
1306        android:protectionLevel="signature|privileged" />
1307
1308    <!-- Allows applications to request network
1309         recommendations and scores from the NetworkScoreService.
1310         <p>Not for use by third-party applications. @hide -->
1311    <permission android:name="android.permission.REQUEST_NETWORK_SCORES"
1312        android:protectionLevel="signature|setup" />
1313
1314    <!-- Allows network stack services (Connectivity and Wifi) to coordinate
1315         <p>Not for use by third-party or privileged applications.
1316         @hide This should only be used by Connectivity and Wifi Services.
1317    -->
1318    <permission android:name="android.permission.NETWORK_STACK"
1319        android:protectionLevel="signature" />
1320
1321    <!-- Allows Settings and SystemUI to call methods in Networking services
1322         <p>Not for use by third-party or privileged applications.
1323         @hide This should only be used by Settings and SystemUI.
1324    -->
1325    <permission android:name="android.permission.NETWORK_SETTINGS"
1326        android:protectionLevel="signature" />
1327
1328    <!-- #SystemApi @hide Allows applications to access information about LoWPAN interfaces.
1329         <p>Not for use by third-party applications. -->
1330    <permission android:name="android.permission.ACCESS_LOWPAN_STATE"
1331        android:protectionLevel="signature|privileged" />
1332
1333    <!-- #SystemApi @hide Allows applications to change LoWPAN connectivity state.
1334         <p>Not for use by third-party applications. -->
1335    <permission android:name="android.permission.CHANGE_LOWPAN_STATE"
1336        android:protectionLevel="signature|privileged" />
1337
1338    <!-- #SystemApi @hide Allows applications to read LoWPAN credential.
1339         <p>Not for use by third-party applications. -->
1340    <permission android:name="android.permission.READ_LOWPAN_CREDENTIAL"
1341        android:protectionLevel="signature|privileged" />
1342
1343    <!-- #SystemApi @hide Allows a service to register or unregister
1344         new LoWPAN interfaces.
1345         <p>Not for use by third-party applications. -->
1346    <permission android:name="android.permission.MANAGE_LOWPAN_INTERFACES"
1347        android:protectionLevel="signature|privileged" />
1348
1349    <!-- ======================================= -->
1350    <!-- Permissions for short range, peripheral networks -->
1351    <!-- ======================================= -->
1352    <eat-comment />
1353
1354    <!-- Allows applications to connect to paired bluetooth devices.
1355         <p>Protection level: normal
1356    -->
1357    <permission android:name="android.permission.BLUETOOTH"
1358        android:description="@string/permdesc_bluetooth"
1359        android:label="@string/permlab_bluetooth"
1360        android:protectionLevel="normal" />
1361
1362    <!-- Allows applications to discover and pair bluetooth devices.
1363         <p>Protection level: normal
1364    -->
1365    <permission android:name="android.permission.BLUETOOTH_ADMIN"
1366        android:description="@string/permdesc_bluetoothAdmin"
1367        android:label="@string/permlab_bluetoothAdmin"
1368        android:protectionLevel="normal" />
1369
1370    <!-- @SystemApi Allows applications to pair bluetooth devices without user interaction, and to
1371         allow or disallow phonebook access or message access.
1372         This is not available to third party applications. -->
1373    <permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
1374        android:protectionLevel="signature|privileged" />
1375
1376    <!-- Control access to email providers exclusively for Bluetooth
1377         @hide
1378    -->
1379    <permission android:name="android.permission.BLUETOOTH_MAP"
1380        android:protectionLevel="signature" />
1381
1382    <!-- Allows bluetooth stack to access files
1383         @hide This should only be used by Bluetooth apk.
1384    -->
1385    <permission android:name="android.permission.BLUETOOTH_STACK"
1386        android:protectionLevel="signature" />
1387
1388    <!-- Allows applications to perform I/O operations over NFC.
1389         <p>Protection level: normal
1390    -->
1391    <permission android:name="android.permission.NFC"
1392        android:description="@string/permdesc_nfc"
1393        android:label="@string/permlab_nfc"
1394        android:protectionLevel="normal" />
1395
1396    <!-- @SystemApi Allows an internal user to use privileged ConnectivityManager APIs.
1397         @hide -->
1398    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
1399        android:protectionLevel="signature|privileged" />
1400
1401    <!-- @SystemApi Allows an internal user to use restricted Networks.
1402         @hide -->
1403    <permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"
1404        android:protectionLevel="signature|privileged" />
1405
1406    <!-- Allows a system application to access hardware packet offload capabilities.
1407         @hide -->
1408    <permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD"
1409        android:protectionLevel="signature|privileged" />
1410
1411    <!-- @SystemApi
1412         @hide -->
1413    <permission android:name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"
1414        android:protectionLevel="signature|privileged" />
1415
1416    <!-- @SystemApi Allows access to the loop radio (Android@Home mesh network) device.
1417         @hide -->
1418    <permission android:name="android.permission.LOOP_RADIO"
1419        android:protectionLevel="signature|privileged" />
1420
1421    <!-- Allows sending and receiving handover transfer status from Wifi and Bluetooth
1422         @hide -->
1423    <permission android:name="android.permission.NFC_HANDOVER_STATUS"
1424        android:protectionLevel="signature|privileged" />
1425
1426    <!-- ================================== -->
1427    <!-- Permissions for accessing accounts -->
1428    <!-- ================================== -->
1429    <eat-comment />
1430
1431    <!-- Allows access to the list of accounts in the Accounts Service.
1432
1433    <p class="note"><strong>Note:</strong> Beginning with Android 6.0 (API level
1434    23), if an app shares the signature of the authenticator that manages an
1435    account, it does not need <code>"GET_ACCOUNTS"</code> permission to read
1436    information about that account. On Android 5.1 and lower, all apps need
1437    <code>"GET_ACCOUNTS"</code> permission to read information about any
1438    account.</p>
1439
1440    <p>Protection level: dangerous
1441    -->
1442    <permission android:name="android.permission.GET_ACCOUNTS"
1443        android:permissionGroup="android.permission-group.CONTACTS"
1444        android:protectionLevel="dangerous"
1445        android:description="@string/permdesc_getAccounts"
1446        android:label="@string/permlab_getAccounts" />
1447    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
1448
1449    <!-- @SystemApi Allows applications to call into AccountAuthenticators.
1450    <p>Not for use by third-party applications. -->
1451    <permission android:name="android.permission.ACCOUNT_MANAGER"
1452        android:protectionLevel="signature" />
1453
1454    <!-- ================================== -->
1455    <!-- Permissions for accessing hardware that may effect battery life-->
1456    <!-- ================================== -->
1457    <eat-comment />
1458
1459    <!-- Allows applications to enter Wi-Fi Multicast mode.
1460         <p>Protection level: normal
1461    -->
1462    <permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
1463        android:description="@string/permdesc_changeWifiMulticastState"
1464        android:label="@string/permlab_changeWifiMulticastState"
1465        android:protectionLevel="normal" />
1466
1467    <!-- Allows access to the vibrator.
1468         <p>Protection level: normal
1469    -->
1470    <permission android:name="android.permission.VIBRATE"
1471        android:label="@string/permlab_vibrate"
1472        android:description="@string/permdesc_vibrate"
1473        android:protectionLevel="normal|ephemeral" />
1474
1475    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
1476         from dimming.
1477         <p>Protection level: normal
1478    -->
1479    <permission android:name="android.permission.WAKE_LOCK"
1480        android:label="@string/permlab_wakeLock"
1481        android:description="@string/permdesc_wakeLock"
1482        android:protectionLevel="normal|ephemeral" />
1483
1484    <!-- Allows using the device's IR transmitter, if available.
1485         <p>Protection level: normal
1486    -->
1487    <permission android:name="android.permission.TRANSMIT_IR"
1488        android:label="@string/permlab_transmitIr"
1489        android:description="@string/permdesc_transmitIr"
1490        android:protectionLevel="normal" />
1491
1492    <!-- ==================================================== -->
1493    <!-- Permissions related to changing audio settings   -->
1494    <!-- ==================================================== -->
1495    <eat-comment />
1496
1497    <!-- Allows an application to modify global audio settings.
1498         <p>Protection level: normal
1499    -->
1500    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
1501        android:label="@string/permlab_modifyAudioSettings"
1502        android:description="@string/permdesc_modifyAudioSettings"
1503        android:protectionLevel="normal" />
1504
1505    <!-- ================================== -->
1506    <!-- Permissions for accessing hardware -->
1507    <!-- ================================== -->
1508    <eat-comment />
1509
1510    <!-- @SystemApi Allows an application to manage preferences and permissions for USB devices
1511         @hide -->
1512    <permission android:name="android.permission.MANAGE_USB"
1513        android:protectionLevel="signature|privileged" />
1514
1515    <!-- @SystemApi Allows an application to access the MTP USB kernel driver.
1516         For use only by the device side MTP implementation.
1517         @hide -->
1518    <permission android:name="android.permission.ACCESS_MTP"
1519        android:protectionLevel="signature|privileged" />
1520
1521    <!-- @SystemApi Allows access to hardware peripherals.  Intended only for hardware testing.
1522         <p>Not for use by third-party applications.
1523         @hide
1524    -->
1525    <permission android:name="android.permission.HARDWARE_TEST"
1526        android:protectionLevel="signature" />
1527
1528    <!-- @SystemApi Allows access to FM
1529         @hide This is not a third-party API (intended for system apps).-->
1530    <permission android:name="android.permission.ACCESS_FM_RADIO"
1531        android:protectionLevel="signature|privileged" />
1532
1533    <!-- Allows access to configure network interfaces, configure/use IPSec, etc.
1534         @hide -->
1535    <permission android:name="android.permission.NET_ADMIN"
1536        android:protectionLevel="signature" />
1537
1538    <!-- Allows registration for remote audio playback. @hide -->
1539    <permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK"
1540        android:protectionLevel="signature" />
1541
1542    <!-- @SystemApi Allows TvInputService to access underlying TV input hardware such as
1543         built-in tuners and HDMI-in's.
1544         @hide This should only be used by OEM's TvInputService's.
1545    -->
1546    <permission android:name="android.permission.TV_INPUT_HARDWARE"
1547        android:protectionLevel="signature|privileged" />
1548
1549    <!-- @SystemApi Allows to capture a frame of TV input hardware such as
1550         built-in tuners and HDMI-in's.
1551         @hide <p>Not for use by third-party applications.
1552    -->
1553    <permission android:name="android.permission.CAPTURE_TV_INPUT"
1554        android:protectionLevel="signature|privileged" />
1555
1556    <!-- @hide Allows TvInputService to access DVB device.
1557   <p>Not for use by third-party applications. -->
1558    <permission android:name="android.permission.DVB_DEVICE"
1559        android:protectionLevel="signature|privileged" />
1560
1561    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by carrier state
1562         @hide <p>Not for use by third-party applications. -->
1563    <permission android:name="android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE"
1564        android:protectionLevel="signature|privileged" />
1565
1566    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by user state
1567         @hide <p>Not for use by third-party applications. -->
1568    <permission android:name="android.permission.MANAGE_USER_OEM_UNLOCK_STATE"
1569        android:protectionLevel="signature|privileged" />
1570
1571    <!-- @SystemApi Allows reading the OEM unlock state
1572         @hide <p>Not for use by third-party applications. -->
1573    <permission android:name="android.permission.READ_OEM_UNLOCK_STATE"
1574        android:protectionLevel="signature|privileged" />
1575
1576    <!-- @hide Allows enabling/disabling OEM unlock
1577   <p>Not for use by third-party applications. -->
1578    <permission android:name="android.permission.OEM_UNLOCK_STATE"
1579        android:protectionLevel="signature" />
1580
1581    <!-- @hide Allows querying state of PersistentDataBlock
1582   <p>Not for use by third-party applications. -->
1583    <permission android:name="android.permission.ACCESS_PDB_STATE"
1584        android:protectionLevel="signature" />
1585
1586    <!-- @hide Allows system update service to notify device owner about pending updates.
1587   <p>Not for use by third-party applications. -->
1588    <permission android:name="android.permission.NOTIFY_PENDING_SYSTEM_UPDATE"
1589        android:protectionLevel="signature|privileged" />
1590
1591    <!-- =========================================== -->
1592    <!-- Permissions associated with camera and image capture -->
1593    <!-- =========================================== -->
1594    <eat-comment />
1595
1596    <!-- @SystemApi Allows disabling the transmit-indicator LED that is normally on when
1597         a camera is in use by an application.
1598         @hide -->
1599    <permission android:name="android.permission.CAMERA_DISABLE_TRANSMIT_LED"
1600        android:protectionLevel="signature|privileged" />
1601
1602    <!-- Allows sending the camera service notifications about system-wide events.
1603        @hide -->
1604    <permission android:name="android.permission.CAMERA_SEND_SYSTEM_EVENTS"
1605        android:protectionLevel="signature|privileged" />
1606
1607    <!-- =========================================== -->
1608    <!-- Permissions associated with telephony state -->
1609    <!-- =========================================== -->
1610    <eat-comment />
1611
1612    <!-- @SystemApi Allows modification of the telephony state - power on, mmi, etc.
1613         Does not include placing calls.
1614         <p>Not for use by third-party applications. -->
1615    <permission android:name="android.permission.MODIFY_PHONE_STATE"
1616        android:protectionLevel="signature|privileged" />
1617
1618    <!-- Allows read only access to precise phone state.
1619         @hide Pending API council approval -->
1620    <permission android:name="android.permission.READ_PRECISE_PHONE_STATE"
1621        android:protectionLevel="signature|privileged" />
1622
1623    <!-- @SystemApi Allows read access to privileged phone state.
1624         @hide Used internally. -->
1625    <permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
1626        android:protectionLevel="signature|privileged" />
1627
1628    <!-- @SystemApi Protects the ability to register any PhoneAccount with
1629         PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION. This capability indicates that the PhoneAccount
1630         corresponds to a device SIM.
1631         @hide -->
1632    <permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION"
1633        android:protectionLevel="signature|privileged" />
1634
1635    <!-- @SystemApi Protects the ability to register any PhoneAccount with
1636         PhoneAccount#CAPABILITY_CALL_PROVIDER.
1637         @hide -->
1638    <permission android:name="android.permission.REGISTER_CALL_PROVIDER"
1639        android:protectionLevel="signature|privileged" />
1640
1641    <!-- @SystemApi Protects the ability to register any PhoneAccount with
1642         PhoneAccount#CAPABILITY_CONNECTION_MANAGER
1643         @hide -->
1644    <permission android:name="android.permission.REGISTER_CONNECTION_MANAGER"
1645        android:protectionLevel="signature|privileged" />
1646
1647    <!-- Must be required by a {@link android.telecom.InCallService},
1648         to ensure that only the system can bind to it.
1649         <p>Protection level: signature|privileged
1650    -->
1651    <permission android:name="android.permission.BIND_INCALL_SERVICE"
1652        android:protectionLevel="signature|privileged" />
1653
1654    <!-- Must be required by a link {@link android.telephony.VisualVoicemailService} to ensure that
1655         only the system can bind to it.
1656         <p>Protection level: signature|privileged
1657    -->
1658    <permission
1659      android:name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
1660      android:protectionLevel="signature|privileged"/>
1661
1662    <!-- Must be required by a {@link android.telecom.CallScreeningService},
1663         to ensure that only the system can bind to it.
1664         <p>Protection level: signature|privileged
1665    -->
1666    <permission android:name="android.permission.BIND_SCREENING_SERVICE"
1667        android:protectionLevel="signature|privileged" />
1668
1669    <!-- Must be required by a {@link android.telecom.ConnectionService},
1670         to ensure that only the system can bind to it.
1671         @deprecated {@link android.telecom.ConnectionService}s should require
1672                 android.permission.BIND_TELECOM_CONNECTION_SERVICE instead.
1673         @SystemApi
1674         @hide -->
1675    <permission android:name="android.permission.BIND_CONNECTION_SERVICE"
1676        android:protectionLevel="signature|privileged" />
1677
1678    <!-- Must be required by a {@link android.telecom.ConnectionService},
1679         to ensure that only the system can bind to it.
1680         <p>Protection level: signature|privileged
1681    -->
1682    <permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
1683        android:protectionLevel="signature|privileged" />
1684
1685    <!-- @SystemApi Allows an application to control the in-call experience.
1686         @hide -->
1687    <permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"
1688        android:protectionLevel="signature|privileged" />
1689
1690    <!-- Allows an application to receive STK related commands.
1691         @hide -->
1692    <permission android:name="android.permission.RECEIVE_STK_COMMANDS"
1693        android:protectionLevel="signature|privileged" />
1694
1695    <!-- Must be required by an ImsService to ensure that only the
1696         system can bind to it.
1697         <p>Protection level: signature|privileged
1698         @SystemApi
1699         @hide
1700    -->
1701    <permission android:name="android.permission.BIND_IMS_SERVICE"
1702        android:protectionLevel="signature|privileged" />
1703
1704    <!-- Allows an application to manage embedded subscriptions (those on a eUICC) through
1705         EuiccManager APIs.
1706         <p>Protection level: signature|privileged|development
1707         TODO(b/35851809): Mark this as a SystemApi.
1708         @hide -->
1709    <permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
1710                android:protectionLevel="signature|privileged|development" />
1711
1712    <!-- Must be required by an EuiccService to ensure that only the system can bind to it.
1713         <p>Protection level: signature
1714         TODO(b/35851809): Mark this as a SystemApi.
1715         @hide -->
1716    <permission android:name="android.permission.BIND_EUICC_SERVICE"
1717                android:protectionLevel="signature" />
1718
1719
1720    <!-- ================================== -->
1721    <!-- Permissions for sdcard interaction -->
1722    <!-- ================================== -->
1723    <eat-comment />
1724
1725    <!-- @SystemApi Allows an application to write to internal media storage
1726         @hide  -->
1727    <permission android:name="android.permission.WRITE_MEDIA_STORAGE"
1728        android:protectionLevel="signature|privileged" />
1729
1730    <!-- Allows an application to manage access to documents, usually as part
1731         of a document picker.
1732         <p>This permission should <em>only</em> be requested by the platform
1733         document management app.  This permission cannot be granted to
1734         third-party apps.
1735         <p>Protection level: signature
1736    -->
1737    <permission android:name="android.permission.MANAGE_DOCUMENTS"
1738        android:protectionLevel="signature" />
1739
1740    <!-- @hide Allows an application to cache content.
1741         <p>Not for use by third-party applications.
1742         <p>Protection level: signature
1743    -->
1744    <permission android:name="android.permission.CACHE_CONTENT"
1745        android:protectionLevel="signature" />
1746
1747    <!-- @SystemApi @hide
1748         Allows an application to aggressively allocate disk space.
1749         <p>Not for use by third-party applications.
1750    -->
1751    <permission android:name="android.permission.ALLOCATE_AGGRESSIVE"
1752        android:protectionLevel="signature|privileged" />
1753
1754    <!-- ================================== -->
1755    <!-- Permissions for screenlock         -->
1756    <!-- ================================== -->
1757    <eat-comment />
1758
1759    <!-- Allows applications to disable the keyguard if it is not secure.
1760         <p>Protection level: normal
1761    -->
1762    <permission android:name="android.permission.DISABLE_KEYGUARD"
1763        android:description="@string/permdesc_disableKeyguard"
1764        android:label="@string/permlab_disableKeyguard"
1765        android:protectionLevel="normal" />
1766
1767    <!-- ================================== -->
1768    <!-- Permissions to access other installed applications  -->
1769    <!-- ================================== -->
1770    <eat-comment />
1771
1772    <!-- @deprecated No longer enforced. -->
1773    <permission android:name="android.permission.GET_TASKS"
1774        android:label="@string/permlab_getTasks"
1775        android:description="@string/permdesc_getTasks"
1776        android:protectionLevel="normal" />
1777
1778    <!-- New version of GET_TASKS that apps can request, since GET_TASKS doesn't really
1779         give access to task information.  We need this new one because there are
1780         many existing apps that use add libraries and such that have validation
1781         code to ensure the app has requested the GET_TASKS permission by seeing
1782         if it has been granted the permission...  if it hasn't, it kills the app
1783         with a message about being upset.  So we need to have it continue to look
1784         like the app is getting that permission, even though it will never be
1785         checked, and new privileged apps can now request this one for real access.
1786         @hide
1787         @SystemApi -->
1788    <permission android:name="android.permission.REAL_GET_TASKS"
1789        android:protectionLevel="signature|privileged" />
1790
1791    <!-- Allows an application to start a task from a ActivityManager#RecentTaskInfo.
1792         @hide -->
1793    <permission android:name="android.permission.START_TASKS_FROM_RECENTS"
1794        android:protectionLevel="signature|privileged" />
1795
1796    <!-- @SystemApi @hide Allows an application to call APIs that allow it to do interactions
1797         across the users on the device, using singleton services and
1798         user-targeted broadcasts.  This permission is not available to
1799         third party applications. -->
1800    <permission android:name="android.permission.INTERACT_ACROSS_USERS"
1801        android:protectionLevel="signature|privileged|development" />
1802
1803    <!-- @SystemApi Fuller form of {@link android.Manifest.permission#INTERACT_ACROSS_USERS}
1804         that removes restrictions on where broadcasts can be sent and allows other
1805         types of interactions
1806         @hide -->
1807    <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
1808        android:protectionLevel="signature|installer" />
1809
1810    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query and manage
1811         users on the device. This permission is not available to
1812         third party applications. -->
1813    <permission android:name="android.permission.MANAGE_USERS"
1814        android:protectionLevel="signature|privileged" />
1815
1816    <!-- @hide Allows an application to configure the assist gesture -->
1817    <permission android:name="android.permission.CONFIGURE_ASSIST_GESTURE"
1818        android:protectionLevel="signature" />
1819
1820    <!-- @hide Allows an application to create, remove users and get the list of
1821         users on the device. Applications holding this permission can only create restricted,
1822         guest, managed, demo, and ephemeral users. For creating other kind of users,
1823         {@link android.Manifest.permission#MANAGE_USERS} is needed.
1824         This permission is not available to third party applications. -->
1825    <permission android:name="android.permission.CREATE_USERS"
1826        android:protectionLevel="signature" />
1827
1828    <!-- @hide Allows an application to set the profile owners and the device owner.
1829         This permission is not available to third party applications.-->
1830    <permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"
1831        android:protectionLevel="signature"
1832        android:label="@string/permlab_manageProfileAndDeviceOwners"
1833        android:description="@string/permdesc_manageProfileAndDeviceOwners" />
1834
1835    <!-- Allows an application to get full detailed information about
1836         recently running tasks, with full fidelity to the real state.
1837         @hide -->
1838    <permission android:name="android.permission.GET_DETAILED_TASKS"
1839        android:protectionLevel="signature" />
1840
1841    <!-- Allows an application to change the Z-order of tasks.
1842         <p>Protection level: normal
1843    -->
1844    <permission android:name="android.permission.REORDER_TASKS"
1845        android:label="@string/permlab_reorderTasks"
1846        android:description="@string/permdesc_reorderTasks"
1847        android:protectionLevel="normal" />
1848
1849    <!-- @hide Allows an application to change to remove/kill tasks -->
1850    <permission android:name="android.permission.REMOVE_TASKS"
1851        android:protectionLevel="signature" />
1852
1853    <!-- @SystemApi @hide Allows an application to create/manage/remove stacks -->
1854    <permission android:name="android.permission.MANAGE_ACTIVITY_STACKS"
1855        android:protectionLevel="signature|privileged" />
1856
1857    <!-- Allows an application to start any activity, regardless of permission
1858         protection or exported state.
1859         @hide -->
1860    <permission android:name="android.permission.START_ANY_ACTIVITY"
1861        android:protectionLevel="signature" />
1862
1863    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
1864        API is no longer supported. -->
1865    <permission android:name="android.permission.RESTART_PACKAGES"
1866        android:label="@string/permlab_killBackgroundProcesses"
1867        android:description="@string/permdesc_killBackgroundProcesses"
1868        android:protectionLevel="normal" />
1869
1870    <!-- Allows an application to call
1871        {@link android.app.ActivityManager#killBackgroundProcesses}.
1872         <p>Protection level: normal
1873    -->
1874    <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
1875        android:label="@string/permlab_killBackgroundProcesses"
1876        android:description="@string/permdesc_killBackgroundProcesses"
1877        android:protectionLevel="normal" />
1878
1879    <!-- @SystemApi @hide Allows an application to query process states and current
1880         OOM adjustment scores.
1881         <p>Not for use by third-party applications. -->
1882    <permission android:name="android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"
1883        android:protectionLevel="signature|privileged|development" />
1884
1885    <!-- Allows use of PendingIntent.getIntent().
1886         @hide -->
1887    <permission android:name="android.permission.GET_INTENT_SENDER_INTENT"
1888        android:protectionLevel="signature" />
1889
1890    <!-- ================================== -->
1891    <!-- Permissions affecting the display of other applications  -->
1892    <!-- ================================== -->
1893    <eat-comment />
1894
1895    <!-- Allows an app to create windows using the type
1896         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
1897         shown on top of all other apps.  Very few apps
1898         should use this permission; these windows are intended for
1899         system-level interaction with the user.
1900
1901         <p class="note"><strong>Note:</strong> If the app
1902         targets API level 23 or higher, the app user must explicitly grant
1903         this permission to the app through a permission management screen. The app requests
1904         the user's approval by sending an intent with action
1905         {@link android.provider.Settings#ACTION_MANAGE_OVERLAY_PERMISSION}.
1906         The app can check whether it has this authorization by calling
1907         {@link android.provider.Settings#canDrawOverlays
1908         Settings.canDrawOverlays()}.
1909         <p>Protection level: signature -->
1910    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
1911        android:label="@string/permlab_systemAlertWindow"
1912        android:description="@string/permdesc_systemAlertWindow"
1913        android:protectionLevel="signature|preinstalled|appop|pre23|development" />
1914
1915    <!-- @deprecated Use {@link android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
1916         @hide
1917    -->
1918    <permission android:name="android.permission.RUN_IN_BACKGROUND"
1919        android:label="@string/permlab_runInBackground"
1920        android:description="@string/permdesc_runInBackground"
1921        android:protectionLevel="signature" />
1922
1923    <!-- @deprecated Use
1924        {@link android.Manifest.permission#REQUEST_COMPANION_USE_DATA_IN_BACKGROUND}
1925         @hide
1926    -->
1927    <permission android:name="android.permission.USE_DATA_IN_BACKGROUND"
1928        android:label="@string/permlab_useDataInBackground"
1929        android:description="@string/permdesc_useDataInBackground"
1930        android:protectionLevel="signature" />
1931
1932    <!-- @hide Allows an application to set display offsets for the screen.
1933         This permission is not available to third party applications. -->
1934    <permission android:name="android.permission.SET_DISPLAY_OFFSET"
1935        android:protectionLevel="signature|privileged" />
1936
1937    <!-- Allows a companion app to run in the background.
1938         <p>Protection level: normal
1939    -->
1940    <permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"
1941                android:label="@string/permlab_runInBackground"
1942                android:description="@string/permdesc_runInBackground"
1943                android:protectionLevel="normal" />
1944
1945    <!-- Allows a companion app to use data in the background.
1946         <p>Protection level: normal
1947    -->
1948    <permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"
1949                android:label="@string/permlab_useDataInBackground"
1950                android:description="@string/permdesc_useDataInBackground"
1951                android:protectionLevel="normal" />
1952
1953
1954    <!-- ================================== -->
1955    <!-- Permissions affecting the system wallpaper -->
1956    <!-- ================================== -->
1957    <eat-comment />
1958
1959    <!-- Allows applications to set the wallpaper.
1960         <p>Protection level: normal
1961     -->
1962    <permission android:name="android.permission.SET_WALLPAPER"
1963        android:label="@string/permlab_setWallpaper"
1964        android:description="@string/permdesc_setWallpaper"
1965        android:protectionLevel="normal" />
1966
1967    <!-- Allows applications to set the wallpaper hints.
1968         <p>Protection level: normal
1969    -->
1970    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
1971        android:label="@string/permlab_setWallpaperHints"
1972        android:description="@string/permdesc_setWallpaperHints"
1973        android:protectionLevel="normal" />
1974
1975    <!-- ============================================ -->
1976    <!-- Permissions for changing the system clock -->
1977    <!-- ============================================ -->
1978    <eat-comment />
1979
1980    <!-- @SystemApi Allows applications to set the system time.
1981    <p>Not for use by third-party applications. -->
1982    <permission android:name="android.permission.SET_TIME"
1983        android:protectionLevel="signature|privileged" />
1984
1985    <!-- Allows applications to set the system time zone.
1986         <p>Not for use by third-party applications.
1987    -->
1988    <permission android:name="android.permission.SET_TIME_ZONE"
1989        android:label="@string/permlab_setTimeZone"
1990        android:description="@string/permdesc_setTimeZone"
1991        android:protectionLevel="signature|privileged" />
1992
1993    <!-- ==================================================== -->
1994    <!-- Permissions related to changing status bar   -->
1995    <!-- ==================================================== -->
1996    <eat-comment />
1997
1998    <!-- Allows an application to expand or collapse the status bar.
1999         <p>Protection level: normal
2000    -->
2001    <permission android:name="android.permission.EXPAND_STATUS_BAR"
2002        android:label="@string/permlab_expandStatusBar"
2003        android:description="@string/permdesc_expandStatusBar"
2004        android:protectionLevel="normal" />
2005
2006    <!-- ============================================================== -->
2007    <!-- Permissions related to adding/removing shortcuts from Launcher -->
2008    <!-- ============================================================== -->
2009    <eat-comment />
2010
2011    <!-- Allows an application to install a shortcut in Launcher.
2012         <p>Protection level: normal
2013    -->
2014    <permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
2015        android:label="@string/permlab_install_shortcut"
2016        android:description="@string/permdesc_install_shortcut"
2017        android:protectionLevel="normal"/>
2018
2019    <!--This permission is no longer supported.
2020    -->
2021    <permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"
2022        android:label="@string/permlab_uninstall_shortcut"
2023        android:description="@string/permdesc_uninstall_shortcut"
2024        android:protectionLevel="normal"/>
2025
2026    <!-- ==================================================== -->
2027    <!-- Permissions related to accessing sync settings   -->
2028    <!-- ==================================================== -->
2029    <eat-comment />
2030
2031    <!-- Allows applications to read the sync settings.
2032         <p>Protection level: normal
2033    -->
2034    <permission android:name="android.permission.READ_SYNC_SETTINGS"
2035        android:description="@string/permdesc_readSyncSettings"
2036        android:label="@string/permlab_readSyncSettings"
2037        android:protectionLevel="normal" />
2038
2039    <!-- Allows applications to write the sync settings.
2040         <p>Protection level: normal
2041    -->
2042    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
2043        android:description="@string/permdesc_writeSyncSettings"
2044        android:label="@string/permlab_writeSyncSettings"
2045        android:protectionLevel="normal" />
2046
2047    <!-- Allows applications to read the sync stats.
2048         <p>Protection level: normal
2049    -->
2050    <permission android:name="android.permission.READ_SYNC_STATS"
2051        android:description="@string/permdesc_readSyncStats"
2052        android:label="@string/permlab_readSyncStats"
2053        android:protectionLevel="normal" />
2054
2055    <!-- ============================================ -->
2056    <!-- Permissions for low-level system interaction -->
2057    <!-- ============================================ -->
2058    <eat-comment />
2059
2060    <!-- @SystemApi @hide Change the screen compatibility mode of applications -->
2061    <permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
2062        android:protectionLevel="signature" />
2063
2064    <!-- @SystemApi Allows an application to modify the current configuration, such
2065         as locale. -->
2066    <permission android:name="android.permission.CHANGE_CONFIGURATION"
2067        android:protectionLevel="signature|privileged|development" />
2068
2069    <!-- Allows an application to read or write the system settings.
2070
2071        <p class="note"><strong>Note:</strong> If the app targets API level 23
2072        or higher, the app user
2073        must explicitly grant this permission to the app through a permission management screen.
2074        The app requests the user's approval by sending an intent with action
2075        {@link android.provider.Settings#ACTION_MANAGE_WRITE_SETTINGS}. The app
2076        can check whether it has this authorization by calling {@link
2077        android.provider.Settings.System#canWrite Settings.System.canWrite()}.
2078
2079        <p>Protection level: signature
2080    -->
2081    <permission android:name="android.permission.WRITE_SETTINGS"
2082        android:label="@string/permlab_writeSettings"
2083        android:description="@string/permdesc_writeSettings"
2084        android:protectionLevel="signature|preinstalled|appop|pre23" />
2085
2086    <!-- @SystemApi Allows an application to modify the Google service map.
2087    <p>Not for use by third-party applications. -->
2088    <permission android:name="android.permission.WRITE_GSERVICES"
2089        android:protectionLevel="signature|privileged" />
2090
2091    <!-- @SystemApi Allows an application to call
2092        {@link android.app.ActivityManager#forceStopPackage}.
2093        @hide -->
2094    <permission android:name="android.permission.FORCE_STOP_PACKAGES"
2095        android:protectionLevel="signature|privileged" />
2096
2097    <!-- @SystemApi @hide Allows an application to retrieve the content of the active window
2098         An active window is the window that has fired an accessibility event. -->
2099    <permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"
2100        android:protectionLevel="signature|privileged" />
2101
2102    <!-- @SystemApi Modify the global animation scaling factor.
2103    <p>Not for use by third-party applications. -->
2104    <permission android:name="android.permission.SET_ANIMATION_SCALE"
2105        android:protectionLevel="signature|privileged|development" />
2106
2107    <!-- @deprecated This functionality will be removed in the future; please do
2108         not use. Allow an application to make its activities persistent. -->
2109    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
2110        android:label="@string/permlab_persistentActivity"
2111        android:description="@string/permdesc_persistentActivity"
2112        android:protectionLevel="normal" />
2113
2114    <!-- Allows an application to find out the space used by any package.
2115         <p>Protection level: normal
2116    -->
2117    <permission android:name="android.permission.GET_PACKAGE_SIZE"
2118        android:label="@string/permlab_getPackageSize"
2119        android:description="@string/permdesc_getPackageSize"
2120        android:protectionLevel="normal" />
2121
2122    <!-- @deprecated No longer useful, see
2123         {@link android.content.pm.PackageManager#addPackageToPreferred}
2124         for details. -->
2125    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
2126        android:protectionLevel="signature|verifier" />
2127
2128    <!-- Allows an application to receive the
2129         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
2130         broadcast after the system finishes booting.  If you don't
2131         request this permission, you will not receive the broadcast at
2132         that time.  Though holding this permission does not have any
2133         security implications, it can have a negative impact on the
2134         user experience by increasing the amount of time it takes the
2135         system to start and allowing applications to have themselves
2136         running without the user being aware of them.  As such, you must
2137         explicitly declare your use of this facility to make that visible
2138         to the user.
2139         <p>Protection level: normal
2140    -->
2141    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
2142        android:label="@string/permlab_receiveBootCompleted"
2143        android:description="@string/permdesc_receiveBootCompleted"
2144        android:protectionLevel="normal" />
2145
2146    <!-- Allows an application to broadcast sticky intents.  These are
2147         broadcasts whose data is held by the system after being finished,
2148         so that clients can quickly retrieve that data without having
2149         to wait for the next broadcast.
2150         <p>Protection level: normal
2151    -->
2152    <permission android:name="android.permission.BROADCAST_STICKY"
2153        android:label="@string/permlab_broadcastSticky"
2154        android:description="@string/permdesc_broadcastSticky"
2155        android:protectionLevel="normal" />
2156
2157    <!-- @SystemApi Allows mounting and unmounting file systems for removable storage.
2158    <p>Not for use by third-party applications.-->
2159    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
2160        android:protectionLevel="signature|privileged" />
2161
2162    <!-- @SystemApi Allows formatting file systems for removable storage.
2163    <p>Not for use by third-party applications. -->
2164    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
2165        android:protectionLevel="signature|privileged" />
2166
2167    <!-- @hide -->
2168    <permission android:name="android.permission.STORAGE_INTERNAL"
2169        android:protectionLevel="signature" />
2170
2171    <!-- Allows access to ASEC non-destructive API calls
2172         @hide  -->
2173    <permission android:name="android.permission.ASEC_ACCESS"
2174        android:protectionLevel="signature" />
2175
2176    <!-- Allows creation of ASEC volumes
2177         @hide  -->
2178    <permission android:name="android.permission.ASEC_CREATE"
2179        android:protectionLevel="signature" />
2180
2181    <!-- Allows destruction of ASEC volumes
2182         @hide  -->
2183    <permission android:name="android.permission.ASEC_DESTROY"
2184        android:protectionLevel="signature" />
2185
2186    <!-- Allows mount / unmount of ASEC volumes
2187         @hide  -->
2188    <permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"
2189        android:protectionLevel="signature" />
2190
2191    <!-- Allows rename of ASEC volumes
2192         @hide  -->
2193    <permission android:name="android.permission.ASEC_RENAME"
2194        android:protectionLevel="signature" />
2195
2196    <!-- @SystemApi Allows applications to write the apn settings.
2197    <p>Not for use by third-party applications. -->
2198    <permission android:name="android.permission.WRITE_APN_SETTINGS"
2199        android:protectionLevel="signature|privileged" />
2200
2201    <!-- Allows applications to change network connectivity state.
2202         <p>Protection level: normal
2203    -->
2204    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
2205        android:description="@string/permdesc_changeNetworkState"
2206        android:label="@string/permlab_changeNetworkState"
2207        android:protectionLevel="normal" />
2208
2209    <!-- Allows an application to clear the caches of all installed
2210         applications on the device.
2211         <p>Protection level: system|signature
2212    -->
2213    <permission android:name="android.permission.CLEAR_APP_CACHE"
2214        android:protectionLevel="signature|privileged" />
2215
2216    <!-- @SystemApi Allows an application to use any media decoder when decoding for playback
2217         @hide -->
2218    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
2219        android:protectionLevel="signature|privileged" />
2220
2221    <!-- @SystemApi Allows an application to install and/or uninstall CA certificates on
2222         behalf of the user.
2223         @hide -->
2224    <permission android:name="android.permission.MANAGE_CA_CERTIFICATES"
2225        android:protectionLevel="signature|privileged" />
2226
2227    <!-- @SystemApi Allows an application to do certain operations needed for
2228         interacting with the recovery (system update) system.
2229         @hide -->
2230    <permission android:name="android.permission.RECOVERY"
2231        android:protectionLevel="signature|privileged" />
2232
2233    <!-- Allows the system to bind to an application's task services
2234         @hide -->
2235    <permission android:name="android.permission.BIND_JOB_SERVICE"
2236        android:protectionLevel="signature" />
2237    <uses-permission android:name="android.permission.BIND_JOB_SERVICE"/>
2238
2239    <!-- Allows an application to initiate configuration updates
2240         <p>An application requesting this permission is responsible for
2241         verifying the source and integrity of any update before passing
2242         it off to the various individual installer components
2243         @hide -->
2244    <permission android:name="android.permission.UPDATE_CONFIG"
2245        android:protectionLevel="signature|privileged" />
2246
2247    <!-- Allows a time zone rule updater application to request
2248         the system installs / uninstalls timezone rules.
2249         <p>An application requesting this permission is responsible for
2250         verifying the source and integrity of the update before passing
2251         it off to the installer components.
2252         @hide -->
2253    <permission android:name="android.permission.UPDATE_TIME_ZONE_RULES"
2254        android:protectionLevel="signature|privileged" />
2255
2256    <!-- Must be required by a time zone rule updater application,
2257         to ensure that only the system can trigger it.
2258         @hide -->
2259    <permission android:name="android.permission.TRIGGER_TIME_ZONE_RULES_CHECK"
2260        android:protectionLevel="signature" />
2261    <uses-permission android:name="android.permission.TRIGGER_TIME_ZONE_RULES_CHECK"/>
2262
2263    <!-- Allows the system to reset throttling in shortcut manager.
2264         @hide -->
2265    <permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING"
2266        android:protectionLevel="signature" />
2267
2268    <!-- Allows the system to bind to the discovered Network Recommendation Service.
2269         @SystemApi @hide -->
2270    <permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"
2271        android:protectionLevel="signature" />
2272    <uses-permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"/>
2273
2274    <!-- Allows an application to enable, disable and change priority of
2275         runtime resource overlays.
2276         @hide -->
2277    <permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES"
2278        android:protectionLevel="signature|privileged" />
2279
2280    <!-- ========================================= -->
2281    <!-- Permissions for special development tools -->
2282    <!-- ========================================= -->
2283    <eat-comment />
2284
2285    <!-- @SystemApi Allows an application to read or write the secure system settings.
2286    <p>Not for use by third-party applications. -->
2287    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
2288        android:protectionLevel="signature|privileged|development" />
2289
2290    <!-- @SystemApi Allows an application to retrieve state dump information from system services.
2291    <p>Not for use by third-party applications. -->
2292    <permission android:name="android.permission.DUMP"
2293        android:protectionLevel="signature|privileged|development" />
2294
2295    <!-- @SystemApi Allows an application to read the low-level system log files.
2296    <p>Not for use by third-party applications, because
2297    Log entries can contain the user's private information. -->
2298    <permission android:name="android.permission.READ_LOGS"
2299        android:protectionLevel="signature|privileged|development" />
2300
2301    <!-- @SystemApi Configure an application for debugging.
2302    <p>Not for use by third-party applications. -->
2303    <permission android:name="android.permission.SET_DEBUG_APP"
2304        android:protectionLevel="signature|privileged|development" />
2305
2306    <!-- @SystemApi Allows an application to set the maximum number of (not needed)
2307         application processes that can be running.
2308         <p>Not for use by third-party applications. -->
2309    <permission android:name="android.permission.SET_PROCESS_LIMIT"
2310        android:protectionLevel="signature|privileged|development" />
2311
2312    <!-- @SystemApi Allows an application to control whether activities are immediately
2313         finished when put in the background.
2314         <p>Not for use by third-party applications. -->
2315    <permission android:name="android.permission.SET_ALWAYS_FINISH"
2316        android:protectionLevel="signature|privileged|development" />
2317
2318    <!-- @SystemApi Allow an application to request that a signal be sent to all persistent processes.
2319    <p>Not for use by third-party applications. -->
2320    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
2321        android:protectionLevel="signature|privileged|development" />
2322
2323    <!-- ==================================== -->
2324    <!-- Private permissions                  -->
2325    <!-- ==================================== -->
2326    <eat-comment />
2327
2328    <!-- @SystemApi Allows access to the list of accounts in the Accounts Service. -->
2329    <permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"
2330        android:protectionLevel="signature|privileged" />
2331
2332    <!-- Allows but does not guarantee access to user passwords at the conclusion of add account
2333    @hide -->
2334    <permission android:name="android.permission.GET_PASSWORD"
2335        android:protectionLevel="signature" />
2336
2337    <!-- @SystemApi Allows applications to RW to diagnostic resources.
2338    <p>Not for use by third-party applications. -->
2339    <permission android:name="android.permission.DIAGNOSTIC"
2340        android:protectionLevel="signature" />
2341
2342    <!-- @SystemApi Allows an application to open, close, or disable the status bar
2343         and its icons.
2344         <p>Not for use by third-party applications. -->
2345    <permission android:name="android.permission.STATUS_BAR"
2346        android:protectionLevel="signature|privileged" />
2347
2348    <!-- Allows an application to be the status bar.  Currently used only by SystemUI.apk
2349    @hide -->
2350    <permission android:name="android.permission.STATUS_BAR_SERVICE"
2351        android:protectionLevel="signature" />
2352
2353    <!-- Allows an application to bind to third party quick settings tiles.
2354         <p>Should only be requested by the System, should be required by
2355         TileService declarations.-->
2356    <permission android:name="android.permission.BIND_QUICK_SETTINGS_TILE"
2357        android:protectionLevel="signature" />
2358
2359    <!-- @SystemApi Allows an application to force a BACK operation on whatever is the
2360         top activity.
2361         <p>Not for use by third-party applications.
2362         @hide
2363    -->
2364    <permission android:name="android.permission.FORCE_BACK"
2365        android:protectionLevel="signature" />
2366
2367    <!-- @SystemApi Allows an application to update device statistics.
2368    <p>Not for use by third-party applications. -->
2369    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
2370        android:protectionLevel="signature|privileged" />
2371
2372    <!-- @SystemApi @hide Allows an application to collect battery statistics -->
2373    <permission android:name="android.permission.GET_APP_OPS_STATS"
2374        android:protectionLevel="signature|privileged|development" />
2375
2376    <!-- @SystemApi Allows an application to update application operation statistics. Not for
2377         use by third party apps.
2378         @hide -->
2379    <permission android:name="android.permission.UPDATE_APP_OPS_STATS"
2380        android:protectionLevel="signature|privileged|installer" />
2381
2382    <!-- @SystemApi Allows an application to update the user app op restrictions.
2383         Not for use by third party apps.
2384         @hide -->
2385    <permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS"
2386        android:protectionLevel="signature|installer" />
2387
2388    <!-- @SystemApi Allows an application to open windows that are for use by parts
2389         of the system user interface.
2390         <p>Not for use by third-party applications.
2391         @hide
2392    -->
2393    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
2394        android:protectionLevel="signature" />
2395
2396    <!-- @SystemApi Allows an application to manage (create, destroy,
2397         Z-order) application tokens in the window manager.
2398         <p>Not for use by third-party applications.
2399         @hide
2400    -->
2401    <permission android:name="android.permission.MANAGE_APP_TOKENS"
2402        android:protectionLevel="signature" />
2403
2404    <!-- Allows System UI to register listeners for events from Window Manager.
2405         @hide -->
2406    <permission android:name="android.permission.REGISTER_WINDOW_MANAGER_LISTENERS"
2407        android:protectionLevel="signature" />
2408
2409    <!-- @hide Allows the application to temporarily freeze the screen for a
2410         full-screen transition. -->
2411    <permission android:name="android.permission.FREEZE_SCREEN"
2412        android:protectionLevel="signature" />
2413
2414    <!-- @SystemApi Allows an application to inject user events (keys, touch, trackball)
2415         into the event stream and deliver them to ANY window.  Without this
2416         permission, you can only deliver events to windows in your own process.
2417         <p>Not for use by third-party applications.
2418         @hide
2419    -->
2420    <permission android:name="android.permission.INJECT_EVENTS"
2421        android:protectionLevel="signature" />
2422
2423    <!-- @hide Allows an application to register an input filter which filters the stream
2424         of user events (keys, touch, trackball) before they are dispatched to any window. -->
2425    <permission android:name="android.permission.FILTER_EVENTS"
2426        android:protectionLevel="signature" />
2427
2428    <!-- @hide Allows an application to retrieve the window token from the accessibility manager. -->
2429    <permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN"
2430        android:protectionLevel="signature" />
2431
2432    <!-- @hide Allows an application to modify accessibility information from another app. -->
2433    <permission android:name="android.permission.MODIFY_ACCESSIBILITY_DATA"
2434                android:protectionLevel="signature" />
2435
2436    <!-- @hide Allows an application to change the accessibility volume. -->
2437    <permission android:name="android.permission.CHANGE_ACCESSIBILITY_VOLUME"
2438                android:protectionLevel="signature" />
2439
2440    <!-- @hide Allows an application to collect frame statistics -->
2441    <permission android:name="android.permission.FRAME_STATS"
2442         android:protectionLevel="signature" />
2443
2444    <!-- @hide Allows an application to temporary enable accessibility on the device. -->
2445    <permission android:name="android.permission.TEMPORARY_ENABLE_ACCESSIBILITY"
2446        android:protectionLevel="signature" />
2447
2448    <!-- @SystemApi Allows an application to watch and control how activities are
2449         started globally in the system.  Only for is in debugging
2450         (usually the monkey command).
2451         <p>Not for use by third-party applications.
2452         @hide
2453    -->
2454    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
2455        android:protectionLevel="signature" />
2456
2457    <!-- @SystemApi Allows an application to call the activity manager shutdown() API
2458         to put the higher-level system there into a shutdown state.
2459         @hide -->
2460    <permission android:name="android.permission.SHUTDOWN"
2461        android:protectionLevel="signature|privileged" />
2462
2463    <!-- @SystemApi Allows an application to tell the activity manager to temporarily
2464         stop application switches, putting it into a special mode that
2465         prevents applications from immediately switching away from some
2466         critical UI such as the home screen.
2467         @hide -->
2468    <permission android:name="android.permission.STOP_APP_SWITCHES"
2469        android:protectionLevel="signature|privileged" />
2470
2471    <!-- @SystemApi Allows an application to retrieve private information about
2472         the current top activity, such as any assist context it can provide.
2473         <p>Not for use by third-party applications.
2474         @hide
2475    -->
2476    <permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"
2477        android:protectionLevel="signature" />
2478
2479    <!-- Allows an application to retrieve the current state of keys and
2480         switches.
2481         <p>Not for use by third-party applications.
2482         @deprecated The API that used this permission has been removed. -->
2483    <permission android:name="android.permission.READ_INPUT_STATE"
2484        android:protectionLevel="signature" />
2485
2486    <!-- Must be required by an {@link android.inputmethodservice.InputMethodService},
2487         to ensure that only the system can bind to it.
2488         <p>Protection level: signature
2489    -->
2490    <permission android:name="android.permission.BIND_INPUT_METHOD"
2491        android:protectionLevel="signature" />
2492
2493    <!-- Must be required by an {@link android.media.midi.MidiDeviceService},
2494         to ensure that only the system can bind to it.
2495         <p>Protection level: signature
2496    -->
2497    <permission android:name="android.permission.BIND_MIDI_DEVICE_SERVICE"
2498        android:protectionLevel="signature" />
2499
2500    <!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
2501         to ensure that only the system can bind to it.
2502         <p>Protection level: signature
2503    -->
2504    <permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
2505        android:protectionLevel="signature" />
2506
2507    <!-- Must be required by a {@link android.printservice.PrintService},
2508         to ensure that only the system can bind to it.
2509         <p>Protection level: signature
2510    -->
2511    <permission android:name="android.permission.BIND_PRINT_SERVICE"
2512        android:protectionLevel="signature" />
2513
2514    <!-- Must be required by a {@link android.printservice.recommendation.RecommendationService},
2515     to ensure that only the system can bind to it.
2516     @hide
2517     @SystemApi
2518     <p>Protection level: signature
2519    -->
2520    <permission android:name="android.permission.BIND_PRINT_RECOMMENDATION_SERVICE"
2521            android:protectionLevel="signature" />
2522
2523    <!-- Must be required by a {@link android.nfc.cardemulation.HostApduService}
2524         or {@link android.nfc.cardemulation.OffHostApduService} to ensure that only
2525         the system can bind to it.
2526         <p>Protection level: signature
2527    -->
2528    <permission android:name="android.permission.BIND_NFC_SERVICE"
2529        android:protectionLevel="signature" />
2530
2531    <!-- Must be required by the PrintSpooler to ensure that only the system can bind to it.
2532         @hide -->
2533    <permission android:name="android.permission.BIND_PRINT_SPOOLER_SERVICE"
2534        android:protectionLevel="signature" />
2535
2536    <!-- Must be required by the CompanionDeviceManager to ensure that only the system can bind to it.
2537         @hide -->
2538    <permission android:name="android.permission.BIND_COMPANION_DEVICE_MANAGER_SERVICE"
2539        android:protectionLevel="signature" />
2540
2541    <!-- @SystemApi Must be required by the RuntimePermissionPresenterService to ensure
2542         that only the system can bind to it.
2543         @hide -->
2544    <permission android:name="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE"
2545        android:protectionLevel="signature" />
2546
2547    <!-- Must be required by a TextService (e.g. SpellCheckerService)
2548         to ensure that only the system can bind to it.
2549         <p>Protection level: signature
2550    -->
2551    <permission android:name="android.permission.BIND_TEXT_SERVICE"
2552        android:protectionLevel="signature" />
2553
2554    <!-- Must be required by a {@link android.net.VpnService},
2555         to ensure that only the system can bind to it.
2556         <p>Protection level: signature
2557    -->
2558    <permission android:name="android.permission.BIND_VPN_SERVICE"
2559        android:protectionLevel="signature" />
2560
2561    <!-- Must be required by a {@link android.service.wallpaper.WallpaperService},
2562         to ensure that only the system can bind to it.
2563         <p>Protection level: system|signature
2564    -->
2565    <permission android:name="android.permission.BIND_WALLPAPER"
2566        android:protectionLevel="signature|privileged" />
2567
2568    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService},
2569         to ensure that only the system can bind to it.
2570         <p>Protection level: signature
2571    -->
2572    <permission android:name="android.permission.BIND_VOICE_INTERACTION"
2573        android:protectionLevel="signature" />
2574
2575    <!-- Must be required by a {@link android.service.autofill.AutofillService},
2576         to ensure that only the system can bind to it.
2577         <p>Protection level: signature
2578    -->
2579    <permission android:name="android.permission.BIND_AUTOFILL_SERVICE"
2580        android:protectionLevel="signature" />
2581
2582    <!-- @hide TODO(b/37563972): remove once clients use BIND_AUTOFILL_SERVICE -->
2583    <permission android:name="android.permission.BIND_AUTOFILL"
2584        android:protectionLevel="signature" />
2585
2586    <!-- Must be required by hotword enrollment application,
2587         to ensure that only the system can interact with it.
2588         @hide <p>Not for use by third-party applications.</p> -->
2589    <permission android:name="android.permission.MANAGE_VOICE_KEYPHRASES"
2590        android:protectionLevel="signature|privileged" />
2591
2592    <!-- Must be required by a {@link com.android.media.remotedisplay.RemoteDisplayProvider},
2593         to ensure that only the system can bind to it.
2594         @hide -->
2595    <permission android:name="android.permission.BIND_REMOTE_DISPLAY"
2596        android:protectionLevel="signature" />
2597
2598    <!-- Must be required by a {@link android.media.tv.TvInputService}
2599         to ensure that only the system can bind to it.
2600         <p>Protection level: signature
2601    -->
2602    <permission android:name="android.permission.BIND_TV_INPUT"
2603        android:protectionLevel="signature|privileged" />
2604
2605    <!-- @SystemApi
2606         Must be required by a {@link com.android.media.tv.remoteprovider.TvRemoteProvider}
2607         to ensure that only the system can bind to it.
2608         <p>Protection level: signature|privileged
2609         <p>Not for use by third-party applications. </p>
2610         @hide  -->
2611    <permission android:name="android.permission.BIND_TV_REMOTE_SERVICE"
2612        android:protectionLevel="signature|privileged" />
2613
2614    <!-- @SystemApi
2615         Must be required for a virtual remote controller for TV.
2616         <p>Protection level: signature|privileged
2617         <p>Not for use by third-party applications. </p>
2618         @hide  -->
2619    <permission android:name="android.permission.TV_VIRTUAL_REMOTE_CONTROLLER"
2620        android:protectionLevel="signature|privileged" />
2621
2622    <!-- @SystemApi Allows an application to modify parental controls
2623         <p>Not for use by third-party applications.
2624         @hide -->
2625    <permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS"
2626        android:protectionLevel="signature|privileged" />
2627
2628    <!-- @SystemApi Allows an application to notify TV inputs by sending broadcasts.
2629         <p>Protection level: signature|privileged
2630         <p>Not for use by third-party applications.
2631         @hide -->
2632    <permission android:name="android.permission.NOTIFY_TV_INPUTS"
2633         android:protectionLevel="signature|privileged" />
2634
2635    <!-- Must be required by a {@link android.media.routing.MediaRouteService}
2636         to ensure that only the system can interact with it.
2637         @hide -->
2638    <permission android:name="android.permission.BIND_ROUTE_PROVIDER"
2639        android:protectionLevel="signature" />
2640
2641    <!-- Must be required by device administration receiver, to ensure that only the
2642         system can interact with it.
2643         <p>Protection level: signature
2644    -->
2645    <permission android:name="android.permission.BIND_DEVICE_ADMIN"
2646        android:protectionLevel="signature" />
2647
2648    <!-- @SystemApi Required to add or remove another application as a device admin.
2649         <p>Not for use by third-party applications.
2650         @hide -->
2651    <permission android:name="android.permission.MANAGE_DEVICE_ADMINS"
2652        android:protectionLevel="signature|privileged" />
2653
2654    <!-- @SystemApi Allows low-level access to setting the orientation (actually
2655         rotation) of the screen.
2656         <p>Not for use by third-party applications.
2657         @hide
2658    -->
2659    <permission android:name="android.permission.SET_ORIENTATION"
2660        android:protectionLevel="signature" />
2661
2662    <!-- @SystemApi Allows low-level access to setting the pointer speed.
2663         <p>Not for use by third-party applications.
2664         @hide
2665    -->
2666    <permission android:name="android.permission.SET_POINTER_SPEED"
2667        android:protectionLevel="signature" />
2668
2669    <!-- Allows low-level access to setting input device calibration.
2670         <p>Not for use by normal applications.
2671         @hide -->
2672    <permission android:name="android.permission.SET_INPUT_CALIBRATION"
2673        android:protectionLevel="signature" />
2674
2675    <!-- Allows low-level access to setting the keyboard layout.
2676         <p>Not for use by third-party applications.
2677         @hide -->
2678    <permission android:name="android.permission.SET_KEYBOARD_LAYOUT"
2679        android:protectionLevel="signature" />
2680
2681    <!-- Allows an application to query tablet mode state and monitor changes
2682         in it.
2683         <p>Not for use by third-party applications.
2684         @hide -->
2685    <permission android:name="android.permission.TABLET_MODE"
2686        android:protectionLevel="signature" />
2687
2688    <!-- Allows an application to request installing packages. Apps
2689         targeting APIs greater than 25 must hold this permission in
2690         order to use {@link android.content.Intent#ACTION_INSTALL_PACKAGE}.
2691         <p>Protection level: signature
2692    -->
2693    <permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"
2694        android:label="@string/permlab_requestInstallPackages"
2695        android:description="@string/permdesc_requestInstallPackages"
2696        android:protectionLevel="signature|appop" />
2697
2698    <!-- Allows an application to request deleting packages. Apps
2699         targeting APIs greater than 25 must hold this permission in
2700         order to use {@link android.content.Intent#ACTION_UNINSTALL_PACKAGE}.
2701         <p>Protection level: normal
2702    -->
2703    <permission android:name="android.permission.REQUEST_DELETE_PACKAGES"
2704        android:label="@string/permlab_requestDeletePackages"
2705        android:description="@string/permdesc_requestDeletePackages"
2706        android:protectionLevel="normal" />
2707
2708    <!-- @SystemApi Allows an application to install packages.
2709    <p>Not for use by third-party applications. -->
2710    <permission android:name="android.permission.INSTALL_PACKAGES"
2711        android:protectionLevel="signature|privileged" />
2712
2713    <!-- @SystemApi Allows an application to clear user data.
2714         <p>Not for use by third-party applications
2715         @hide
2716    -->
2717    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
2718        android:protectionLevel="signature|installer" />
2719
2720    <!-- @hide Allows an application to get the URI permissions
2721         granted to another application.
2722         <p>Not for use by third-party applications
2723    -->
2724    <permission android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS"
2725        android:protectionLevel="signature" />
2726
2727    <!-- @hide Allows an application to clear the URI permissions
2728         granted to another application.
2729         <p>Not for use by third-party applications
2730    -->
2731    <permission
2732        android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS"
2733        android:protectionLevel="signature" />
2734
2735    <!-- @SystemApi Allows an application to delete cache files.
2736    <p>Not for use by third-party applications. -->
2737    <permission android:name="android.permission.DELETE_CACHE_FILES"
2738        android:protectionLevel="signature|privileged" />
2739
2740    <!-- @SystemApi Allows an application to delete packages.
2741         <p>Not for use by third-party applications.
2742         <p>Starting in {@link android.os.Build.VERSION_CODES#N}, user confirmation is requested
2743         when the application deleting the package is not the same application that installed the
2744         package. -->
2745    <permission android:name="android.permission.DELETE_PACKAGES"
2746        android:protectionLevel="signature|privileged" />
2747
2748    <!-- @SystemApi Allows an application to move location of installed package.
2749         @hide -->
2750    <permission android:name="android.permission.MOVE_PACKAGE"
2751        android:protectionLevel="signature|privileged" />
2752
2753    <!-- @SystemApi Allows an application to change whether an application component (other than its own) is
2754         enabled or not.
2755         <p>Not for use by third-party applications. -->
2756    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
2757        android:protectionLevel="signature|privileged" />
2758
2759    <!-- @SystemApi Allows an application to grant specific permissions.
2760         @hide -->
2761    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS"
2762        android:protectionLevel="signature|installer|verifier" />
2763
2764    <!-- @SystemApi Allows an app that has this permission and the permissions to install packages
2765         to request certain runtime permissions to be granted at installation.
2766         @hide -->
2767    <permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS"
2768        android:protectionLevel="signature|installer|verifier" />
2769
2770    <!-- @SystemApi Allows an application to revoke specific permissions.
2771        @hide -->
2772    <permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS"
2773         android:protectionLevel="signature|installer|verifier" />
2774
2775    <!-- @hide Allows an application to observe permission changes. -->
2776    <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"
2777        android:protectionLevel="signature|privileged" />
2778
2779    <!-- @SystemApi Allows an application to use SurfaceFlinger's low level features.
2780         <p>Not for use by third-party applications.
2781         @hide
2782    -->
2783    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
2784        android:protectionLevel="signature" />
2785
2786    <!-- @SystemApi Allows an application to take screen shots and more generally
2787         get access to the frame buffer data.
2788         <p>Not for use by third-party applications. -->
2789    <permission android:name="android.permission.READ_FRAME_BUFFER"
2790        android:protectionLevel="signature|privileged" />
2791
2792    <!-- Allows an application to use InputFlinger's low level features.
2793         @hide -->
2794    <permission android:name="android.permission.ACCESS_INPUT_FLINGER"
2795        android:protectionLevel="signature" />
2796
2797    <!-- Allows an application to disable/enable input devices.
2798         Could be used to prevent unwanted touch events
2799         on a touchscreen, for example during swimming or rain.
2800         @hide -->
2801    <permission android:name="android.permission.DISABLE_INPUT_DEVICE"
2802        android:protectionLevel="signature" />
2803
2804    <!-- Allows an application to configure and connect to Wifi displays
2805         @hide -->
2806    <permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY"
2807        android:protectionLevel="signature" />
2808
2809    <!-- Allows an application to control low-level features of Wifi displays
2810         such as opening an RTSP socket.  This permission should only be used
2811         by the display manager.
2812         @hide -->
2813    <permission android:name="android.permission.CONTROL_WIFI_DISPLAY"
2814        android:protectionLevel="signature" />
2815
2816    <!-- Allows an application to control the color modes set for displays system-wide.
2817         <p>Not for use by third-party applications.</p>
2818         @hide -->
2819    <permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE"
2820        android:protectionLevel="signature" />
2821
2822    <!-- @SystemApi Allows an application to control VPN.
2823         <p>Not for use by third-party applications.</p>
2824         @hide -->
2825    <permission android:name="android.permission.CONTROL_VPN"
2826        android:protectionLevel="signature|privileged" />
2827    <uses-permission android:name="android.permission.CONTROL_VPN" />
2828
2829    <!-- @SystemApi Allows an application to capture audio output.
2830         <p>Not for use by third-party applications.</p> -->
2831    <permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"
2832        android:protectionLevel="signature|privileged" />
2833
2834    <!-- @SystemApi Allows an application to capture audio for hotword detection.
2835         <p>Not for use by third-party applications.</p>
2836         @hide -->
2837    <permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD"
2838        android:protectionLevel="signature|privileged" />
2839
2840    <!-- @SystemApi Allows an application to modify audio routing and override policy decisions.
2841         <p>Not for use by third-party applications.</p>
2842         @hide -->
2843    <permission android:name="android.permission.MODIFY_AUDIO_ROUTING"
2844        android:protectionLevel="signature|privileged" />
2845
2846    <!-- @SystemApi Allows an application to capture video output.
2847         <p>Not for use by third-party applications.</p> -->
2848    <permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"
2849        android:protectionLevel="signature|privileged" />
2850
2851    <!-- @SystemApi Allows an application to capture secure video output.
2852         <p>Not for use by third-party applications.</p> -->
2853    <permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT"
2854        android:protectionLevel="signature|privileged" />
2855
2856    <!-- @SystemApi Allows an application to know what content is playing and control its playback.
2857         <p>Not for use by third-party applications due to privacy of media consumption</p>  -->
2858    <permission android:name="android.permission.MEDIA_CONTENT_CONTROL"
2859        android:protectionLevel="signature|privileged" />
2860
2861    <!-- @SystemApi @hide Allows an application to set the volume key long-press listener.
2862         <p>When it's set, the application will receive the volume key long-press event
2863         instead of changing volume.</p>
2864         <p>Not for use by third-party applications</p> -->
2865    <permission android:name="android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER"
2866        android:protectionLevel="signature|privileged|development" />
2867
2868    <!-- @SystemApi @hide Allows an application to set media key event listener.
2869         <p>When it's set, the application will receive the media key event before
2870         any other media sessions. If the event is handled by the listener, other sessions
2871         cannot get the event.</p>
2872         <p>Not for use by third-party applications</p> -->
2873    <permission android:name="android.permission.SET_MEDIA_KEY_LISTENER"
2874        android:protectionLevel="signature|privileged|development" />
2875
2876    <!-- @SystemApi Required to be able to disable the device (very dangerous!).
2877         <p>Not for use by third-party applications.
2878         @hide
2879    -->
2880    <permission android:name="android.permission.BRICK"
2881        android:protectionLevel="signature" />
2882
2883    <!-- @SystemApi Required to be able to reboot the device.
2884    <p>Not for use by third-party applications. -->
2885    <permission android:name="android.permission.REBOOT"
2886        android:protectionLevel="signature|privileged" />
2887
2888   <!-- @SystemApi Allows low-level access to power management.
2889        <p>Not for use by third-party applications.
2890        @hide
2891    -->
2892   <permission android:name="android.permission.DEVICE_POWER"
2893        android:protectionLevel="signature" />
2894
2895   <!-- Allows access to the PowerManager.userActivity function.
2896   <p>Not for use by third-party applications. @hide @SystemApi -->
2897    <permission android:name="android.permission.USER_ACTIVITY"
2898        android:protectionLevel="signature|privileged" />
2899
2900   <!-- @hide Allows low-level access to tun tap driver -->
2901    <permission android:name="android.permission.NET_TUNNELING"
2902        android:protectionLevel="signature" />
2903
2904    <!-- Run as a manufacturer test application, running as the root user.
2905         Only available when the device is running in manufacturer test mode.
2906         <p>Not for use by third-party applications.
2907    -->
2908    <permission android:name="android.permission.FACTORY_TEST"
2909        android:protectionLevel="signature" />
2910
2911    <!-- Allows an application to broadcast a notification that an application
2912         package has been removed.
2913         <p>Not for use by third-party applications.
2914    -->
2915    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
2916        android:protectionLevel="signature" />
2917
2918    <!-- Allows an application to broadcast an SMS receipt notification.
2919         <p>Not for use by third-party applications.
2920    -->
2921    <permission android:name="android.permission.BROADCAST_SMS"
2922        android:protectionLevel="signature" />
2923
2924    <!-- Allows an application to broadcast a WAP PUSH receipt notification.
2925         <p>Not for use by third-party applications.
2926    -->
2927    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
2928        android:protectionLevel="signature" />
2929
2930    <!-- @SystemApi Allows an application to broadcast privileged networking requests.
2931         <p>Not for use by third-party applications.
2932         @hide
2933         @deprecated Use {@link android.Manifest.permission#REQUEST_NETWORK_SCORES} instead
2934    -->
2935    <permission android:name="android.permission.BROADCAST_NETWORK_PRIVILEGED"
2936        android:protectionLevel="signature|privileged" />
2937
2938    <!-- @SystemApi Not for use by third-party applications. -->
2939    <permission android:name="android.permission.MASTER_CLEAR"
2940        android:protectionLevel="signature|privileged" />
2941
2942    <!-- @SystemApi Allows an application to call any phone number, including emergency
2943         numbers, without going through the Dialer user interface for the user
2944         to confirm the call being placed.
2945         <p>Not for use by third-party applications. -->
2946    <permission android:name="android.permission.CALL_PRIVILEGED"
2947        android:protectionLevel="signature|privileged" />
2948
2949    <!-- @SystemApi Allows an application to perform CDMA OTA provisioning @hide -->
2950    <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"
2951        android:protectionLevel="signature|privileged" />
2952
2953    <!-- @SystemApi Allows an application to perform SIM Activation @hide -->
2954    <permission android:name="android.permission.PERFORM_SIM_ACTIVATION"
2955        android:protectionLevel="signature|privileged" />
2956
2957    <!-- @SystemApi Allows enabling/disabling location update notifications from
2958         the radio.
2959         <p>Not for use by third-party applications. -->
2960    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
2961        android:protectionLevel="signature|privileged" />
2962
2963    <!-- @SystemApi Allows read/write access to the "properties" table in the checkin
2964         database, to change values that get uploaded.
2965         <p>Not for use by third-party applications. -->
2966    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
2967        android:protectionLevel="signature|privileged" />
2968
2969    <!-- @SystemApi Allows an application to collect component usage
2970         statistics
2971         <p>Declaring the permission implies intention to use the API and the user of the
2972         device can grant permission through the Settings application. -->
2973    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
2974        android:protectionLevel="signature|privileged|development|appop" />
2975    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
2976
2977    <!-- @hide Allows an application to change the app idle state of an app.
2978         <p>Not for use by third-party applications. -->
2979    <permission android:name="android.permission.CHANGE_APP_IDLE_STATE"
2980        android:protectionLevel="signature" />
2981
2982    <!-- @hide @SystemApi Allows an application to temporarily whitelist an inactive app to
2983         access the network and acquire wakelocks.
2984         <p>Not for use by third-party applications. -->
2985    <permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"
2986        android:protectionLevel="signature|privileged" />
2987
2988    <!-- Permission an application must hold in order to use
2989         {@link android.provider.Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS}.
2990         This is a normal permission: an app requesting it will always be granted the
2991         permission, without the user needing to approve or see it. -->
2992    <permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
2993        android:label="@string/permlab_requestIgnoreBatteryOptimizations"
2994        android:description="@string/permdesc_requestIgnoreBatteryOptimizations"
2995        android:protectionLevel="normal" />
2996
2997    <!-- @SystemApi Allows an application to collect battery statistics -->
2998    <permission android:name="android.permission.BATTERY_STATS"
2999        android:protectionLevel="signature|privileged|development" />
3000
3001    <!-- @SystemApi Allows an application to control the backup and restore process.
3002    <p>Not for use by third-party applications.
3003         @hide pending API council -->
3004    <permission android:name="android.permission.BACKUP"
3005        android:protectionLevel="signature|privileged" />
3006
3007    <!-- Allows a package to launch the secure full-backup confirmation UI.
3008         ONLY the system process may hold this permission.
3009         @hide -->
3010    <permission android:name="android.permission.CONFIRM_FULL_BACKUP"
3011        android:protectionLevel="signature" />
3012
3013    <!-- @SystemApi Must be required by a {@link android.widget.RemoteViewsService},
3014         to ensure that only the system can bind to it. -->
3015    <permission android:name="android.permission.BIND_REMOTEVIEWS"
3016        android:protectionLevel="signature|privileged" />
3017
3018    <!-- @SystemApi Allows an application to tell the AppWidget service which application
3019         can access AppWidget's data.  The normal user flow is that a user
3020         picks an AppWidget to go into a particular host, thereby giving that
3021         host application access to the private data from the AppWidget app.
3022         An application that has this permission should honor that contract.
3023         <p>Not for use by third-party applications. -->
3024    <permission android:name="android.permission.BIND_APPWIDGET"
3025        android:protectionLevel="signature|privileged" />
3026
3027    <!-- @SystemApi Private permission, to restrict who can bring up a dialog to add a new
3028         keyguard widget
3029         @hide -->
3030    <permission android:name="android.permission.BIND_KEYGUARD_APPWIDGET"
3031        android:protectionLevel="signature|privileged" />
3032
3033    <!-- @SystemApi Internal permission allowing an application to query/set which
3034         applications can bind AppWidgets.
3035         @hide -->
3036    <permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"
3037        android:protectionLevel="signature|privileged" />
3038
3039    <!-- Allows applications to change the background data setting.
3040    <p>Not for use by third-party applications.
3041         @hide pending API council -->
3042    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
3043        android:protectionLevel="signature" />
3044
3045    <!-- @SystemApi This permission can be used on content providers to allow the global
3046         search system to access their data.  Typically it used when the
3047         provider has some permissions protecting it (which global search
3048         would not be expected to hold), and added as a read-only permission
3049         to the path in the provider where global search queries are
3050         performed.  This permission can not be held by regular applications;
3051         it is used by applications to protect themselves from everyone else
3052         besides global search. -->
3053    <permission android:name="android.permission.GLOBAL_SEARCH"
3054        android:protectionLevel="signature|privileged" />
3055
3056    <!-- Internal permission protecting access to the global search
3057         system: ensures that only the system can access the provider
3058         to perform queries (since this otherwise provides unrestricted
3059         access to a variety of content providers), and to write the
3060         search statistics (to keep applications from gaming the source
3061         ranking).
3062         @hide -->
3063    <permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"
3064        android:protectionLevel="signature" />
3065
3066    <!-- @SystemApi Internal permission to allows an application to read indexable data.
3067        @hide -->
3068    <permission android:name="android.permission.READ_SEARCH_INDEXABLES"
3069        android:protectionLevel="signature|privileged" />
3070
3071    <!-- @SystemApi Allows applications to set a live wallpaper.
3072         @hide XXX Change to signature once the picker is moved to its
3073         own apk as Ghod Intended. -->
3074    <permission android:name="android.permission.SET_WALLPAPER_COMPONENT"
3075        android:protectionLevel="signature|privileged" />
3076
3077    <!-- @SystemApi Allows applications to read dream settings and dream state.
3078         @hide -->
3079    <permission android:name="android.permission.READ_DREAM_STATE"
3080        android:protectionLevel="signature|privileged" />
3081
3082    <!-- @SystemApi Allows applications to write dream settings, and start or stop dreaming.
3083         @hide -->
3084    <permission android:name="android.permission.WRITE_DREAM_STATE"
3085        android:protectionLevel="signature|privileged" />
3086
3087    <!-- @SystemApi Allow an application to read and write the cache partition.
3088         @hide -->
3089    <permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
3090        android:protectionLevel="signature|privileged" />
3091
3092    <!-- Must be required by default container service so that only
3093         the system can bind to it and use it to copy
3094         protected data to secure containers or files
3095         accessible to the system.
3096         @hide -->
3097    <permission android:name="android.permission.COPY_PROTECTED_DATA"
3098        android:protectionLevel="signature" />
3099
3100    <!-- @SystemApi Internal permission protecting access to the encryption methods
3101        @hide
3102    -->
3103    <permission android:name="android.permission.CRYPT_KEEPER"
3104        android:protectionLevel="signature|privileged" />
3105
3106    <!-- @SystemApi Allows an application to read historical network usage for
3107         specific networks and applications. @hide -->
3108    <permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"
3109        android:protectionLevel="signature|privileged" />
3110
3111    <!-- Allows an application to manage network policies (such as warning and disable
3112         limits) and to define application-specific rules. @hide -->
3113    <permission android:name="android.permission.MANAGE_NETWORK_POLICY"
3114        android:protectionLevel="signature" />
3115
3116    <!-- @SystemApi Allows an application to account its network traffic against other UIDs. Used
3117         by system services like download manager and media server. Not for use by
3118         third party apps. @hide -->
3119    <permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"
3120        android:protectionLevel="signature|privileged" />
3121
3122    <!-- C2DM permission.
3123         @hide Used internally.
3124     -->
3125    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
3126          android:protectionLevel="signature" />
3127    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
3128
3129    <!-- @SystemApi @hide Package verifier needs to have this permission before the PackageManager will
3130         trust it to verify packages.
3131    -->
3132    <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
3133        android:protectionLevel="signature|privileged" />
3134
3135    <!-- Must be required by package verifier receiver, to ensure that only the
3136         system can interact with it.
3137         @hide
3138    -->
3139    <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
3140        android:protectionLevel="signature" />
3141
3142    <!-- @SystemApi @hide Intent filter verifier needs to have this permission before the
3143         PackageManager will trust it to verify intent filters.
3144    -->
3145    <permission android:name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"
3146        android:protectionLevel="signature|privileged" />
3147
3148    <!-- Must be required by intent filter verifier receiver, to ensure that only the
3149         system can interact with it.
3150         @hide
3151    -->
3152    <permission android:name="android.permission.BIND_INTENT_FILTER_VERIFIER"
3153        android:protectionLevel="signature" />
3154
3155    <!-- @SystemApi Allows applications to access serial ports via the SerialManager.
3156         @hide -->
3157    <permission android:name="android.permission.SERIAL_PORT"
3158        android:protectionLevel="signature|privileged" />
3159
3160    <!-- Allows the holder to access content providers from outside an ApplicationThread.
3161         This permission is enforced by the ActivityManagerService on the corresponding APIs,
3162         in particular ActivityManagerService#getContentProviderExternal(String) and
3163         ActivityManagerService#removeContentProviderExternal(String).
3164         @hide
3165    -->
3166    <permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
3167        android:protectionLevel="signature" />
3168
3169    <!-- @SystemApi Allows an application to hold an UpdateLock, recommending that a headless
3170         OTA reboot *not* occur while the lock is held.
3171         @hide -->
3172    <permission android:name="android.permission.UPDATE_LOCK"
3173        android:protectionLevel="signature|privileged" />
3174
3175    <!-- @SystemApi Allows an application to read the current set of notifications, including
3176         any metadata and intents attached.
3177         @hide -->
3178    <permission android:name="android.permission.ACCESS_NOTIFICATIONS"
3179        android:protectionLevel="signature|privileged|appop" />
3180
3181    <!-- Marker permission for applications that wish to access notification policy.
3182         <p>Protection level: normal
3183    -->
3184    <permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"
3185        android:description="@string/permdesc_access_notification_policy"
3186        android:label="@string/permlab_access_notification_policy"
3187        android:protectionLevel="normal" />
3188
3189    <!-- Allows modification of do not disturb rules and policies. Only allowed for system
3190        processes.
3191        @hide -->
3192    <permission android:name="android.permission.MANAGE_NOTIFICATIONS"
3193                android:protectionLevel="signature" />
3194
3195    <!-- Allows access to keyguard secure storage.  Only allowed for system processes.
3196        @hide -->
3197    <permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
3198        android:protectionLevel="signature" />
3199
3200    <!-- Allows managing (adding, removing) fingerprint templates. Reserved for the system. @hide -->
3201    <permission android:name="android.permission.MANAGE_FINGERPRINT"
3202        android:protectionLevel="signature|privileged" />
3203
3204    <!-- Allows an app to reset fingerprint attempt counter. Reserved for the system. @hide -->
3205    <permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT"
3206        android:protectionLevel="signature" />
3207
3208    <!-- Allows an application to control keyguard.  Only allowed for system processes.
3209        @hide -->
3210    <permission android:name="android.permission.CONTROL_KEYGUARD"
3211        android:protectionLevel="signature" />
3212
3213    <!-- Allows an application to listen to trust changes.  Only allowed for system processes.
3214        @hide -->
3215    <permission android:name="android.permission.TRUST_LISTENER"
3216        android:protectionLevel="signature" />
3217
3218    <!-- @SystemApi Allows an application to provide a trust agent.
3219         @hide For security reasons, this is a platform-only permission. -->
3220    <permission android:name="android.permission.PROVIDE_TRUST_AGENT"
3221        android:protectionLevel="signature|privileged" />
3222
3223    <!-- Allows an application to launch the trust agent settings activity.
3224        @hide -->
3225    <permission android:name="android.permission.LAUNCH_TRUST_AGENT_SETTINGS"
3226        android:protectionLevel="signature|privileged" />
3227
3228    <!-- @SystemApi Must be required by an {@link
3229        android.service.trust.TrustAgentService},
3230        to ensure that only the system can bind to it.
3231        @hide -->
3232    <permission android:name="android.permission.BIND_TRUST_AGENT"
3233        android:protectionLevel="signature" />
3234
3235    <!-- Must be required by an {@link
3236         android.service.notification.NotificationListenerService},
3237         to ensure that only the system can bind to it.
3238         <p>Protection level: signature
3239    -->
3240    <permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
3241        android:protectionLevel="signature" />
3242
3243    <!-- @SystemApi Must be required by an {@link
3244         android.service.notification.NotificationAssistantService} to ensure that only the system
3245         can bind to it.
3246         <p>Protection level: signature
3247         @hide
3248    -->
3249    <permission android:name="android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE"
3250        android:protectionLevel="signature" />
3251
3252    <!-- Must be required by a {@link
3253         android.service.chooser.ChooserTargetService}, to ensure that
3254         only the system can bind to it.
3255         <p>Protection level: signature
3256    -->
3257    <permission android:name="android.permission.BIND_CHOOSER_TARGET_SERVICE"
3258        android:protectionLevel="signature" />
3259
3260    <!-- @SystemApi Must be held by services that extend
3261         {@link android.service.resolver.ResolverRankerService}.
3262         <p>Protection level: signature|privileged
3263         @hide
3264    -->
3265    <permission android:name="android.permission.PROVIDE_RESOLVER_RANKER_SERVICE"
3266                android:protectionLevel="signature|privileged" />
3267
3268    <!-- @SystemApi Must be required by services that extend
3269         {@link android.service.resolver.ResolverRankerService}, to ensure that only the system can
3270         bind to them.
3271         <p>Protection level: signature
3272         @hide
3273    -->
3274    <permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE"
3275        android:protectionLevel="signature" />
3276
3277    <!-- Must be required by a {@link
3278         android.service.notification.ConditionProviderService},
3279         to ensure that only the system can bind to it.
3280         <p>Protection level: signature
3281         -->
3282    <permission android:name="android.permission.BIND_CONDITION_PROVIDER_SERVICE"
3283        android:protectionLevel="signature" />
3284
3285    <!-- Must be required by an {@link android.service.dreams.DreamService},
3286         to ensure that only the system can bind to it.
3287         <p>Protection level: signature
3288    -->
3289    <permission android:name="android.permission.BIND_DREAM_SERVICE"
3290        android:protectionLevel="signature" />
3291
3292    <!-- Must be required by an {@link android.app.usage.CacheQuotaService} to ensure that only the
3293         system can bind to it.
3294         @hide This is not a third-party API (intended for OEMs and system apps).
3295    -->
3296    <permission android:name="android.permission.BIND_CACHE_QUOTA_SERVICE"
3297                android:protectionLevel="signature" />
3298
3299    <!-- @SystemApi Allows an application to call into a carrier setup flow. It is up to the
3300         carrier setup application to enforce that this permission is required
3301         @hide This is not a third-party API (intended for OEMs and system apps). -->
3302    <permission android:name="android.permission.INVOKE_CARRIER_SETUP"
3303        android:protectionLevel="signature|privileged" />
3304
3305    <!-- @SystemApi Allows an application to listen for network condition observations.
3306         @hide This is not a third-party API (intended for system apps). -->
3307    <permission android:name="android.permission.ACCESS_NETWORK_CONDITIONS"
3308        android:protectionLevel="signature|privileged" />
3309
3310    <!-- @SystemApi Allows an application to provision and access DRM certificates
3311         @hide This is not a third-party API (intended for system apps). -->
3312    <permission android:name="android.permission.ACCESS_DRM_CERTIFICATES"
3313        android:protectionLevel="signature|privileged" />
3314
3315    <!-- Api Allows an application to manage media projection sessions.
3316         @hide This is not a third-party API (intended for system apps). -->
3317    <permission android:name="android.permission.MANAGE_MEDIA_PROJECTION"
3318        android:protectionLevel="signature" />
3319
3320    <!-- @SystemApi Allows an application to read install sessions
3321         @hide This is not a third-party API (intended for system apps). -->
3322    <permission android:name="android.permission.READ_INSTALL_SESSIONS"
3323        android:label="@string/permlab_readInstallSessions"
3324        android:description="@string/permdesc_readInstallSessions"
3325        android:protectionLevel="normal"/>
3326
3327    <!-- @SystemApi Allows an application to remove DRM certificates
3328         @hide This is not a third-party API (intended for system apps). -->
3329    <permission android:name="android.permission.REMOVE_DRM_CERTIFICATES"
3330        android:protectionLevel="signature|privileged" />
3331
3332    <!-- @deprecated Use {@link android.Manifest.permission#BIND_CARRIER_SERVICES} instead -->
3333    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE"
3334        android:protectionLevel="signature|privileged" />
3335
3336    <!-- Allows an application to interact with the currently active
3337         {@link android.service.voice.VoiceInteractionService}.
3338         @hide -->
3339    <permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE"
3340        android:protectionLevel="signature" />
3341
3342    <!-- The system process that is allowed to bind to services in carrier apps will
3343         have this permission. Carrier apps should use this permission to protect
3344         their services that only the system is allowed to bind to.
3345         <p>Protection level: system|signature
3346    -->
3347    <permission android:name="android.permission.BIND_CARRIER_SERVICES"
3348        android:label="@string/permlab_bindCarrierServices"
3349        android:description="@string/permdesc_bindCarrierServices"
3350        android:protectionLevel="signature|privileged" />
3351
3352    <!-- Allows an application to query whether DO_NOT_ASK_CREDENTIALS_ON_BOOT
3353         flag is set.
3354         @hide -->
3355    <permission android:name="android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT"
3356                android:protectionLevel="signature" />
3357
3358    <!-- @SystemApi Allows applications to kill UIDs.
3359        <p>Not for use by third-party applications.
3360         @hide -->
3361    <permission android:name="android.permission.KILL_UID"
3362                android:protectionLevel="signature|installer" />
3363
3364    <!-- @SystemApi Allows applications to read the local WiFi and Bluetooth MAC address.
3365        @hide -->
3366    <permission android:name="android.permission.LOCAL_MAC_ADDRESS"
3367                android:protectionLevel="signature|privileged" />
3368
3369    <!-- @SystemApi Allows access to MAC addresses of WiFi and Bluetooth peer devices.
3370        @hide -->
3371    <permission android:name="android.permission.PEERS_MAC_ADDRESS"
3372                android:protectionLevel="signature|setup" />
3373
3374    <!-- Allows the Nfc stack to dispatch Nfc messages to applications. Applications
3375        can use this permission to ensure incoming Nfc messages are from the Nfc stack
3376        and not simulated by another application.
3377        @hide -->
3378    <permission android:name="android.permission.DISPATCH_NFC_MESSAGE"
3379                android:protectionLevel="signature|privileged" />
3380
3381    <!-- @SystemApi Allows changing day / night mode when system is configured with
3382         config_lockDayNightMode set to true. If requesting app does not have permission,
3383         it will be ignored.
3384        @hide -->
3385    <permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"
3386                android:protectionLevel="signature|privileged" />
3387
3388    <!-- The system process is explicitly the only one allowed to launch the
3389         confirmation UI for full backup/restore -->
3390    <uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
3391
3392    <!-- Allows the holder to access and manage instant applications on the device.
3393    @hide -->
3394    <permission android:name="android.permission.ACCESS_INSTANT_APPS"
3395            android:protectionLevel="signature|installer|verifier" />
3396
3397    <!-- Allows the holder to view the instant applications on the device.
3398    @hide -->
3399    <permission android:name="android.permission.VIEW_INSTANT_APPS"
3400            android:protectionLevel="signature|preinstalled" />
3401
3402    <!-- Allows receiving the usage of media resource e.g. video/audio codec and
3403         graphic memory.
3404         @hide -->
3405    <permission android:name="android.permission.RECEIVE_MEDIA_RESOURCE_USAGE"
3406                android:protectionLevel="signature|privileged" />
3407
3408    <!-- Must be required by system/priv apps when accessing the sound trigger
3409         APIs given by {@link SoundTriggerManager}.
3410         @hide <p>Not for use by third-party applications.</p> -->
3411    <permission android:name="android.permission.MANAGE_SOUND_TRIGGER"
3412        android:protectionLevel="signature|privileged" />
3413
3414    <!-- @SystemApi Allows trusted applications to dispatch managed provisioning message to Managed
3415         Provisioning app. If requesting app does not have permission, it will be ignored.
3416         @hide -->
3417    <permission android:name="android.permission.DISPATCH_PROVISIONING_MESSAGE"
3418                android:protectionLevel="signature|privileged" />
3419
3420    <!-- Allows the holder to read blocked numbers. See
3421         {@link android.provider.BlockedNumberContract}.
3422         @hide -->
3423    <permission android:name="android.permission.READ_BLOCKED_NUMBERS"
3424                android:protectionLevel="signature" />
3425
3426    <!-- Allows the holder to write blocked numbers. See
3427         {@link android.provider.BlockedNumberContract}.
3428         @hide -->
3429    <permission android:name="android.permission.WRITE_BLOCKED_NUMBERS"
3430                android:protectionLevel="signature" />
3431
3432    <!-- Must be required by an {@link android.service.vr.VrListenerService}, to ensure that only
3433         the system can bind to it.
3434         <p>Protection level: signature -->
3435    <permission android:name="android.permission.BIND_VR_LISTENER_SERVICE"
3436        android:protectionLevel="signature" />
3437
3438    <!-- Must be required by system apps when accessing restricted VR APIs.
3439         @hide
3440         @SystemApi
3441         <p>Protection level: signature -->
3442    <permission android:name="android.permission.RESTRICTED_VR_ACCESS"
3443        android:protectionLevel="signature|preinstalled" />
3444
3445    <!-- Required to make calls to {@link android.service.vr.IVrManager}.
3446         @hide -->
3447    <permission android:name="android.permission.ACCESS_VR_MANAGER"
3448            android:protectionLevel="signature" />
3449
3450    <!-- Allows an application to whitelist tasks during lock task mode
3451         @hide <p>Not for use by third-party applications.</p> -->
3452    <permission android:name="android.permission.UPDATE_LOCK_TASK_PACKAGES"
3453        android:protectionLevel="signature|setup" />
3454
3455    <!-- @SystemApi Allows an application to replace the app name displayed alongside notifications
3456         in the N-release and later.
3457         @hide  <p>Not for use by third-party applications.</p> -->
3458    <permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"
3459                android:protectionLevel="signature|privileged" />
3460
3461    <!-- @SystemApi Allows an application to show notifications before the device is provisioned.
3462         @hide  <p>Not for use by third-party applications.</p> -->
3463    <permission android:name="android.permission.NOTIFICATION_DURING_SETUP"
3464                android:protectionLevel="signature|privileged" />
3465
3466    <!-- @SystemApi Allows an application to manage auto-fill sessions.
3467         @hide  <p>Not for use by third-party applications.</p> -->
3468    <permission android:name="android.permission.MANAGE_AUTO_FILL"
3469        android:protectionLevel="signature" />
3470
3471    <!-- Allows an app to set the theme overlay in /vendor/overlay
3472         being used.
3473         @hide  <p>Not for use by third-party applications.</p> -->
3474    <permission android:name="android.permission.MODIFY_THEME_OVERLAY"
3475                android:protectionLevel="signature" />
3476
3477    <!-- Allows an instant app to create foreground services. -->
3478    <permission android:name="android.permission.INSTANT_APP_FOREGROUND_SERVICE"
3479        android:protectionLevel="signature|development|ephemeral|appop" />
3480
3481    <application android:process="system"
3482                 android:persistent="true"
3483                 android:hasCode="false"
3484                 android:label="@string/android_system_label"
3485                 android:allowClearUserData="false"
3486                 android:backupAgent="com.android.server.backup.SystemBackupAgent"
3487                 android:killAfterRestore="false"
3488                 android:icon="@drawable/ic_launcher_android"
3489                 android:supportsRtl="true"
3490                 android:theme="@style/Theme.DeviceDefault.Light.DarkActionBar"
3491                 android:defaultToDeviceProtectedStorage="true"
3492                 android:directBootAware="true">
3493        <activity android:name="com.android.internal.app.ChooserActivity"
3494                android:theme="@style/Theme.DeviceDefault.Resolver"
3495                android:finishOnCloseSystemDialogs="true"
3496                android:excludeFromRecents="true"
3497                android:documentLaunchMode="never"
3498                android:relinquishTaskIdentity="true"
3499                android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
3500                android:process=":ui"
3501                android:visibleToInstantApps="true">
3502            <intent-filter>
3503                <action android:name="android.intent.action.CHOOSER" />
3504                <category android:name="android.intent.category.DEFAULT" />
3505                <category android:name="android.intent.category.VOICE" />
3506            </intent-filter>
3507        </activity>
3508        <activity android:name="com.android.internal.app.AccessibilityButtonChooserActivity"
3509                  android:exported="false"
3510                  android:theme="@style/Theme.DeviceDefault.Resolver"
3511                  android:finishOnCloseSystemDialogs="true"
3512                  android:excludeFromRecents="true"
3513                  android:documentLaunchMode="never"
3514                  android:relinquishTaskIdentity="true"
3515                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
3516                  android:process=":ui"
3517                  android:visibleToInstantApps="true">
3518            <intent-filter>
3519                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
3520                <category android:name="android.intent.category.DEFAULT" />
3521            </intent-filter>
3522        </activity>
3523        <activity android:name="com.android.internal.app.IntentForwarderActivity"
3524                android:finishOnCloseSystemDialogs="true"
3525                android:theme="@style/Theme.NoDisplay"
3526                android:excludeFromRecents="true"
3527                android:label="@string/user_owner_label"
3528                android:exported="true"
3529                >
3530        </activity>
3531        <activity-alias android:name="com.android.internal.app.ForwardIntentToParent"
3532                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
3533                android:exported="true"
3534                android:label="@string/user_owner_label">
3535        </activity-alias>
3536        <activity-alias android:name="com.android.internal.app.ForwardIntentToManagedProfile"
3537                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
3538                android:icon="@drawable/ic_corp_icon"
3539                android:exported="true"
3540                android:label="@string/managed_profile_label">
3541        </activity-alias>
3542        <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
3543                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
3544                android:label="@string/heavy_weight_switcher_title"
3545                android:finishOnCloseSystemDialogs="true"
3546                android:excludeFromRecents="true"
3547                android:process=":ui">
3548        </activity>
3549        <activity android:name="com.android.internal.app.PlatLogoActivity"
3550                android:theme="@style/Theme.Wallpaper.NoTitleBar.Fullscreen"
3551                android:configChanges="orientation|keyboardHidden"
3552                android:process=":ui">
3553        </activity>
3554        <activity android:name="com.android.internal.app.DisableCarModeActivity"
3555                android:theme="@style/Theme.NoDisplay"
3556                android:excludeFromRecents="true"
3557                android:process=":ui">
3558        </activity>
3559        <activity android:name="com.android.internal.app.DumpHeapActivity"
3560                android:theme="@style/Theme.Translucent.NoTitleBar"
3561                android:label="@string/dump_heap_title"
3562                android:finishOnCloseSystemDialogs="true"
3563                android:noHistory="true"
3564                android:excludeFromRecents="true"
3565                android:process=":ui">
3566        </activity>
3567        <provider android:name="com.android.server.am.DumpHeapProvider"
3568                android:authorities="com.android.server.heapdump"
3569                android:grantUriPermissions="true"
3570                android:multiprocess="false"
3571                android:singleUser="true" />
3572
3573        <activity android:name="android.accounts.ChooseAccountActivity"
3574                android:excludeFromRecents="true"
3575                android:exported="true"
3576                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
3577                android:label="@string/choose_account_label"
3578                android:process=":ui"
3579                android:visibleToInstantApps="true">
3580        </activity>
3581
3582        <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
3583                android:excludeFromRecents="true"
3584                android:exported="true"
3585                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
3586                android:label="@string/choose_account_label"
3587                android:process=":ui"
3588                android:visibleToInstantApps="true">
3589        </activity>
3590
3591        <activity android:name="android.accounts.ChooseAccountTypeActivity"
3592                android:excludeFromRecents="true"
3593                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
3594                android:label="@string/choose_account_label"
3595                android:process=":ui"
3596                android:visibleToInstantApps="true">
3597        </activity>
3598
3599        <activity android:name="android.accounts.CantAddAccountActivity"
3600                android:excludeFromRecents="true"
3601                android:exported="true"
3602                android:theme="@style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
3603                android:process=":ui">
3604        </activity>
3605
3606        <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
3607                android:excludeFromRecents="true"
3608                android:exported="true"
3609                android:theme="@style/Theme.DeviceDefault.Light.DialogWhenLarge"
3610                android:process=":ui"
3611                android:visibleToInstantApps="true">
3612        </activity>
3613
3614        <activity android:name="android.content.SyncActivityTooManyDeletes"
3615               android:theme="@style/Theme.DeviceDefault.Light.Dialog"
3616               android:label="@string/sync_too_many_deletes"
3617               android:process=":ui">
3618        </activity>
3619
3620        <activity android:name="com.android.internal.app.ShutdownActivity"
3621            android:permission="android.permission.SHUTDOWN"
3622            android:theme="@style/Theme.NoDisplay"
3623            android:excludeFromRecents="true">
3624            <intent-filter>
3625                <action android:name="com.android.internal.intent.action.REQUEST_SHUTDOWN" />
3626                <category android:name="android.intent.category.DEFAULT" />
3627            </intent-filter>
3628            <intent-filter>
3629                <action android:name="android.intent.action.REBOOT" />
3630                <category android:name="android.intent.category.DEFAULT" />
3631            </intent-filter>
3632        </activity>
3633
3634        <activity android:name="com.android.internal.app.NetInitiatedActivity"
3635                android:theme="@style/Theme.DeviceDefault.Light.Dialog.Alert"
3636                android:excludeFromRecents="true"
3637                android:process=":ui">
3638        </activity>
3639
3640        <activity android:name="com.android.internal.app.SystemUserHomeActivity"
3641                  android:enabled="false"
3642                  android:process=":ui"
3643                  android:systemUserOnly="true"
3644                  android:theme="@style/Theme.Translucent.NoTitleBar">
3645            <intent-filter android:priority="-100">
3646                <action android:name="android.intent.action.MAIN" />
3647                <category android:name="android.intent.category.HOME" />
3648            </intent-filter>
3649        </activity>
3650
3651        <!-- Activity to prompt user if it's ok to create a new user sandbox for a
3652             specified account. -->
3653        <activity android:name="com.android.internal.app.ConfirmUserCreationActivity"
3654                android:excludeFromRecents="true"
3655                android:process=":ui"
3656                android:theme="@style/Theme.DeviceDefault.Light.Dialog.Alert">
3657            <intent-filter android:priority="1000">
3658                <action android:name="android.os.action.CREATE_USER" />
3659                <category android:name="android.intent.category.DEFAULT" />
3660            </intent-filter>
3661        </activity>
3662
3663        <activity android:name="com.android.internal.app.UnlaunchableAppActivity"
3664                android:theme="@style/Theme.DeviceDefault.Light.Dialog.Alert"
3665                android:excludeFromRecents="true"
3666                android:process=":ui">
3667        </activity>
3668
3669        <activity android:name="com.android.settings.notification.NotificationAccessConfirmationActivity"
3670                  android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert"
3671                  android:excludeFromRecents="true">
3672        </activity>
3673
3674        <receiver android:name="com.android.server.BootReceiver"
3675                android:systemUserOnly="true">
3676            <intent-filter android:priority="1000">
3677                <action android:name="android.intent.action.BOOT_COMPLETED" />
3678            </intent-filter>
3679        </receiver>
3680
3681        <receiver android:name="com.android.server.updates.CertPinInstallReceiver"
3682                android:permission="android.permission.UPDATE_CONFIG">
3683            <intent-filter>
3684                <action android:name="android.intent.action.UPDATE_PINS" />
3685                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3686            </intent-filter>
3687        </receiver>
3688
3689        <receiver android:name="com.android.server.updates.IntentFirewallInstallReceiver"
3690                android:permission="android.permission.UPDATE_CONFIG">
3691            <intent-filter>
3692                <action android:name="android.intent.action.UPDATE_INTENT_FIREWALL" />
3693                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3694            </intent-filter>
3695        </receiver>
3696
3697        <receiver android:name="com.android.server.updates.SmsShortCodesInstallReceiver"
3698                android:permission="android.permission.UPDATE_CONFIG">
3699            <intent-filter>
3700                <action android:name="android.intent.action.UPDATE_SMS_SHORT_CODES" />
3701                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3702            </intent-filter>
3703        </receiver>
3704
3705        <receiver android:name="com.android.server.updates.ApnDbInstallReceiver"
3706                android:permission="android.permission.UPDATE_CONFIG">
3707            <intent-filter>
3708                <action android:name="com.android.internal.intent.action.UPDATE_APN_DB" />
3709                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3710            </intent-filter>
3711        </receiver>
3712
3713        <receiver android:name="com.android.server.updates.CarrierProvisioningUrlsInstallReceiver"
3714                android:permission="android.permission.UPDATE_CONFIG">
3715            <intent-filter>
3716                <action android:name="android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS" />
3717                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3718            </intent-filter>
3719        </receiver>
3720
3721        <receiver android:name="com.android.server.updates.TzDataInstallReceiver"
3722                android:permission="android.permission.UPDATE_CONFIG">
3723            <intent-filter>
3724                <action android:name="android.intent.action.UPDATE_TZDATA" />
3725                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3726            </intent-filter>
3727        </receiver>
3728
3729        <receiver android:name="com.android.server.updates.CertificateTransparencyLogInstallReceiver"
3730                android:permission="android.permission.UPDATE_CONFIG">
3731            <intent-filter>
3732                <action android:name="android.intent.action.UPDATE_CT_LOGS" />
3733                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3734            </intent-filter>
3735        </receiver>
3736
3737        <receiver android:name="com.android.server.updates.LangIdInstallReceiver"
3738                android:permission="android.permission.UPDATE_CONFIG">
3739            <intent-filter>
3740                <action android:name="android.intent.action.UPDATE_LANG_ID" />
3741                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3742            </intent-filter>
3743        </receiver>
3744
3745        <receiver android:name="com.android.server.updates.SmartSelectionInstallReceiver"
3746                android:permission="android.permission.UPDATE_CONFIG">
3747            <intent-filter>
3748                <action android:name="android.intent.action.UPDATE_SMART_SELECTION" />
3749                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3750            </intent-filter>
3751        </receiver>
3752
3753        <receiver android:name="com.android.server.MasterClearReceiver"
3754            android:permission="android.permission.MASTER_CLEAR">
3755            <intent-filter
3756                    android:priority="100" >
3757                <!-- For Checkin, Settings, etc.: action=FACTORY_RESET -->
3758                <action android:name="android.intent.action.FACTORY_RESET" />
3759                <!-- As above until all the references to the deprecated MASTER_CLEAR get updated to
3760                     FACTORY_RESET. -->
3761                <action android:name="android.intent.action.MASTER_CLEAR" />
3762
3763                <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
3764                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
3765                <category android:name="android.intent.category.MASTER_CLEAR" />
3766            </intent-filter>
3767        </receiver>
3768
3769        <service android:name="android.hardware.location.GeofenceHardwareService"
3770            android:permission="android.permission.LOCATION_HARDWARE"
3771            android:exported="false" />
3772
3773        <service android:name="com.android.internal.backup.LocalTransportService"
3774                android:permission="android.permission.CONFIRM_FULL_BACKUP"
3775                android:exported="false">
3776            <intent-filter>
3777                <action android:name="android.backup.TRANSPORT_HOST" />
3778            </intent-filter>
3779        </service>
3780
3781        <service android:name="com.android.server.MountServiceIdler"
3782                 android:exported="true"
3783                 android:permission="android.permission.BIND_JOB_SERVICE" >
3784        </service>
3785
3786        <service android:name="com.android.server.backup.FullBackupJob"
3787                 android:exported="true"
3788                 android:permission="android.permission.BIND_JOB_SERVICE" >
3789        </service>
3790
3791        <service android:name="com.android.server.backup.KeyValueBackupJob"
3792                 android:permission="android.permission.BIND_JOB_SERVICE" >
3793        </service>
3794
3795        <service android:name="com.android.server.content.SyncJobService"
3796                 android:permission="android.permission.BIND_JOB_SERVICE" >
3797        </service>
3798
3799        <service android:name="com.android.server.pm.BackgroundDexOptService"
3800                 android:exported="true"
3801                 android:permission="android.permission.BIND_JOB_SERVICE">
3802        </service>
3803
3804        <service android:name="com.android.server.PruneInstantAppsJobService"
3805                 android:permission="android.permission.BIND_JOB_SERVICE" >
3806        </service>
3807
3808        <service android:name="com.android.server.storage.DiskStatsLoggingService"
3809                 android:permission="android.permission.BIND_JOB_SERVICE" >
3810        </service>
3811
3812        <service android:name="com.android.server.PreloadsFileCacheExpirationJobService"
3813                 android:permission="android.permission.BIND_JOB_SERVICE" >
3814        </service>
3815    </application>
3816
3817</manifest>
3818