From 4755324e1093acd0dcfa22b1fe614a18136adec4 Mon Sep 17 00:00:00 2001 From: eranl <1707552+eranl@users.noreply.github.com> Date: Tue, 8 Apr 2025 01:04:26 +0300 Subject: [PATCH] Subtract bottom inset padding from popups on Android15+ --- .../helium314/keyboard/keyboard/PopupKeysKeyboard.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/helium314/keyboard/keyboard/PopupKeysKeyboard.java b/app/src/main/java/helium314/keyboard/keyboard/PopupKeysKeyboard.java index 645e420b..cf0261cc 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/PopupKeysKeyboard.java +++ b/app/src/main/java/helium314/keyboard/keyboard/PopupKeysKeyboard.java @@ -16,6 +16,7 @@ import helium314.keyboard.keyboard.internal.KeyboardParams; import helium314.keyboard.keyboard.internal.PopupKeySpec; import helium314.keyboard.latin.R; import helium314.keyboard.latin.common.StringUtils; +import helium314.keyboard.latin.utils.ResourceUtils; import helium314.keyboard.latin.utils.TypefaceUtils; public final class PopupKeysKeyboard extends Keyboard { @@ -65,7 +66,7 @@ public final class PopupKeysKeyboard extends Keyboard { public void setParameters(final int numKeys, final int numColumn, final int keyWidth, final int rowHeight, final int coordXInParent, final int parentKeyboardWidth, final boolean isPopupKeysFixedColumn, final boolean isPopupKeysFixedOrder, - final int dividerWidth) { + final int dividerWidth, Context context) { mIsPopupKeysFixedOrder = isPopupKeysFixedOrder; if (parentKeyboardWidth / keyWidth < Math.min(numKeys, numColumn)) { throw new IllegalArgumentException("Keyboard is too small to hold popup keys: " @@ -120,7 +121,7 @@ public final class PopupKeysKeyboard extends Keyboard { mBaseWidth = mOccupiedWidth = mNumColumns * mColumnWidth - mDividerWidth; // Need to subtract the bottom row's gutter only. mBaseHeight = mOccupiedHeight = mNumRows * mDefaultAbsoluteRowHeight - mVerticalGap - + mTopPadding + mBottomPadding; + + mTopPadding + mBottomPadding - ResourceUtils.getBottomPaddingAdjustment(context); } private int getFixedOrderTopRowAdjustment() { @@ -305,7 +306,7 @@ public final class PopupKeysKeyboard extends Keyboard { : (spaceForKeys > 0 ? spaceForKeys : defaultColumns); // in last case setParameters will throw an exception mParams.setParameters(popupKeys.length, finalNumColumns, keyWidth, rowHeight, key.getX() + key.getWidth() / 2, keyboard.mId.mWidth, - key.isPopupKeysFixedColumn(), key.isPopupKeysFixedOrder(), dividerWidth); + key.isPopupKeysFixedColumn(), key.isPopupKeysFixedOrder(), dividerWidth, context); } private static int getMaxKeyWidth(final Key parentKey, final int minKeyWidth,