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        xmlns:tools="http://schemas.android.com/tools"
24        coreApp="true">
25
26    <!-- Using OpenGL ES 2.0 -->
27    <uses-feature
28        android:glEsVersion="0x00020000"
29        android:required="true" />
30
31    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
32
33    <!-- Used to read wallpaper -->
34    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
35
36    <!-- Used to read storage for all users -->
37    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
38    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
39    <uses-permission android:name="android.permission.WAKE_LOCK" />
40
41    <uses-permission android:name="android.permission.INJECT_EVENTS" />
42    <uses-permission android:name="android.permission.DUMP" />
43    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
44    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
45
46    <uses-permission android:name="android.permission.STATUS_BAR_SERVICE" />
47    <uses-permission android:name="android.permission.STATUS_BAR" />
48    <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
49    <uses-permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK" />
50
51    <uses-permission android:name="android.permission.MANAGE_USERS" />
52    <uses-permission android:name="android.permission.READ_PROFILE" />
53    <uses-permission android:name="android.permission.READ_CONTACTS" />
54    <uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" />
55    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
56    <uses-permission android:name="android.permission.GET_APP_OPS_STATS" />
57    <uses-permission android:name="android.permission.USE_RESERVED_DISK" />
58
59    <!-- to invoke ContentSuggestionsService -->
60    <uses-permission android:name="android.permission.MANAGE_CONTENT_SUGGESTIONS"/>
61
62    <!-- Networking and telephony -->
63    <uses-permission android:name="android.permission.BLUETOOTH" />
64    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
65    <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
66    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
67    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
68    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
69    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
70    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
71    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
72    <uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG" />
73    <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
74    <uses-permission android:name="android.permission.OBSERVE_NETWORK_POLICY" />
75    <uses-permission android:name="android.permission.NETWORK_SETTINGS" />
76    <uses-permission android:name="android.permission.TETHER_PRIVILEGED" />
77    <uses-permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY" />
78    <uses-permission android:name="android.permission.REQUEST_NETWORK_SCORES" />
79    <uses-permission android:name="android.permission.CONTROL_VPN" />
80    <uses-permission android:name="android.permission.PEERS_MAC_ADDRESS"/>
81    <!-- Physical hardware -->
82    <uses-permission android:name="android.permission.MANAGE_USB" />
83    <uses-permission android:name="android.permission.CONTROL_DISPLAY_BRIGHTNESS" />
84    <uses-permission android:name="android.permission.DEVICE_POWER" />
85    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
86    <uses-permission android:name="android.permission.MASTER_CLEAR" />
87    <uses-permission android:name="android.permission.VIBRATE" />
88    <uses-permission android:name="android.permission.MANAGE_SENSOR_PRIVACY" />
89
90    <!-- ActivityManager -->
91    <uses-permission android:name="android.permission.REAL_GET_TASKS" />
92    <uses-permission android:name="android.permission.GET_DETAILED_TASKS" />
93    <uses-permission android:name="android.permission.REORDER_TASKS" />
94    <uses-permission android:name="android.permission.REMOVE_TASKS" />
95    <uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
96    <uses-permission android:name="android.permission.SET_SCREEN_COMPATIBILITY" />
97    <uses-permission android:name="android.permission.START_ANY_ACTIVITY" />
98    <uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
99    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
100    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
101    <uses-permission android:name="android.permission.GET_TOP_ACTIVITY_INFO" />
102    <uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" />
103    <uses-permission android:name="android.permission.START_ACTIVITY_AS_CALLER" />
104    <uses-permission android:name="android.permission.START_TASKS_FROM_RECENTS" />
105    <uses-permission android:name="android.permission.GET_INTENT_SENDER_INTENT" />
106
107    <!-- WindowManager -->
108    <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
109    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
110    <uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
111    <uses-permission android:name="android.permission.MANAGE_APP_TOKENS" />
112    <uses-permission android:name="android.permission.REGISTER_WINDOW_MANAGER_LISTENERS" />
113    <uses-permission android:name="android.permission.SET_ORIENTATION" />
114    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
115    <uses-permission android:name="android.permission.MONITOR_INPUT" />
116
117    <!-- DreamManager -->
118    <uses-permission android:name="android.permission.READ_DREAM_STATE" />
119    <uses-permission android:name="android.permission.WRITE_DREAM_STATE" />
120
121    <!-- Alarm clocks -->
122    <uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
123
124    <!-- Keyguard -->
125    <uses-permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS" />
126    <uses-permission android:name="android.permission.CONTROL_KEYGUARD" />
127    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
128    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
129    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
130    <uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" />
131    <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
132    <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
133    <uses-permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" />
134    <uses-permission android:name="android.permission.TRUST_LISTENER" />
135    <uses-permission android:name="android.permission.USE_BIOMETRIC_INTERNAL" />
136    <uses-permission android:name="android.permission.USE_FINGERPRINT" />
137    <uses-permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT" />
138    <uses-permission android:name="android.permission.MANAGE_BIOMETRIC" />
139    <uses-permission android:name="android.permission.MANAGE_SLICE_PERMISSIONS" />
140    <uses-permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS" />
141    <uses-permission android:name="android.permission.GET_RUNTIME_PERMISSIONS" />
142
143    <!-- Needed for WallpaperManager.clear in ImageWallpaper.updateWallpaperLocked -->
144    <uses-permission android:name="android.permission.SET_WALLPAPER"/>
145
146    <!-- Wifi Display -->
147    <uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" />
148
149    <uses-permission android:name="android.permission.CAMERA" />
150    <uses-permission android:name="android.permission.CAMERA_OPEN_CLOSE_LISTENER" />
151
152    <!-- Screen Capturing -->
153    <uses-permission android:name="android.permission.MANAGE_MEDIA_PROJECTION" />
154
155    <!-- Screen Recording -->
156    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
157    <uses-permission android:name="android.permission.RECORD_AUDIO" />
158    <uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"/>
159
160    <!-- Assist -->
161    <uses-permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE" />
162
163    <!-- Doze mode temp whitelisting for notification dispatching. -->
164    <uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" />
165
166    <!-- Listen for keyboard attachment / detachment -->
167    <uses-permission android:name="android.permission.TABLET_MODE" />
168
169    <!-- Self permission for internal broadcasts. -->
170    <permission android:name="com.android.systemui.permission.SELF"
171            android:protectionLevel="signature" />
172    <uses-permission android:name="com.android.systemui.permission.SELF" />
173
174    <permission android:name="com.android.systemui.permission.PLUGIN"
175            android:protectionLevel="signature" />
176
177    <!-- Adding Quick Settings tiles -->
178    <uses-permission android:name="android.permission.BIND_QUICK_SETTINGS_TILE" />
179
180    <!-- Access Quick Access Wallet cards -->
181    <uses-permission android:name="android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE" />
182
183    <!-- Adding Controls to SystemUI -->
184    <uses-permission android:name="android.permission.BIND_CONTROLS" />
185    <!-- Check foreground controls applications -->
186    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
187
188    <!-- Quick Settings tile: Night Mode / Dark Theme -->
189    <uses-permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE" />
190
191    <!-- Block notifications inline notifications -->
192    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
193
194    <!-- Access battery information -->
195    <uses-permission android:name="android.permission.BATTERY_STATS" />
196
197    <!-- DevicePolicyManager get user restrictions -->
198    <uses-permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" />
199
200    <!-- TV picture-in-picture -->
201    <uses-permission android:name="android.permission.RECEIVE_MEDIA_RESOURCE_USAGE" />
202
203    <!-- DND access -->
204    <uses-permission android:name="android.permission.MANAGE_NOTIFICATIONS" />
205
206    <!-- It's like, reality, but, you know, virtual -->
207    <uses-permission android:name="android.permission.ACCESS_VR_MANAGER" />
208
209    <!-- the ability to rename notifications posted by other apps -->
210    <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
211
212    <!-- shortcut manager -->
213    <uses-permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING" />
214
215    <!-- launcher apps -->
216    <uses-permission android:name="android.permission.ACCESS_SHORTCUTS" />
217
218    <uses-permission android:name="android.permission.MODIFY_THEME_OVERLAY" />
219
220    <!-- accessibility -->
221    <uses-permission android:name="android.permission.MODIFY_ACCESSIBILITY_DATA" />
222    <uses-permission android:name="android.permission.MANAGE_ACCESSIBILITY" />
223    <uses-permission android:name="android.permission.ACT_AS_PACKAGE_FOR_ACCESSIBILITY" />
224
225    <!-- to control accessibility volume -->
226    <uses-permission android:name="android.permission.CHANGE_ACCESSIBILITY_VOLUME" />
227
228    <!-- to access ResolverRankerServices -->
229    <uses-permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE" />
230
231    <!-- to access instant apps -->
232    <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS" />
233
234    <!-- to control remote app transitions -->
235    <uses-permission android:name="android.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS" />
236
237    <!-- to change themes - light or dark -->
238    <uses-permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES" />
239
240    <!-- Listen app op changes -->
241    <uses-permission android:name="android.permission.WATCH_APPOPS" />
242
243    <!-- to read and change hvac values in a car -->
244    <uses-permission android:name="android.car.permission.CONTROL_CAR_CLIMATE" />
245
246    <!-- Permission necessary to change car audio volume through CarAudioManager -->
247    <uses-permission android:name="android.car.permission.CAR_CONTROL_AUDIO_VOLUME" />
248
249    <!-- Permission to control Android Debug Bridge (ADB) -->
250    <uses-permission android:name="android.permission.MANAGE_DEBUGGING" />
251
252    <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" />
253
254    <!-- Permission to change the display color -->
255    <uses-permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS" />
256
257    <!-- Query all packages on device on R+ -->
258    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
259
260    <!-- Permission to register process observer -->
261    <uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER"/>
262
263    <!-- Restore settings (used by QS) even if they have been modified -->
264    <uses-permission android:name="android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE" />
265
266    <!-- Permission to make accessibility service access Bubbles -->
267    <uses-permission android:name="android.permission.ADD_TRUSTED_DISPLAY" />
268
269    <protected-broadcast android:name="com.android.settingslib.action.REGISTER_SLICE_RECEIVER" />
270    <protected-broadcast android:name="com.android.settingslib.action.UNREGISTER_SLICE_RECEIVER" />
271    <protected-broadcast android:name="com.android.settings.flashlight.action.FLASHLIGHT_CHANGED" />
272
273    <application
274        android:name=".SystemUIApplication"
275        android:persistent="true"
276        android:allowClearUserData="false"
277        android:backupAgent=".backup.BackupHelper"
278        android:killAfterRestore="false"
279        android:hardwareAccelerated="true"
280        android:label="@string/app_label"
281        android:icon="@drawable/icon"
282        android:process="com.android.systemui"
283        android:supportsRtl="true"
284        android:theme="@style/Theme.SystemUI"
285        android:defaultToDeviceProtectedStorage="true"
286        android:directBootAware="true"
287        tools:replace="android:appComponentFactory"
288        android:appComponentFactory=".SystemUIAppComponentFactory">
289        <!-- Keep theme in sync with SystemUIApplication.onCreate().
290             Setting the theme on the application does not affect views inflated by services.
291             The application theme is set again from onCreate to take effect for those views. -->
292        <meta-data android:name="com.google.android.backup.api_key" android:value="AEdPqrEAAAAIWTZsUG100coeb3xbEoTWKd3ZL3R79JshRDZfYQ" />
293        <!-- Broadcast receiver that gets the broadcast at boot time and starts
294             up everything else.
295             TODO: Should have an android:permission attribute
296             -->
297        <service android:name="SystemUIService"
298            android:exported="true"
299        />
300
301        <!-- Service for dumping extremely verbose content during a bug report -->
302        <service android:name=".dump.SystemUIAuxiliaryDumpService"
303             android:exported="false"
304             android:permission="com.android.systemui.permission.SELF"
305        />
306
307        <!-- On user switch, this service is started to ensure that the associated SystemUI
308             process for the current user is started. See the resource
309             "config_systemUIServiceComponentsPerUser".
310             -->
311        <service android:name="SystemUISecondaryUserService"
312            android:exported="false"
313            android:permission="com.android.systemui.permission.SELF" />
314
315        <!-- started from PhoneWindowManager
316             TODO: Should have an android:permission attribute -->
317        <service android:name=".screenshot.TakeScreenshotService"
318            android:process=":screenshot"
319            android:exported="false" />
320
321        <!-- Called from PhoneWindowManager -->
322        <receiver android:name=".screenshot.ScreenshotServiceErrorReceiver"
323            android:process=":screenshot"
324            android:exported="false">
325            <intent-filter>
326                <action android:name="com.android.systemui.screenshot.SHOW_ERROR" />
327            </intent-filter>
328        </receiver>
329
330        <activity android:name=".screenrecord.ScreenRecordDialog"
331            android:theme="@style/ScreenRecord"
332            android:showForAllUsers="true"
333            android:excludeFromRecents="true" />
334        <service android:name=".screenrecord.RecordingService" />
335
336        <receiver android:name=".SysuiRestartReceiver"
337            android:exported="false">
338            <intent-filter>
339                <action android:name="com.android.systemui.action.RESTART" />
340
341                <data android:scheme="package" />
342            </intent-filter>
343        </receiver>
344
345        <service android:name=".ImageWallpaper"
346                android:permission="android.permission.BIND_WALLPAPER"
347                android:exported="true" />
348
349        <activity
350            android:name=".bubbles.BubbleOverflowActivity"
351            android:theme="@style/BubbleOverflow"
352            android:excludeFromRecents="true"
353            android:documentLaunchMode="always"
354            android:resizeableActivity="true">
355        </activity>
356
357        <activity android:name=".tuner.TunerActivity"
358                  android:enabled="false"
359                  android:icon="@drawable/tuner"
360                  android:theme="@style/TunerSettings"
361                  android:label="@string/system_ui_tuner"
362                  android:process=":tuner"
363                  android:exported="true">
364            <intent-filter>
365                <action android:name="com.android.settings.action.EXTRA_SETTINGS" />
366                <category android:name="android.intent.category.DEFAULT" />
367            </intent-filter>
368            <meta-data android:name="com.android.settings.category"
369                    android:value="com.android.settings.category.ia.system" />
370            <meta-data android:name="com.android.settings.summary"
371                    android:resource="@string/summary_empty"/>
372        </activity>
373
374        <activity-alias android:name=".DemoMode"
375                  android:targetActivity=".tuner.TunerActivity"
376                  android:icon="@drawable/tuner"
377                  android:theme="@style/TunerSettings"
378                  android:label="@string/demo_mode"
379                  android:process=":tuner"
380                  android:exported="true">
381            <intent-filter>
382                <action android:name="com.android.settings.action.DEMO_MODE" />
383                <category android:name="android.intent.category.DEFAULT" />
384            </intent-filter>
385        </activity-alias>
386
387        <activity
388            android:name=".stackdivider.ForcedResizableInfoActivity"
389            android:theme="@style/ForcedResizableTheme"
390            android:excludeFromRecents="true"
391            android:stateNotNeeded="true"
392            android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout"
393            android:exported="false">
394        </activity>
395
396        <!-- Springboard for launching the share and edit activity. This needs to be in the main
397             system ui process since we need to notify the status bar to dismiss the keyguard -->
398        <receiver android:name=".screenshot.GlobalScreenshot$ActionProxyReceiver"
399            android:exported="false" />
400
401        <!-- Callback for dismissing screenshot notification after a share target is picked -->
402        <receiver android:name=".screenshot.GlobalScreenshot$TargetChosenReceiver"
403            android:exported="false" />
404
405        <!-- Callback for deleting screenshot notification -->
406        <receiver android:name=".screenshot.GlobalScreenshot$DeleteScreenshotReceiver"
407            android:exported="false" />
408
409        <!-- Callback for invoking a smart action from the screenshot notification. -->
410        <receiver android:name=".screenshot.GlobalScreenshot$SmartActionsReceiver"
411                  android:exported="false"/>
412
413        <!-- started from UsbDeviceSettingsManager -->
414        <activity android:name=".usb.UsbConfirmActivity"
415            android:exported="true"
416            android:permission="android.permission.MANAGE_USB"
417            android:theme="@style/Theme.SystemUI.Dialog.Alert"
418            android:finishOnCloseSystemDialogs="true"
419            android:excludeFromRecents="true">
420        </activity>
421
422        <!-- started from UsbDeviceSettingsManager -->
423        <activity android:name=".usb.UsbPermissionActivity"
424            android:exported="true"
425            android:permission="android.permission.MANAGE_USB"
426            android:theme="@style/Theme.SystemUI.Dialog.Alert"
427            android:finishOnCloseSystemDialogs="true"
428            android:excludeFromRecents="true">
429        </activity>
430
431        <!-- started from UsbDeviceSettingsManager -->
432        <activity android:name=".usb.UsbResolverActivity"
433            android:exported="true"
434            android:permission="android.permission.MANAGE_USB"
435            android:theme="@style/Theme.SystemUI.Dialog.Alert"
436            android:finishOnCloseSystemDialogs="true"
437            android:excludeFromRecents="true">
438        </activity>
439
440        <!-- started from UsbDeviceSettingsManager -->
441        <activity android:name=".usb.UsbAccessoryUriActivity"
442            android:exported="true"
443            android:permission="android.permission.MANAGE_USB"
444            android:theme="@style/Theme.SystemUI.Dialog.Alert"
445            android:finishOnCloseSystemDialogs="true"
446            android:excludeFromRecents="true">
447        </activity>
448
449        <!-- started from UsbPortManager -->
450        <activity android:name=".usb.UsbContaminantActivity"
451            android:exported="true"
452            android:permission="android.permission.MANAGE_USB"
453            android:theme="@style/Theme.SystemUI.Dialog.Alert"
454            android:finishOnCloseSystemDialogs="true"
455            android:excludeFromRecents="true">
456        </activity>
457
458        <!-- started from AdbDebuggingManager -->
459        <activity android:name=".usb.UsbDebuggingActivity"
460            android:permission="android.permission.MANAGE_DEBUGGING"
461            android:theme="@style/Theme.SystemUI.Dialog.Alert"
462            android:finishOnCloseSystemDialogs="true"
463            android:excludeFromRecents="true">
464        </activity>
465        <activity-alias
466            android:name=".UsbDebuggingActivityAlias"
467            android:permission="android.permission.DUMP"
468            android:targetActivity=".usb.UsbDebuggingActivity"
469            android:exported="true">
470        </activity-alias>
471        <activity android:name=".usb.UsbDebuggingSecondaryUserActivity"
472            android:theme="@style/Theme.SystemUI.Dialog.Alert"
473            android:finishOnCloseSystemDialogs="true"
474            android:excludeFromRecents="true">
475        </activity>
476
477        <!-- started from WirelessDebuggingManager -->
478        <activity android:name=".wifi.WifiDebuggingActivity"
479            android:permission="android.permission.MANAGE_DEBUGGING"
480            android:theme="@style/Theme.SystemUI.Dialog.Alert"
481            android:finishOnCloseSystemDialogs="true"
482            android:excludeFromRecents="true">
483        </activity>
484        <activity-alias
485            android:name=".WifiDebuggingActivityAlias"
486            android:permission="android.permission.DUMP"
487            android:targetActivity=".wifi.WifiDebuggingActivity"
488            android:exported="true">
489        </activity-alias>
490        <activity android:name=".wifi.WifiDebuggingSecondaryUserActivity"
491            android:theme="@style/Theme.SystemUI.Dialog.Alert"
492            android:finishOnCloseSystemDialogs="true"
493            android:excludeFromRecents="true">
494        </activity>
495
496        <!-- started from NetworkPolicyManagerService -->
497        <activity
498            android:name=".net.NetworkOverLimitActivity"
499            android:exported="true"
500            android:permission="android.permission.MANAGE_NETWORK_POLICY"
501            android:theme="@android:style/Theme.DeviceDefault.Light.Panel"
502            android:finishOnCloseSystemDialogs="true"
503            android:launchMode="singleTop"
504            android:taskAffinity="com.android.systemui.net"
505            android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
506            android:excludeFromRecents="true" />
507
508        <!-- started from MediaProjectionManager -->
509        <activity
510            android:name=".media.MediaProjectionPermissionActivity"
511            android:exported="true"
512            android:theme="@style/Theme.SystemUI.MediaProjectionAlertDialog"
513            android:finishOnCloseSystemDialogs="true"
514            android:launchMode="singleTop"
515            android:excludeFromRecents="true"
516            android:visibleToInstantApps="true"/>
517
518        <!-- started from PipUI -->
519        <activity
520            android:name=".pip.tv.PipMenuActivity"
521            android:permission="com.android.systemui.permission.SELF"
522            android:exported="false"
523            android:theme="@style/PipTheme"
524            android:launchMode="singleTop"
525            android:taskAffinity=""
526            android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|locale|layoutDirection"
527            android:resizeableActivity="true"
528            android:supportsPictureInPicture="true"
529            androidprv:alwaysFocusable="true"
530            android:excludeFromRecents="true" />
531
532        <activity
533            android:name=".pip.phone.PipMenuActivity"
534            android:permission="com.android.systemui.permission.SELF"
535            android:theme="@style/PipPhoneOverlayControlTheme"
536            android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout"
537            android:excludeFromRecents="true"
538            android:exported="false"
539            android:resizeableActivity="true"
540            android:supportsPictureInPicture="true"
541            android:stateNotNeeded="true"
542            android:taskAffinity=""
543            android:launchMode="singleTop"
544            androidprv:alwaysFocusable="true" />
545
546        <!-- started from SliceProvider -->
547        <activity android:name=".SlicePermissionActivity"
548            android:theme="@style/Theme.SystemUI.Dialog.Alert"
549            android:finishOnCloseSystemDialogs="true"
550            android:excludeFromRecents="true">
551            <intent-filter>
552                <action android:name="com.android.intent.action.REQUEST_SLICE_PERMISSION" />
553            </intent-filter>
554        </activity>
555
556        <!-- platform logo easter egg activity -->
557        <activity
558            android:name=".DessertCase"
559            android:exported="true"
560            android:label="@string/dessert_case"
561            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
562            android:launchMode="singleInstance"
563            android:screenOrientation="locked"
564            android:process=":sweetsweetdesserts"
565            android:excludeFromRecents="true">
566            <intent-filter>
567                <action android:name="android.intent.action.MAIN" />
568                <category android:name="android.intent.category.DEFAULT" />
569            </intent-filter>
570        </activity>
571
572        <activity android:name=".egg.MLandActivity"
573                  android:theme="@android:style/Theme.Material.NoActionBar"
574                  android:exported="true"
575                  android:icon="@drawable/icon"
576                  android:label="@string/mland"
577                  android:launchMode="singleInstance"
578                  android:screenOrientation="locked"
579                  android:process=":sweetsweetdesserts"
580                  android:excludeFromRecents="true">
581            <intent-filter>
582                <action android:name="android.intent.action.MAIN"/>
583                <category android:name="android.intent.category.DEFAULT" />
584            </intent-filter>
585        </activity>
586
587        <!-- a gallery of delicious treats -->
588        <service
589            android:name=".DessertCaseDream"
590            android:exported="true"
591            android:label="@string/dessert_case"
592            android:permission="android.permission.BIND_DREAM_SERVICE"
593            android:enabled="false"
594            android:process=":sweetsweetdesserts"
595            >
596            <intent-filter>
597                <action android:name="android.service.dreams.DreamService" />
598                <category android:name="android.intent.category.DEFAULT" />
599            </intent-filter>
600        </service>
601
602        <service
603            android:name=".keyguard.KeyguardService"
604            android:exported="true"
605            android:enabled="@bool/config_enableKeyguardService" />
606
607        <activity android:name=".keyguard.WorkLockActivity"
608                  android:label="@string/accessibility_desc_work_lock"
609                  android:permission="android.permission.MANAGE_USERS"
610                  android:exported="false"
611                  android:excludeFromRecents="true"
612                  android:stateNotNeeded="true"
613                  android:resumeWhilePausing="true"
614                  android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
615            <intent-filter>
616                <action android:name="android.app.action.CONFIRM_DEVICE_CREDENTIAL_WITH_USER" />
617                <category android:name="android.intent.category.DEFAULT" />
618            </intent-filter>
619        </activity>
620
621        <activity android:name=".Somnambulator"
622            android:label="@string/start_dreams"
623            android:icon="@mipmap/ic_launcher_dreams"
624            android:theme="@android:style/Theme.Wallpaper.NoTitleBar"
625            android:exported="true"
626            android:excludeFromRecents="true"
627            >
628            <!--
629            <intent-filter>
630                <action android:name="android.intent.action.CREATE_SHORTCUT" />
631                <category android:name="android.intent.category.DEFAULT" />
632            </intent-filter>
633            -->
634            <intent-filter>
635                <action android:name="android.intent.action.MAIN" />
636                <category android:name="android.intent.category.DEFAULT" />
637                <category android:name="android.intent.category.DESK_DOCK" />
638            </intent-filter>
639        </activity>
640
641        <activity
642            android:name=".settings.BrightnessDialog"
643            android:label="@string/quick_settings_brightness_dialog_title"
644            android:theme="@*android:style/Theme.DeviceDefault.QuickSettings.Dialog"
645            android:finishOnCloseSystemDialogs="true"
646            android:launchMode="singleInstance"
647            android:excludeFromRecents="true"
648            android:exported="true">
649            <intent-filter>
650                <action android:name="com.android.intent.action.SHOW_BRIGHTNESS_DIALOG" />
651                <category android:name="android.intent.category.DEFAULT" />
652            </intent-filter>
653        </activity>
654
655        <activity android:name=".ForegroundServicesDialog"
656            android:process=":fgservices"
657            android:excludeFromRecents="true"
658            android:launchMode="singleTop"
659            android:theme="@*android:style/Theme.DeviceDefault.Settings.Dialog">
660            <intent-filter android:priority="1">
661                <action android:name="android.settings.FOREGROUND_SERVICES_SETTINGS" />
662                <category android:name="android.intent.category.DEFAULT" />
663            </intent-filter>
664        </activity>
665
666        <activity android:name=".chooser.ChooserActivity"
667                android:theme="@*android:style/Theme.NoDisplay"
668                android:finishOnCloseSystemDialogs="true"
669                android:excludeFromRecents="true"
670                android:documentLaunchMode="never"
671                android:relinquishTaskIdentity="true"
672                android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
673                android:process=":ui"
674                android:visibleToInstantApps="true">
675            <intent-filter>
676                <action android:name="android.intent.action.CHOOSER" />
677                <category android:name="android.intent.category.VOICE" />
678            </intent-filter>
679        </activity>
680
681        <activity android:name=".controls.management.ControlsProviderSelectorActivity"
682                  android:label="@string/controls_providers_title"
683                  android:theme="@style/Theme.ControlsManagement"
684                  android:showForAllUsers="true"
685                  android:finishOnTaskLaunch="true"
686                  android:excludeFromRecents="true"
687                  android:launchMode="singleInstance"
688                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
689                  android:visibleToInstantApps="true">
690        </activity>
691
692        <activity android:name=".controls.management.ControlsEditingActivity"
693                  android:label="@string/controls_menu_edit"
694                  android:theme="@style/Theme.ControlsManagement"
695                  android:excludeFromRecents="true"
696                  android:noHistory="true"
697                  android:showForAllUsers="true"
698                  android:finishOnTaskLaunch="true"
699                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
700                  android:visibleToInstantApps="true">
701        </activity>
702
703        <activity android:name=".controls.management.ControlsFavoritingActivity"
704                  android:label="@string/controls_favorite_default_title"
705                  android:theme="@style/Theme.ControlsManagement"
706                  android:excludeFromRecents="true"
707                  android:showForAllUsers="true"
708                  android:finishOnTaskLaunch="true"
709                  android:launchMode="singleInstance"
710                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
711                  android:visibleToInstantApps="true">
712        </activity>
713
714        <receiver android:name=".controls.management.ControlsRequestReceiver">
715            <intent-filter>
716                <action android:name="android.service.controls.action.ADD_CONTROL" />
717            </intent-filter>
718        </receiver>
719
720        <service android:name=".controls.controller.AuxiliaryPersistenceWrapper$DeletionJobService"
721                 android:permission="android.permission.BIND_JOB_SERVICE"/>
722
723        <!-- started from ControlsFavoritingActivity -->
724        <activity
725            android:name=".controls.management.ControlsRequestDialog"
726            android:exported="true"
727            android:theme="@style/Theme.ControlsRequestDialog"
728            android:finishOnCloseSystemDialogs="true"
729            android:showForAllUsers="true"
730            android:clearTaskOnLaunch="true"
731            android:launchMode="singleInstance"
732            android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
733            android:excludeFromRecents="true"
734            android:visibleToInstantApps="true"/>
735
736        <!-- Doze with notifications, run in main sysui process for every user  -->
737        <service
738            android:name=".doze.DozeService"
739            android:exported="true"
740            android:singleUser="true"
741            android:permission="android.permission.BIND_DREAM_SERVICE" />
742
743        <receiver
744            android:name=".tuner.TunerService$ClearReceiver"
745            android:exported="false">
746            <intent-filter>
747                <action android:name="com.android.systemui.action.CLEAR_TUNER" />
748            </intent-filter>
749        </receiver>
750
751        <provider
752            android:name="androidx.core.content.FileProvider"
753            android:authorities="com.android.systemui.fileprovider"
754            android:exported="false"
755            android:grantUriPermissions="true">
756            <meta-data
757                android:name="android.support.FILE_PROVIDER_PATHS"
758                android:resource="@xml/fileprovider" />
759        </provider>
760
761        <provider android:name=".keyguard.KeyguardSliceProvider"
762                  android:authorities="com.android.systemui.keyguard"
763                  android:grantUriPermissions="true"
764                  android:exported="true">
765        </provider>
766
767        <!-- Provides list and realistic previews of clock faces for the picker app. -->
768        <provider
769            android:name="com.android.keyguard.clock.ClockOptionsProvider"
770            android:authorities="com.android.keyguard.clock"
771            android:enabled="false"
772            android:exported="false"
773            android:grantUriPermissions="true">
774        </provider>
775
776        <receiver
777            android:name=".statusbar.KeyboardShortcutsReceiver">
778            <intent-filter>
779                <action android:name="com.android.intent.action.DISMISS_KEYBOARD_SHORTCUTS" />
780                <action android:name="com.android.intent.action.SHOW_KEYBOARD_SHORTCUTS" />
781            </intent-filter>
782        </receiver>
783
784    </application>
785</manifest>
786