From 266e5aa1755270321819fec160f6c1dac5cb6531 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). 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 SystemUITests Bug: 185360864 Bug: 198796184 Change-Id: I903d111822d1958fb53c43932b2df1393c841c71 Merged-In: I903d111822d1958fb53c43932b2df1393c841c71 Merged-In: I624169c76e4c9efa30d922235616190666ae949e Merged-In: I2b4082dd65f06d2d08706ac3db017ac1495aefed --- .../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/strings.xml | 3 + 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 | 35 ++- .../KeyguardQsUserSwitchController.java | 16 +- .../systemui/qs/user/UserDialogTest.kt | 62 ++++++ .../qs/user/UserSwitchDialogControllerTest.kt | 203 ++++++++++++++++++ 19 files changed, 765 insertions(+), 13 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..321fe68e2f131 --- /dev/null +++ b/packages/SystemUI/res/layout/qs_user_dialog_content.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + +