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