From b35eb64800c5b1c4acedbb07a5781b9a48503d4e Mon Sep 17 00:00:00 2001 From: Helium314 Date: Fri, 26 Jan 2024 19:04:17 +0100 Subject: [PATCH] fix key preview showing up at wrong position in one-handed mode --- .../inputmethod/keyboard/MainKeyboardView.java | 2 +- .../keyboard/internal/KeyPreviewChoreographer.java | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/MainKeyboardView.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/MainKeyboardView.java index bc377f0b2..e8c9ec898 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/MainKeyboardView.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/MainKeyboardView.java @@ -440,7 +440,7 @@ public final class MainKeyboardView extends KeyboardView implements DrawingProxy locatePreviewPlacerView(); getLocationInWindow(mOriginCoords); mKeyPreviewChoreographer.placeAndShowKeyPreview(key, keyboard.mIconsSet, getKeyDrawParams(), - getWidth(), mOriginCoords, mDrawingPreviewPlacerView); + KeyboardSwitcher.getInstance().getWrapperView().getWidth(), mOriginCoords, mDrawingPreviewPlacerView); } private void dismissKeyPreviewWithoutDelay(@NonNull final Key key) { diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyPreviewChoreographer.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyPreviewChoreographer.java index b1d184bff..f8d096f81 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyPreviewChoreographer.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyPreviewChoreographer.java @@ -75,16 +75,16 @@ public final class KeyPreviewChoreographer { } public void placeAndShowKeyPreview(final Key key, final KeyboardIconsSet iconsSet, - final KeyDrawParams drawParams, final int keyboardViewWidth, final int[] keyboardOrigin, + final KeyDrawParams drawParams, final int fullKeyboardViewWidth, final int[] keyboardOrigin, final ViewGroup placerView) { final KeyPreviewView keyPreviewView = getKeyPreviewView(key, placerView); - placeKeyPreview(key, keyPreviewView, iconsSet, drawParams, keyboardViewWidth, keyboardOrigin); + placeKeyPreview(key, keyPreviewView, iconsSet, drawParams, fullKeyboardViewWidth, keyboardOrigin); showKeyPreview(key, keyPreviewView); } private void placeKeyPreview(final Key key, final KeyPreviewView keyPreviewView, final KeyboardIconsSet iconsSet, final KeyDrawParams drawParams, - final int keyboardViewWidth, final int[] originCoords) { + final int fullKeyboardViewWidth, final int[] originCoords) { keyPreviewView.setPreviewVisual(key, iconsSet, drawParams); keyPreviewView.measure(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); mParams.setGeometry(keyPreviewView); @@ -99,8 +99,8 @@ public final class KeyPreviewChoreographer { if (previewX < 0) { previewX = 0; keyPreviewPosition = KeyPreviewView.POSITION_LEFT; - } else if (previewX > keyboardViewWidth - previewWidth) { - previewX = keyboardViewWidth - previewWidth; + } else if (previewX > fullKeyboardViewWidth - previewWidth) { + previewX = fullKeyboardViewWidth - previewWidth; keyPreviewPosition = KeyPreviewView.POSITION_RIGHT; } else { keyPreviewPosition = KeyPreviewView.POSITION_MIDDLE;