This change is cherry-picked and rebased from AOSP https://android-review.googlesource.com/c/platform/frameworks/base/+/660242 Add face recognition as an identification method, following fingerprint design. Unlike fingerprint, only one face template can be enrolled per user, and a vendor message is passed from the HAL all the way to the client callback to allow GUI indication about the enrolled face templates. Add FaceAuthenticationManager and FaceService. Add face authentication capability to TrustManager and Keyguard. Modify TrustManager and KeyguardUpdateMonitorCallback fingerprint code to support generic biometric method to eliminate duplications. Add BiometricSourceType enum to keep track of the specific biometric method. Test: biometric authentication still works on the device Fixes: 110385761 Change-Id: I5d04fe69a112c13d3ef7330b9c08c146e36c5335 Signed-off-by: Gilad Bretter <gilad.bretter@intel.com>
623 lines
29 KiB
XML
623 lines
29 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"
|
|
coreApp="true">
|
|
|
|
<!-- SysUI must be the one to define this permission; its name is
|
|
referenced by the core OS. -->
|
|
<permission android:name="android.permission.systemui.IDENTITY"
|
|
android:protectionLevel="signature" />
|
|
|
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
|
<!-- Used to read storage for all users -->
|
|
<uses-permission android:name="android.permission.WRITE_MEDIA_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.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" />
|
|
|
|
<!-- 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.CONNECTIVITY_INTERNAL" />
|
|
<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" />
|
|
|
|
<!-- 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.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_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" />
|
|
|
|
<!-- 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" />
|
|
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
|
<uses-permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT" />
|
|
<uses-permission android:name="android.permission.MANAGE_SLICE_PERMISSIONS" />
|
|
|
|
<!-- Needed for WallpaperManager.clear in ImageWallpaper.updateWallpaperLocked -->
|
|
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
|
|
|
|
<!-- Recents -->
|
|
<uses-permission android:name="android.permission.BIND_APPWIDGET" />
|
|
|
|
<!-- Wifi Display -->
|
|
<uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" />
|
|
|
|
<uses-permission android:name="android.permission.CAMERA" />
|
|
|
|
<!-- Screen Capturing -->
|
|
<uses-permission android:name="android.permission.MANAGE_MEDIA_PROJECTION" />
|
|
|
|
<!-- 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" />
|
|
|
|
<!-- 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" />
|
|
|
|
<uses-permission android:name="android.permission.MODIFY_THEME_OVERLAY" />
|
|
|
|
<!-- accessibility -->
|
|
<uses-permission android:name="android.permission.MODIFY_ACCESSIBILITY_DATA" />
|
|
|
|
<!-- 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" />
|
|
|
|
<uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" />
|
|
|
|
<protected-broadcast android:name="com.android.settingslib.action.REGISTER_SLICE_RECEIVER" />
|
|
<protected-broadcast android:name="com.android.settingslib.action.UNREGISTER_SLICE_RECEIVER" />
|
|
|
|
<application
|
|
android:name=".SystemUIApplication"
|
|
android:persistent="true"
|
|
android:allowClearUserData="false"
|
|
android:allowBackup="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"
|
|
android:appComponentFactory="androidx.core.app.CoreComponentFactory">
|
|
<!-- 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. -->
|
|
|
|
<!-- 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"
|
|
/>
|
|
|
|
<!-- Recents depends on every user having their own SystemUI process, so on user switch,
|
|
ensure that the process is created by starting this service.
|
|
-->
|
|
<service android:name="SystemUISecondaryUserService"
|
|
android:exported="true"
|
|
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>
|
|
|
|
<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=".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>
|
|
|
|
<!-- Service used by secondary users to register themselves with the system user. -->
|
|
<service android:name=".recents.RecentsSystemUserService"
|
|
android:exported="false"
|
|
android:permission="com.android.systemui.permission.SELF" />
|
|
|
|
<!-- Alternate Recents -->
|
|
<activity android:name=".recents.RecentsActivity"
|
|
android:label="@string/accessibility_desc_recent_apps"
|
|
android:exported="false"
|
|
android:launchMode="singleInstance"
|
|
android:excludeFromRecents="true"
|
|
android:stateNotNeeded="true"
|
|
android:resumeWhilePausing="true"
|
|
android:resizeableActivity="true"
|
|
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|keyboard|keyboardHidden"
|
|
android:theme="@style/RecentsTheme.Wallpaper">
|
|
<intent-filter>
|
|
<action android:name="com.android.systemui.recents.TOGGLE_RECENTS" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<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 activity -->
|
|
<receiver android:name=".screenshot.GlobalScreenshot$ScreenshotActionReceiver"
|
|
android:process=":screenshot"
|
|
android:exported="false" />
|
|
|
|
<!-- Callback for dismissing screenshot notification after a share target is picked -->
|
|
<receiver android:name=".screenshot.GlobalScreenshot$TargetChosenReceiver"
|
|
android:process=":screenshot"
|
|
android:exported="false" />
|
|
|
|
<!-- Callback for deleting screenshot notification -->
|
|
<receiver android:name=".screenshot.GlobalScreenshot$DeleteScreenshotReceiver"
|
|
android:process=":screenshot"
|
|
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 UsbDebuggingManager -->
|
|
<activity android:name=".usb.UsbDebuggingActivity"
|
|
android:permission="android.permission.MANAGE_USB"
|
|
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 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.AlertDialogHost"
|
|
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>
|
|
|
|
<!-- 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>
|
|
|
|
<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>
|