Fix unwanted bottom margin on Samsung OneUI 7 (#1022)

This fixes the unwanted margin at the bottom of the screen on
Samsung One UI 7 based on Android 15.
This commit is contained in:
Jules Aguillon
2025-06-29 16:18:49 +02:00
committed by GitHub
parent 004ed95dfd
commit f36a7c8e9d
2 changed files with 4 additions and 18 deletions
+1
View File
@@ -315,6 +315,7 @@ public class Keyboard2 extends InputMethodService
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
// Allow to draw behind system bars
wattrs.setFitInsetsTypes(0);
window.setDecorFitsSystemWindows(false);
}
updateLayoutHeightOf(window, ViewGroup.LayoutParams.MATCH_PARENT);
final View inputArea = window.findViewById(android.R.id.inputArea);
+3 -18
View File
@@ -277,28 +277,13 @@ public class Keyboard2View extends View
width = metrics.getBounds().width();
WindowInsets wi = metrics.getWindowInsets();
int insets_types =
WindowInsets.Type.statusBars()
WindowInsets.Type.systemBars()
| WindowInsets.Type.displayCutout()
| WindowInsets.Type.mandatorySystemGestures()
| WindowInsets.Type.navigationBars();
| WindowInsets.Type.mandatorySystemGestures();
Insets insets = wi.getInsets(insets_types);
insets_left = insets.left;
insets_right = insets.right;
// On API 35, the keyboard is allowed to draw under the
// button-navigation bar but on lower APIs, it must be discounted from
// the width.
if (VERSION.SDK_INT < 35)
{
Insets nav_insets = wi.getInsets(WindowInsets.Type.navigationBars());
width -= nav_insets.left + nav_insets.right;
insets_left -= nav_insets.left;
insets_right -= nav_insets.right;
}
// [insets.bottom] doesn't take into account the buttons that appear in
// the gesture navigation bar when the IME is showing so ensure a minimum
// of margin is added.
if (VERSION.SDK_INT >= 35)
insets_bottom = Math.max(insets.bottom, _config.bottomInsetMin);
insets_bottom = Math.max(insets.bottom, _config.bottomInsetMin);
}
else
{