AndroidManifest.xml revision f8a7ceaef2e7d5cd530c9426bde91b6fa9a40b75
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" android:sharedUserId="android.uid.system"
22    android:sharedUserLabel="@string/android_system_label">
23
24    <!-- ====================================== -->
25    <!-- Permissions for things that cost money -->
26    <!-- ====================================== -->
27    <eat-comment />
28    
29    <!-- Used for permissions that can be used to make the user spend money
30         without their direct involvement.  For example, this is the group
31         for permissions that allow you to directly place phone calls,
32         directly send SMS messages, etc. -->
33    <permission-group android:name="android.permission-group.COST_MONEY"
34        android:label="@string/permgrouplab_costMoney"
35        android:description="@string/permgroupdesc_costMoney" />
36
37    <!-- Allows an application to send SMS messages. -->
38    <permission android:name="android.permission.SEND_SMS"
39        android:permissionGroup="android.permission-group.COST_MONEY"
40        android:protectionLevel="dangerous"
41        android:label="@string/permlab_sendSms"
42        android:description="@string/permdesc_sendSms" />
43
44    <!-- Allows an application to initiate a phone call without going through
45         the Dialer user interface for the user to confirm the call
46         being placed. -->
47    <permission android:name="android.permission.CALL_PHONE"
48        android:permissionGroup="android.permission-group.COST_MONEY"
49        android:protectionLevel="dangerous"
50        android:label="@string/permlab_callPhone"
51        android:description="@string/permdesc_callPhone" />
52
53    <!-- ================================== -->
54    <!-- Permissions for accessing messages -->
55    <!-- ================================== -->
56    <eat-comment />
57    
58    <!-- Used for permissions that allow an application to send messages
59         on behalf of the user or intercept messages being received by the
60         user.  This is primarily intended for SMS/MMS messaging, such as
61         receiving or reading an MMS. -->
62    <permission-group android:name="android.permission-group.MESSAGES"
63        android:label="@string/permgrouplab_messages"
64        android:description="@string/permgroupdesc_messages" />
65
66    <!-- Allows an application to monitor incoming SMS messages, to record
67         or perform processing on them. -->
68    <permission android:name="android.permission.RECEIVE_SMS"
69        android:permissionGroup="android.permission-group.MESSAGES"
70        android:protectionLevel="dangerous"
71        android:label="@string/permlab_receiveSms"
72        android:description="@string/permdesc_receiveSms" />
73
74    <!-- Allows an application to monitor incoming MMS messages, to record
75         or perform processing on them. -->
76    <permission android:name="android.permission.RECEIVE_MMS"
77        android:permissionGroup="android.permission-group.MESSAGES"
78        android:protectionLevel="dangerous"
79        android:label="@string/permlab_receiveMms"
80        android:description="@string/permdesc_receiveMms" />
81
82    <!-- Allows an application to read SMS messages. -->
83    <permission android:name="android.permission.READ_SMS"
84        android:permissionGroup="android.permission-group.MESSAGES"
85        android:protectionLevel="dangerous"
86        android:label="@string/permlab_readSms"
87        android:description="@string/permdesc_readSms" />
88
89    <!-- Allows an application to write SMS messages. -->
90    <permission android:name="android.permission.WRITE_SMS"
91        android:permissionGroup="android.permission-group.MESSAGES"
92        android:protectionLevel="dangerous"
93        android:label="@string/permlab_writeSms"
94        android:description="@string/permdesc_writeSms" />
95
96    <!-- Allows an application to monitor incoming WAP push messages. -->
97    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
98        android:permissionGroup="android.permission-group.MESSAGES"
99        android:protectionLevel="dangerous"
100        android:label="@string/permlab_receiveWapPush"
101        android:description="@string/permdesc_receiveWapPush" />
102
103    <!-- =============================================================== -->
104    <!-- Permissions for accessing personal info (contacts and calendar) -->
105    <!-- =============================================================== -->
106    <eat-comment />
107    
108    <!-- Used for permissions that provide access to the user's private data,
109         such as contacts, calendar events, e-mail messages, etc.  This includes
110         both reading and writing of this data (which should generally be
111         expressed as two distinct permissions). -->
112    <permission-group android:name="android.permission-group.PERSONAL_INFO"
113        android:label="@string/permgrouplab_personalInfo"
114        android:description="@string/permgroupdesc_personalInfo" />
115
116    <!-- Allows an application to read the user's contacts data. -->
117    <permission android:name="android.permission.READ_CONTACTS"
118        android:permissionGroup="android.permission-group.PERSONAL_INFO"
119        android:protectionLevel="dangerous"
120        android:label="@string/permlab_readContacts"
121        android:description="@string/permdesc_readContacts" />
122
123    <!-- Allows an application to write (but not read) the user's
124         contacts data. -->
125    <permission android:name="android.permission.WRITE_CONTACTS"
126        android:permissionGroup="android.permission-group.PERSONAL_INFO"
127        android:protectionLevel="dangerous"
128        android:label="@string/permlab_writeContacts"
129        android:description="@string/permdesc_writeContacts" />
130
131    <!-- Allows an application to read the owner's data. -->
132    <permission android:name="android.permission.READ_OWNER_DATA"
133        android:permissionGroup="android.permission-group.PERSONAL_INFO"
134        android:protectionLevel="dangerous"
135        android:label="@string/permlab_readOwnerData"
136        android:description="@string/permdesc_readOwnerData" />
137
138    <!-- Allows an application to write (but not read) the owner's data. -->
139    <permission android:name="android.permission.WRITE_OWNER_DATA"
140        android:permissionGroup="android.permission-group.PERSONAL_INFO"
141        android:protectionLevel="dangerous"
142        android:label="@string/permlab_writeOwnerData"
143        android:description="@string/permdesc_writeOwnerData" />
144
145    <!-- Allows an application to read the user's calendar data. -->
146    <permission android:name="android.permission.READ_CALENDAR"
147        android:permissionGroup="android.permission-group.PERSONAL_INFO"
148        android:protectionLevel="dangerous"
149        android:label="@string/permlab_readCalendar"
150        android:description="@string/permdesc_readCalendar" />
151
152    <!-- Allows an application to write (but not read) the user's
153         calendar data. -->
154    <permission android:name="android.permission.WRITE_CALENDAR"
155        android:permissionGroup="android.permission-group.PERSONAL_INFO"
156        android:protectionLevel="dangerous"
157        android:label="@string/permlab_writeCalendar"
158        android:description="@string/permdesc_writeCalendar" />
159
160    <!-- Allows an application to read the user dictionary. This should
161         really only be required by an IME, or a dictionary editor like 
162         the Settings app. 
163         @hide Pending API council approval -->
164    <permission android:name="android.permission.READ_USER_DICTIONARY"
165        android:permissionGroup="android.permission-group.PERSONAL_INFO"
166        android:protectionLevel="dangerous"
167        android:label="@string/permlab_readDictionary"
168        android:description="@string/permdesc_readDictionary" />
169
170    <!-- Allows an application to write to the user dictionary.
171         @hide Pending API council approval -->
172    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
173        android:permissionGroup="android.permission-group.PERSONAL_INFO"
174        android:protectionLevel="normal"
175        android:label="@string/permlab_writeDictionary"
176        android:description="@string/permdesc_writeDictionary" />
177
178    <!-- ======================================= -->
179    <!-- Permissions for accessing location info -->
180    <!-- ======================================= -->
181    <eat-comment />
182    
183    <!-- Used for permissions that allow access to the user's current
184         location. -->
185    <permission-group android:name="android.permission-group.LOCATION"
186        android:label="@string/permgrouplab_location"
187        android:description="@string/permgroupdesc_location" />
188
189    <!-- Allows an application to access fine (e.g., GPS) location -->
190    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
191        android:permissionGroup="android.permission-group.LOCATION"
192        android:protectionLevel="dangerous"
193        android:label="@string/permlab_accessFineLocation"
194        android:description="@string/permdesc_accessFineLocation" />
195
196    <!-- Allows an application to access coarse (e.g., Cell-ID, WiFi) location -->
197    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
198        android:permissionGroup="android.permission-group.LOCATION"
199        android:protectionLevel="dangerous"
200        android:label="@string/permlab_accessCoarseLocation"
201        android:description="@string/permdesc_accessCoarseLocation" />
202
203    <!-- Allows an application to create mock location providers for testing -->
204    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
205        android:permissionGroup="android.permission-group.LOCATION"
206        android:protectionLevel="dangerous"
207        android:label="@string/permlab_accessMockLocation"
208        android:description="@string/permdesc_accessMockLocation" />
209
210    <!-- Allows an application to access extra location provider commands -->
211    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
212        android:permissionGroup="android.permission-group.LOCATION"
213        android:protectionLevel="normal"
214        android:label="@string/permlab_accessLocationExtraCommands"
215        android:description="@string/permdesc_accessLocationExtraCommands" />
216
217    <!-- ======================================= -->
218    <!-- Permissions for accessing networks -->
219    <!-- ======================================= -->
220    <eat-comment />
221    
222    <!-- Used for permissions that provide access to networking services.  The
223         main permission here is internet access, but this is also an
224         appropriate group for accessing or modifying any network configuration
225         or other related network operations. -->
226    <permission-group android:name="android.permission-group.NETWORK"
227        android:label="@string/permgrouplab_network"
228        android:description="@string/permgroupdesc_network" />
229
230    <!-- Allows applications to open network sockets. -->
231    <permission android:name="android.permission.INTERNET"
232        android:permissionGroup="android.permission-group.NETWORK"
233        android:protectionLevel="dangerous"
234        android:description="@string/permdesc_createNetworkSockets"
235        android:label="@string/permlab_createNetworkSockets" />
236
237    <!-- Allows applications to access information about networks -->
238    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
239        android:permissionGroup="android.permission-group.NETWORK"
240        android:protectionLevel="normal"
241        android:description="@string/permdesc_accessNetworkState"
242        android:label="@string/permlab_accessNetworkState" />
243
244    <!-- Allows applications to access information about Wi-Fi networks -->
245    <permission android:name="android.permission.ACCESS_WIFI_STATE"
246        android:permissionGroup="android.permission-group.NETWORK"
247        android:protectionLevel="normal"
248        android:description="@string/permdesc_accessWifiState"
249        android:label="@string/permlab_accessWifiState" />
250
251    <!-- Allows applications to connect to paired bluetooth devices -->
252    <permission android:name="android.permission.BLUETOOTH"
253        android:permissionGroup="android.permission-group.NETWORK"
254        android:protectionLevel="dangerous"
255        android:description="@string/permdesc_bluetooth"
256        android:label="@string/permlab_bluetooth" />
257
258    <!-- ================================== -->
259    <!-- Permissions for accessing accounts -->
260    <!-- ================================== -->
261    <eat-comment />
262    
263    <!-- Permissions for direct access to Google accounts.
264         Note that while right now this is only used for Google accounts,
265         we expect in the future to have a more general account management
266         facility so this is specified as a general platform permission
267         group for accessing accounts. -->
268    <permission-group android:name="android.permission-group.ACCOUNTS"
269        android:label="@string/permgrouplab_accounts"
270        android:description="@string/permgroupdesc_accounts" />
271
272    <!-- Allows access to the list of accounts in the Accounts Service -->
273    <permission android:name="android.permission.GET_ACCOUNTS"
274        android:permissionGroup="android.permission-group.ACCOUNTS"
275        android:protectionLevel="normal"
276        android:description="@string/permdesc_getAccounts"
277        android:label="@string/permlab_getAccounts" />
278
279    <!-- ================================== -->
280    <!-- Permissions for accessing hardware -->
281    <!-- ================================== -->
282    <eat-comment />
283    
284    <!-- Used for permissions that provide direct access to the hardware on
285         the device.  This includes audio, the camera, vibrator, etc. -->
286    <permission-group android:name="android.permission-group.HARDWARE_CONTROLS"
287        android:label="@string/permgrouplab_hardwareControls"
288        android:description="@string/permgroupdesc_hardwareControls" />
289
290    <!-- Allows an application to modify global audio settings -->
291    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
292        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
293        android:protectionLevel="dangerous"
294        android:label="@string/permlab_modifyAudioSettings"
295        android:description="@string/permdesc_modifyAudioSettings" />
296
297    <!-- Allows an application to record audio -->
298    <permission android:name="android.permission.RECORD_AUDIO"
299        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
300        android:protectionLevel="dangerous"
301        android:label="@string/permlab_recordAudio"
302        android:description="@string/permdesc_recordAudio" />
303
304    <!-- Required to be able to access the camera device. -->
305    <permission android:name="android.permission.CAMERA"
306        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
307        android:protectionLevel="dangerous"
308        android:label="@string/permlab_camera"
309        android:description="@string/permdesc_camera" />
310
311    <!-- Allows access to the vibrator -->
312    <permission android:name="android.permission.VIBRATE"
313        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
314        android:protectionLevel="normal"
315        android:label="@string/permlab_vibrate"
316        android:description="@string/permdesc_vibrate" />
317
318    <!-- Allows access to the flashlight -->
319    <permission android:name="android.permission.FLASHLIGHT"
320        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
321        android:protectionLevel="normal"
322        android:label="@string/permlab_flashlight"
323        android:description="@string/permdesc_flashlight" />
324
325    <!-- Allows access to hardware peripherals.  Intended only for hardware testing -->
326    <permission android:name="android.permission.HARDWARE_TEST"
327        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
328        android:protectionLevel="signature"
329        android:label="@string/permlab_hardware_test"
330        android:description="@string/permdesc_hardware_test" />
331
332    <!-- =========================================== -->
333    <!-- Permissions associated with telephony state -->
334    <!-- =========================================== -->
335    <eat-comment />
336    
337    <!-- Used for permissions that are associated with accessing and modifyign
338         telephony state: intercepting outgoing calls, reading
339         and modifying the phone state.  Note that
340         placing phone calls is not in this group, since that is in the
341         more important "takin' yer moneys" group. -->
342    <permission-group android:name="android.permission-group.PHONE_CALLS"
343        android:label="@string/permgrouplab_phoneCalls"
344        android:description="@string/permgroupdesc_phoneCalls" />
345
346    <!-- Allows an application to monitor, modify, or abort outgoing
347         calls. -->
348    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
349        android:permissionGroup="android.permission-group.PHONE_CALLS"
350        android:protectionLevel="dangerous"
351        android:label="@string/permlab_processOutgoingCalls"
352        android:description="@string/permdesc_processOutgoingCalls" />
353
354    <!-- Allows modification of the telephony state - power on, mmi, etc.
355         Does not include placing calls. -->
356    <permission android:name="android.permission.MODIFY_PHONE_STATE"
357        android:permissionGroup="android.permission-group.PHONE_CALLS"
358        android:protectionLevel="dangerous"
359        android:label="@string/permlab_modifyPhoneState"
360        android:description="@string/permdesc_modifyPhoneState" />
361
362    <!-- Allows read only access to phone state. -->
363    <permission android:name="android.permission.READ_PHONE_STATE"
364        android:permissionGroup="android.permission-group.PHONE_CALLS"
365        android:protectionLevel="dangerous"
366        android:label="@string/permlab_readPhoneState"
367        android:description="@string/permdesc_readPhoneState" />
368
369    <!-- ============================================ -->
370    <!-- Permissions for low-level system interaction -->
371    <!-- ============================================ -->
372    <eat-comment />
373    
374    <!-- Group of permissions that are related to system APIs.  Many
375         of these are not permissions the user will be expected to understand,
376         and such permissions should generally be marked as "normal" protection
377         level so they don't get displayed.  This can also, however, be used
378         for miscellaneous features that provide access to the operating system,
379         such as writing the global system settings. -->
380    <permission-group android:name="android.permission-group.SYSTEM_TOOLS"
381        android:label="@string/permgrouplab_systemTools"
382        android:description="@string/permgroupdesc_systemTools" />
383
384    <!-- Allows an application to read or write the system settings. -->
385    <permission android:name="android.permission.WRITE_SETTINGS"
386        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
387        android:protectionLevel="dangerous"
388        android:label="@string/permlab_writeSettings"
389        android:description="@string/permdesc_writeSettings" />
390
391    <!-- Allows an application to read or write the secure system settings. -->
392    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
393        android:protectionLevel="signatureOrSystem"
394        android:label="@string/permlab_writeSecureSettings"
395        android:description="@string/permdesc_writeSecureSettings" />
396
397    <!-- Allows an application to modify the Google service map. -->
398    <permission android:name="android.permission.WRITE_GSERVICES"
399        android:protectionLevel="signature"
400        android:label="@string/permlab_writeGservices"
401        android:description="@string/permdesc_writeGservices" />
402
403    <!-- Allows an application to expand or collapse the status bar. -->
404    <permission android:name="android.permission.EXPAND_STATUS_BAR"
405        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
406        android:protectionLevel="normal"
407        android:label="@string/permlab_expandStatusBar"
408        android:description="@string/permdesc_expandStatusBar" />
409
410    <!-- Allows an application to get information about the currently
411         or recently running tasks: a thumbnail representation of the tasks,
412         what activities are running in it, etc. -->
413    <permission android:name="android.permission.GET_TASKS"
414        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
415        android:protectionLevel="dangerous"
416        android:label="@string/permlab_getTasks"
417        android:description="@string/permdesc_getTasks" />
418
419    <!-- Allows an application to change the Z-order of tasks -->
420    <permission android:name="android.permission.REORDER_TASKS"
421        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
422        android:protectionLevel="dangerous"
423        android:label="@string/permlab_reorderTasks"
424        android:description="@string/permdesc_reorderTasks" />
425
426    <!-- Allows an application to modify the current configuration, such
427         as locale. -->
428    <permission android:name="android.permission.CHANGE_CONFIGURATION"
429        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
430        android:protectionLevel="dangerous"
431        android:label="@string/permlab_changeConfiguration"
432        android:description="@string/permdesc_changeConfiguration" />
433
434    <!-- Allows an application to restart other applications. -->
435    <permission android:name="android.permission.RESTART_PACKAGES"
436        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
437        android:protectionLevel="dangerous"
438        android:label="@string/permlab_restartPackages"
439        android:description="@string/permdesc_restartPackages" />
440
441    <!-- Allows an application to retrieve state dump information from system
442         services. -->
443    <permission android:name="android.permission.DUMP"
444        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
445        android:protectionLevel="dangerous"
446        android:label="@string/permlab_dump"
447        android:description="@string/permdesc_dump" />
448
449    <!-- Allows an application to open windows using the type
450         {@link android.view.WindowManager.LayoutParams#TYPE_SYSTEM_ALERT},
451         shown on top of all other applications.  Very few applications
452         should use this permission; these windows are intended for
453         system-level interaction with the user. -->
454    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
455        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
456        android:protectionLevel="dangerous"
457        android:label="@string/permlab_systemAlertWindow"
458        android:description="@string/permdesc_systemAlertWindow" />
459
460    <!-- Modify the global animation scaling factor. -->
461    <permission android:name="android.permission.SET_ANIMATION_SCALE"
462        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
463        android:protectionLevel="dangerous"
464        android:label="@string/permlab_setAnimationScale"
465        android:description="@string/permdesc_setAnimationScale" />
466
467    <!-- Allow an application to make its activities persistent. -->
468    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
469        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
470        android:protectionLevel="dangerous"
471        android:label="@string/permlab_persistentActivity"
472        android:description="@string/permdesc_persistentActivity" />
473
474    <!-- Allows an application to find out the space used by any package. -->
475    <permission android:name="android.permission.GET_PACKAGE_SIZE"
476        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
477        android:protectionLevel="normal"
478        android:label="@string/permlab_getPackageSize"
479        android:description="@string/permdesc_getPackageSize" />
480
481    <!-- Allows an application to modify the list of preferred applications
482         with the {@link android.content.pm.PackageManager#addPackageToPreferred
483         PackageManager.addPackageToPreferred()} and
484         {@link android.content.pm.PackageManager#removePackageFromPreferred
485         PackageManager.removePackageFromPreferred()} methods. -->
486    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
487        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
488        android:protectionLevel="dangerous"
489        android:label="@string/permlab_setPreferredApplications"
490        android:description="@string/permdesc_setPreferredApplications" />
491
492    <!-- Allows an application to receive the
493         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
494         broadcast after the system finishes booting.  If you don't
495         request this permission, you will not receive the broadcast at
496         that time.  Though holding this permission does not have any
497         security implications, it can have a negative impact on the
498         user experience by increasing the amount of time it takes the
499         system to start and allowing applications to have themselves
500         running without the user being aware of them.  As such, you must
501         explicitly declare your use of this facility to make that visible
502         to the user. -->
503    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
504        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
505        android:protectionLevel="normal"
506        android:label="@string/permlab_receiveBootCompleted"
507        android:description="@string/permdesc_receiveBootCompleted" />
508
509    <!-- Allows an application to broadcast sticky intents.  These are
510         broadcasts whose data is held by the system after being finished,
511         so that clients can quickly retrieve that data without having
512         to wait for the next broadcast. -->
513    <permission android:name="android.permission.BROADCAST_STICKY"
514        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
515        android:protectionLevel="normal"
516        android:label="@string/permlab_broadcastSticky"
517        android:description="@string/permdesc_broadcastSticky" />
518
519    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
520         from dimming -->
521    <permission android:name="android.permission.WAKE_LOCK"
522        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
523        android:protectionLevel="dangerous"
524        android:label="@string/permlab_wakeLock"
525        android:description="@string/permdesc_wakeLock" />
526
527    <!-- Allows applications to set the wallpaper -->
528    <permission android:name="android.permission.SET_WALLPAPER"
529        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
530        android:protectionLevel="normal"
531        android:label="@string/permlab_setWallpaper"
532        android:description="@string/permdesc_setWallpaper" />
533
534    <!-- Allows applications to set the wallpaper hints -->
535    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
536        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
537        android:protectionLevel="normal"
538        android:label="@string/permlab_setWallpaperHints"
539        android:description="@string/permdesc_setWallpaperHints" />
540
541    <!-- Allows applications to set the system time zone -->
542    <permission android:name="android.permission.SET_TIME_ZONE"
543        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
544        android:protectionLevel="dangerous"
545        android:label="@string/permlab_setTimeZone"
546        android:description="@string/permdesc_setTimeZone" />
547
548    <!-- Allows mounting and unmounting file systems for removable storage. -->
549    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
550        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
551        android:protectionLevel="dangerous"
552        android:label="@string/permlab_mount_unmount_filesystems"
553        android:description="@string/permdesc_mount_unmount_filesystems" />
554
555    <!-- Allows formatting file systems for removable storage. -->
556    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
557        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
558        android:protectionLevel="dangerous"
559        android:label="@string/permlab_mount_format_filesystems"
560        android:description="@string/permdesc_mount_format_filesystems" />
561
562    <!-- Allows applications to disable the keyguard -->
563    <permission android:name="android.permission.DISABLE_KEYGUARD"
564        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
565        android:protectionLevel="normal"
566        android:description="@string/permdesc_disableKeyguard"
567        android:label="@string/permlab_disableKeyguard" />
568
569    <!-- Allows applications to read the sync settings -->
570    <permission android:name="android.permission.READ_SYNC_SETTINGS"
571        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
572        android:protectionLevel="normal"
573        android:description="@string/permdesc_readSyncSettings"
574        android:label="@string/permlab_readSyncSettings" />
575
576    <!-- Allows applications to write the sync settings -->
577    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
578        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
579        android:protectionLevel="dangerous"
580        android:description="@string/permdesc_writeSyncSettings"
581        android:label="@string/permlab_writeSyncSettings" />
582
583    <!-- Allows applications to read the sync stats -->
584    <permission android:name="android.permission.READ_SYNC_STATS"
585        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
586        android:protectionLevel="normal"
587        android:description="@string/permdesc_readSyncStats"
588        android:label="@string/permlab_readSyncStats" />
589
590    <!-- Allows applications to write the apn settings -->
591    <permission android:name="android.permission.WRITE_APN_SETTINGS"
592                android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
593                android:protectionLevel="dangerous"
594                android:description="@string/permdesc_writeApnSettings"
595                android:label="@string/permlab_writeApnSettings" />
596
597    <!-- Allows an application to allow access the subscribed feeds 
598         ContentProvider. -->
599    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
600        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
601        android:label="@string/permlab_subscribedFeedsRead"
602        android:description="@string/permdesc_subscribedFeedsRead"
603        android:protectionLevel="normal" />
604    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
605        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
606        android:label="@string/permlab_subscribedFeedsWrite"
607        android:description="@string/permdesc_subscribedFeedsWrite"
608        android:protectionLevel="dangerous" />
609        
610    <!-- Allows applications to change network connectivity state -->
611    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
612        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
613        android:protectionLevel="dangerous"
614        android:description="@string/permdesc_changeNetworkState"
615        android:label="@string/permlab_changeNetworkState" />
616
617    <!-- Allows applications to change Wi-Fi connectivity state -->
618    <permission android:name="android.permission.CHANGE_WIFI_STATE"
619        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
620        android:protectionLevel="dangerous"
621        android:description="@string/permdesc_changeWifiState"
622        android:label="@string/permlab_changeWifiState" />
623
624    <!-- Allows applications to discover and pair bluetooth devices -->
625    <permission android:name="android.permission.BLUETOOTH_ADMIN"
626        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
627        android:protectionLevel="dangerous"
628        android:description="@string/permdesc_bluetoothAdmin"
629        android:label="@string/permlab_bluetoothAdmin" />
630
631    <!-- Allows an application to clear the caches of all installed
632         applications on the device.  -->
633    <permission android:name="android.permission.CLEAR_APP_CACHE"
634        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
635        android:protectionLevel="dangerous"
636        android:label="@string/permlab_clearAppCache"
637        android:description="@string/permdesc_clearAppCache" />
638
639    <!-- Allows an application to read the low-level system log files.
640         These can contain slightly private information about what is
641         happening on the device, but should never contain the user's
642         private information. -->
643    <permission android:name="android.permission.READ_LOGS"
644        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
645        android:protectionLevel="dangerous"
646        android:label="@string/permlab_readLogs"
647        android:description="@string/permdesc_readLogs" />
648
649    <!-- ========================================= -->
650    <!-- Permissions for special development tools -->
651    <!-- ========================================= -->
652    <eat-comment />
653    
654    <!-- Group of permissions that are related to development features.  These
655         are not permissions that should appear in normal applications; they
656         protect APIs that are intended only to be used for development
657         purposes. -->
658    <permission-group android:name="android.permission-group.DEVELOPMENT_TOOLS"
659        android:label="@string/permgrouplab_developmentTools"
660        android:description="@string/permgroupdesc_developmentTools" />
661
662    <!-- Configure an application for debugging. -->
663    <permission android:name="android.permission.SET_DEBUG_APP"
664        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
665        android:protectionLevel="dangerous"
666        android:label="@string/permlab_setDebugApp"
667        android:description="@string/permdesc_setDebugApp" />
668
669    <!-- Allows an application to set the maximum number of (not needed)
670         application processes that can be running. -->
671    <permission android:name="android.permission.SET_PROCESS_LIMIT"
672        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
673        android:protectionLevel="dangerous"
674        android:label="@string/permlab_setProcessLimit"
675        android:description="@string/permdesc_setProcessLimit" />
676
677    <!-- Allows an application to control whether activities are immediately
678         finished when put in the background. -->
679    <permission android:name="android.permission.SET_ALWAYS_FINISH"
680        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
681        android:protectionLevel="dangerous"
682        android:label="@string/permlab_setAlwaysFinish"
683        android:description="@string/permdesc_setAlwaysFinish" />
684
685    <!-- Allow an application to request that a signal be sent to all persistent processes -->
686    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
687        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
688        android:protectionLevel="dangerous"
689        android:label="@string/permlab_signalPersistentProcesses"
690        android:description="@string/permdesc_signalPersistentProcesses" />
691
692    <!-- ==================================== -->
693    <!-- Private (signature-only) permissions -->
694    <!-- ==================================== -->
695    <eat-comment />
696
697    <!-- Allows applications to RW to diagnostic resources. -->
698    <permission android:name="android.permission.DIAGNOSTIC"
699        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
700        android:protectionLevel="signature"
701        android:description="@string/permdesc_diagnostic"
702        android:label="@string/permlab_diagnostic" />
703
704    <!-- Allows an application to open, close, or disable the status bar
705         and its icons. -->
706    <permission android:name="android.permission.STATUS_BAR"
707        android:label="@string/permlab_statusBar"
708        android:description="@string/permdesc_statusBar"
709        android:protectionLevel="signatureOrSystem" />
710
711    <!-- Allows an application to force any currently running process to be
712         in the foreground. -->
713    <permission android:name="android.permission.SET_PROCESS_FOREGROUND"
714        android:label="@string/permlab_setProcessForeground"
715        android:description="@string/permdesc_setProcessForeground"
716        android:protectionLevel="signature" />
717
718    <!-- Allows an application to force a BACK operation on whatever is the
719         top activity. -->
720    <permission android:name="android.permission.FORCE_BACK"
721        android:label="@string/permlab_forceBack"
722        android:description="@string/permdesc_forceBack"
723        android:protectionLevel="signature" />
724
725    <!-- Allows an application to publish system-level services.  Such services
726         can only be published from processes that never go away, so this is
727         not something that any normal application can do. -->
728    <permission android:name="android.permission.ADD_SYSTEM_SERVICE"
729        android:label="@string/permlab_addSystemService"
730        android:description="@string/permdesc_addSystemService"
731        android:protectionLevel="signature" />
732
733    <permission android:name="android.permission.FOTA_UPDATE"
734        android:label="@string/permlab_fotaUpdate"
735        android:description="@string/permdesc_fotaUpdate"
736        android:protectionLevel="signature" />
737
738    <!-- Allows an application to update device statistics. Not for
739         use by third party apps. -->
740    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
741        android:label="@string/permlab_batteryStats"
742        android:description="@string/permdesc_batteryStats"
743        android:protectionLevel="signature" />
744
745    <!-- Allows an application to open windows that are for use by parts
746         of the system user interface.  Not for use by third party apps. -->
747    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
748        android:label="@string/permlab_internalSystemWindow"
749        android:description="@string/permdesc_internalSystemWindow"
750        android:protectionLevel="signature" />
751
752    <!-- Allows an application to manage (create, destroy,
753         Z-order) application tokens in the window manager.  This is only
754         for use by the system. -->
755    <permission android:name="android.permission.MANAGE_APP_TOKENS"
756        android:label="@string/permlab_manageAppTokens"
757        android:description="@string/permdesc_manageAppTokens"
758        android:protectionLevel="signature" />
759
760    <!-- Allows an application to inject user events (keys, touch, trackball)
761         into the event stream and deliver them to ANY window.  Without this
762         permission, you can only deliver events to windows in your own process.
763         Very few applications should need to use this permission. -->
764    <permission android:name="android.permission.INJECT_EVENTS"
765        android:label="@string/permlab_injectEvents"
766        android:description="@string/permdesc_injectEvents"
767        android:protectionLevel="signature" />
768
769    <!-- Allows an application to watch and control how activities are
770         started globally in the system.  Only for is in debugging
771         (usually the monkey command). -->
772    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
773        android:label="@string/permlab_runSetActivityWatcher"
774        android:description="@string/permdesc_runSetActivityWatcher"
775        android:protectionLevel="signature" />
776
777    <!-- Allows an application to retrieve the current state of keys and
778         switches.  This is only for use by the system.-->
779    <permission android:name="android.permission.READ_INPUT_STATE"
780        android:label="@string/permlab_readInputState"
781        android:description="@string/permdesc_readInputState"
782        android:protectionLevel="signature" />
783
784    <!-- Must be required by input method services, to ensure that only the
785         system can bind to them. -->
786    <permission android:name="android.permission.BIND_INPUT_METHOD"
787        android:label="@string/permlab_bindInputMethod"
788        android:description="@string/permdesc_bindInputMethod"
789        android:protectionLevel="signature" />
790
791    <!-- Allows low-level access to setting the orientation (actually
792         rotation) of the screen.  Not for use by normal applications. -->
793    <permission android:name="android.permission.SET_ORIENTATION"
794        android:label="@string/permlab_setOrientation"
795        android:description="@string/permdesc_setOrientation"
796        android:protectionLevel="signature" />
797
798    <!-- Allows an application to install packages. -->
799    <permission android:name="android.permission.INSTALL_PACKAGES"
800        android:label="@string/permlab_installPackages"
801        android:description="@string/permdesc_installPackages"
802        android:protectionLevel="signatureOrSystem" />
803
804    <!-- Allows an application to clear user data -->
805    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
806        android:label="@string/permlab_clearAppUserData"
807        android:description="@string/permdesc_clearAppUserData"
808        android:protectionLevel="signature" />
809
810    <!-- Allows an application to delete cache files. -->
811    <permission android:name="android.permission.DELETE_CACHE_FILES"
812        android:label="@string/permlab_deleteCacheFiles"
813        android:description="@string/permdesc_deleteCacheFiles"
814        android:protectionLevel="signature" />
815
816    <!-- Allows an application to delete packages. -->
817    <permission android:name="android.permission.DELETE_PACKAGES"
818        android:label="@string/permlab_deletePackages"
819        android:description="@string/permdesc_deletePackages"
820        android:protectionLevel="signatureOrSystem" />
821
822    <!-- Allows an application to change whether an application component (other than its own) is
823         enabled or not. -->
824    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
825        android:label="@string/permlab_changeComponentState"
826        android:description="@string/permdesc_changeComponentState"
827        android:protectionLevel="signature" />
828
829    <!-- Allows an application to use SurfaceFlinger's low level features -->
830    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
831        android:label="@string/permlab_accessSurfaceFlinger"
832        android:description="@string/permdesc_accessSurfaceFlinger"
833        android:protectionLevel="signature" />
834
835    <!-- Allows an application to take screen shots and more generally
836         get access to the frame buffer data -->
837    <permission android:name="android.permission.READ_FRAME_BUFFER"
838        android:label="@string/permlab_readFrameBuffer"
839        android:description="@string/permdesc_readFrameBuffer"
840        android:protectionLevel="signature" />
841
842    <!-- Required to be able to disable the device (very dangerous!). -->
843    <permission android:name="android.permission.BRICK"
844        android:label="@string/permlab_brick"
845        android:description="@string/permdesc_brick"
846        android:protectionLevel="signature" />
847
848    <!-- Required to be able to reboot the device. -->
849    <permission android:name="android.permission.REBOOT"
850        android:label="@string/permlab_reboot"
851        android:description="@string/permdesc_reboot"
852        android:protectionLevel="signature" />
853
854   <!-- Allows low-level access to power management -->
855    <permission android:name="android.permission.DEVICE_POWER"
856        android:label="@string/permlab_devicePower"
857        android:description="@string/permdesc_devicePower"
858        android:protectionLevel="signature" />
859
860    <!-- Run as a manufacturer test application, running as the root user.
861         Only available when the device is running in manufacturer test mode. -->
862    <permission android:name="android.permission.FACTORY_TEST"
863        android:label="@string/permlab_factoryTest"
864        android:description="@string/permdesc_factoryTest"
865        android:protectionLevel="signature" />
866
867    <!-- Allows an application to broadcast a notification that an application
868         package has been removed. -->
869    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
870        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
871        android:label="@string/permlab_broadcastPackageRemoved"
872        android:description="@string/permdesc_broadcastPackageRemoved"
873        android:protectionLevel="signature" />
874
875    <!-- Allows an application to broadcast an SMS receipt notification -->
876    <permission android:name="android.permission.BROADCAST_SMS"
877        android:permissionGroup="android.permission-group.MESSAGES"
878        android:label="@string/permlab_broadcastSmsReceived"
879        android:description="@string/permdesc_broadcastSmsReceived"
880        android:protectionLevel="signature" />
881
882    <!-- Allows an application to broadcast a WAP PUSH receipt notification -->
883    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
884        android:permissionGroup="android.permission-group.MESSAGES"
885        android:label="@string/permlab_broadcastWapPush"
886        android:description="@string/permdesc_broadcastWapPush"
887        android:protectionLevel="signature" />
888
889    <permission android:name="android.permission.MASTER_CLEAR"
890        android:label="@string/permlab_masterClear"
891        android:description="@string/permdesc_masterClear"
892        android:protectionLevel="signatureOrSystem" />
893
894    <!-- Allows an application to call any phone number, including emergency
895         numbers, without going through the Dialer user interface for the user
896         to confirm the call being placed. -->
897    <permission android:name="android.permission.CALL_PRIVILEGED"
898        android:label="@string/permlab_callPrivileged"
899        android:description="@string/permdesc_callPrivileged"
900        android:protectionLevel="signatureOrSystem" />
901
902    <!-- Allows enabling/disabling location update notifications from
903         the radio. Not for use by normal applications. -->
904    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
905        android:label="@string/permlab_locationUpdates"
906        android:description="@string/permdesc_locationUpdates"
907        android:protectionLevel="signature" />
908
909    <!-- Allows read/write access to the "properties" table in the checkin
910         database, to change values that get uploaded. -->
911    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
912        android:label="@string/permlab_checkinProperties"
913        android:description="@string/permdesc_checkinProperties"
914        android:protectionLevel="signatureOrSystem" />
915
916    <!-- Allows an application to collect component usage
917         statistics @hide -->
918    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
919        android:label="@string/permlab_pkgUsageStats"
920        android:description="@string/permdesc_pkgUsageStats"
921        android:protectionLevel="signature" />
922
923    <!-- Allows an application to collect battery statistics -->
924    <permission android:name="android.permission.BATTERY_STATS"
925        android:label="@string/permlab_batteryStats"
926        android:description="@string/permdesc_batteryStats"
927        android:protectionLevel="normal" />
928
929    <!-- Allows an application to tell the AppWidget service which application
930         can access AppWidget's data.  The normal user flow is that a user
931         picks an AppWidget to go into a particular host, thereby giving that
932         host application access to the private data from the AppWidget app.
933         An application that has this permission should honor that contract.
934         Very few applications should need to use this permission. -->
935    <permission android:name="android.permission.BIND_APPWIDGET"
936        android:permissionGroup="android.permission-group.PERSONAL_INFO"
937        android:label="@string/permlab_bindGadget"
938        android:description="@string/permdesc_bindGadget"
939        android:protectionLevel="signature" />
940
941    <!-- Allows applications to change the background data setting
942         @hide pending API council -->
943    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
944        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
945        android:protectionLevel="signature"
946        android:description="@string/permdesc_changeBackgroundDataSetting"
947        android:label="@string/permlab_changeBackgroundDataSetting" />
948
949    <application android:process="system"
950                 android:persistent="true"
951                 android:hasCode="false"
952                 android:label="@string/android_system_label"
953                 android:allowClearUserData="false"
954                 android:icon="@drawable/ic_launcher_android">
955        <activity android:name="com.android.internal.app.ChooserActivity"
956                android:theme="@style/Theme.Dialog.Alert"
957                android:excludeFromRecents="true"
958                android:multiprocess="true">
959            <intent-filter>
960                <action android:name="android.intent.action.CHOOSER" />
961                <category android:name="android.intent.category.DEFAULT" />
962            </intent-filter>
963        </activity>
964        <activity android:name="com.android.internal.app.RingtonePickerActivity"
965                android:theme="@style/Theme.Dialog.Alert"
966                android:excludeFromRecents="true"
967                android:multiprocess="true">
968            <intent-filter>
969                <action android:name="android.intent.action.RINGTONE_PICKER" />
970                <category android:name="android.intent.category.DEFAULT" />
971            </intent-filter>
972        </activity>
973        <activity android:name="com.android.internal.app.UsbStorageActivity"
974                android:theme="@style/Theme.Dialog.Alert"
975                android:excludeFromRecents="true">
976        </activity>
977        <activity android:name="com.android.internal.app.UsbStorageStopActivity"
978                android:theme="@style/Theme.Dialog.Alert"
979                android:excludeFromRecents="true">
980        </activity>
981        <activity android:name="com.android.internal.app.ExternalMediaFormatActivity"
982                android:theme="@style/Theme.Dialog.Alert"
983                android:excludeFromRecents="true">
984        </activity>
985
986        <provider android:name=".content.SyncProvider"
987                android:authorities="sync" android:multiprocess="false" />
988
989        <service android:name="com.android.server.LoadAverageService"
990            android:exported="true" />
991
992        <receiver android:name="com.android.server.BootReceiver" >
993            <intent-filter>
994                <action android:name="android.intent.action.BOOT_COMPLETED" />
995            </intent-filter>
996        </receiver>
997
998        <receiver android:name="com.android.server.MasterClearReceiver"
999            android:permission="android.permission.MASTER_CLEAR" >
1000            <intent-filter>
1001                <action android:name="android.intent.action.GTALK_DATA_MESSAGE_RECEIVED" />
1002                <category android:name="android.intent.category.MASTER_CLEAR" />
1003            </intent-filter>
1004        </receiver>
1005    </application>
1006
1007</manifest>
1008
1009
1010