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