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