diff options
Diffstat (limited to 'java/src/com/android/inputmethod/latin/utils')
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java | 2 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/ResourceUtils.java | 55 |
2 files changed, 51 insertions, 6 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java b/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java index 9c6a94810..0c01a737c 100644 --- a/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java +++ b/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java @@ -143,7 +143,7 @@ public class DistracterFilterCheckingExactMatchesAndSuggestions implements Distr final KeyboardLayoutSet.Builder builder = new KeyboardLayoutSet.Builder( mContext, editorInfo); final Resources res = mContext.getResources(); - final int keyboardWidth = ResourceUtils.getDefaultKeyboardWidth(res); + final int keyboardWidth = ResourceUtils.getKeyboardFrameWidth(res); final int keyboardHeight = ResourceUtils.getDefaultKeyboardHeight(res); builder.setKeyboardGeometry(keyboardWidth, keyboardHeight); builder.setSubtype(new RichInputMethodSubtype(subtype)); diff --git a/java/src/com/android/inputmethod/latin/utils/ResourceUtils.java b/java/src/com/android/inputmethod/latin/utils/ResourceUtils.java index cc0d470df..0a757877a 100644 --- a/java/src/com/android/inputmethod/latin/utils/ResourceUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/ResourceUtils.java @@ -182,18 +182,63 @@ public final class ResourceUtils { return matchedAll; } - public static int getDefaultKeyboardWidth(final Resources res) { + public static int getKeyboardFrameWidth(final Resources res) { final DisplayMetrics dm = res.getDisplayMetrics(); return dm.widthPixels; } + public static int getKeyboardWidth(final Resources res, final SettingsValues settingsValues) { + final int frameWidth = getKeyboardFrameWidth(res); + if (settingsValues.mHasKeyboardResize) { + final float widthFraction = 1f - settingsValues.mKeyboardLeftMarginScale + - settingsValues.mKeyboardRightMarginScale; + return (int)(frameWidth * widthFraction); + } + return frameWidth; + } + + public static int getKeyboardFrameHeight(final Resources res, + final SettingsValues settingsValues) { + if (settingsValues.mHasKeyboardResize) { + return getKeyboardHeight(res, settingsValues) + + getKeyboardBottomMargin(res, settingsValues); + } + return getDefaultKeyboardHeight(res); + } + public static int getKeyboardHeight(final Resources res, final SettingsValues settingsValues) { - final int defaultKeyboardHeight = getDefaultKeyboardHeight(res); + final int keyboardHeight = getDefaultKeyboardHeight(res); + if (settingsValues.mHasKeyboardResize) { + return (int)(keyboardHeight * settingsValues.mKeyboardHeightScale); + } + return keyboardHeight; + } + + public static int getKeyboardLeftMargin( + final Resources res, final SettingsValues settingsValues) { + if (settingsValues.mHasKeyboardResize) { + final int frameWidth = getKeyboardFrameWidth(res); + return (int)(frameWidth * settingsValues.mKeyboardLeftMarginScale); + } + return 0; + } + + public static int getKeyboardRightMargin( + final Resources res, final SettingsValues settingsValues) { + if (settingsValues.mHasKeyboardResize) { + final int frameWidth = getKeyboardFrameWidth(res); + return (int)(frameWidth * settingsValues.mKeyboardRightMarginScale); + } + return 0; + } + + public static int getKeyboardBottomMargin( + final Resources res, final SettingsValues settingsValues) { if (settingsValues.mHasKeyboardResize) { - // mKeyboardHeightScale Ranges from [.5,1.2], from xml/prefs_screen_debug.xml - return (int)(defaultKeyboardHeight * settingsValues.mKeyboardHeightScale); + final int defaultHeight = getDefaultKeyboardHeight(res); + return (int)(defaultHeight * settingsValues.mKeyboardBottomMarginScale); } - return defaultKeyboardHeight; + return 0; } public static int getDefaultKeyboardHeight(final Resources res) { |