From 5514e76d40b1d870cb81f35046aef0da80f91b1a Mon Sep 17 00:00:00 2001 From: Jerry Chang Date: Thu, 26 Aug 2021 11:31:56 +0800 Subject: [PATCH] Draw rounded corners beside split divider bar Draw rounded corners beside divider bar which inset with task bar if the task bar is expanded. Bug: 196272915 Bug: 182511830 Test: atest WMShellUnitTests Test: manul check the rounded corners rendered in proper position. Change-Id: I14c5a9416d52bf06b3e4c8ac843c5a65c0b940b8 --- .../res/drawable/split_rounded_bottom.xml | 30 +++++++ .../Shell/res/drawable/split_rounded_left.xml | 30 +++++++ .../res/drawable/split_rounded_right.xml | 30 +++++++ .../Shell/res/drawable/split_rounded_top.xml | 26 ++++++ .../Shell/res/layout/split_divider.xml | 27 +++++-- .../Shell/res/values-land/styles.xml | 14 ++++ libs/WindowManager/Shell/res/values/dimen.xml | 3 + .../WindowManager/Shell/res/values/styles.xml | 16 +++- .../shell/common/DisplayInsetsController.java | 12 +-- .../wm/shell/common/split/DividerView.java | 80 ++++++++++++++++++- .../wm/shell/common/split/SplitLayout.java | 31 +++++-- .../common/split/SplitWindowManager.java | 11 ++- .../splitscreen/SplitScreenController.java | 11 ++- .../shell/splitscreen/StageCoordinator.java | 11 ++- .../common/split/SplitWindowManagerTests.java | 3 +- .../wm/shell/splitscreen/SplitTestUtils.java | 7 +- .../splitscreen/SplitTransitionTests.java | 9 ++- .../splitscreen/StageCoordinatorTests.java | 6 +- .../systemui/wmshell/WMShellBaseModule.java | 6 +- 19 files changed, 324 insertions(+), 39 deletions(-) create mode 100644 libs/WindowManager/Shell/res/drawable/split_rounded_bottom.xml create mode 100644 libs/WindowManager/Shell/res/drawable/split_rounded_left.xml create mode 100644 libs/WindowManager/Shell/res/drawable/split_rounded_right.xml create mode 100644 libs/WindowManager/Shell/res/drawable/split_rounded_top.xml diff --git a/libs/WindowManager/Shell/res/drawable/split_rounded_bottom.xml b/libs/WindowManager/Shell/res/drawable/split_rounded_bottom.xml new file mode 100644 index 0000000000000..18dc909ae9559 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/split_rounded_bottom.xml @@ -0,0 +1,30 @@ + + + + + + + + \ No newline at end of file diff --git a/libs/WindowManager/Shell/res/drawable/split_rounded_left.xml b/libs/WindowManager/Shell/res/drawable/split_rounded_left.xml new file mode 100644 index 0000000000000..931cacf887cd9 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/split_rounded_left.xml @@ -0,0 +1,30 @@ + + + + + + + + \ No newline at end of file diff --git a/libs/WindowManager/Shell/res/drawable/split_rounded_right.xml b/libs/WindowManager/Shell/res/drawable/split_rounded_right.xml new file mode 100644 index 0000000000000..54e47612faa88 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/split_rounded_right.xml @@ -0,0 +1,30 @@ + + + + + + + + \ No newline at end of file diff --git a/libs/WindowManager/Shell/res/drawable/split_rounded_top.xml b/libs/WindowManager/Shell/res/drawable/split_rounded_top.xml new file mode 100644 index 0000000000000..9115b5a2352e8 --- /dev/null +++ b/libs/WindowManager/Shell/res/drawable/split_rounded_top.xml @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file diff --git a/libs/WindowManager/Shell/res/layout/split_divider.xml b/libs/WindowManager/Shell/res/layout/split_divider.xml index a1dba5169f1b1..94182cdba0dd9 100644 --- a/libs/WindowManager/Shell/res/layout/split_divider.xml +++ b/libs/WindowManager/Shell/res/layout/split_divider.xml @@ -19,14 +19,25 @@ android:layout_height="match_parent" android:layout_width="match_parent"> - + - + + + + + + + + + diff --git a/libs/WindowManager/Shell/res/values-land/styles.xml b/libs/WindowManager/Shell/res/values-land/styles.xml index 9eddac48e6dea..e5707f3170d80 100644 --- a/libs/WindowManager/Shell/res/values-land/styles.xml +++ b/libs/WindowManager/Shell/res/values-land/styles.xml @@ -28,6 +28,20 @@ 96dp + + + + + + + +