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