From f36a7c8e9d123c268c559a946304c45360b36810 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Sun, 29 Jun 2025 16:18:49 +0200 Subject: 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.--- srcs/juloo.keyboard2/Keyboard2.java | 1 + srcs/juloo.keyboard2/Keyboard2View.java | 21 +++------------------ 2 files changed, 4 insertions(+), 18 deletions(-) (limited to 'srcs') diff --git a/srcs/juloo.keyboard2/Keyboard2.java b/srcs/juloo.keyboard2/Keyboard2.java index 9ce78f1..2858dfa 100644 --- a/srcs/juloo.keyboard2/Keyboard2.java +++ b/srcs/juloo.keyboard2/Keyboard2.java @@ -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); diff --git a/srcs/juloo.keyboard2/Keyboard2View.java b/srcs/juloo.keyboard2/Keyboard2View.java index 23d2a0a..64fbea1 100644 --- a/srcs/juloo.keyboard2/Keyboard2View.java +++ b/srcs/juloo.keyboard2/Keyboard2View.java @@ -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 { -- cgit v1.2.3