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