From e7401754295844df2b7e10f953160d96b2546a3a Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Fri, 27 Aug 2021 14:20:29 -0400 Subject: [PATCH] New user switcher dialog This dialog will eventually replace the UserDetailView. Right now, it uses the same adapter to display the content (which is not necessarily bad). To enable: 1. `adb shell setprop persist.systemui.flag_new_user_switcher 1` 2. `adb shell am crash com.android.systemui` Missing: * Red lines (including landscape size). * Bring user circles up to spec (once it's finalized). * Launch animations (to and from dialog). Test: manual Test: atest UserSwitchDialogControllerTest UserDialogTest Bug: 185360864 Change-Id: I903d111822d1958fb53c43932b2df1393c841c71 --- .../SystemUI/res/color/prv_color_surface.xml | 20 ++ .../res/color/prv_text_color_on_accent.xml | 20 ++ .../res/drawable/qs_dialog_btn_filled.xml | 39 ++++ .../res/drawable/qs_dialog_btn_outline.xml | 42 ++++ .../res/layout/qs_user_dialog_content.xml | 89 ++++++++ packages/SystemUI/res/values/attrs.xml | 1 + packages/SystemUI/res/values/dimens.xml | 5 + packages/SystemUI/res/values/flags.xml | 2 + packages/SystemUI/res/values/styles.xml | 33 +++ .../android/systemui/flags/FeatureFlags.java | 7 + .../android/systemui/qs/PseudoGridView.java | 14 +- .../systemui/qs/tiles/UserDetailView.java | 14 ++ .../android/systemui/qs/user/UserDialog.kt | 86 ++++++++ .../qs/user/UserSwitchDialogController.kt | 87 ++++++++ .../phone/MultiUserSwitchController.java | 25 ++- .../KeyguardQsUserSwitchController.java | 16 +- .../systemui/qs/user/UserDialogTest.kt | 62 ++++++ .../qs/user/UserSwitchDialogControllerTest.kt | 203 ++++++++++++++++++ 18 files changed, 754 insertions(+), 11 deletions(-) create mode 100644 packages/SystemUI/res/color/prv_color_surface.xml create mode 100644 packages/SystemUI/res/color/prv_text_color_on_accent.xml create mode 100644 packages/SystemUI/res/drawable/qs_dialog_btn_filled.xml create mode 100644 packages/SystemUI/res/drawable/qs_dialog_btn_outline.xml create mode 100644 packages/SystemUI/res/layout/qs_user_dialog_content.xml create mode 100644 packages/SystemUI/src/com/android/systemui/qs/user/UserDialog.kt create mode 100644 packages/SystemUI/src/com/android/systemui/qs/user/UserSwitchDialogController.kt create mode 100644 packages/SystemUI/tests/src/com/android/systemui/qs/user/UserDialogTest.kt create mode 100644 packages/SystemUI/tests/src/com/android/systemui/qs/user/UserSwitchDialogControllerTest.kt diff --git a/packages/SystemUI/res/color/prv_color_surface.xml b/packages/SystemUI/res/color/prv_color_surface.xml new file mode 100644 index 0000000000000..b9d016c46ba0c --- /dev/null +++ b/packages/SystemUI/res/color/prv_color_surface.xml @@ -0,0 +1,20 @@ + + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/color/prv_text_color_on_accent.xml b/packages/SystemUI/res/color/prv_text_color_on_accent.xml new file mode 100644 index 0000000000000..9f44acadb420c --- /dev/null +++ b/packages/SystemUI/res/color/prv_text_color_on_accent.xml @@ -0,0 +1,20 @@ + + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/drawable/qs_dialog_btn_filled.xml b/packages/SystemUI/res/drawable/qs_dialog_btn_filled.xml new file mode 100644 index 0000000000000..1a128dfe8b109 --- /dev/null +++ b/packages/SystemUI/res/drawable/qs_dialog_btn_filled.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + diff --git a/packages/SystemUI/res/drawable/qs_dialog_btn_outline.xml b/packages/SystemUI/res/drawable/qs_dialog_btn_outline.xml new file mode 100644 index 0000000000000..467c20f3ffcd0 --- /dev/null +++ b/packages/SystemUI/res/drawable/qs_dialog_btn_outline.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/packages/SystemUI/res/layout/qs_user_dialog_content.xml b/packages/SystemUI/res/layout/qs_user_dialog_content.xml new file mode 100644 index 0000000000000..377da45d0ffdf --- /dev/null +++ b/packages/SystemUI/res/layout/qs_user_dialog_content.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + +