diff --git a/java/res/values/config.xml b/java/res/values/config.xml index af145a62983fe8ecb55959e39369b68c105349ee..456d9ad4dd24e0dd5af27b6b0d185baa2be39ac8 100644 --- a/java/res/values/config.xml +++ b/java/res/values/config.xml @@ -27,6 +27,8 @@ <integer name="config_mini_keyboard_fadeout_anim_time">100</integer> <integer name="config_delay_before_key_repeat_start">400</integer> <integer name="config_key_repeat_interval">50</integer> + <integer name="config_keyboard_grid_width">32</integer> + <integer name="config_keyboard_grid_height">16</integer> <integer name="config_long_press_key_timeout">400</integer> <integer name="config_long_press_shift_key_timeout">1200</integer> <integer name="config_multi_tap_key_timeout">800</integer> diff --git a/java/src/com/android/inputmethod/latin/BaseKeyboard.java b/java/src/com/android/inputmethod/latin/BaseKeyboard.java index cb41ad04794980fb44afd2eb7ea3a2929ad1a34f..266300eb361aae081a3b3f93ee0617fdc8edb62b 100644 --- a/java/src/com/android/inputmethod/latin/BaseKeyboard.java +++ b/java/src/com/android/inputmethod/latin/BaseKeyboard.java @@ -109,9 +109,9 @@ public class BaseKeyboard { // Variables for pre-computing nearest keys. - private static final int GRID_WIDTH = 10; - private static final int GRID_HEIGHT = 5; - private static final int GRID_SIZE = GRID_WIDTH * GRID_HEIGHT; + private final int GRID_WIDTH; + private final int GRID_HEIGHT; + private final int GRID_SIZE; private int mCellWidth; private int mCellHeight; private int[][] mGridNeighbors; @@ -466,6 +466,11 @@ public class BaseKeyboard { * @param height sets height of keyboard */ public BaseKeyboard(Context context, int xmlLayoutResId, int modeId, int width, int height) { + Resources res = context.getResources(); + GRID_WIDTH = res.getInteger(R.integer.config_keyboard_grid_width); + GRID_HEIGHT = res.getInteger(R.integer.config_keyboard_grid_height); + GRID_SIZE = GRID_WIDTH * GRID_HEIGHT; + mDisplayWidth = width; mDisplayHeight = height; @@ -485,17 +490,9 @@ public class BaseKeyboard { * @param modeId keyboard mode identifier */ public BaseKeyboard(Context context, int xmlLayoutResId, int modeId) { - DisplayMetrics dm = context.getResources().getDisplayMetrics(); - mDisplayWidth = dm.widthPixels; - mDisplayHeight = dm.heightPixels; - //Log.v(TAG, "keyboard's display metrics:" + dm); - - mDefaultHorizontalGap = 0; - setKeyWidth(mDisplayWidth / 10); - mDefaultVerticalGap = 0; - mDefaultHeight = mDefaultWidth; - mKeyboardMode = modeId; - loadKeyboard(context, xmlLayoutResId); + this(context, xmlLayoutResId, modeId, + context.getResources().getDisplayMetrics().widthPixels, + context.getResources().getDisplayMetrics().heightPixels); } /**