Keyboard doesn't draw behind button-navigation bars in landscape mode

This commit is contained in:
Jules Aguillon
2024-12-26 12:32:35 +01:00
parent 139ff760e0
commit da957d534b

View File

@@ -268,12 +268,19 @@ public class Keyboard2View extends View
WindowMetrics metrics =
((WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE))
.getCurrentWindowMetrics();
Insets insets = metrics.getWindowInsets().getInsets(
WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars()
| WindowInsets.Type.displayCutout());
width = metrics.getBounds().width();
_marginLeft = Math.max(_marginLeft, insets.left);
_marginRight = Math.max(_marginRight, insets.right);
WindowInsets wi = metrics.getWindowInsets();
// Keyboard doesn't draw behind button-navigation bars in landscape mode
Insets navigationBarInsets = wi.getInsets(WindowInsets.Type.navigationBars());
Insets insets = wi.getInsets(
WindowInsets.Type.statusBars()
| WindowInsets.Type.navigationBars()
| WindowInsets.Type.displayCutout()
| WindowInsets.Type.tappableElement()
| WindowInsets.Type.mandatorySystemGestures()
);
width = metrics.getBounds().width() - navigationBarInsets.left - navigationBarInsets.right;
_marginLeft = Math.max(_marginLeft, insets.left - navigationBarInsets.left);
_marginRight = Math.max(_marginRight, insets.right - navigationBarInsets.right);
_marginBottom += insets.bottom;
}
else