diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java index 4db1da3f1c956..b8085244e9353 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java @@ -1729,41 +1729,26 @@ public class NavigationBar extends ViewController implements bottomTappableProvider = new InsetsFrameProvider(ITYPE_BOTTOM_TAPPABLE_ELEMENT); } - if (!mEdgeBackGestureHandler.isHandlingGestures()) { - // 2/3 button navigation is on. Do not provide any gesture insets here. But need to keep - // the provider to support runtime update. - return new InsetsFrameProvider[] { - navBarProvider, - new InsetsFrameProvider( - ITYPE_BOTTOM_MANDATORY_GESTURES, Insets.NONE), - new InsetsFrameProvider(ITYPE_LEFT_GESTURES, InsetsFrameProvider.SOURCE_DISPLAY, - Insets.NONE, null), - new InsetsFrameProvider(ITYPE_RIGHT_GESTURES, - InsetsFrameProvider.SOURCE_DISPLAY, - Insets.NONE, null), - bottomTappableProvider - }; - } else { - // Gesture navigation - final int gestureHeight = userContext.getResources().getDimensionPixelSize( - com.android.internal.R.dimen.navigation_bar_gesture_height); - final DisplayCutout cutout = userContext.getDisplay().getCutout(); - final int safeInsetsLeft = cutout != null ? cutout.getSafeInsetLeft() : 0; - final int safeInsetsRight = cutout != null ? cutout.getSafeInsetRight() : 0; - return new InsetsFrameProvider[] { - navBarProvider, - new InsetsFrameProvider( - ITYPE_BOTTOM_MANDATORY_GESTURES, Insets.of(0, 0, 0, gestureHeight)), - new InsetsFrameProvider(ITYPE_LEFT_GESTURES, InsetsFrameProvider.SOURCE_DISPLAY, - Insets.of(safeInsetsLeft - + mEdgeBackGestureHandler.getEdgeWidthLeft(), 0, 0, 0), null), - new InsetsFrameProvider(ITYPE_RIGHT_GESTURES, - InsetsFrameProvider.SOURCE_DISPLAY, - Insets.of(0, 0, safeInsetsRight - + mEdgeBackGestureHandler.getEdgeWidthRight(), 0), null), - bottomTappableProvider - }; - } + final DisplayCutout cutout = userContext.getDisplay().getCutout(); + final int safeInsetsLeft = cutout != null ? cutout.getSafeInsetLeft() : 0; + final int safeInsetsRight = cutout != null ? cutout.getSafeInsetRight() : 0; + final int gestureHeight = userContext.getResources().getDimensionPixelSize( + com.android.internal.R.dimen.navigation_bar_gesture_height); + final boolean handlingGesture = mEdgeBackGestureHandler.isHandlingGestures(); + final int gestureInsetsLeft = handlingGesture + ? mEdgeBackGestureHandler.getEdgeWidthLeft() + safeInsetsLeft : 0; + final int gestureInsetsRight = handlingGesture + ? mEdgeBackGestureHandler.getEdgeWidthRight() + safeInsetsRight : 0; + return new InsetsFrameProvider[] { + navBarProvider, + new InsetsFrameProvider( + ITYPE_BOTTOM_MANDATORY_GESTURES, Insets.of(0, 0, 0, gestureHeight)), + new InsetsFrameProvider(ITYPE_LEFT_GESTURES, InsetsFrameProvider.SOURCE_DISPLAY, + Insets.of(gestureInsetsLeft, 0, 0, 0), null), + new InsetsFrameProvider(ITYPE_RIGHT_GESTURES, InsetsFrameProvider.SOURCE_DISPLAY, + Insets.of(0, 0, gestureInsetsRight, 0), null), + bottomTappableProvider + }; } private boolean canShowSecondaryHandle() {