diff options
author | 2020-11-11 11:49:27 +0000 | |
---|---|---|
committer | 2020-11-11 11:49:27 +0000 | |
commit | ce2de700073f2c39282067dfe6be9d1cc7e7e4f6 (patch) | |
tree | 6d4b06795c0c28cdab63a8bdc90db69a084b3c60 | |
parent | 2784968e2d94a8c9ff2db68e935ca075d7c0073e (diff) | |
parent | b8feac1291c1684c81eb14c9fd1993f9401c65a6 (diff) |
Merge "Fix incorrect system gesture insets reported when there are cutout areas on the left/right edges of the display"
-rw-r--r-- | services/core/java/com/android/server/wm/DisplayPolicy.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java index 79e4e30c3a5d..9011ba0d06ad 100644 --- a/services/core/java/com/android/server/wm/DisplayPolicy.java +++ b/services/core/java/com/android/server/wm/DisplayPolicy.java @@ -1153,15 +1153,19 @@ public class DisplayPolicy { }); mDisplayContent.setInsetProvider(ITYPE_LEFT_GESTURES, win, (displayFrames, windowState, inOutFrame) -> { + final int leftSafeInset = + Math.max(displayFrames.mDisplayCutoutSafe.left, 0); inOutFrame.left = 0; inOutFrame.top = 0; inOutFrame.bottom = displayFrames.mDisplayHeight; - inOutFrame.right = displayFrames.mUnrestricted.left + mLeftGestureInset; + inOutFrame.right = leftSafeInset + mLeftGestureInset; }); mDisplayContent.setInsetProvider(ITYPE_RIGHT_GESTURES, win, (displayFrames, windowState, inOutFrame) -> { - inOutFrame.left = displayFrames.mUnrestricted.right - - mRightGestureInset; + final int rightSafeInset = + Math.min(displayFrames.mDisplayCutoutSafe.right, + displayFrames.mUnrestricted.right); + inOutFrame.left = rightSafeInset - mRightGestureInset; inOutFrame.top = 0; inOutFrame.bottom = displayFrames.mDisplayHeight; inOutFrame.right = displayFrames.mDisplayWidth; |