Loading java/src/com/android/inputmethod/keyboard/Key.java +4 −3 Original line number Diff line number Diff line Loading @@ -219,16 +219,17 @@ public class Key { final TypedArray keyboardAttr = res.obtainAttributes(Xml.asAttributeSet(parser), R.styleable.Keyboard); mHeight = (int)KeyboardBuilder.getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_rowHeight, params.mHeight, row.mRowHeight) R.styleable.Keyboard_rowHeight, params.mBaseHeight, row.mRowHeight) - params.mVerticalGap; final float horizontalGap = isSpacer() ? 0 : KeyboardBuilder.getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_horizontalGap, params.mWidth, params.mHorizontalGap); R.styleable.Keyboard_horizontalGap, params.mBaseWidth, params.mHorizontalGap); mVerticalGap = params.mVerticalGap; final int widthType = KeyboardBuilder.getEnumValue(keyboardAttr, R.styleable.Keyboard_keyWidth, KEYWIDTH_NOT_ENUM); float keyWidth = KeyboardBuilder.getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyWidth, params.mWidth, row.mDefaultKeyWidth); R.styleable.Keyboard_keyWidth, params.mBaseWidth, row.mDefaultKeyWidth); keyboardAttr.recycle(); final TypedArray keyAttr = res.obtainAttributes(Xml.asAttributeSet(parser), Loading java/src/com/android/inputmethod/keyboard/Keyboard.java +5 −9 Original line number Diff line number Diff line Loading @@ -90,15 +90,12 @@ public class Keyboard { /** Total width of the keyboard, including the padding and keys */ public final int mOccupiedWidth; public final int mHeight; public final int mWidth; /** Default row height */ public final int mDefaultRowHeight; /** The padding above the keyboard */ public final int mTopPadding; /** Default gap between rows */ public final int mVerticalGap; public final int mMostCommonKeyHeight; public final int mMostCommonKeyWidth; /** More keys keyboard template */ Loading Loading @@ -126,14 +123,13 @@ public class Keyboard { mId = params.mId; mOccupiedHeight = params.mOccupiedHeight; mOccupiedWidth = params.mOccupiedWidth; mHeight = params.mHeight; mWidth = params.mWidth; mMostCommonKeyHeight = params.mMostCommonKeyHeight; mMostCommonKeyWidth = params.mMostCommonKeyWidth; mIsRtlKeyboard = params.mIsRtlKeyboard; mMoreKeysTemplate = params.mMoreKeysTemplate; mMaxMiniKeyboardColumn = params.mMaxMiniKeyboardColumn; mDefaultRowHeight = params.mDefaultRowHeight; mTopPadding = params.mTopPadding; mVerticalGap = params.mVerticalGap; mKeys = Collections.unmodifiableList(params.mKeys); Loading java/src/com/android/inputmethod/keyboard/KeyboardView.java +1 −1 Original line number Diff line number Diff line Loading @@ -391,7 +391,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { mDirtyRect.set(0, 0, getWidth(), getHeight()); mBufferNeedsUpdate = true; invalidateAllKeys(); final int keyHeight = keyboard.mDefaultRowHeight - keyboard.mVerticalGap; final int keyHeight = keyboard.mMostCommonKeyHeight - keyboard.mVerticalGap; mKeyDrawParams.updateKeyHeight(keyHeight); mKeyPreviewDrawParams.updateKeyHeight(keyHeight); } Loading java/src/com/android/inputmethod/keyboard/MiniKeyboard.java +3 −3 Original line number Diff line number Diff line Loading @@ -122,9 +122,9 @@ public class MiniKeyboard extends Keyboard { mTopRowAdjustment = -1; } mWidth = mOccupiedWidth = mNumColumns * mDefaultKeyWidth; mBaseWidth = mOccupiedWidth = mNumColumns * mDefaultKeyWidth; // Need to subtract the bottom row's gutter only. mHeight = mOccupiedHeight = mNumRows * mDefaultRowHeight - mVerticalGap mBaseHeight = mOccupiedHeight = mNumRows * mDefaultRowHeight - mVerticalGap + mTopPadding + mBottomPadding; } Loading Loading @@ -219,7 +219,7 @@ public class MiniKeyboard extends Keyboard { final int keyWidth = getMaxKeyWidth(view, mMoreKeys, mParams.mDefaultKeyWidth); mParams.setParameters(mMoreKeys.length, parentKey.mMaxMoreKeysColumn, keyWidth, parentKeyboard.mDefaultRowHeight, parentKey.mX keyWidth, parentKeyboard.mMostCommonKeyHeight, parentKey.mX + (mParams.mDefaultKeyWidth - keyWidth) / 2, view.getMeasuredWidth()); } Loading java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java +32 −29 Original line number Diff line number Diff line Loading @@ -123,6 +123,9 @@ public class KeyboardBuilder<KP extends KeyboardParams> { private static final String TAG_DEFAULT = "default"; public static final String TAG_KEY_STYLE = "key-style"; private static final int DEFAULT_KEYBOARD_COLUMNS = 10; private static final int DEFAULT_KEYBOARD_ROWS = 4; protected final KP mParams; protected final Context mContext; protected final Resources mResources; Loading Loading @@ -151,14 +154,12 @@ public class KeyboardBuilder<KP extends KeyboardParams> { public float mCurrentX; public Row(Resources res, KeyboardParams params, XmlResourceParser parser, int y) { final int keyboardWidth = params.mWidth; final int keyboardHeight = params.mHeight; TypedArray a = res.obtainAttributes(Xml.asAttributeSet(parser), R.styleable.Keyboard); mDefaultKeyWidth = KeyboardBuilder.getDimensionOrFraction(a, R.styleable.Keyboard_keyWidth, keyboardWidth, params.mDefaultKeyWidth); R.styleable.Keyboard_keyWidth, params.mBaseWidth, params.mDefaultKeyWidth); mRowHeight = (int)KeyboardBuilder.getDimensionOrFraction(a, R.styleable.Keyboard_rowHeight, keyboardHeight, params.mDefaultRowHeight); R.styleable.Keyboard_rowHeight, params.mBaseHeight, params.mDefaultRowHeight); a.recycle(); mCurrentY = y; Loading Loading @@ -259,38 +260,40 @@ public class KeyboardBuilder<KP extends KeyboardParams> { minKeyboardHeight = -(int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_minKeyboardHeight, displayWidth, displayWidth / 2); } final KeyboardParams params = mParams; // Keyboard height will not exceed maxKeyboardHeight and will not be less than // minKeyboardHeight. mParams.mOccupiedHeight = Math.max( params.mOccupiedHeight = Math.max( Math.min(keyboardHeight, maxKeyboardHeight), minKeyboardHeight); mParams.mOccupiedWidth = mParams.mId.mWidth; mParams.mTopPadding = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyboardTopPadding, mParams.mOccupiedHeight, 0); mParams.mBottomPadding = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyboardBottomPadding, mParams.mOccupiedHeight, 0); final int height = mParams.mOccupiedHeight; final int width = mParams.mOccupiedWidth - mParams.mHorizontalEdgesPadding * 2 - mParams.mHorizontalCenterPadding; mParams.mHeight = height; mParams.mWidth = width; mParams.mDefaultKeyWidth = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyWidth, width, width / 10); mParams.mDefaultRowHeight = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_rowHeight, height, height / 4); mParams.mHorizontalGap = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_horizontalGap, width, 0); mParams.mVerticalGap = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_verticalGap, height, 0); mParams.mIsRtlKeyboard = keyboardAttr.getBoolean( params.mOccupiedWidth = params.mId.mWidth; params.mTopPadding = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyboardTopPadding, params.mOccupiedHeight, 0); params.mBottomPadding = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyboardBottomPadding, params.mOccupiedHeight, 0); params.mBaseWidth = params.mOccupiedWidth - params.mHorizontalEdgesPadding * 2 - params.mHorizontalCenterPadding; params.mDefaultKeyWidth = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyWidth, params.mBaseWidth, params.mBaseWidth / DEFAULT_KEYBOARD_COLUMNS); params.mHorizontalGap = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_horizontalGap, params.mBaseWidth, 0); params.mVerticalGap = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_verticalGap, params.mOccupiedHeight, 0); params.mBaseHeight = params.mOccupiedHeight - params.mTopPadding - params.mBottomPadding + params.mVerticalGap; params.mDefaultRowHeight = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_rowHeight, params.mBaseHeight, params.mBaseHeight / DEFAULT_KEYBOARD_ROWS); params.mIsRtlKeyboard = keyboardAttr.getBoolean( R.styleable.Keyboard_isRtlKeyboard, false); mParams.mMoreKeysTemplate = keyboardAttr.getResourceId( params.mMoreKeysTemplate = keyboardAttr.getResourceId( R.styleable.Keyboard_moreKeysTemplate, 0); mParams.mMaxMiniKeyboardColumn = keyAttr.getInt( params.mMaxMiniKeyboardColumn = keyAttr.getInt( R.styleable.Keyboard_Key_maxMoreKeysColumn, 5); mParams.mIconsSet.loadIcons(keyboardAttr); params.mIconsSet.loadIcons(keyboardAttr); } finally { keyAttr.recycle(); keyboardAttr.recycle(); Loading Loading
java/src/com/android/inputmethod/keyboard/Key.java +4 −3 Original line number Diff line number Diff line Loading @@ -219,16 +219,17 @@ public class Key { final TypedArray keyboardAttr = res.obtainAttributes(Xml.asAttributeSet(parser), R.styleable.Keyboard); mHeight = (int)KeyboardBuilder.getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_rowHeight, params.mHeight, row.mRowHeight) R.styleable.Keyboard_rowHeight, params.mBaseHeight, row.mRowHeight) - params.mVerticalGap; final float horizontalGap = isSpacer() ? 0 : KeyboardBuilder.getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_horizontalGap, params.mWidth, params.mHorizontalGap); R.styleable.Keyboard_horizontalGap, params.mBaseWidth, params.mHorizontalGap); mVerticalGap = params.mVerticalGap; final int widthType = KeyboardBuilder.getEnumValue(keyboardAttr, R.styleable.Keyboard_keyWidth, KEYWIDTH_NOT_ENUM); float keyWidth = KeyboardBuilder.getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyWidth, params.mWidth, row.mDefaultKeyWidth); R.styleable.Keyboard_keyWidth, params.mBaseWidth, row.mDefaultKeyWidth); keyboardAttr.recycle(); final TypedArray keyAttr = res.obtainAttributes(Xml.asAttributeSet(parser), Loading
java/src/com/android/inputmethod/keyboard/Keyboard.java +5 −9 Original line number Diff line number Diff line Loading @@ -90,15 +90,12 @@ public class Keyboard { /** Total width of the keyboard, including the padding and keys */ public final int mOccupiedWidth; public final int mHeight; public final int mWidth; /** Default row height */ public final int mDefaultRowHeight; /** The padding above the keyboard */ public final int mTopPadding; /** Default gap between rows */ public final int mVerticalGap; public final int mMostCommonKeyHeight; public final int mMostCommonKeyWidth; /** More keys keyboard template */ Loading Loading @@ -126,14 +123,13 @@ public class Keyboard { mId = params.mId; mOccupiedHeight = params.mOccupiedHeight; mOccupiedWidth = params.mOccupiedWidth; mHeight = params.mHeight; mWidth = params.mWidth; mMostCommonKeyHeight = params.mMostCommonKeyHeight; mMostCommonKeyWidth = params.mMostCommonKeyWidth; mIsRtlKeyboard = params.mIsRtlKeyboard; mMoreKeysTemplate = params.mMoreKeysTemplate; mMaxMiniKeyboardColumn = params.mMaxMiniKeyboardColumn; mDefaultRowHeight = params.mDefaultRowHeight; mTopPadding = params.mTopPadding; mVerticalGap = params.mVerticalGap; mKeys = Collections.unmodifiableList(params.mKeys); Loading
java/src/com/android/inputmethod/keyboard/KeyboardView.java +1 −1 Original line number Diff line number Diff line Loading @@ -391,7 +391,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { mDirtyRect.set(0, 0, getWidth(), getHeight()); mBufferNeedsUpdate = true; invalidateAllKeys(); final int keyHeight = keyboard.mDefaultRowHeight - keyboard.mVerticalGap; final int keyHeight = keyboard.mMostCommonKeyHeight - keyboard.mVerticalGap; mKeyDrawParams.updateKeyHeight(keyHeight); mKeyPreviewDrawParams.updateKeyHeight(keyHeight); } Loading
java/src/com/android/inputmethod/keyboard/MiniKeyboard.java +3 −3 Original line number Diff line number Diff line Loading @@ -122,9 +122,9 @@ public class MiniKeyboard extends Keyboard { mTopRowAdjustment = -1; } mWidth = mOccupiedWidth = mNumColumns * mDefaultKeyWidth; mBaseWidth = mOccupiedWidth = mNumColumns * mDefaultKeyWidth; // Need to subtract the bottom row's gutter only. mHeight = mOccupiedHeight = mNumRows * mDefaultRowHeight - mVerticalGap mBaseHeight = mOccupiedHeight = mNumRows * mDefaultRowHeight - mVerticalGap + mTopPadding + mBottomPadding; } Loading Loading @@ -219,7 +219,7 @@ public class MiniKeyboard extends Keyboard { final int keyWidth = getMaxKeyWidth(view, mMoreKeys, mParams.mDefaultKeyWidth); mParams.setParameters(mMoreKeys.length, parentKey.mMaxMoreKeysColumn, keyWidth, parentKeyboard.mDefaultRowHeight, parentKey.mX keyWidth, parentKeyboard.mMostCommonKeyHeight, parentKey.mX + (mParams.mDefaultKeyWidth - keyWidth) / 2, view.getMeasuredWidth()); } Loading
java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java +32 −29 Original line number Diff line number Diff line Loading @@ -123,6 +123,9 @@ public class KeyboardBuilder<KP extends KeyboardParams> { private static final String TAG_DEFAULT = "default"; public static final String TAG_KEY_STYLE = "key-style"; private static final int DEFAULT_KEYBOARD_COLUMNS = 10; private static final int DEFAULT_KEYBOARD_ROWS = 4; protected final KP mParams; protected final Context mContext; protected final Resources mResources; Loading Loading @@ -151,14 +154,12 @@ public class KeyboardBuilder<KP extends KeyboardParams> { public float mCurrentX; public Row(Resources res, KeyboardParams params, XmlResourceParser parser, int y) { final int keyboardWidth = params.mWidth; final int keyboardHeight = params.mHeight; TypedArray a = res.obtainAttributes(Xml.asAttributeSet(parser), R.styleable.Keyboard); mDefaultKeyWidth = KeyboardBuilder.getDimensionOrFraction(a, R.styleable.Keyboard_keyWidth, keyboardWidth, params.mDefaultKeyWidth); R.styleable.Keyboard_keyWidth, params.mBaseWidth, params.mDefaultKeyWidth); mRowHeight = (int)KeyboardBuilder.getDimensionOrFraction(a, R.styleable.Keyboard_rowHeight, keyboardHeight, params.mDefaultRowHeight); R.styleable.Keyboard_rowHeight, params.mBaseHeight, params.mDefaultRowHeight); a.recycle(); mCurrentY = y; Loading Loading @@ -259,38 +260,40 @@ public class KeyboardBuilder<KP extends KeyboardParams> { minKeyboardHeight = -(int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_minKeyboardHeight, displayWidth, displayWidth / 2); } final KeyboardParams params = mParams; // Keyboard height will not exceed maxKeyboardHeight and will not be less than // minKeyboardHeight. mParams.mOccupiedHeight = Math.max( params.mOccupiedHeight = Math.max( Math.min(keyboardHeight, maxKeyboardHeight), minKeyboardHeight); mParams.mOccupiedWidth = mParams.mId.mWidth; mParams.mTopPadding = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyboardTopPadding, mParams.mOccupiedHeight, 0); mParams.mBottomPadding = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyboardBottomPadding, mParams.mOccupiedHeight, 0); final int height = mParams.mOccupiedHeight; final int width = mParams.mOccupiedWidth - mParams.mHorizontalEdgesPadding * 2 - mParams.mHorizontalCenterPadding; mParams.mHeight = height; mParams.mWidth = width; mParams.mDefaultKeyWidth = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyWidth, width, width / 10); mParams.mDefaultRowHeight = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_rowHeight, height, height / 4); mParams.mHorizontalGap = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_horizontalGap, width, 0); mParams.mVerticalGap = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_verticalGap, height, 0); mParams.mIsRtlKeyboard = keyboardAttr.getBoolean( params.mOccupiedWidth = params.mId.mWidth; params.mTopPadding = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyboardTopPadding, params.mOccupiedHeight, 0); params.mBottomPadding = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyboardBottomPadding, params.mOccupiedHeight, 0); params.mBaseWidth = params.mOccupiedWidth - params.mHorizontalEdgesPadding * 2 - params.mHorizontalCenterPadding; params.mDefaultKeyWidth = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyWidth, params.mBaseWidth, params.mBaseWidth / DEFAULT_KEYBOARD_COLUMNS); params.mHorizontalGap = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_horizontalGap, params.mBaseWidth, 0); params.mVerticalGap = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_verticalGap, params.mOccupiedHeight, 0); params.mBaseHeight = params.mOccupiedHeight - params.mTopPadding - params.mBottomPadding + params.mVerticalGap; params.mDefaultRowHeight = (int)getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_rowHeight, params.mBaseHeight, params.mBaseHeight / DEFAULT_KEYBOARD_ROWS); params.mIsRtlKeyboard = keyboardAttr.getBoolean( R.styleable.Keyboard_isRtlKeyboard, false); mParams.mMoreKeysTemplate = keyboardAttr.getResourceId( params.mMoreKeysTemplate = keyboardAttr.getResourceId( R.styleable.Keyboard_moreKeysTemplate, 0); mParams.mMaxMiniKeyboardColumn = keyAttr.getInt( params.mMaxMiniKeyboardColumn = keyAttr.getInt( R.styleable.Keyboard_Key_maxMoreKeysColumn, 5); mParams.mIconsSet.loadIcons(keyboardAttr); params.mIconsSet.loadIcons(keyboardAttr); } finally { keyAttr.recycle(); keyboardAttr.recycle(); Loading