From 554c2cfc39f7b2853a321f1e3f358c6d683a5290 Mon Sep 17 00:00:00 2001 From: Ravindra Nallabilli Date: Fri, 10 Feb 2023 15:14:19 +0000 Subject: [PATCH] Revert "Fix missing gesture insets for 3-button navigation" This reverts commit 2163e88678c9a46a5f87c3af19d820ad861e3016. Reason for revert: Creating the revert taking ACA as the evidence https://android-build.googleplex.com/builds/culprit-assistant/run/a0d8935e-d822-4f5f-9024-2c806bbda348. For the bug b/268585834 Change-Id: I28dba22b38596437975fdd4d3ad740c23720a092 --- .../systemui/navigationbar/NavigationBar.java | 58 +++++++++++-------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java index 0efe3c2573dba..d5d73258bb086 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java @@ -1729,29 +1729,41 @@ public class NavigationBar extends ViewController implements bottomTappableProvider = new InsetsFrameProvider(ITYPE_BOTTOM_TAPPABLE_ELEMENT); } - 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; - final InsetsFrameProvider mandatoryGestureProvider = handlingGesture - ? new InsetsFrameProvider(ITYPE_BOTTOM_MANDATORY_GESTURES, - Insets.of(0, 0, 0, gestureHeight)) - : new InsetsFrameProvider(ITYPE_BOTTOM_MANDATORY_GESTURES); - return new InsetsFrameProvider[] { - navBarProvider, - mandatoryGestureProvider, - 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 - }; + 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 + }; + } } private boolean canShowSecondaryHandle() {