From 145b2a2c48d20a316919347f9a5916460cd847fa Mon Sep 17 00:00:00 2001 From: Jorge Gil Date: Thu, 23 Mar 2023 23:41:37 +0000 Subject: [PATCH] Implement new handle menu UI Updates the handle menu to the newest spec. The menu is now divided into three floating windows so three windowless windows associated with the window decoration are created. Menu in proto 2 (fullscreen): https://screenshot.googleplex.com/4KGBDtRZ9mRedTS.png Menu in proto 2 (desktop): https://screenshot.googleplex.com/5DhrrPavNSSKrbH.png Menu in proto 1: https://screenshot.googleplex.com/6GyUqpJGKdPt2MX.png Bug: 274630524 Test: proto1/proto2 - open handle menu, see new UI, test buttons still work Change-Id: I9157ec0223cd1077dd3ae24cb39e535289775557 --- .../res/drawable/caption_desktop_button.xml | 31 --- .../res/drawable/caption_floating_button.xml | 31 --- .../drawable/caption_fullscreen_button.xml | 31 --- .../res/drawable/caption_more_button.xml | 31 --- .../res/drawable/caption_select_button.xml | 30 --- .../drawable/caption_split_screen_button.xml | 28 --- .../desktop_mode_decor_menu_background.xml | 3 +- ... => desktop_mode_ic_handle_menu_close.xml} | 20 +- .../desktop_mode_ic_handle_menu_desktop.xml | 26 ++ ... desktop_mode_ic_handle_menu_floating.xml} | 20 +- ...esktop_mode_ic_handle_menu_fullscreen.xml} | 20 +- ...desktop_mode_ic_handle_menu_screenshot.xml | 34 +++ .../desktop_mode_ic_handle_menu_select.xml | 25 ++ ...esktop_mode_ic_handle_menu_splitscreen.xml | 26 ++ ...desktop_mode_app_controls_window_decor.xml | 2 +- .../layout/desktop_mode_decor_handle_menu.xml | 136 ---------- ...window_decor_handle_menu_app_info_pill.xml | 57 +++++ ...ow_decor_handle_menu_more_actions_pill.xml | 47 ++++ ...indow_decor_handle_menu_windowing_pill.xml | 62 +++++ .../WindowManager/Shell/res/values/colors.xml | 3 + libs/WindowManager/Shell/res/values/dimen.xml | 36 ++- .../Shell/res/values/strings.xml | 2 + .../WindowManager/Shell/res/values/styles.xml | 34 +-- .../DesktopModeWindowDecoration.java | 237 +++++++++++++----- .../windowdecor/WindowDecorationTests.java | 2 +- 25 files changed, 529 insertions(+), 445 deletions(-) delete mode 100644 libs/WindowManager/Shell/res/drawable/caption_desktop_button.xml delete mode 100644 libs/WindowManager/Shell/res/drawable/caption_floating_button.xml delete mode 100644 libs/WindowManager/Shell/res/drawable/caption_fullscreen_button.xml delete mode 100644 libs/WindowManager/Shell/res/drawable/caption_more_button.xml delete mode 100644 libs/WindowManager/Shell/res/drawable/caption_select_button.xml delete mode 100644 libs/WindowManager/Shell/res/drawable/caption_split_screen_button.xml rename libs/WindowManager/Shell/res/drawable/{caption_collapse_menu_button.xml => desktop_mode_ic_handle_menu_close.xml} (62%) create mode 100644 libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_desktop.xml rename libs/WindowManager/Shell/res/drawable/{caption_close_button.xml => desktop_mode_ic_handle_menu_floating.xml} (61%) rename libs/WindowManager/Shell/res/drawable/{caption_screenshot_button.xml => desktop_mode_ic_handle_menu_fullscreen.xml} (61%) create mode 100644 libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_screenshot.xml create mode 100644 libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_select.xml create mode 100644 libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_splitscreen.xml delete mode 100644 libs/WindowManager/Shell/res/layout/desktop_mode_decor_handle_menu.xml create mode 100644 libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_handle_menu_app_info_pill.xml create mode 100644 libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_handle_menu_more_actions_pill.xml create mode 100644 libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_handle_menu_windowing_pill.xml diff --git a/libs/WindowManager/Shell/res/drawable/caption_desktop_button.xml b/libs/WindowManager/Shell/res/drawable/caption_desktop_button.xml deleted file mode 100644 index 8779cc09715b1..0000000000000 --- a/libs/WindowManager/Shell/res/drawable/caption_desktop_button.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - diff --git a/libs/WindowManager/Shell/res/drawable/caption_floating_button.xml b/libs/WindowManager/Shell/res/drawable/caption_floating_button.xml deleted file mode 100644 index ea0fbb0e5d33a..0000000000000 --- a/libs/WindowManager/Shell/res/drawable/caption_floating_button.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - diff --git a/libs/WindowManager/Shell/res/drawable/caption_fullscreen_button.xml b/libs/WindowManager/Shell/res/drawable/caption_fullscreen_button.xml deleted file mode 100644 index c55cbe2d054c5..0000000000000 --- a/libs/WindowManager/Shell/res/drawable/caption_fullscreen_button.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - diff --git a/libs/WindowManager/Shell/res/drawable/caption_more_button.xml b/libs/WindowManager/Shell/res/drawable/caption_more_button.xml deleted file mode 100644 index 447df43dfddd1..0000000000000 --- a/libs/WindowManager/Shell/res/drawable/caption_more_button.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - diff --git a/libs/WindowManager/Shell/res/drawable/caption_select_button.xml b/libs/WindowManager/Shell/res/drawable/caption_select_button.xml deleted file mode 100644 index 8c60c84071743..0000000000000 --- a/libs/WindowManager/Shell/res/drawable/caption_select_button.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - diff --git a/libs/WindowManager/Shell/res/drawable/caption_split_screen_button.xml b/libs/WindowManager/Shell/res/drawable/caption_split_screen_button.xml deleted file mode 100644 index c334a543a86a6..0000000000000 --- a/libs/WindowManager/Shell/res/drawable/caption_split_screen_button.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - 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 c6e634c6622c3..4ee10f429b376 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 @@ -17,6 +17,5 @@ - - + diff --git a/libs/WindowManager/Shell/res/drawable/caption_collapse_menu_button.xml b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_close.xml similarity index 62% rename from libs/WindowManager/Shell/res/drawable/caption_collapse_menu_button.xml rename to libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_close.xml index 166552dcb9e83..b7521d4200c01 100644 --- a/libs/WindowManager/Shell/res/drawable/caption_collapse_menu_button.xml +++ b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_close.xml @@ -15,16 +15,12 @@ ~ limitations under the License. --> - - - + android:height="20dp" + android:tint="#000000" + android:viewportHeight="24" + android:viewportWidth="24" + android:width="20dp"> + diff --git a/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_desktop.xml b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_desktop.xml new file mode 100644 index 0000000000000..e2b724b8abfd8 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_desktop.xml @@ -0,0 +1,26 @@ + + + + + diff --git a/libs/WindowManager/Shell/res/drawable/caption_close_button.xml b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_floating.xml similarity index 61% rename from libs/WindowManager/Shell/res/drawable/caption_close_button.xml rename to libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_floating.xml index e258564c70f7f..b0ea98e5f7888 100644 --- a/libs/WindowManager/Shell/res/drawable/caption_close_button.xml +++ b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_floating.xml @@ -15,16 +15,12 @@ ~ limitations under the License. --> - - - + android:width="21dp" + android:height="20dp" + android:viewportWidth="21" + android:viewportHeight="20"> + diff --git a/libs/WindowManager/Shell/res/drawable/caption_screenshot_button.xml b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_fullscreen.xml similarity index 61% rename from libs/WindowManager/Shell/res/drawable/caption_screenshot_button.xml rename to libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_fullscreen.xml index 7c86888f52263..99e1d268c97cb 100644 --- a/libs/WindowManager/Shell/res/drawable/caption_screenshot_button.xml +++ b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_fullscreen.xml @@ -15,16 +15,12 @@ ~ limitations under the License. --> - - - + android:width="20dp" + android:height="20dp" + android:viewportWidth="20" + android:viewportHeight="20"> + diff --git a/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_screenshot.xml b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_screenshot.xml new file mode 100644 index 0000000000000..79a91250bb784 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_screenshot.xml @@ -0,0 +1,34 @@ + + + + + + + + diff --git a/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_select.xml b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_select.xml new file mode 100644 index 0000000000000..7c4f499794551 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_select.xml @@ -0,0 +1,25 @@ + + + + + diff --git a/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_splitscreen.xml b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_splitscreen.xml new file mode 100644 index 0000000000000..853ab60e046f4 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/desktop_mode_ic_handle_menu_splitscreen.xml @@ -0,0 +1,26 @@ + + + + + diff --git a/libs/WindowManager/Shell/res/layout/desktop_mode_app_controls_window_decor.xml b/libs/WindowManager/Shell/res/layout/desktop_mode_app_controls_window_decor.xml index 35562b650994f..f6b21bad63f48 100644 --- a/libs/WindowManager/Shell/res/layout/desktop_mode_app_controls_window_decor.xml +++ b/libs/WindowManager/Shell/res/layout/desktop_mode_app_controls_window_decor.xml @@ -61,7 +61,7 @@ android:layout_width="32dp" android:layout_height="32dp" android:padding="4dp" - android:contentDescription="@string/collapse_menu_text" + android:contentDescription="@string/expand_menu_text" android:src="@drawable/ic_baseline_expand_more_24" android:tint="@color/desktop_mode_caption_expand_button_dark" android:background="@null" 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 deleted file mode 100644 index ac13eaeda6f53..0000000000000 --- a/libs/WindowManager/Shell/res/layout/desktop_mode_decor_handle_menu.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -