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