Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b8feac12 authored by shawnlin's avatar shawnlin
Browse files

Fix incorrect system gesture insets reported when there are cutout areas

on the left/right edges of the display

Should calculate the gesture insets based on left/right cutout insets.

Bug: 172191437
Test: atest WindowInsetsBehaviorTests
Change-Id: I75e2da14ab5c05c559d4420c239184834794505e
parent 79f3adcf
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -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;