OSDN Git Service

3ee844cd8ef2ef23fcb7342ea35dad0597701746
[android-x86/frameworks-base.git] / packages / SystemUI / AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 /*
4  * Copyright (c) 2014 Google Inc.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 -->
19 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
20         xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
21         package="com.android.systemui"
22         android:sharedUserId="android.uid.systemui"
23         coreApp="true">
24
25     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
26     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
27     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
28     <!-- Used to read storage for all users -->
29     <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
30     <uses-permission android:name="android.permission.WAKE_LOCK" />
31
32     <uses-permission android:name="android.permission.INJECT_EVENTS" />
33     <uses-permission android:name="android.permission.DUMP" />
34     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
35
36     <uses-permission android:name="android.permission.STATUS_BAR_SERVICE" />
37     <uses-permission android:name="android.permission.STATUS_BAR" />
38     <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
39     <uses-permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK" />
40
41     <uses-permission android:name="android.permission.MANAGE_USERS" />
42     <uses-permission android:name="android.permission.READ_PROFILE" />
43     <uses-permission android:name="android.permission.READ_CONTACTS" />
44     <uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" />
45     <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
46     <uses-permission android:name="android.permission.GET_APP_OPS_STATS" />
47
48     <!-- Networking and telephony -->
49     <uses-permission android:name="android.permission.BLUETOOTH" />
50     <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
51     <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
52     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
53     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
54     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
55     <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
56     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
57     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
58     <uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG" />
59     <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
60     <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
61     <uses-permission android:name="android.permission.TETHER_PRIVILEGED" />
62     <uses-permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY" />
63     <uses-permission android:name="android.permission.CONTROL_VPN" />
64     <uses-permission android:name="android.permission.PEERS_MAC_ADDRESS"/>
65     <!-- Physical hardware -->
66     <uses-permission android:name="android.permission.MANAGE_USB" />
67     <uses-permission android:name="android.permission.DEVICE_POWER" />
68     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
69     <uses-permission android:name="android.permission.MASTER_CLEAR" />
70     <uses-permission android:name="android.permission.VIBRATE" />
71
72     <!-- ActivityManager -->
73     <uses-permission android:name="android.permission.REAL_GET_TASKS" />
74     <uses-permission android:name="android.permission.GET_DETAILED_TASKS" />
75     <uses-permission android:name="android.permission.REORDER_TASKS" />
76     <uses-permission android:name="android.permission.REMOVE_TASKS" />
77     <uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
78     <uses-permission android:name="android.permission.SET_SCREEN_COMPATIBILITY" />
79     <uses-permission android:name="android.permission.START_ANY_ACTIVITY" />
80     <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
81     <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
82     <uses-permission android:name="android.permission.GET_TOP_ACTIVITY_INFO" />
83     <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" />
84     <uses-permission android:name="android.permission.START_TASKS_FROM_RECENTS" />
85     <uses-permission android:name="android.permission.GET_INTENT_SENDER_INTENT" />
86
87     <!-- WindowManager -->
88     <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
89     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
90     <uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
91     <uses-permission android:name="android.permission.MANAGE_APP_TOKENS" />
92     <uses-permission android:name="android.permission.REGISTER_WINDOW_MANAGER_LISTENERS" />
93     <uses-permission android:name="android.permission.SET_ORIENTATION" />
94     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
95
96     <!-- DreamManager -->
97     <uses-permission android:name="android.permission.READ_DREAM_STATE" />
98     <uses-permission android:name="android.permission.WRITE_DREAM_STATE" />
99
100     <!-- Alarm clocks -->
101     <uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
102
103     <!-- Keyguard -->
104     <uses-permission android:name="android.permission.CONTROL_KEYGUARD" />
105     <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
106     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
107     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
108     <uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" />
109     <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
110     <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
111     <uses-permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" />
112     <uses-permission android:name="android.permission.TRUST_LISTENER" />
113     <uses-permission android:name="android.permission.USE_FINGERPRINT" />
114     <uses-permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT" />
115
116     <!-- Needed for WallpaperManager.clear in ImageWallpaper.updateWallpaperLocked -->
117     <uses-permission android:name="android.permission.SET_WALLPAPER"/>
118
119     <!-- Recents -->
120     <uses-permission android:name="android.permission.BIND_APPWIDGET" />
121
122     <!-- Wifi Display -->
123     <uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" />
124
125     <uses-permission android:name="android.permission.CAMERA" />
126
127     <!-- Screen Capturing -->
128     <uses-permission android:name="android.permission.MANAGE_MEDIA_PROJECTION" />
129
130     <!-- Assist -->
131     <uses-permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE" />
132
133     <!-- Listen for keyboard attachment / detachment -->
134     <uses-permission android:name="android.permission.TABLET_MODE" />
135
136     <!-- Self permission for internal broadcasts. -->
137     <permission android:name="com.android.systemui.permission.SELF"
138             android:protectionLevel="signature" />
139     <uses-permission android:name="com.android.systemui.permission.SELF" />
140
141     <!-- Adding Quick Settings tiles -->
142     <uses-permission android:name="android.permission.BIND_QUICK_SETTINGS_TILE" />
143
144     <!-- Block notifications inline notifications -->
145     <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
146
147     <!-- Access battery information -->
148     <uses-permission android:name="android.permission.BATTERY_STATS" />
149
150     <!-- DevicePolicyManager get user restrictions -->
151     <uses-permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" />
152
153     <!-- TV picture-in-picture -->
154     <uses-permission android:name="android.permission.RECEIVE_MEDIA_RESOURCE_USAGE" />
155
156     <!-- DND access -->
157     <uses-permission android:name="android.permission.MANAGE_NOTIFICATIONS" />
158
159     <!-- It's like, reality, but, you know, virtual -->
160     <uses-permission android:name="android.permission.ACCESS_VR_MANAGER" />
161
162     <!-- the ability to rename notifications posted by other apps -->
163     <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
164
165     <!-- shortcut manager -->
166     <uses-permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING" />
167
168     <application
169         android:name=".SystemUIApplication"
170         android:persistent="true"
171         android:allowClearUserData="false"
172         android:allowBackup="false"
173         android:hardwareAccelerated="true"
174         android:label="@string/app_label"
175         android:icon="@drawable/icon"
176         android:process="com.android.systemui"
177         android:supportsRtl="true"
178         android:theme="@style/systemui_theme"
179         android:defaultToDeviceProtectedStorage="true"
180         android:directBootAware="true">
181         <!-- Keep theme in sync with SystemUIApplication.onCreate().
182              Setting the theme on the application does not affect views inflated by services.
183              The application theme is set again from onCreate to take effect for those views. -->
184
185         <!-- Broadcast receiver that gets the broadcast at boot time and starts
186              up everything else.
187              TODO: Should have an android:permission attribute
188              -->
189         <service android:name="SystemUIService"
190             android:exported="true"
191             />
192
193         <!-- Recents depends on every user having their own SystemUI process, so on user switch,
194              ensure that the process is created by starting this service.
195              -->
196         <service android:name="SystemUISecondaryUserService"
197             android:exported="true"
198             android:permission="com.android.systemui.permission.SELF" />
199
200
201         <!-- started from PhoneWindowManager
202              TODO: Should have an android:permission attribute -->
203         <service android:name=".screenshot.TakeScreenshotService"
204             android:process=":screenshot"
205             android:exported="false" />
206
207         <!-- Called from PhoneWindowManager -->
208         <receiver android:name=".screenshot.ScreenshotServiceErrorReceiver"
209             android:process=":screenshot"
210             android:exported="false">
211             <intent-filter>
212                 <action android:name="com.android.systemui.screenshot.SHOW_ERROR" />
213             </intent-filter>
214         </receiver>
215
216         <service android:name=".ImageWallpaper"
217                 android:permission="android.permission.BIND_WALLPAPER"
218                 android:exported="true" />
219
220         <activity android:name=".tuner.TunerActivity"
221                   android:enabled="false"
222                   android:icon="@drawable/tuner"
223                   android:theme="@style/TunerSettings"
224                   android:label="@string/system_ui_tuner"
225                   android:process=":tuner"
226                   android:exported="true">
227             <intent-filter>
228                 <action android:name="com.android.settings.action.EXTRA_SETTINGS" />
229                 <category android:name="android.intent.category.DEFAULT" />
230             </intent-filter>
231             <meta-data android:name="com.android.settings.category"
232                     android:value="com.android.settings.category.system" />
233         </activity>
234
235         <activity-alias android:name=".DemoMode"
236                   android:targetActivity=".tuner.TunerActivity"
237                   android:icon="@drawable/tuner"
238                   android:theme="@style/TunerSettings"
239                   android:label="@string/demo_mode"
240                   android:process=":tuner"
241                   android:exported="true">
242             <intent-filter>
243                 <action android:name="com.android.settings.action.DEMO_MODE" />
244                 <category android:name="android.intent.category.DEFAULT" />
245             </intent-filter>
246         </activity-alias>
247
248         <!-- Service used by secondary users to register themselves with the system user. -->
249         <service android:name=".recents.RecentsSystemUserService"
250             android:exported="false"
251             android:permission="com.android.systemui.permission.SELF" />
252
253         <!-- Alternate Recents -->
254         <activity android:name=".recents.RecentsActivity"
255                   android:label="@string/accessibility_desc_recent_apps"
256                   android:exported="false"
257                   android:launchMode="singleInstance"
258                   android:excludeFromRecents="true"
259                   android:stateNotNeeded="true"
260                   android:resumeWhilePausing="true"
261                   android:screenOrientation="behind"
262                   android:resizeableActivity="true"
263                   android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|keyboard|keyboardHidden"
264                   android:theme="@style/RecentsTheme.Wallpaper">
265             <intent-filter>
266                 <action android:name="com.android.systemui.recents.TOGGLE_RECENTS" />
267             </intent-filter>
268         </activity>
269
270         <activity android:name=".recents.tv.RecentsTvActivity"
271                   android:label="@string/accessibility_desc_recent_apps"
272                   android:exported="false"
273                   android:launchMode="singleInstance"
274                   android:excludeFromRecents="true"
275                   android:stateNotNeeded="true"
276                   android:resumeWhilePausing="true"
277                   android:screenOrientation="behind"
278                   android:theme="@style/RecentsTvTheme.Wallpaper">
279             <intent-filter>
280                 <action android:name="com.android.systemui.recents.TOGGLE_RECENTS" />
281             </intent-filter>
282         </activity>
283
284         <activity
285             android:name=".stackdivider.ForcedResizableInfoActivity"
286             android:theme="@style/ForcedResizableTheme"
287             android:excludeFromRecents="true"
288             android:stateNotNeeded="true"
289             android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout"
290             android:exported="false">
291         </activity>
292
293         <!-- Callback for dismissing screenshot notification after a share target is picked -->
294         <receiver android:name=".screenshot.GlobalScreenshot$TargetChosenReceiver"
295                   android:process=":screenshot"
296                   android:exported="false" />
297
298         <!-- Callback for deleting screenshot notification -->
299         <receiver android:name=".screenshot.GlobalScreenshot$DeleteScreenshotReceiver"
300                   android:process=":screenshot"
301                   android:exported="false" />
302
303         <!-- started from UsbDeviceSettingsManager -->
304         <activity android:name=".usb.UsbConfirmActivity"
305             android:exported="true"
306             android:permission="android.permission.MANAGE_USB"
307             android:theme="@style/Theme.SystemUI.Dialog.Alert"
308             android:finishOnCloseSystemDialogs="true"
309             android:excludeFromRecents="true">
310         </activity>
311
312         <!-- started from UsbDeviceSettingsManager -->
313         <activity android:name=".usb.UsbPermissionActivity"
314             android:exported="true"
315             android:permission="android.permission.MANAGE_USB"
316             android:theme="@style/Theme.SystemUI.Dialog.Alert"
317             android:finishOnCloseSystemDialogs="true"
318             android:excludeFromRecents="true">
319         </activity>
320
321         <!-- started from UsbDeviceSettingsManager -->
322         <activity android:name=".usb.UsbResolverActivity"
323             android:exported="true"
324             android:permission="android.permission.MANAGE_USB"
325             android:theme="@style/Theme.SystemUI.Dialog.Alert"
326             android:finishOnCloseSystemDialogs="true"
327             android:excludeFromRecents="true">
328         </activity>
329
330         <!-- started from UsbDeviceSettingsManager -->
331         <activity android:name=".usb.UsbAccessoryUriActivity"
332             android:exported="true"
333             android:permission="android.permission.MANAGE_USB"
334             android:theme="@style/Theme.SystemUI.Dialog.Alert"
335             android:finishOnCloseSystemDialogs="true"
336             android:excludeFromRecents="true">
337         </activity>
338
339         <!-- started from UsbDebuggingManager -->
340         <activity android:name=".usb.UsbDebuggingActivity"
341             android:permission="android.permission.MANAGE_USB"
342             android:theme="@style/Theme.SystemUI.Dialog.Alert"
343             android:finishOnCloseSystemDialogs="true"
344             android:excludeFromRecents="true">
345         </activity>
346         <activity android:name=".usb.UsbDebuggingSecondaryUserActivity"
347             android:theme="@style/Theme.SystemUI.Dialog.Alert"
348             android:finishOnCloseSystemDialogs="true"
349             android:excludeFromRecents="true">
350         </activity>
351
352         <!-- started from NetworkPolicyManagerService -->
353         <activity
354             android:name=".net.NetworkOverLimitActivity"
355             android:exported="true"
356             android:permission="android.permission.MANAGE_NETWORK_POLICY"
357             android:theme="@android:style/Theme.DeviceDefault.Light.Panel"
358             android:finishOnCloseSystemDialogs="true"
359             android:launchMode="singleTop"
360             android:taskAffinity="com.android.systemui.net"
361             android:excludeFromRecents="true" />
362
363         <!-- started from MediaProjectionManager -->
364         <activity
365             android:name=".media.MediaProjectionPermissionActivity"
366             android:exported="true"
367             android:theme="@style/Theme.AlertDialogHost"
368             android:finishOnCloseSystemDialogs="true"
369             android:launchMode="singleTop"
370             android:excludeFromRecents="true" />
371
372         <!-- started from PipUI -->
373         <activity
374             android:name="com.android.systemui.tv.pip.PipMenuActivity"
375             android:exported="true"
376             android:theme="@style/PipTheme"
377             android:launchMode="singleTop"
378             android:taskAffinity=""
379             android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|locale|layoutDirection"
380             android:resizeableActivity="true"
381             android:supportsPictureInPicture="true"
382             androidprv:alwaysFocusable="true"
383             android:excludeFromRecents="true" />
384         <activity
385             android:name="com.android.systemui.tv.pip.PipOverlayActivity"
386             android:exported="true"
387             android:theme="@style/PipTheme"
388             android:taskAffinity=""
389             android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|locale|layoutDirection"
390             android:resizeableActivity="true"
391             android:supportsPictureInPicture="true"
392             android:excludeFromRecents="true" />
393         <activity
394             android:name="com.android.systemui.tv.pip.PipOnboardingActivity"
395             android:exported="true"
396             android:theme="@style/PipTheme"
397             android:launchMode="singleTop"
398             android:excludeFromRecents="true" />
399
400         <!-- platform logo easter egg activity -->
401         <activity
402             android:name=".DessertCase"
403             android:exported="true"
404             android:label="@string/dessert_case"
405             android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
406             android:hardwareAccelerated="true"
407             android:launchMode="singleInstance"
408             android:screenOrientation="locked"
409             android:process=":sweetsweetdesserts"
410             android:excludeFromRecents="true">
411             <intent-filter>
412                 <action android:name="android.intent.action.MAIN" />
413                 <category android:name="android.intent.category.DEFAULT" />
414             </intent-filter>
415         </activity>
416
417         <activity android:name=".egg.MLandActivity"
418                   android:theme="@android:style/Theme.Material.NoActionBar"
419                   android:exported="true"
420                   android:icon="@drawable/icon"
421                   android:label="@string/mland"
422                   android:hardwareAccelerated="true"
423                   android:launchMode="singleInstance"
424                   android:screenOrientation="locked"
425                   android:process=":sweetsweetdesserts"
426                   android:excludeFromRecents="true">
427             <intent-filter>
428                 <action android:name="android.intent.action.MAIN"/>
429                 <category android:name="android.intent.category.DEFAULT" />
430             </intent-filter>
431         </activity>
432
433         <!-- a gallery of delicious treats -->
434         <service
435             android:name=".DessertCaseDream"
436             android:exported="true"
437             android:label="@string/dessert_case"
438             android:permission="android.permission.BIND_DREAM_SERVICE"
439             android:enabled="false"
440             android:process=":sweetsweetdesserts"
441             >
442             <intent-filter>
443                 <action android:name="android.service.dreams.DreamService" />
444                 <category android:name="android.intent.category.DEFAULT" />
445             </intent-filter>
446         </service>
447
448         <service
449             android:name=".keyguard.KeyguardService"
450             android:exported="true"
451             android:enabled="@bool/config_enableKeyguardService" />
452
453         <activity android:name=".Somnambulator"
454             android:label="@string/start_dreams"
455             android:icon="@mipmap/ic_launcher_dreams"
456             android:theme="@android:style/Theme.Wallpaper.NoTitleBar"
457             android:exported="true"
458             android:excludeFromRecents="true"
459             >
460             <!--
461             <intent-filter>
462                 <action android:name="android.intent.action.CREATE_SHORTCUT" />
463                 <category android:name="android.intent.category.DEFAULT" />
464             </intent-filter>
465             -->
466             <intent-filter>
467                 <action android:name="android.intent.action.MAIN" />
468                 <category android:name="android.intent.category.DEFAULT" />
469                 <category android:name="android.intent.category.DESK_DOCK" />
470             </intent-filter>
471         </activity>
472
473         <activity
474             android:name=".settings.BrightnessDialog"
475             android:label="@string/quick_settings_brightness_dialog_title"
476             android:theme="@android:style/Theme.DeviceDefault.Dialog"
477             android:finishOnCloseSystemDialogs="true"
478             android:launchMode="singleInstance"
479             android:excludeFromRecents="true"
480             android:exported="true">
481             <intent-filter>
482                 <action android:name="android.intent.action.SHOW_BRIGHTNESS_DIALOG" />
483                 <category android:name="android.intent.category.DEFAULT" />
484             </intent-filter>
485         </activity>
486
487         <!-- Doze with notifications, run in main sysui process for every user  -->
488         <service
489             android:name=".doze.DozeService"
490             android:exported="true"
491             android:singleUser="true"
492             android:permission="android.permission.BIND_DREAM_SERVICE" />
493
494         <receiver
495             android:name=".tuner.TunerService$ClearReceiver"
496             android:exported="false">
497             <intent-filter>
498                 <action android:name="com.android.systemui.action.CLEAR_TUNER" />
499             </intent-filter>
500         </receiver>
501
502         <receiver
503             android:name=".statusbar.KeyboardShortcutsReceiver">
504             <intent-filter>
505                 <action android:name="android.intent.action.DISMISS_KEYBOARD_SHORTCUTS" />
506                 <action android:name="android.intent.action.SHOW_KEYBOARD_SHORTCUTS" />
507             </intent-filter>
508         </receiver>
509     </application>
510 </manifest>