Merge "Reland "Fix missing gesture insets for 3-button navigation"" into udc-dev
This commit is contained in:
@@ -1733,42 +1733,27 @@ public class NavigationBar extends ViewController<NavigationBarView> implements
|
|||||||
bottomTappableProvider = new InsetsFrameProvider(ITYPE_BOTTOM_TAPPABLE_ELEMENT);
|
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 DisplayCutout cutout = userContext.getDisplay().getCutout();
|
||||||
final int safeInsetsLeft = cutout != null ? cutout.getSafeInsetLeft() : 0;
|
final int safeInsetsLeft = cutout != null ? cutout.getSafeInsetLeft() : 0;
|
||||||
final int safeInsetsRight = cutout != null ? cutout.getSafeInsetRight() : 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[] {
|
return new InsetsFrameProvider[] {
|
||||||
navBarProvider,
|
navBarProvider,
|
||||||
new InsetsFrameProvider(
|
new InsetsFrameProvider(
|
||||||
ITYPE_BOTTOM_MANDATORY_GESTURES, Insets.of(0, 0, 0, gestureHeight)),
|
ITYPE_BOTTOM_MANDATORY_GESTURES, Insets.of(0, 0, 0, gestureHeight)),
|
||||||
new InsetsFrameProvider(ITYPE_LEFT_GESTURES, InsetsFrameProvider.SOURCE_DISPLAY,
|
new InsetsFrameProvider(ITYPE_LEFT_GESTURES, InsetsFrameProvider.SOURCE_DISPLAY,
|
||||||
Insets.of(safeInsetsLeft
|
Insets.of(gestureInsetsLeft, 0, 0, 0), null),
|
||||||
+ mEdgeBackGestureHandler.getEdgeWidthLeft(), 0, 0, 0), null),
|
new InsetsFrameProvider(ITYPE_RIGHT_GESTURES, InsetsFrameProvider.SOURCE_DISPLAY,
|
||||||
new InsetsFrameProvider(ITYPE_RIGHT_GESTURES,
|
Insets.of(0, 0, gestureInsetsRight, 0), null),
|
||||||
InsetsFrameProvider.SOURCE_DISPLAY,
|
|
||||||
Insets.of(0, 0, safeInsetsRight
|
|
||||||
+ mEdgeBackGestureHandler.getEdgeWidthRight(), 0), null),
|
|
||||||
bottomTappableProvider
|
bottomTappableProvider
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private boolean canShowSecondaryHandle() {
|
private boolean canShowSecondaryHandle() {
|
||||||
return mNavBarMode == NAV_BAR_MODE_GESTURAL && mOrientationHandle != null;
|
return mNavBarMode == NAV_BAR_MODE_GESTURAL && mOrientationHandle != null;
|
||||||
|
|||||||
Reference in New Issue
Block a user