From 56c69dab05a2dbc00c21e13ad982ffbaf91b4527 Mon Sep 17 00:00:00 2001 From: Matt Sziklay Date: Wed, 25 Jan 2023 18:11:06 +0000 Subject: [PATCH] Update caption handle menu to new spec. Updates caption menu to new spec which includes app icon and name, windowing options, and miscellaneous options. Still to be implemented are screenshot, select, split screen, and floating window button onClick events. Bug: 265203860 Test: Manual testing. Confirm caption menu matches Proto 2 spec and Proto 1 is unaffected. Test: atest WindowDecorationTests Change-Id: Id20d6b0fd1cd77892eecc9e61d9ba3376458044a --- .../res/drawable/caption_close_button.xml | 30 +++ .../drawable/caption_collapse_menu_button.xml | 30 +++ .../drawable/caption_screenshot_button.xml | 30 +++ .../res/drawable/caption_select_button.xml | 30 +++ .../Shell/res/drawable/decor_handle_dark.xml | 5 +- .../desktop_mode_decor_menu_background.xml | 1 + .../res/drawable/desktop_mode_decor_title.xml | 2 + .../layout/desktop_mode_decor_handle_menu.xml | 172 +++++++++++++----- .../res/layout/desktop_mode_window_decor.xml | 11 ++ libs/WindowManager/Shell/res/values/dimen.xml | 4 + .../Shell/res/values/strings.xml | 10 + .../WindowManager/Shell/res/values/styles.xml | 16 ++ .../DesktopModeWindowDecorViewModel.java | 17 +- .../DesktopModeWindowDecoration.java | 114 +++++++++--- .../shell/windowdecor/WindowDecoration.java | 9 +- .../windowdecor/WindowDecorationTests.java | 4 +- 16 files changed, 408 insertions(+), 77 deletions(-) create mode 100644 libs/WindowManager/Shell/res/drawable/caption_close_button.xml create mode 100644 libs/WindowManager/Shell/res/drawable/caption_collapse_menu_button.xml create mode 100644 libs/WindowManager/Shell/res/drawable/caption_screenshot_button.xml create mode 100644 libs/WindowManager/Shell/res/drawable/caption_select_button.xml diff --git a/libs/WindowManager/Shell/res/drawable/caption_close_button.xml b/libs/WindowManager/Shell/res/drawable/caption_close_button.xml new file mode 100644 index 0000000000000..e258564c70f7f --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/caption_close_button.xml @@ -0,0 +1,30 @@ + + + + + + + diff --git a/libs/WindowManager/Shell/res/drawable/caption_collapse_menu_button.xml b/libs/WindowManager/Shell/res/drawable/caption_collapse_menu_button.xml new file mode 100644 index 0000000000000..166552dcb9e83 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/caption_collapse_menu_button.xml @@ -0,0 +1,30 @@ + + + + + + + diff --git a/libs/WindowManager/Shell/res/drawable/caption_screenshot_button.xml b/libs/WindowManager/Shell/res/drawable/caption_screenshot_button.xml new file mode 100644 index 0000000000000..7c86888f52263 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/caption_screenshot_button.xml @@ -0,0 +1,30 @@ + + + + + + + diff --git a/libs/WindowManager/Shell/res/drawable/caption_select_button.xml b/libs/WindowManager/Shell/res/drawable/caption_select_button.xml new file mode 100644 index 0000000000000..8c60c84071743 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/caption_select_button.xml @@ -0,0 +1,30 @@ + + + + + + + diff --git a/libs/WindowManager/Shell/res/drawable/decor_handle_dark.xml b/libs/WindowManager/Shell/res/drawable/decor_handle_dark.xml index c9f262398f683..27e0b184f4275 100644 --- a/libs/WindowManager/Shell/res/drawable/decor_handle_dark.xml +++ b/libs/WindowManager/Shell/res/drawable/decor_handle_dark.xml @@ -17,9 +17,10 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24" - android:viewportHeight="24"> + android:viewportHeight="24" + android:tint="@color/decor_button_dark_color"> + android:fillColor="@android:color/white" android:pathData="M3,5V3H21V5Z"/> diff --git a/libs/WindowManager/Shell/res/drawable/desktop_mode_decor_menu_background.xml b/libs/WindowManager/Shell/res/drawable/desktop_mode_decor_menu_background.xml index 416287d2cbb33..9167382d08982 100644 --- a/libs/WindowManager/Shell/res/drawable/desktop_mode_decor_menu_background.xml +++ b/libs/WindowManager/Shell/res/drawable/desktop_mode_decor_menu_background.xml @@ -18,4 +18,5 @@ xmlns:android="http://schemas.android.com/apk/res/android"> + diff --git a/libs/WindowManager/Shell/res/drawable/desktop_mode_decor_title.xml b/libs/WindowManager/Shell/res/drawable/desktop_mode_decor_title.xml index 53a8bb18537cf..ef30060422618 100644 --- a/libs/WindowManager/Shell/res/drawable/desktop_mode_decor_title.xml +++ b/libs/WindowManager/Shell/res/drawable/desktop_mode_decor_title.xml @@ -15,6 +15,8 @@ ~ limitations under the License. --> diff --git a/libs/WindowManager/Shell/res/layout/desktop_mode_decor_handle_menu.xml b/libs/WindowManager/Shell/res/layout/desktop_mode_decor_handle_menu.xml index 8b4792acba3e0..f6e3f2edfa149 100644 --- a/libs/WindowManager/Shell/res/layout/desktop_mode_decor_handle_menu.xml +++ b/libs/WindowManager/Shell/res/layout/desktop_mode_decor_handle_menu.xml @@ -1,49 +1,129 @@ - + -