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