Loading java/src/com/android/inputmethod/keyboard/Key.java +7 −7 Original line number Diff line number Diff line Loading @@ -52,9 +52,9 @@ public class Key { public final int mAltCode; /** Label to display */ public final CharSequence mLabel; public final String mLabel; /** Hint label to display on the key in conjunction with the label */ public final CharSequence mHintLabel; public final String mHintLabel; /** Flags of the label */ private final int mLabelFlags; private static final int LABEL_FLAGS_ALIGN_LEFT = 0x01; Loading Loading @@ -187,7 +187,7 @@ public class Key { /** * This constructor is being used only for key in popup suggestions pane. */ public Key(Keyboard.Params params, CharSequence label, CharSequence hintLabel, Drawable icon, public Key(Keyboard.Params params, String label, String hintLabel, Drawable icon, int code, CharSequence outputText, int x, int y, int width, int height) { mHeight = height - params.mVerticalGap; mHorizontalGap = params.mHorizontalGap; Loading Loading @@ -260,7 +260,7 @@ public class Key { // Update row to have current x coordinate. row.setXPos(keyXPos + keyWidth); final String[] moreKeys = style.getTextArray(keyAttr, final String[] moreKeys = style.getStringArray(keyAttr, R.styleable.Keyboard_Key_moreKeys); // In Arabic symbol layouts, we'd like to keep digits in more keys regardless of // config_digit_more_keys_enabled. Loading Loading @@ -291,11 +291,11 @@ public class Key { final int disabledIconAttrId = KeyboardIconsSet.getIconAttrId(style.getInt(keyAttr, R.styleable.Keyboard_Key_keyIconDisabled, KeyboardIconsSet.ICON_UNDEFINED)); mDisabledIcon = iconsSet.getIconByAttrId(disabledIconAttrId); mHintLabel = style.getText(keyAttr, R.styleable.Keyboard_Key_keyHintLabel); mHintLabel = style.getString(keyAttr, R.styleable.Keyboard_Key_keyHintLabel); mLabel = style.getText(keyAttr, R.styleable.Keyboard_Key_keyLabel); mLabel = style.getString(keyAttr, R.styleable.Keyboard_Key_keyLabel); mLabelFlags = style.getFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelFlags, 0); mOutputText = style.getText(keyAttr, R.styleable.Keyboard_Key_keyOutputText); mOutputText = style.getString(keyAttr, R.styleable.Keyboard_Key_keyOutputText); // Choose the first letter of the label as primary code if not // specified. final int code = style.getInt(keyAttr, R.styleable.Keyboard_Key_code, Loading java/src/com/android/inputmethod/keyboard/Keyboard.java +2 −2 Original line number Diff line number Diff line Loading @@ -245,10 +245,10 @@ public class Keyboard { } // TODO: Remove this method. public CharSequence adjustLabelCase(CharSequence label) { public String adjustLabelCase(String label) { if (mId.isAlphabetKeyboard() && isShiftedOrShiftLocked() && !TextUtils.isEmpty(label) && label.length() < 3 && Character.isLowerCase(label.charAt(0))) { return label.toString().toUpperCase(mId.mLocale); return label.toUpperCase(mId.mLocale); } return label; } Loading java/src/com/android/inputmethod/keyboard/KeyboardView.java +4 −4 Original line number Diff line number Diff line Loading @@ -557,7 +557,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { float positionX = centerX; if (key.mLabel != null) { // Switch the character to uppercase if shift is pressed final CharSequence label = mKeyboard.adjustLabelCase(key.mLabel); final String label = mKeyboard.adjustLabelCase(key.mLabel); // For characters, use large font. For labels like "Done", use smaller font. paint.setTypeface(key.selectTypeface(params.mKeyTextStyle)); final int labelSize = key.selectTextSize(params.mKeyLetterSize, Loading Loading @@ -639,7 +639,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { // Draw hint label. if (key.mHintLabel != null) { final CharSequence hint = key.mHintLabel; final String hint = key.mHintLabel; final int hintColor; final int hintSize; if (key.hasHintLabel()) { Loading Loading @@ -778,12 +778,12 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { return width; } private static float getLabelWidth(CharSequence label, Paint paint) { private static float getLabelWidth(String label, Paint paint) { paint.getTextBounds(label.toString(), 0, label.length(), sTextBounds); return sTextBounds.width(); } public float getDefaultLabelWidth(CharSequence label, Paint paint) { public float getDefaultLabelWidth(String label, Paint paint) { paint.setTextSize(mKeyDrawParams.mKeyLabelSize); paint.setTypeface(mKeyDrawParams.mKeyTextStyle); return getLabelWidth(label, paint); Loading java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java +21 −22 Original line number Diff line number Diff line Loading @@ -40,8 +40,8 @@ public class KeyStyles { private static final KeyStyle EMPTY_KEY_STYLE = new EmptyKeyStyle(); public interface KeyStyle { public String[] getTextArray(TypedArray a, int index); public CharSequence getText(TypedArray a, int index); public String[] getStringArray(TypedArray a, int index); public String getString(TypedArray a, int index); public int getInt(TypedArray a, int index, int defaultValue); public int getFlag(TypedArray a, int index, int defaultValue); } Loading @@ -52,13 +52,13 @@ public class KeyStyles { } @Override public String[] getTextArray(TypedArray a, int index) { return parseTextArray(a, index); public String[] getStringArray(TypedArray a, int index) { return parseStringArray(a, index); } @Override public CharSequence getText(TypedArray a, int index) { return a.getText(index); public String getString(TypedArray a, int index) { return a.getString(index); } @Override Loading @@ -71,16 +71,15 @@ public class KeyStyles { return a.getInt(index, defaultValue); } protected static String[] parseTextArray(TypedArray a, int index) { protected static String[] parseStringArray(TypedArray a, int index) { if (!a.hasValue(index)) return null; final CharSequence text = a.getText(index); return parseCsvText(text.toString(), a.getResources(), R.string.english_ime_name); return parseCsvString(a.getString(index), a.getResources(), R.string.english_ime_name); } } /* package for test */ static String[] parseCsvText(String rawText, Resources res, int packageNameResId) { static String[] parseCsvString(String rawText, Resources res, int packageNameResId) { final String text = Utils.resolveStringResource(rawText, res, packageNameResId); final int size = text.length(); if (size == 0) { Loading Loading @@ -139,15 +138,15 @@ public class KeyStyles { private final HashMap<Integer, Object> mAttributes = new HashMap<Integer, Object>(); @Override public String[] getTextArray(TypedArray a, int index) { public String[] getStringArray(TypedArray a, int index) { return a.hasValue(index) ? super.getTextArray(a, index) : (String[])mAttributes.get(index); ? super.getStringArray(a, index) : (String[])mAttributes.get(index); } @Override public CharSequence getText(TypedArray a, int index) { public String getString(TypedArray a, int index) { return a.hasValue(index) ? super.getText(a, index) : (CharSequence)mAttributes.get(index); ? super.getString(a, index) : (String)mAttributes.get(index); } @Override Loading @@ -170,10 +169,10 @@ public class KeyStyles { // TODO: Currently not all Key attributes can be declared as style. readInt(keyAttr, R.styleable.Keyboard_Key_code); readInt(keyAttr, R.styleable.Keyboard_Key_altCode); readText(keyAttr, R.styleable.Keyboard_Key_keyLabel); readText(keyAttr, R.styleable.Keyboard_Key_keyOutputText); readText(keyAttr, R.styleable.Keyboard_Key_keyHintLabel); readTextArray(keyAttr, R.styleable.Keyboard_Key_moreKeys); readString(keyAttr, R.styleable.Keyboard_Key_keyLabel); readString(keyAttr, R.styleable.Keyboard_Key_keyOutputText); readString(keyAttr, R.styleable.Keyboard_Key_keyHintLabel); readStringArray(keyAttr, R.styleable.Keyboard_Key_moreKeys); readFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelFlags); readInt(keyAttr, R.styleable.Keyboard_Key_keyIcon); readInt(keyAttr, R.styleable.Keyboard_Key_keyIconDisabled); Loading @@ -183,9 +182,9 @@ public class KeyStyles { readFlag(keyAttr, R.styleable.Keyboard_Key_keyActionFlags); } private void readText(TypedArray a, int index) { private void readString(TypedArray a, int index) { if (a.hasValue(index)) mAttributes.put(index, a.getText(index)); mAttributes.put(index, a.getString(index)); } private void readInt(TypedArray a, int index) { Loading @@ -199,8 +198,8 @@ public class KeyStyles { mAttributes.put(index, a.getInt(index, 0) | (value != null ? value : 0)); } private void readTextArray(TypedArray a, int index) { final CharSequence[] value = parseTextArray(a, index); private void readStringArray(TypedArray a, int index) { final String[] value = parseStringArray(a, index); if (value != null) mAttributes.put(index, value); } Loading java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java +1 −1 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ public class MoreSuggestions extends Keyboard { int pos = fromPos, rowStartPos = fromPos; final int size = Math.min(suggestions.size(), SuggestionsView.MAX_SUGGESTIONS); while (pos < size) { final CharSequence word = suggestions.getWord(pos); final String word = suggestions.getWord(pos).toString(); // TODO: Should take care of text x-scaling. mWidths[pos] = (int)view.getDefaultLabelWidth(word, paint) + padding; final int numColumn = pos - rowStartPos + 1; Loading Loading
java/src/com/android/inputmethod/keyboard/Key.java +7 −7 Original line number Diff line number Diff line Loading @@ -52,9 +52,9 @@ public class Key { public final int mAltCode; /** Label to display */ public final CharSequence mLabel; public final String mLabel; /** Hint label to display on the key in conjunction with the label */ public final CharSequence mHintLabel; public final String mHintLabel; /** Flags of the label */ private final int mLabelFlags; private static final int LABEL_FLAGS_ALIGN_LEFT = 0x01; Loading Loading @@ -187,7 +187,7 @@ public class Key { /** * This constructor is being used only for key in popup suggestions pane. */ public Key(Keyboard.Params params, CharSequence label, CharSequence hintLabel, Drawable icon, public Key(Keyboard.Params params, String label, String hintLabel, Drawable icon, int code, CharSequence outputText, int x, int y, int width, int height) { mHeight = height - params.mVerticalGap; mHorizontalGap = params.mHorizontalGap; Loading Loading @@ -260,7 +260,7 @@ public class Key { // Update row to have current x coordinate. row.setXPos(keyXPos + keyWidth); final String[] moreKeys = style.getTextArray(keyAttr, final String[] moreKeys = style.getStringArray(keyAttr, R.styleable.Keyboard_Key_moreKeys); // In Arabic symbol layouts, we'd like to keep digits in more keys regardless of // config_digit_more_keys_enabled. Loading Loading @@ -291,11 +291,11 @@ public class Key { final int disabledIconAttrId = KeyboardIconsSet.getIconAttrId(style.getInt(keyAttr, R.styleable.Keyboard_Key_keyIconDisabled, KeyboardIconsSet.ICON_UNDEFINED)); mDisabledIcon = iconsSet.getIconByAttrId(disabledIconAttrId); mHintLabel = style.getText(keyAttr, R.styleable.Keyboard_Key_keyHintLabel); mHintLabel = style.getString(keyAttr, R.styleable.Keyboard_Key_keyHintLabel); mLabel = style.getText(keyAttr, R.styleable.Keyboard_Key_keyLabel); mLabel = style.getString(keyAttr, R.styleable.Keyboard_Key_keyLabel); mLabelFlags = style.getFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelFlags, 0); mOutputText = style.getText(keyAttr, R.styleable.Keyboard_Key_keyOutputText); mOutputText = style.getString(keyAttr, R.styleable.Keyboard_Key_keyOutputText); // Choose the first letter of the label as primary code if not // specified. final int code = style.getInt(keyAttr, R.styleable.Keyboard_Key_code, Loading
java/src/com/android/inputmethod/keyboard/Keyboard.java +2 −2 Original line number Diff line number Diff line Loading @@ -245,10 +245,10 @@ public class Keyboard { } // TODO: Remove this method. public CharSequence adjustLabelCase(CharSequence label) { public String adjustLabelCase(String label) { if (mId.isAlphabetKeyboard() && isShiftedOrShiftLocked() && !TextUtils.isEmpty(label) && label.length() < 3 && Character.isLowerCase(label.charAt(0))) { return label.toString().toUpperCase(mId.mLocale); return label.toUpperCase(mId.mLocale); } return label; } Loading
java/src/com/android/inputmethod/keyboard/KeyboardView.java +4 −4 Original line number Diff line number Diff line Loading @@ -557,7 +557,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { float positionX = centerX; if (key.mLabel != null) { // Switch the character to uppercase if shift is pressed final CharSequence label = mKeyboard.adjustLabelCase(key.mLabel); final String label = mKeyboard.adjustLabelCase(key.mLabel); // For characters, use large font. For labels like "Done", use smaller font. paint.setTypeface(key.selectTypeface(params.mKeyTextStyle)); final int labelSize = key.selectTextSize(params.mKeyLetterSize, Loading Loading @@ -639,7 +639,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { // Draw hint label. if (key.mHintLabel != null) { final CharSequence hint = key.mHintLabel; final String hint = key.mHintLabel; final int hintColor; final int hintSize; if (key.hasHintLabel()) { Loading Loading @@ -778,12 +778,12 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { return width; } private static float getLabelWidth(CharSequence label, Paint paint) { private static float getLabelWidth(String label, Paint paint) { paint.getTextBounds(label.toString(), 0, label.length(), sTextBounds); return sTextBounds.width(); } public float getDefaultLabelWidth(CharSequence label, Paint paint) { public float getDefaultLabelWidth(String label, Paint paint) { paint.setTextSize(mKeyDrawParams.mKeyLabelSize); paint.setTypeface(mKeyDrawParams.mKeyTextStyle); return getLabelWidth(label, paint); Loading
java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java +21 −22 Original line number Diff line number Diff line Loading @@ -40,8 +40,8 @@ public class KeyStyles { private static final KeyStyle EMPTY_KEY_STYLE = new EmptyKeyStyle(); public interface KeyStyle { public String[] getTextArray(TypedArray a, int index); public CharSequence getText(TypedArray a, int index); public String[] getStringArray(TypedArray a, int index); public String getString(TypedArray a, int index); public int getInt(TypedArray a, int index, int defaultValue); public int getFlag(TypedArray a, int index, int defaultValue); } Loading @@ -52,13 +52,13 @@ public class KeyStyles { } @Override public String[] getTextArray(TypedArray a, int index) { return parseTextArray(a, index); public String[] getStringArray(TypedArray a, int index) { return parseStringArray(a, index); } @Override public CharSequence getText(TypedArray a, int index) { return a.getText(index); public String getString(TypedArray a, int index) { return a.getString(index); } @Override Loading @@ -71,16 +71,15 @@ public class KeyStyles { return a.getInt(index, defaultValue); } protected static String[] parseTextArray(TypedArray a, int index) { protected static String[] parseStringArray(TypedArray a, int index) { if (!a.hasValue(index)) return null; final CharSequence text = a.getText(index); return parseCsvText(text.toString(), a.getResources(), R.string.english_ime_name); return parseCsvString(a.getString(index), a.getResources(), R.string.english_ime_name); } } /* package for test */ static String[] parseCsvText(String rawText, Resources res, int packageNameResId) { static String[] parseCsvString(String rawText, Resources res, int packageNameResId) { final String text = Utils.resolveStringResource(rawText, res, packageNameResId); final int size = text.length(); if (size == 0) { Loading Loading @@ -139,15 +138,15 @@ public class KeyStyles { private final HashMap<Integer, Object> mAttributes = new HashMap<Integer, Object>(); @Override public String[] getTextArray(TypedArray a, int index) { public String[] getStringArray(TypedArray a, int index) { return a.hasValue(index) ? super.getTextArray(a, index) : (String[])mAttributes.get(index); ? super.getStringArray(a, index) : (String[])mAttributes.get(index); } @Override public CharSequence getText(TypedArray a, int index) { public String getString(TypedArray a, int index) { return a.hasValue(index) ? super.getText(a, index) : (CharSequence)mAttributes.get(index); ? super.getString(a, index) : (String)mAttributes.get(index); } @Override Loading @@ -170,10 +169,10 @@ public class KeyStyles { // TODO: Currently not all Key attributes can be declared as style. readInt(keyAttr, R.styleable.Keyboard_Key_code); readInt(keyAttr, R.styleable.Keyboard_Key_altCode); readText(keyAttr, R.styleable.Keyboard_Key_keyLabel); readText(keyAttr, R.styleable.Keyboard_Key_keyOutputText); readText(keyAttr, R.styleable.Keyboard_Key_keyHintLabel); readTextArray(keyAttr, R.styleable.Keyboard_Key_moreKeys); readString(keyAttr, R.styleable.Keyboard_Key_keyLabel); readString(keyAttr, R.styleable.Keyboard_Key_keyOutputText); readString(keyAttr, R.styleable.Keyboard_Key_keyHintLabel); readStringArray(keyAttr, R.styleable.Keyboard_Key_moreKeys); readFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelFlags); readInt(keyAttr, R.styleable.Keyboard_Key_keyIcon); readInt(keyAttr, R.styleable.Keyboard_Key_keyIconDisabled); Loading @@ -183,9 +182,9 @@ public class KeyStyles { readFlag(keyAttr, R.styleable.Keyboard_Key_keyActionFlags); } private void readText(TypedArray a, int index) { private void readString(TypedArray a, int index) { if (a.hasValue(index)) mAttributes.put(index, a.getText(index)); mAttributes.put(index, a.getString(index)); } private void readInt(TypedArray a, int index) { Loading @@ -199,8 +198,8 @@ public class KeyStyles { mAttributes.put(index, a.getInt(index, 0) | (value != null ? value : 0)); } private void readTextArray(TypedArray a, int index) { final CharSequence[] value = parseTextArray(a, index); private void readStringArray(TypedArray a, int index) { final String[] value = parseStringArray(a, index); if (value != null) mAttributes.put(index, value); } Loading
java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java +1 −1 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ public class MoreSuggestions extends Keyboard { int pos = fromPos, rowStartPos = fromPos; final int size = Math.min(suggestions.size(), SuggestionsView.MAX_SUGGESTIONS); while (pos < size) { final CharSequence word = suggestions.getWord(pos); final String word = suggestions.getWord(pos).toString(); // TODO: Should take care of text x-scaling. mWidths[pos] = (int)view.getDefaultLabelWidth(word, paint) + padding; final int numColumn = pos - rowStartPos + 1; Loading