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