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