Merge "Fix missing gesture insets for 3-button navigation"
This commit is contained in:
@@ -1729,41 +1729,29 @@ public class NavigationBar extends ViewController<NavigationBarView> 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;
|
||||
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
|
||||
};
|
||||
}
|
||||
|
||||
private boolean canShowSecondaryHandle() {
|
||||
|
||||
Reference in New Issue
Block a user