From dde7e758e87056b4a556856872ea435b8270ecaf Mon Sep 17 00:00:00 2001 From: mattsziklay Date: Thu, 6 Oct 2022 13:24:33 -0700 Subject: [PATCH] Add handle menu to bar type window caption. Adds a menu on clicking handle that will enable windowing changes. Still to implement for this prototype: More button, Split Screen button, Overtop/Float button. Bug: 239960071 Test: Launch various tasks, confirm handle menu appears, drag functionality is unaffected. Change-Id: I0aeeffb44e6bfd580c70270e562d8c04031892de --- .../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 +++++ .../drawable/caption_split_screen_button.xml | 28 ++++ .../res/drawable/handle_menu_background.xml | 30 ++++ .../Shell/res/layout/caption_handle_menu.xml | 49 +++++++ .../res/layout/caption_window_decoration.xml | 11 +- .../Shell/res/values/strings.xml | 10 ++ .../WindowManager/Shell/res/values/styles.xml | 7 + .../CaptionWindowDecorViewModel.java | 64 ++++++++- .../windowdecor/CaptionWindowDecoration.java | 105 +++++++++++++- .../wm/shell/windowdecor/TaskPositioner.java | 14 +- .../shell/windowdecor/WindowDecoration.java | 130 +++++++++++++++--- .../windowdecor/WindowDecorationTests.java | 90 +++++++++++- 15 files changed, 623 insertions(+), 39 deletions(-) create mode 100644 libs/WindowManager/Shell/res/drawable/caption_desktop_button.xml create mode 100644 libs/WindowManager/Shell/res/drawable/caption_floating_button.xml create mode 100644 libs/WindowManager/Shell/res/drawable/caption_fullscreen_button.xml create mode 100644 libs/WindowManager/Shell/res/drawable/caption_more_button.xml create mode 100644 libs/WindowManager/Shell/res/drawable/caption_split_screen_button.xml create mode 100644 libs/WindowManager/Shell/res/drawable/handle_menu_background.xml create mode 100644 libs/WindowManager/Shell/res/layout/caption_handle_menu.xml diff --git a/libs/WindowManager/Shell/res/drawable/caption_desktop_button.xml b/libs/WindowManager/Shell/res/drawable/caption_desktop_button.xml new file mode 100644 index 0000000000000..8779cc09715b1 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/caption_desktop_button.xml @@ -0,0 +1,31 @@ + + + + + + + diff --git a/libs/WindowManager/Shell/res/drawable/caption_floating_button.xml b/libs/WindowManager/Shell/res/drawable/caption_floating_button.xml new file mode 100644 index 0000000000000..ea0fbb0e5d33a --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/caption_floating_button.xml @@ -0,0 +1,31 @@ + + + + + + + diff --git a/libs/WindowManager/Shell/res/drawable/caption_fullscreen_button.xml b/libs/WindowManager/Shell/res/drawable/caption_fullscreen_button.xml new file mode 100644 index 0000000000000..c55cbe2d054c5 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/caption_fullscreen_button.xml @@ -0,0 +1,31 @@ + + + + + + + diff --git a/libs/WindowManager/Shell/res/drawable/caption_more_button.xml b/libs/WindowManager/Shell/res/drawable/caption_more_button.xml new file mode 100644 index 0000000000000..447df43dfddd1 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/caption_more_button.xml @@ -0,0 +1,31 @@ + + + + + + + diff --git a/libs/WindowManager/Shell/res/drawable/caption_split_screen_button.xml b/libs/WindowManager/Shell/res/drawable/caption_split_screen_button.xml new file mode 100644 index 0000000000000..c334a543a86a6 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/caption_split_screen_button.xml @@ -0,0 +1,28 @@ + + + + + + diff --git a/libs/WindowManager/Shell/res/drawable/handle_menu_background.xml b/libs/WindowManager/Shell/res/drawable/handle_menu_background.xml new file mode 100644 index 0000000000000..e307f007e4a4b --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/handle_menu_background.xml @@ -0,0 +1,30 @@ + + + + + + + diff --git a/libs/WindowManager/Shell/res/layout/caption_handle_menu.xml b/libs/WindowManager/Shell/res/layout/caption_handle_menu.xml new file mode 100644 index 0000000000000..d9a140b810f87 --- /dev/null +++ b/libs/WindowManager/Shell/res/layout/caption_handle_menu.xml @@ -0,0 +1,49 @@ + + + +