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 <!-- Recents --> 108 <uses-permission android:name="android.permission.BIND_APPWIDGET" /> 109 110 <!-- Wifi Display --> 111 <uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" /> 112 113 <uses-permission android:name="android.permission.CAMERA" /> 114 115 <!-- Screen Capturing --> 116 <uses-permission android:name="android.permission.MANAGE_MEDIA_PROJECTION" /> 117 118 <application 119 android:name=".SystemUIApplication" 120 android:persistent="true" 121 android:allowClearUserData="false" 122 android:allowBackup="false" 123 android:hardwareAccelerated="true" 124 android:label="@string/app_label" 125 android:icon="@drawable/icon" 126 android:process="com.android.systemui" 127 android:supportsRtl="true" 128 android:theme="@style/systemui_theme"> 129 <!-- Keep theme in sync with SystemUIApplication.onCreate(). 130 Setting the theme on the application does not affect views inflated by services. 131 The application theme is set again from onCreate to take effect for those views. --> 132 133 <!-- Broadcast receiver that gets the broadcast at boot time and starts 134 up everything else. 135 TODO: Should have an android:permission attribute 136 --> 137 <service android:name="SystemUIService" 138 android:exported="true" 139 /> 140 141 <!-- started from PhoneWindowManager 142 TODO: Should have an android:permission attribute --> 143 <service android:name=".screenshot.TakeScreenshotService" 144 android:process=":screenshot" 145 android:exported="false" /> 146 147 <service android:name=".LoadAverageService" 148 android:exported="true" /> 149 150 <service android:name=".ImageWallpaper" 151 android:permission="android.permission.BIND_WALLPAPER" 152 android:exported="true" /> 153 154 <receiver android:name=".BootReceiver" androidprv:primaryUserOnly="true"> 155 <intent-filter android:priority="1000"> 156 <action android:name="android.intent.action.BOOT_COMPLETED" /> 157 </intent-filter> 158 </receiver> 159 160 <receiver android:name=".qs.tiles.HotspotTile$APChangedReceiver" 161 androidprv:primaryUserOnly="true"> 162 <intent-filter> 163 <action android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" /> 164 </intent-filter> 165 </receiver> 166 167 <activity android:name=".usb.UsbStorageActivity" 168 android:label="@*android:string/usb_storage_activity_title" 169 android:excludeFromRecents="true"> 170 </activity> 171 <activity android:name="com.android.internal.app.ExternalMediaFormatActivity" 172 android:theme="@*android:style/Theme.Dialog.Alert" 173 android:excludeFromRecents="true"> 174 </activity> 175 176 <activity android:name=".recent.RecentsActivity" 177 android:label="@string/accessibility_desc_recent_apps" 178 android:theme="@style/RecentsStyle" 179 android:excludeFromRecents="true" 180 android:launchMode="singleInstance" 181 android:resumeWhilePausing="true" 182 android:exported="true"> 183 <intent-filter> 184 <action android:name="com.android.systemui.TOGGLE_RECENTS" /> 185 </intent-filter> 186 </activity> 187 188 <receiver 189 android:name=".recent.RecentsPreloadReceiver" 190 android:exported="false"> 191 <intent-filter> 192 <action android:name="com.android.systemui.recent.action.PRELOAD" /> 193 <action android:name="com.android.systemui.recent.action.CANCEL_PRELOAD" /> 194 </intent-filter> 195 </receiver> 196 197 <!-- Alternate Recents --> 198 <activity android:name=".recents.RecentsActivity" 199 android:label="@string/accessibility_desc_recent_apps" 200 android:exported="false" 201 android:launchMode="singleInstance" 202 android:excludeFromRecents="true" 203 android:stateNotNeeded="true" 204 android:resumeWhilePausing="true" 205 android:theme="@style/config_recents_activity_theme"> 206 <intent-filter> 207 <action android:name="com.android.systemui.recents.TOGGLE_RECENTS" /> 208 </intent-filter> 209 </activity> 210 211 <receiver android:name=".recents.RecentsUserEventProxyReceiver" 212 android:exported="false"> 213 <intent-filter> 214 <action android:name="com.android.systemui.recents.action.SHOW_RECENTS_FOR_USER" /> 215 <action android:name="com.android.systemui.recents.action.HIDE_RECENTS_FOR_USER" /> 216 <action android:name="com.android.systemui.recents.action.TOGGLE_RECENTS_FOR_USER" /> 217 <action android:name="com.android.systemui.recents.action.PRELOAD_RECENTS_FOR_USER" /> 218 <action android:name="com.android.systemui.recents.action.CONFIG_CHANGED_FOR_USER" /> 219 </intent-filter> 220 </receiver> 221 222 <!-- started from UsbDeviceSettingsManager --> 223 <activity android:name=".usb.UsbConfirmActivity" 224 android:exported="true" 225 android:permission="android.permission.MANAGE_USB" 226 android:theme="@style/Theme.SystemUI.Dialog.Alert" 227 android:finishOnCloseSystemDialogs="true" 228 android:excludeFromRecents="true"> 229 </activity> 230 231 <!-- started from UsbDeviceSettingsManager --> 232 <activity android:name=".usb.UsbPermissionActivity" 233 android:exported="true" 234 android:permission="android.permission.MANAGE_USB" 235 android:theme="@style/Theme.SystemUI.Dialog.Alert" 236 android:finishOnCloseSystemDialogs="true" 237 android:excludeFromRecents="true"> 238 </activity> 239 240 <!-- started from UsbDeviceSettingsManager --> 241 <activity android:name=".usb.UsbResolverActivity" 242 android:exported="true" 243 android:permission="android.permission.MANAGE_USB" 244 android:theme="@style/Theme.SystemUI.Dialog.Alert" 245 android:finishOnCloseSystemDialogs="true" 246 android:excludeFromRecents="true"> 247 </activity> 248 249 <!-- started from UsbDeviceSettingsManager --> 250 <activity android:name=".usb.UsbAccessoryUriActivity" 251 android:exported="true" 252 android:permission="android.permission.MANAGE_USB" 253 android:theme="@style/Theme.SystemUI.Dialog.Alert" 254 android:finishOnCloseSystemDialogs="true" 255 android:excludeFromRecents="true"> 256 </activity> 257 258 <!-- started from UsbDebuggingManager --> 259 <activity android:name=".usb.UsbDebuggingActivity" 260 android:permission="android.permission.MANAGE_USB" 261 android:theme="@style/Theme.SystemUI.Dialog.Alert" 262 android:finishOnCloseSystemDialogs="true" 263 android:excludeFromRecents="true"> 264 </activity> 265 266 <!-- started from NetworkPolicyManagerService --> 267 <activity 268 android:name=".net.NetworkOverLimitActivity" 269 android:exported="true" 270 android:permission="android.permission.MANAGE_NETWORK_POLICY" 271 android:theme="@android:style/Theme.DeviceDefault.Light.Panel" 272 android:finishOnCloseSystemDialogs="true" 273 android:launchMode="singleTop" 274 android:taskAffinity="com.android.systemui.net" 275 android:excludeFromRecents="true" /> 276 277 <!-- started from MediaProjectionManager --> 278 <activity 279 android:name=".media.MediaProjectionPermissionActivity" 280 android:exported="true" 281 android:theme="@style/Theme.AlertDialogHost" 282 android:finishOnCloseSystemDialogs="true" 283 android:launchMode="singleTop" 284 android:excludeFromRecents="true" /> 285 286 <!-- platform logo easter egg activity --> 287 <activity 288 android:name=".DessertCase" 289 android:exported="true" 290 android:label="@string/dessert_case" 291 android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 292 android:hardwareAccelerated="true" 293 android:launchMode="singleInstance" 294 android:screenOrientation="locked" 295 android:process=":sweetsweetdesserts" 296 android:excludeFromRecents="true"> 297 <intent-filter> 298 <action android:name="android.intent.action.MAIN" /> 299 <category android:name="android.intent.category.DEFAULT" /> 300 </intent-filter> 301 </activity> 302 303 <activity android:name=".egg.LLandActivity" 304 android:theme="@android:style/Theme.Material.Light.NoActionBar" 305 android:exported="true" 306 android:label="@string/lland" 307 android:hardwareAccelerated="true" 308 android:launchMode="singleInstance" 309 android:screenOrientation="locked" 310 android:process=":sweetsweetdesserts" 311 android:excludeFromRecents="true"> 312 <intent-filter> 313 <action android:name="android.intent.action.MAIN"/> 314 <category android:name="android.intent.category.DEFAULT" /> 315 <category android:name="com.android.internal.category.PLATLOGO" /> 316 </intent-filter> 317 </activity> 318 319 <!-- a gallery of delicious treats --> 320 <service 321 android:name=".DessertCaseDream" 322 android:exported="true" 323 android:label="@string/dessert_case" 324 android:permission="android.permission.BIND_DREAM_SERVICE" 325 android:enabled="false" 326 android:process=":sweetsweetdesserts" 327 > 328 <intent-filter> 329 <action android:name="android.service.dreams.DreamService" /> 330 <category android:name="android.intent.category.DEFAULT" /> 331 </intent-filter> 332 </service> 333 334 <service 335 android:name=".keyguard.KeyguardService" 336 android:exported="true" 337 android:enabled="@bool/config_enableKeyguardService" /> 338 339 <activity android:name=".Somnambulator" 340 android:label="@string/start_dreams" 341 android:icon="@mipmap/ic_launcher_dreams" 342 android:theme="@android:style/Theme.Wallpaper.NoTitleBar" 343 android:exported="true" 344 android:excludeFromRecents="true" 345 > 346 <!-- 347 <intent-filter> 348 <action android:name="android.intent.action.CREATE_SHORTCUT" /> 349 <category android:name="android.intent.category.DEFAULT" /> 350 </intent-filter> 351 --> 352 <intent-filter> 353 <action android:name="android.intent.action.MAIN" /> 354 <category android:name="android.intent.category.DEFAULT" /> 355 <category android:name="android.intent.category.DESK_DOCK" /> 356 </intent-filter> 357 </activity> 358 359 <activity 360 android:name=".settings.BrightnessDialog" 361 android:label="@string/quick_settings_brightness_dialog_title" 362 android:theme="@android:style/Theme.DeviceDefault.Dialog" 363 android:finishOnCloseSystemDialogs="true" 364 android:launchMode="singleInstance" 365 android:excludeFromRecents="true" 366 android:exported="true"> 367 <intent-filter> 368 <action android:name="android.intent.action.SHOW_BRIGHTNESS_DIALOG" /> 369 <category android:name="android.intent.category.DEFAULT" /> 370 </intent-filter> 371 </activity> 372 373 <!-- Doze with notifications, run in main sysui process for every user --> 374 <service 375 android:name=".doze.DozeService" 376 android:exported="true" 377 android:singleUser="true" 378 android:permission="android.permission.BIND_DREAM_SERVICE" /> 379 </application> 380</manifest> 381