From 1f6bb02a6391a13d13fa6416301f6cb6a555cb0e Mon Sep 17 00:00:00 2001 From: Evan Severson Date: Wed, 13 Oct 2021 14:58:37 -0700 Subject: [PATCH] Implement Task Manager UI This adds the dialog and a quicksettings tile entrypoint to show the user apps which have foreground services running. TODOs: Use security footer instead of quicksettings tile Implement the missing UX of the stopped FGS Tests Test: atest SysetmUITests Bug: 201579707 Change-Id: I2185a22b789404b97e98a16c11c0a296159ddd89 --- .../sysui/SystemUiDeviceConfigFlags.java | 5 + packages/SystemUI/res/drawable/ic_list.xml | 42 +++++ .../res/layout/fgs_manager_app_item.xml | 57 ++++++ packages/SystemUI/res/values/config.xml | 2 +- packages/SystemUI/res/values/dimens.xml | 2 + packages/SystemUI/res/values/strings.xml | 5 + packages/SystemUI/res/values/styles.xml | 10 + .../res/values/tiles_states_strings.xml | 10 + .../systemui/fgsmanager/FgsManagerDialog.kt | 141 +++++++++++++++ .../fgsmanager/FgsManagerDialogController.kt | 151 ++++++++++++++++ .../fgsmanager/FgsManagerDialogFactory.kt | 63 +++++++ .../android/systemui/qs/dagger/QSModule.java | 7 + .../systemui/qs/tileimpl/QSFactoryImpl.java | 8 +- .../systemui/qs/tileimpl/QSTileViewImpl.kt | 3 +- .../systemui/qs/tiles/FgsManagerTile.kt | 96 ++++++++++ .../statusbar/policy/RunningFgsController.kt | 52 ++++++ .../policy/RunningFgsControllerImpl.kt | 171 ++++++++++++++++++ 17 files changed, 822 insertions(+), 3 deletions(-) create mode 100644 packages/SystemUI/res/drawable/ic_list.xml create mode 100644 packages/SystemUI/res/layout/fgs_manager_app_item.xml create mode 100644 packages/SystemUI/src/com/android/systemui/fgsmanager/FgsManagerDialog.kt create mode 100644 packages/SystemUI/src/com/android/systemui/fgsmanager/FgsManagerDialogController.kt create mode 100644 packages/SystemUI/src/com/android/systemui/fgsmanager/FgsManagerDialogFactory.kt create mode 100644 packages/SystemUI/src/com/android/systemui/qs/tiles/FgsManagerTile.kt create mode 100644 packages/SystemUI/src/com/android/systemui/statusbar/policy/RunningFgsController.kt create mode 100644 packages/SystemUI/src/com/android/systemui/statusbar/policy/RunningFgsControllerImpl.kt diff --git a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java index bff813e82b1f7..6a6f60e967c18 100644 --- a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java +++ b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java @@ -512,6 +512,11 @@ public final class SystemUiDeviceConfigFlags { */ public static final String DEFAULT_QR_CODE_SCANNER = "default_qr_code_scanner"; + /** + * (boolean) Whether the task manager entrypoint is enabled. + */ + public static final String TASK_MANAGER_ENABLED = "task_manager_enabled"; + private SystemUiDeviceConfigFlags() { } } diff --git a/packages/SystemUI/res/drawable/ic_list.xml b/packages/SystemUI/res/drawable/ic_list.xml new file mode 100644 index 0000000000000..7ef52991234ae --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_list.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + diff --git a/packages/SystemUI/res/layout/fgs_manager_app_item.xml b/packages/SystemUI/res/layout/fgs_manager_app_item.xml new file mode 100644 index 0000000000000..d034f4e512a31 --- /dev/null +++ b/packages/SystemUI/res/layout/fgs_manager_app_item.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + +