Merge "Reland "Fix missing gesture insets for 3-button navigation"" into udc-dev

This commit is contained in:
Yunfan Chen
2023-03-06 02:14:18 +00:00
committed by Android (Google) Code Review

View File

@@ -1733,41 +1733,26 @@ public class NavigationBar extends ViewController<NavigationBarView> implements
bottomTappableProvider = new InsetsFrameProvider(ITYPE_BOTTOM_TAPPABLE_ELEMENT); bottomTappableProvider = new InsetsFrameProvider(ITYPE_BOTTOM_TAPPABLE_ELEMENT);
} }
if (!mEdgeBackGestureHandler.isHandlingGestures()) { final DisplayCutout cutout = userContext.getDisplay().getCutout();
// 2/3 button navigation is on. Do not provide any gesture insets here. But need to keep final int safeInsetsLeft = cutout != null ? cutout.getSafeInsetLeft() : 0;
// the provider to support runtime update. final int safeInsetsRight = cutout != null ? cutout.getSafeInsetRight() : 0;
return new InsetsFrameProvider[] { final int gestureHeight = userContext.getResources().getDimensionPixelSize(
navBarProvider, com.android.internal.R.dimen.navigation_bar_gesture_height);
new InsetsFrameProvider( final boolean handlingGesture = mEdgeBackGestureHandler.isHandlingGestures();
ITYPE_BOTTOM_MANDATORY_GESTURES, Insets.NONE), final int gestureInsetsLeft = handlingGesture
new InsetsFrameProvider(ITYPE_LEFT_GESTURES, InsetsFrameProvider.SOURCE_DISPLAY, ? mEdgeBackGestureHandler.getEdgeWidthLeft() + safeInsetsLeft : 0;
Insets.NONE, null), final int gestureInsetsRight = handlingGesture
new InsetsFrameProvider(ITYPE_RIGHT_GESTURES, ? mEdgeBackGestureHandler.getEdgeWidthRight() + safeInsetsRight : 0;
InsetsFrameProvider.SOURCE_DISPLAY, return new InsetsFrameProvider[] {
Insets.NONE, null), navBarProvider,
bottomTappableProvider new InsetsFrameProvider(
}; ITYPE_BOTTOM_MANDATORY_GESTURES, Insets.of(0, 0, 0, gestureHeight)),
} else { new InsetsFrameProvider(ITYPE_LEFT_GESTURES, InsetsFrameProvider.SOURCE_DISPLAY,
// Gesture navigation Insets.of(gestureInsetsLeft, 0, 0, 0), null),
final int gestureHeight = userContext.getResources().getDimensionPixelSize( new InsetsFrameProvider(ITYPE_RIGHT_GESTURES, InsetsFrameProvider.SOURCE_DISPLAY,
com.android.internal.R.dimen.navigation_bar_gesture_height); Insets.of(0, 0, gestureInsetsRight, 0), null),
final DisplayCutout cutout = userContext.getDisplay().getCutout(); bottomTappableProvider
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() { private boolean canShowSecondaryHandle() {