From 899562852d774021af21c96fffc1a6ea8a93f093 Mon Sep 17 00:00:00 2001 From: Jerry Chang Date: Thu, 3 Mar 2022 01:08:29 +0000 Subject: [PATCH] Consider screen insets when setting smallestWidthDp Take system bars and display cutout insets into account when calculating smallestWidthDp for splitting tasks. Bug: 217600744 Test: atest WMShellUnitTests Change-Id: Ifa56c51d90418d9771d95bd64be69b2c084e446f --- .../src/com/android/wm/shell/common/split/SplitLayout.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java index b52c8d118711f..ab00ed00000f8 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java @@ -515,7 +515,9 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange } private int getSmallestWidthDp(Rect bounds) { - final int minWidth = Math.min(bounds.width(), bounds.height()); + mTempRect.set(bounds); + mTempRect.inset(getDisplayInsets(mContext)); + final int minWidth = Math.min(mTempRect.width(), mTempRect.height()); final float density = mContext.getResources().getDisplayMetrics().density; return (int) (minWidth / density); }