OSDN Git Service

Merge "Prevent infinite layout and wallpaper flashing"
[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     <uses-permission android:name="android.permission.ACCESS_ALL_EXTERNAL_STORAGE" />
29     <uses-permission android:name="android.permission.WAKE_LOCK" />
30
31     <uses-permission android:name="android.permission.INJECT_EVENTS" />
32     <uses-permission android:name="android.permission.DUMP" />
33     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
34
35     <uses-permission android:name="android.permission.STATUS_BAR_SERVICE" />
36     <uses-permission android:name="android.permission.STATUS_BAR" />
37     <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
38     <uses-permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK" />
39
40     <uses-permission android:name="android.permission.MANAGE_USERS" />
41     <uses-permission android:name="android.permission.READ_PROFILE" />
42     <uses-permission android:name="android.permission.READ_CONTACTS" />
43     <uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" />
44     <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
45     <uses-permission android:name="android.permission.GET_APP_OPS_STATS" />
46
47     <!-- Networking and telephony -->
48     <uses-permission android:name="android.permission.BLUETOOTH" />
49     <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
50     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
51     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
52     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
53     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
54     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
55     <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
56     <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
57     <uses-permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY" />
58     <uses-permission android:name="android.permission.CONTROL_VPN" />
59
60     <!-- Physical hardware -->
61     <uses-permission android:name="android.permission.MANAGE_USB" />
62     <uses-permission android:name="android.permission.DEVICE_POWER" />
63     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
64     <uses-permission android:name="android.permission.MASTER_CLEAR" />
65     <uses-permission android:name="android.permission.VIBRATE" />
66
67     <!-- ActivityManager -->
68     <uses-permission android:name="android.permission.REAL_GET_TASKS" />
69     <uses-permission android:name="android.permission.GET_DETAILED_TASKS" />
70     <uses-permission android:name="android.permission.REORDER_TASKS" />
71     <uses-permission android:name="android.permission.REMOVE_TASKS" />
72     <uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
73     <uses-permission android:name="android.permission.SET_SCREEN_COMPATIBILITY" />
74     <uses-permission android:name="android.permission.START_ANY_ACTIVITY" />
75     <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
76     <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
77     <uses-permission android:name="android.permission.GET_TOP_ACTIVITY_INFO" />
78     <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" />
79     <uses-permission android:name="android.permission.START_TASKS_FROM_RECENTS" />
80
81     <!-- WindowManager -->
82     <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
83     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
84     <uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
85     <uses-permission android:name="android.permission.MANAGE_APP_TOKENS" />
86     <uses-permission android:name="android.permission.SET_ORIENTATION" />
87     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
88
89     <!-- DreamManager -->
90     <uses-permission android:name="android.permission.READ_DREAM_STATE" />
91     <uses-permission android:name="android.permission.WRITE_DREAM_STATE" />
92
93     <!-- Alarm clocks -->
94     <uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
95
96     <!-- Keyguard -->
97     <uses-permission android:name="android.permission.CONTROL_KEYGUARD" />
98     <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
99     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
100     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
101     <uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" />
102     <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
103     <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
104     <uses-permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" />
105     <uses-permission android:name="android.permission.TRUST_LISTENER" />
106
107     <!-- Needed for WallpaperManager.clear in ImageWallpaper.updateWallpaperLocked -->
108     <uses-permission android:name="android.permission.SET_WALLPAPER"/>
109
110     <!-- Recents -->
111     <uses-permission android:name="android.permission.BIND_APPWIDGET" />
112
113     <!-- Wifi Display -->
114     <uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" />
115
116     <uses-permission android:name="android.permission.CAMERA" />
117
118     <!-- Screen Capturing -->
119     <uses-permission android:name="android.permission.MANAGE_MEDIA_PROJECTION" />
120
121     <application
122         android:name=".SystemUIApplication"
123         android:persistent="true"
124         android:allowClearUserData="false"
125         android:allowBackup="false"
126         android:hardwareAccelerated="true"
127         android:label="@string/app_label"
128         android:icon="@drawable/icon"
129         android:process="com.android.systemui"
130         android:supportsRtl="true"
131         android:theme="@style/systemui_theme">
132         <!-- Keep theme in sync with SystemUIApplication.onCreate().
133              Setting the theme on the application does not affect views inflated by services.
134              The application theme is set again from onCreate to take effect for those views. -->
135
136         <!-- Broadcast receiver that gets the broadcast at boot time and starts
137              up everything else.
138              TODO: Should have an android:permission attribute
139              -->
140         <service android:name="SystemUIService"
141             android:exported="true"
142             />
143
144         <!-- started from PhoneWindowManager
145              TODO: Should have an android:permission attribute -->
146         <service android:name=".screenshot.TakeScreenshotService"
147             android:process=":screenshot"
148             android:exported="false" />
149
150         <service android:name=".LoadAverageService"
151                 android:exported="true" />
152
153         <service android:name=".ImageWallpaper"
154                 android:permission="android.permission.BIND_WALLPAPER"
155                 android:exported="true" />
156
157         <receiver android:name=".BootReceiver" androidprv:primaryUserOnly="true">
158             <intent-filter android:priority="1000">
159                 <action android:name="android.intent.action.BOOT_COMPLETED" />
160             </intent-filter>
161         </receiver>
162
163         <receiver android:name=".qs.tiles.HotspotTile$APChangedReceiver"
164                 androidprv:primaryUserOnly="true">
165             <intent-filter>
166                 <action android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
167             </intent-filter>
168         </receiver>
169
170         <activity android:name=".usb.UsbStorageActivity"
171                   android:label="@*android:string/usb_storage_activity_title"
172                   android:excludeFromRecents="true">
173         </activity>
174         <activity android:name="com.android.internal.app.ExternalMediaFormatActivity"
175                 android:theme="@*android:style/Theme.Dialog.Alert"
176                 android:excludeFromRecents="true">
177         </activity>
178
179         <activity android:name=".recent.RecentsActivity"
180                 android:label="@string/accessibility_desc_recent_apps"
181                 android:theme="@style/RecentsStyle"
182                 android:excludeFromRecents="true"
183                 android:launchMode="singleInstance"
184                 android:resumeWhilePausing="true"
185                 android:exported="true">
186           <intent-filter>
187             <action android:name="com.android.systemui.TOGGLE_RECENTS" />
188           </intent-filter>
189         </activity>
190
191         <receiver
192             android:name=".recent.RecentsPreloadReceiver"
193             android:exported="false">
194             <intent-filter>
195                 <action android:name="com.android.systemui.recent.action.PRELOAD" />
196                 <action android:name="com.android.systemui.recent.action.CANCEL_PRELOAD" />
197             </intent-filter>
198         </receiver>
199
200         <!-- Alternate Recents -->
201         <activity android:name=".recents.RecentsActivity"
202                   android:label="@string/accessibility_desc_recent_apps"
203                   android:exported="false"
204                   android:launchMode="singleInstance"
205                   android:excludeFromRecents="true"
206                   android:stateNotNeeded="true"
207                   android:resumeWhilePausing="true"
208                   android:theme="@style/config_recents_activity_theme">
209             <intent-filter>
210                 <action android:name="com.android.systemui.recents.TOGGLE_RECENTS" />
211             </intent-filter>
212         </activity>
213
214         <receiver android:name=".recents.RecentsUserEventProxyReceiver"
215                   android:exported="false">
216             <intent-filter>
217                 <action android:name="com.android.systemui.recents.action.SHOW_RECENTS_FOR_USER" />
218                 <action android:name="com.android.systemui.recents.action.HIDE_RECENTS_FOR_USER" />
219                 <action android:name="com.android.systemui.recents.action.TOGGLE_RECENTS_FOR_USER" />
220                 <action android:name="com.android.systemui.recents.action.PRELOAD_RECENTS_FOR_USER" />
221                 <action android:name="com.android.systemui.recents.action.CONFIG_CHANGED_FOR_USER" />
222             </intent-filter>
223         </receiver>
224
225         <!-- started from UsbDeviceSettingsManager -->
226         <activity android:name=".usb.UsbConfirmActivity"
227             android:exported="true"
228             android:permission="android.permission.MANAGE_USB"
229             android:theme="@style/Theme.SystemUI.Dialog.Alert"
230             android:finishOnCloseSystemDialogs="true"
231             android:excludeFromRecents="true">
232         </activity>
233
234         <!-- started from UsbDeviceSettingsManager -->
235         <activity android:name=".usb.UsbPermissionActivity"
236             android:exported="true"
237             android:permission="android.permission.MANAGE_USB"
238             android:theme="@style/Theme.SystemUI.Dialog.Alert"
239             android:finishOnCloseSystemDialogs="true"
240             android:excludeFromRecents="true">
241         </activity>
242
243         <!-- started from UsbDeviceSettingsManager -->
244         <activity android:name=".usb.UsbResolverActivity"
245             android:exported="true"
246             android:permission="android.permission.MANAGE_USB"
247             android:theme="@style/Theme.SystemUI.Dialog.Alert"
248             android:finishOnCloseSystemDialogs="true"
249             android:excludeFromRecents="true">
250         </activity>
251
252         <!-- started from UsbDeviceSettingsManager -->
253         <activity android:name=".usb.UsbAccessoryUriActivity"
254             android:exported="true"
255             android:permission="android.permission.MANAGE_USB"
256             android:theme="@style/Theme.SystemUI.Dialog.Alert"
257             android:finishOnCloseSystemDialogs="true"
258             android:excludeFromRecents="true">
259         </activity>
260
261         <!-- started from UsbDebuggingManager -->
262         <activity android:name=".usb.UsbDebuggingActivity"
263             android:permission="android.permission.MANAGE_USB"
264             android:theme="@style/Theme.SystemUI.Dialog.Alert"
265             android:finishOnCloseSystemDialogs="true"
266             android:excludeFromRecents="true">
267         </activity>
268
269         <!-- started from NetworkPolicyManagerService -->
270         <activity
271             android:name=".net.NetworkOverLimitActivity"
272             android:exported="true"
273             android:permission="android.permission.MANAGE_NETWORK_POLICY"
274             android:theme="@android:style/Theme.DeviceDefault.Light.Panel"
275             android:finishOnCloseSystemDialogs="true"
276             android:launchMode="singleTop"
277             android:taskAffinity="com.android.systemui.net"
278             android:excludeFromRecents="true" />
279
280         <!-- started from MediaProjectionManager -->
281         <activity
282             android:name=".media.MediaProjectionPermissionActivity"
283             android:exported="true"
284             android:theme="@style/Theme.AlertDialogHost"
285             android:finishOnCloseSystemDialogs="true"
286             android:launchMode="singleTop"
287             android:excludeFromRecents="true" />
288
289         <!-- platform logo easter egg activity -->
290         <activity
291             android:name=".DessertCase"
292             android:exported="true"
293             android:label="@string/dessert_case"
294             android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
295             android:hardwareAccelerated="true"
296             android:launchMode="singleInstance"
297             android:screenOrientation="locked"
298             android:process=":sweetsweetdesserts"
299             android:excludeFromRecents="true">
300             <intent-filter>
301                 <action android:name="android.intent.action.MAIN" />
302                 <category android:name="android.intent.category.DEFAULT" />
303             </intent-filter>
304         </activity>
305
306         <activity android:name=".egg.LLandActivity"
307                   android:theme="@android:style/Theme.Material.Light.NoActionBar"
308                   android:exported="true"
309                   android:label="@string/lland"
310                   android:hardwareAccelerated="true"
311                   android:launchMode="singleInstance"
312                   android:screenOrientation="locked"
313                   android:process=":sweetsweetdesserts"
314                   android:excludeFromRecents="true">
315             <intent-filter>
316                 <action android:name="android.intent.action.MAIN"/>
317                 <category android:name="android.intent.category.DEFAULT" />
318                 <category android:name="com.android.internal.category.PLATLOGO" />
319             </intent-filter>
320         </activity>
321
322         <!-- a gallery of delicious treats -->
323         <service
324             android:name=".DessertCaseDream"
325             android:exported="true"
326             android:label="@string/dessert_case"
327             android:permission="android.permission.BIND_DREAM_SERVICE"
328             android:enabled="false"
329             android:process=":sweetsweetdesserts"
330             >
331             <intent-filter>
332                 <action android:name="android.service.dreams.DreamService" />
333                 <category android:name="android.intent.category.DEFAULT" />
334             </intent-filter>
335         </service>
336
337         <service
338             android:name=".keyguard.KeyguardService"
339             android:exported="true"
340             android:enabled="@bool/config_enableKeyguardService" />
341
342         <activity android:name=".Somnambulator"
343             android:label="@string/start_dreams"
344             android:icon="@mipmap/ic_launcher_dreams"
345             android:theme="@android:style/Theme.Wallpaper.NoTitleBar"
346             android:exported="true"
347             android:excludeFromRecents="true"
348             >
349             <!--
350             <intent-filter>
351                 <action android:name="android.intent.action.CREATE_SHORTCUT" />
352                 <category android:name="android.intent.category.DEFAULT" />
353             </intent-filter>
354             -->
355             <intent-filter>
356                 <action android:name="android.intent.action.MAIN" />
357                 <category android:name="android.intent.category.DEFAULT" />
358                 <category android:name="android.intent.category.DESK_DOCK" />
359             </intent-filter>
360         </activity>
361
362         <activity
363             android:name=".settings.BrightnessDialog"
364             android:label="@string/quick_settings_brightness_dialog_title"
365             android:theme="@android:style/Theme.DeviceDefault.Dialog"
366             android:finishOnCloseSystemDialogs="true"
367             android:launchMode="singleInstance"
368             android:excludeFromRecents="true"
369             android:exported="true">
370             <intent-filter>
371                 <action android:name="android.intent.action.SHOW_BRIGHTNESS_DIALOG" />
372                 <category android:name="android.intent.category.DEFAULT" />
373             </intent-filter>
374         </activity>
375
376         <!-- Doze with notifications, run in main sysui process for every user  -->
377         <service
378             android:name=".doze.DozeService"
379             android:exported="true"
380             android:singleUser="true"
381             android:permission="android.permission.BIND_DREAM_SERVICE" />
382     </application>
383 </manifest>