As discussed, we:
* Allow apps with INTERACT_ACCROSS_USERS(_FULL) to specify an explicit
user (instead of just USER_CURRENT).
* Introduce new signature permission ACT_AS_PACKAGE_FOR_ACCESSIBILITY
and grant it to sysUI. This permissions allow holders to specify another
package on behalf of which they can perform a11y operations.
This is for toasts since now sysUI renders toasts on behalf of the app
for apps targeting R+.
Bug: 152839254
Test: atest FrameworksServicesTests:AccessibilitySecurityPolicyTest
FrameworksServicesTests:AccessibilityWindowManagerTest
android.widget.cts.ToastTest
Change-Id: I3541045d574518571f348051d53e24ff1a4a67ef
772 lines
36 KiB
XML
772 lines
36 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
/*
|
|
* Copyright (c) 2014 Google Inc.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
-->
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
|
|
package="com.android.systemui"
|
|
android:sharedUserId="android.uid.systemui"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
coreApp="true">
|
|
|
|
<!-- Using OpenGL ES 2.0 -->
|
|
<uses-feature
|
|
android:glEsVersion="0x00020000"
|
|
android:required="true" />
|
|
|
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
|
|
|
<!-- Used to read wallpaper -->
|
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
|
|
|
<!-- Used to read storage for all users -->
|
|
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
|
|
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
|
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
|
|
|
<uses-permission android:name="android.permission.INJECT_EVENTS" />
|
|
<uses-permission android:name="android.permission.DUMP" />
|
|
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
|
<uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
|
|
|
|
<uses-permission android:name="android.permission.STATUS_BAR_SERVICE" />
|
|
<uses-permission android:name="android.permission.STATUS_BAR" />
|
|
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
|
|
<uses-permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK" />
|
|
|
|
<uses-permission android:name="android.permission.MANAGE_USERS" />
|
|
<uses-permission android:name="android.permission.READ_PROFILE" />
|
|
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
|
<uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" />
|
|
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
|
|
<uses-permission android:name="android.permission.GET_APP_OPS_STATS" />
|
|
<uses-permission android:name="android.permission.USE_RESERVED_DISK" />
|
|
|
|
<!-- to invoke ContentSuggestionsService -->
|
|
<uses-permission android:name="android.permission.MANAGE_CONTENT_SUGGESTIONS"/>
|
|
|
|
<!-- Networking and telephony -->
|
|
<uses-permission android:name="android.permission.BLUETOOTH" />
|
|
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
|
<uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
|
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
|
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
|
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
|
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
|
<uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG" />
|
|
<uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
|
|
<uses-permission android:name="android.permission.OBSERVE_NETWORK_POLICY" />
|
|
<uses-permission android:name="android.permission.NETWORK_SETTINGS" />
|
|
<uses-permission android:name="android.permission.TETHER_PRIVILEGED" />
|
|
<uses-permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY" />
|
|
<uses-permission android:name="android.permission.REQUEST_NETWORK_SCORES" />
|
|
<uses-permission android:name="android.permission.CONTROL_VPN" />
|
|
<uses-permission android:name="android.permission.PEERS_MAC_ADDRESS"/>
|
|
<!-- Physical hardware -->
|
|
<uses-permission android:name="android.permission.MANAGE_USB" />
|
|
<uses-permission android:name="android.permission.CONTROL_DISPLAY_BRIGHTNESS" />
|
|
<uses-permission android:name="android.permission.DEVICE_POWER" />
|
|
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
|
|
<uses-permission android:name="android.permission.MASTER_CLEAR" />
|
|
<uses-permission android:name="android.permission.VIBRATE" />
|
|
<uses-permission android:name="android.permission.MANAGE_SENSOR_PRIVACY" />
|
|
|
|
<!-- ActivityManager -->
|
|
<uses-permission android:name="android.permission.REAL_GET_TASKS" />
|
|
<uses-permission android:name="android.permission.GET_DETAILED_TASKS" />
|
|
<uses-permission android:name="android.permission.REORDER_TASKS" />
|
|
<uses-permission android:name="android.permission.REMOVE_TASKS" />
|
|
<uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
|
|
<uses-permission android:name="android.permission.SET_SCREEN_COMPATIBILITY" />
|
|
<uses-permission android:name="android.permission.START_ANY_ACTIVITY" />
|
|
<uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
|
|
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
|
|
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
|
|
<uses-permission android:name="android.permission.GET_TOP_ACTIVITY_INFO" />
|
|
<uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" />
|
|
<uses-permission android:name="android.permission.START_ACTIVITY_AS_CALLER" />
|
|
<uses-permission android:name="android.permission.START_TASKS_FROM_RECENTS" />
|
|
<uses-permission android:name="android.permission.GET_INTENT_SENDER_INTENT" />
|
|
|
|
<!-- WindowManager -->
|
|
<uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
|
|
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
|
<uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
|
|
<uses-permission android:name="android.permission.MANAGE_APP_TOKENS" />
|
|
<uses-permission android:name="android.permission.REGISTER_WINDOW_MANAGER_LISTENERS" />
|
|
<uses-permission android:name="android.permission.SET_ORIENTATION" />
|
|
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
|
|
<uses-permission android:name="android.permission.MONITOR_INPUT" />
|
|
|
|
<!-- DreamManager -->
|
|
<uses-permission android:name="android.permission.READ_DREAM_STATE" />
|
|
<uses-permission android:name="android.permission.WRITE_DREAM_STATE" />
|
|
|
|
<!-- Alarm clocks -->
|
|
<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
|
|
|
|
<!-- Keyguard -->
|
|
<uses-permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS" />
|
|
<uses-permission android:name="android.permission.CONTROL_KEYGUARD" />
|
|
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
|
|
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
|
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
|
|
<uses-permission android:name="android.permission.BIND_DEVICE_ADMIN" />
|
|
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
|
|
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
|
|
<uses-permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" />
|
|
<uses-permission android:name="android.permission.TRUST_LISTENER" />
|
|
<uses-permission android:name="android.permission.USE_BIOMETRIC_INTERNAL" />
|
|
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
|
<uses-permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT" />
|
|
<uses-permission android:name="android.permission.MANAGE_BIOMETRIC" />
|
|
<uses-permission android:name="android.permission.MANAGE_SLICE_PERMISSIONS" />
|
|
<uses-permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS" />
|
|
<uses-permission android:name="android.permission.GET_RUNTIME_PERMISSIONS" />
|
|
|
|
<!-- Needed for WallpaperManager.clear in ImageWallpaper.updateWallpaperLocked -->
|
|
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
|
|
|
|
<!-- Wifi Display -->
|
|
<uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" />
|
|
|
|
<uses-permission android:name="android.permission.CAMERA" />
|
|
<uses-permission android:name="android.permission.CAMERA_OPEN_CLOSE_LISTENER" />
|
|
|
|
<!-- Screen Capturing -->
|
|
<uses-permission android:name="android.permission.MANAGE_MEDIA_PROJECTION" />
|
|
|
|
<!-- Screen Recording -->
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
|
|
<!-- Assist -->
|
|
<uses-permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE" />
|
|
|
|
<!-- Doze mode temp whitelisting for notification dispatching. -->
|
|
<uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" />
|
|
|
|
<!-- Listen for keyboard attachment / detachment -->
|
|
<uses-permission android:name="android.permission.TABLET_MODE" />
|
|
|
|
<!-- Self permission for internal broadcasts. -->
|
|
<permission android:name="com.android.systemui.permission.SELF"
|
|
android:protectionLevel="signature" />
|
|
<uses-permission android:name="com.android.systemui.permission.SELF" />
|
|
|
|
<permission android:name="com.android.systemui.permission.PLUGIN"
|
|
android:protectionLevel="signature" />
|
|
|
|
<!-- Adding Quick Settings tiles -->
|
|
<uses-permission android:name="android.permission.BIND_QUICK_SETTINGS_TILE" />
|
|
|
|
<!-- Access Quick Access Wallet cards -->
|
|
<uses-permission android:name="android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE" />
|
|
|
|
<!-- Adding Controls to SystemUI -->
|
|
<uses-permission android:name="android.permission.BIND_CONTROLS" />
|
|
<!-- Check foreground controls applications -->
|
|
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
|
|
|
|
<!-- Quick Settings tile: Night Mode / Dark Theme -->
|
|
<uses-permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE" />
|
|
|
|
<!-- Block notifications inline notifications -->
|
|
<uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
|
|
|
|
<!-- Access battery information -->
|
|
<uses-permission android:name="android.permission.BATTERY_STATS" />
|
|
|
|
<!-- DevicePolicyManager get user restrictions -->
|
|
<uses-permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" />
|
|
|
|
<!-- TV picture-in-picture -->
|
|
<uses-permission android:name="android.permission.RECEIVE_MEDIA_RESOURCE_USAGE" />
|
|
|
|
<!-- DND access -->
|
|
<uses-permission android:name="android.permission.MANAGE_NOTIFICATIONS" />
|
|
|
|
<!-- It's like, reality, but, you know, virtual -->
|
|
<uses-permission android:name="android.permission.ACCESS_VR_MANAGER" />
|
|
|
|
<!-- the ability to rename notifications posted by other apps -->
|
|
<uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
|
|
|
|
<!-- shortcut manager -->
|
|
<uses-permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING" />
|
|
|
|
<!-- launcher apps -->
|
|
<uses-permission android:name="android.permission.ACCESS_SHORTCUTS" />
|
|
|
|
<uses-permission android:name="android.permission.MODIFY_THEME_OVERLAY" />
|
|
|
|
<!-- accessibility -->
|
|
<uses-permission android:name="android.permission.MODIFY_ACCESSIBILITY_DATA" />
|
|
<uses-permission android:name="android.permission.MANAGE_ACCESSIBILITY" />
|
|
<uses-permission android:name="android.permission.ACT_AS_PACKAGE_FOR_ACCESSIBILITY" />
|
|
|
|
<!-- to control accessibility volume -->
|
|
<uses-permission android:name="android.permission.CHANGE_ACCESSIBILITY_VOLUME" />
|
|
|
|
<!-- to access ResolverRankerServices -->
|
|
<uses-permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE" />
|
|
|
|
<!-- to access instant apps -->
|
|
<uses-permission android:name="android.permission.ACCESS_INSTANT_APPS" />
|
|
|
|
<!-- to control remote app transitions -->
|
|
<uses-permission android:name="android.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS" />
|
|
|
|
<!-- to change themes - light or dark -->
|
|
<uses-permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES" />
|
|
|
|
<!-- Listen app op changes -->
|
|
<uses-permission android:name="android.permission.WATCH_APPOPS" />
|
|
|
|
<!-- to read and change hvac values in a car -->
|
|
<uses-permission android:name="android.car.permission.CONTROL_CAR_CLIMATE" />
|
|
|
|
<!-- Permission necessary to change car audio volume through CarAudioManager -->
|
|
<uses-permission android:name="android.car.permission.CAR_CONTROL_AUDIO_VOLUME" />
|
|
|
|
<!-- Permission to control Android Debug Bridge (ADB) -->
|
|
<uses-permission android:name="android.permission.MANAGE_DEBUGGING" />
|
|
|
|
<uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" />
|
|
|
|
<!-- Permission to change the display color -->
|
|
<uses-permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS" />
|
|
|
|
<!-- Query all packages on device on R+ -->
|
|
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
|
|
|
|
<!-- Permission to register process observer -->
|
|
<uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER"/>
|
|
|
|
<protected-broadcast android:name="com.android.settingslib.action.REGISTER_SLICE_RECEIVER" />
|
|
<protected-broadcast android:name="com.android.settingslib.action.UNREGISTER_SLICE_RECEIVER" />
|
|
<protected-broadcast android:name="com.android.settings.flashlight.action.FLASHLIGHT_CHANGED" />
|
|
|
|
<application
|
|
android:name=".SystemUIApplication"
|
|
android:persistent="true"
|
|
android:allowClearUserData="false"
|
|
android:backupAgent=".backup.BackupHelper"
|
|
android:killAfterRestore="false"
|
|
android:hardwareAccelerated="true"
|
|
android:label="@string/app_label"
|
|
android:icon="@drawable/icon"
|
|
android:process="com.android.systemui"
|
|
android:supportsRtl="true"
|
|
android:theme="@style/Theme.SystemUI"
|
|
android:defaultToDeviceProtectedStorage="true"
|
|
android:directBootAware="true"
|
|
tools:replace="android:appComponentFactory"
|
|
android:appComponentFactory=".SystemUIAppComponentFactory">
|
|
<!-- Keep theme in sync with SystemUIApplication.onCreate().
|
|
Setting the theme on the application does not affect views inflated by services.
|
|
The application theme is set again from onCreate to take effect for those views. -->
|
|
<meta-data android:name="com.google.android.backup.api_key" android:value="AEdPqrEAAAAIWTZsUG100coeb3xbEoTWKd3ZL3R79JshRDZfYQ" />
|
|
<!-- Broadcast receiver that gets the broadcast at boot time and starts
|
|
up everything else.
|
|
TODO: Should have an android:permission attribute
|
|
-->
|
|
<service android:name="SystemUIService"
|
|
android:exported="true"
|
|
/>
|
|
|
|
<!-- Service for dumping extremely verbose content during a bug report -->
|
|
<service android:name=".dump.SystemUIAuxiliaryDumpService"
|
|
android:exported="false"
|
|
android:permission="com.android.systemui.permission.SELF"
|
|
/>
|
|
|
|
<!-- On user switch, this service is started to ensure that the associated SystemUI
|
|
process for the current user is started. See the resource
|
|
"config_systemUIServiceComponentsPerUser".
|
|
-->
|
|
<service android:name="SystemUISecondaryUserService"
|
|
android:exported="false"
|
|
android:permission="com.android.systemui.permission.SELF" />
|
|
|
|
<!-- started from PhoneWindowManager
|
|
TODO: Should have an android:permission attribute -->
|
|
<service android:name=".screenshot.TakeScreenshotService"
|
|
android:process=":screenshot"
|
|
android:exported="false" />
|
|
|
|
<!-- Called from PhoneWindowManager -->
|
|
<receiver android:name=".screenshot.ScreenshotServiceErrorReceiver"
|
|
android:process=":screenshot"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="com.android.systemui.screenshot.SHOW_ERROR" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<activity android:name=".screenrecord.ScreenRecordDialog"
|
|
android:theme="@style/ScreenRecord"
|
|
android:excludeFromRecents="true" />
|
|
<service android:name=".screenrecord.RecordingService" />
|
|
|
|
<receiver android:name=".SysuiRestartReceiver"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="com.android.systemui.action.RESTART" />
|
|
|
|
<data android:scheme="package" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<service android:name=".ImageWallpaper"
|
|
android:permission="android.permission.BIND_WALLPAPER"
|
|
android:exported="true" />
|
|
|
|
<activity
|
|
android:name=".bubbles.BubbleOverflowActivity"
|
|
android:theme="@style/BubbleOverflow"
|
|
android:excludeFromRecents="true"
|
|
android:documentLaunchMode="always"
|
|
android:resizeableActivity="true">
|
|
</activity>
|
|
|
|
<activity android:name=".tuner.TunerActivity"
|
|
android:enabled="false"
|
|
android:icon="@drawable/tuner"
|
|
android:theme="@style/TunerSettings"
|
|
android:label="@string/system_ui_tuner"
|
|
android:process=":tuner"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="com.android.settings.action.EXTRA_SETTINGS" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
<meta-data android:name="com.android.settings.category"
|
|
android:value="com.android.settings.category.ia.system" />
|
|
<meta-data android:name="com.android.settings.summary"
|
|
android:resource="@string/summary_empty"/>
|
|
</activity>
|
|
|
|
<activity-alias android:name=".DemoMode"
|
|
android:targetActivity=".tuner.TunerActivity"
|
|
android:icon="@drawable/tuner"
|
|
android:theme="@style/TunerSettings"
|
|
android:label="@string/demo_mode"
|
|
android:process=":tuner"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="com.android.settings.action.DEMO_MODE" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity-alias>
|
|
|
|
<activity
|
|
android:name=".stackdivider.ForcedResizableInfoActivity"
|
|
android:theme="@style/ForcedResizableTheme"
|
|
android:excludeFromRecents="true"
|
|
android:stateNotNeeded="true"
|
|
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout"
|
|
android:exported="false">
|
|
</activity>
|
|
|
|
<!-- Springboard for launching the share and edit activity. This needs to be in the main
|
|
system ui process since we need to notify the status bar to dismiss the keyguard -->
|
|
<receiver android:name=".screenshot.GlobalScreenshot$ActionProxyReceiver"
|
|
android:exported="false" />
|
|
|
|
<!-- Callback for dismissing screenshot notification after a share target is picked -->
|
|
<receiver android:name=".screenshot.GlobalScreenshot$TargetChosenReceiver"
|
|
android:exported="false" />
|
|
|
|
<!-- Callback for deleting screenshot notification -->
|
|
<receiver android:name=".screenshot.GlobalScreenshot$DeleteScreenshotReceiver"
|
|
android:exported="false" />
|
|
|
|
<!-- Callback for invoking a smart action from the screenshot notification. -->
|
|
<receiver android:name=".screenshot.GlobalScreenshot$SmartActionsReceiver"
|
|
android:exported="false"/>
|
|
|
|
<!-- started from UsbDeviceSettingsManager -->
|
|
<activity android:name=".usb.UsbConfirmActivity"
|
|
android:exported="true"
|
|
android:permission="android.permission.MANAGE_USB"
|
|
android:theme="@style/Theme.SystemUI.Dialog.Alert"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:excludeFromRecents="true">
|
|
</activity>
|
|
|
|
<!-- started from UsbDeviceSettingsManager -->
|
|
<activity android:name=".usb.UsbPermissionActivity"
|
|
android:exported="true"
|
|
android:permission="android.permission.MANAGE_USB"
|
|
android:theme="@style/Theme.SystemUI.Dialog.Alert"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:excludeFromRecents="true">
|
|
</activity>
|
|
|
|
<!-- started from UsbDeviceSettingsManager -->
|
|
<activity android:name=".usb.UsbResolverActivity"
|
|
android:exported="true"
|
|
android:permission="android.permission.MANAGE_USB"
|
|
android:theme="@style/Theme.SystemUI.Dialog.Alert"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:excludeFromRecents="true">
|
|
</activity>
|
|
|
|
<!-- started from UsbDeviceSettingsManager -->
|
|
<activity android:name=".usb.UsbAccessoryUriActivity"
|
|
android:exported="true"
|
|
android:permission="android.permission.MANAGE_USB"
|
|
android:theme="@style/Theme.SystemUI.Dialog.Alert"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:excludeFromRecents="true">
|
|
</activity>
|
|
|
|
<!-- started from UsbPortManager -->
|
|
<activity android:name=".usb.UsbContaminantActivity"
|
|
android:exported="true"
|
|
android:permission="android.permission.MANAGE_USB"
|
|
android:theme="@style/Theme.SystemUI.Dialog.Alert"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:excludeFromRecents="true">
|
|
</activity>
|
|
|
|
<!-- started from AdbDebuggingManager -->
|
|
<activity android:name=".usb.UsbDebuggingActivity"
|
|
android:permission="android.permission.MANAGE_DEBUGGING"
|
|
android:theme="@style/Theme.SystemUI.Dialog.Alert"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:excludeFromRecents="true">
|
|
</activity>
|
|
<activity-alias
|
|
android:name=".UsbDebuggingActivityAlias"
|
|
android:permission="android.permission.DUMP"
|
|
android:targetActivity=".usb.UsbDebuggingActivity"
|
|
android:exported="true">
|
|
</activity-alias>
|
|
<activity android:name=".usb.UsbDebuggingSecondaryUserActivity"
|
|
android:theme="@style/Theme.SystemUI.Dialog.Alert"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:excludeFromRecents="true">
|
|
</activity>
|
|
|
|
<!-- started from WirelessDebuggingManager -->
|
|
<activity android:name=".wifi.WifiDebuggingActivity"
|
|
android:permission="android.permission.MANAGE_DEBUGGING"
|
|
android:theme="@style/Theme.SystemUI.Dialog.Alert"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:excludeFromRecents="true">
|
|
</activity>
|
|
<activity-alias
|
|
android:name=".WifiDebuggingActivityAlias"
|
|
android:permission="android.permission.DUMP"
|
|
android:targetActivity=".wifi.WifiDebuggingActivity"
|
|
android:exported="true">
|
|
</activity-alias>
|
|
<activity android:name=".wifi.WifiDebuggingSecondaryUserActivity"
|
|
android:theme="@style/Theme.SystemUI.Dialog.Alert"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:excludeFromRecents="true">
|
|
</activity>
|
|
|
|
<!-- started from NetworkPolicyManagerService -->
|
|
<activity
|
|
android:name=".net.NetworkOverLimitActivity"
|
|
android:exported="true"
|
|
android:permission="android.permission.MANAGE_NETWORK_POLICY"
|
|
android:theme="@android:style/Theme.DeviceDefault.Light.Panel"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:launchMode="singleTop"
|
|
android:taskAffinity="com.android.systemui.net"
|
|
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
|
|
android:excludeFromRecents="true" />
|
|
|
|
<!-- started from MediaProjectionManager -->
|
|
<activity
|
|
android:name=".media.MediaProjectionPermissionActivity"
|
|
android:exported="true"
|
|
android:theme="@style/Theme.SystemUI.MediaProjectionAlertDialog"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:launchMode="singleTop"
|
|
android:excludeFromRecents="true"
|
|
android:visibleToInstantApps="true"/>
|
|
|
|
<!-- started from PipUI -->
|
|
<activity
|
|
android:name=".pip.tv.PipMenuActivity"
|
|
android:permission="com.android.systemui.permission.SELF"
|
|
android:exported="false"
|
|
android:theme="@style/PipTheme"
|
|
android:launchMode="singleTop"
|
|
android:taskAffinity=""
|
|
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|locale|layoutDirection"
|
|
android:resizeableActivity="true"
|
|
android:supportsPictureInPicture="true"
|
|
androidprv:alwaysFocusable="true"
|
|
android:excludeFromRecents="true" />
|
|
|
|
<activity
|
|
android:name=".pip.phone.PipMenuActivity"
|
|
android:permission="com.android.systemui.permission.SELF"
|
|
android:theme="@style/PipPhoneOverlayControlTheme"
|
|
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout"
|
|
android:excludeFromRecents="true"
|
|
android:exported="false"
|
|
android:resizeableActivity="true"
|
|
android:supportsPictureInPicture="true"
|
|
android:stateNotNeeded="true"
|
|
android:taskAffinity=""
|
|
android:launchMode="singleTop"
|
|
androidprv:alwaysFocusable="true" />
|
|
|
|
<!-- started from SliceProvider -->
|
|
<activity android:name=".SlicePermissionActivity"
|
|
android:theme="@style/Theme.SystemUI.Dialog.Alert"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:excludeFromRecents="true">
|
|
<intent-filter>
|
|
<action android:name="com.android.intent.action.REQUEST_SLICE_PERMISSION" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<!-- platform logo easter egg activity -->
|
|
<activity
|
|
android:name=".DessertCase"
|
|
android:exported="true"
|
|
android:label="@string/dessert_case"
|
|
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
|
|
android:launchMode="singleInstance"
|
|
android:screenOrientation="locked"
|
|
android:process=":sweetsweetdesserts"
|
|
android:excludeFromRecents="true">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity android:name=".egg.MLandActivity"
|
|
android:theme="@android:style/Theme.Material.NoActionBar"
|
|
android:exported="true"
|
|
android:icon="@drawable/icon"
|
|
android:label="@string/mland"
|
|
android:launchMode="singleInstance"
|
|
android:screenOrientation="locked"
|
|
android:process=":sweetsweetdesserts"
|
|
android:excludeFromRecents="true">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN"/>
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<!-- a gallery of delicious treats -->
|
|
<service
|
|
android:name=".DessertCaseDream"
|
|
android:exported="true"
|
|
android:label="@string/dessert_case"
|
|
android:permission="android.permission.BIND_DREAM_SERVICE"
|
|
android:enabled="false"
|
|
android:process=":sweetsweetdesserts"
|
|
>
|
|
<intent-filter>
|
|
<action android:name="android.service.dreams.DreamService" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service
|
|
android:name=".keyguard.KeyguardService"
|
|
android:exported="true"
|
|
android:enabled="@bool/config_enableKeyguardService" />
|
|
|
|
<activity android:name=".keyguard.WorkLockActivity"
|
|
android:label="@string/accessibility_desc_work_lock"
|
|
android:permission="android.permission.MANAGE_USERS"
|
|
android:exported="false"
|
|
android:excludeFromRecents="true"
|
|
android:stateNotNeeded="true"
|
|
android:resumeWhilePausing="true"
|
|
android:theme="@android:style/Theme.Black.NoTitleBar">
|
|
<intent-filter>
|
|
<action android:name="android.app.action.CONFIRM_DEVICE_CREDENTIAL_WITH_USER" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity android:name=".Somnambulator"
|
|
android:label="@string/start_dreams"
|
|
android:icon="@mipmap/ic_launcher_dreams"
|
|
android:theme="@android:style/Theme.Wallpaper.NoTitleBar"
|
|
android:exported="true"
|
|
android:excludeFromRecents="true"
|
|
>
|
|
<!--
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.CREATE_SHORTCUT" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
-->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.DESK_DOCK" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".settings.BrightnessDialog"
|
|
android:label="@string/quick_settings_brightness_dialog_title"
|
|
android:theme="@*android:style/Theme.DeviceDefault.QuickSettings.Dialog"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:launchMode="singleInstance"
|
|
android:excludeFromRecents="true"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<action android:name="com.android.intent.action.SHOW_BRIGHTNESS_DIALOG" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity android:name=".ForegroundServicesDialog"
|
|
android:process=":fgservices"
|
|
android:excludeFromRecents="true"
|
|
android:launchMode="singleTop"
|
|
android:theme="@*android:style/Theme.DeviceDefault.Settings.Dialog">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.settings.FOREGROUND_SERVICES_SETTINGS" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity android:name=".chooser.ChooserActivity"
|
|
android:theme="@*android:style/Theme.NoDisplay"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:excludeFromRecents="true"
|
|
android:documentLaunchMode="never"
|
|
android:relinquishTaskIdentity="true"
|
|
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
|
|
android:process=":ui"
|
|
android:visibleToInstantApps="true">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.CHOOSER" />
|
|
<category android:name="android.intent.category.VOICE" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity android:name=".controls.management.ControlsProviderSelectorActivity"
|
|
android:label="@string/controls_providers_title"
|
|
android:theme="@style/Theme.ControlsManagement"
|
|
android:showForAllUsers="true"
|
|
android:clearTaskOnLaunch="true"
|
|
android:excludeFromRecents="true"
|
|
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
|
|
android:visibleToInstantApps="true">
|
|
</activity>
|
|
|
|
<activity android:name=".controls.management.ControlsEditingActivity"
|
|
android:theme="@style/Theme.ControlsManagement"
|
|
android:excludeFromRecents="true"
|
|
android:showForAllUsers="true"
|
|
android:finishOnTaskLaunch="true"
|
|
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
|
|
android:visibleToInstantApps="true">
|
|
</activity>
|
|
|
|
<activity android:name=".controls.management.ControlsFavoritingActivity"
|
|
android:theme="@style/Theme.ControlsManagement"
|
|
android:excludeFromRecents="true"
|
|
android:showForAllUsers="true"
|
|
android:finishOnTaskLaunch="true"
|
|
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
|
|
android:visibleToInstantApps="true">
|
|
</activity>
|
|
|
|
<receiver android:name=".controls.management.ControlsRequestReceiver">
|
|
<intent-filter>
|
|
<action android:name="android.service.controls.action.ADD_CONTROL" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<service android:name=".controls.controller.AuxiliaryPersistenceWrapper$DeletionJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE"/>
|
|
|
|
<!-- started from ControlsFavoritingActivity -->
|
|
<activity
|
|
android:name=".controls.management.ControlsRequestDialog"
|
|
android:exported="true"
|
|
android:theme="@style/Theme.ControlsRequestDialog"
|
|
android:finishOnCloseSystemDialogs="true"
|
|
android:showForAllUsers="true"
|
|
android:clearTaskOnLaunch="true"
|
|
android:launchMode="singleTask"
|
|
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
|
|
android:excludeFromRecents="true"
|
|
android:visibleToInstantApps="true"/>
|
|
|
|
<!-- Doze with notifications, run in main sysui process for every user -->
|
|
<service
|
|
android:name=".doze.DozeService"
|
|
android:exported="true"
|
|
android:singleUser="true"
|
|
android:permission="android.permission.BIND_DREAM_SERVICE" />
|
|
|
|
<receiver
|
|
android:name=".tuner.TunerService$ClearReceiver"
|
|
android:exported="false">
|
|
<intent-filter>
|
|
<action android:name="com.android.systemui.action.CLEAR_TUNER" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<provider
|
|
android:name="androidx.core.content.FileProvider"
|
|
android:authorities="com.android.systemui.fileprovider"
|
|
android:exported="false"
|
|
android:grantUriPermissions="true">
|
|
<meta-data
|
|
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
android:resource="@xml/fileprovider" />
|
|
</provider>
|
|
|
|
<provider android:name=".keyguard.KeyguardSliceProvider"
|
|
android:authorities="com.android.systemui.keyguard"
|
|
android:grantUriPermissions="true"
|
|
android:exported="true">
|
|
</provider>
|
|
|
|
<!-- Provides list and realistic previews of clock faces for the picker app. -->
|
|
<provider
|
|
android:name="com.android.keyguard.clock.ClockOptionsProvider"
|
|
android:authorities="com.android.keyguard.clock"
|
|
android:exported="true"
|
|
android:grantUriPermissions="true">
|
|
</provider>
|
|
|
|
<receiver
|
|
android:name=".statusbar.KeyboardShortcutsReceiver">
|
|
<intent-filter>
|
|
<action android:name="com.android.intent.action.DISMISS_KEYBOARD_SHORTCUTS" />
|
|
<action android:name="com.android.intent.action.SHOW_KEYBOARD_SHORTCUTS" />
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
</application>
|
|
</manifest>
|