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