diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index 3a9423f4bc5e1acdb697502250a85145fa1d05c9..b3c5ed75d85a2ef6258b732b4ae2bb2e4af1bc7b 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -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;
@@ -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;
@@ -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.
@@ -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,
diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java
index c548f1145a3c09fc04f88df69b14f377fb823860..8c386dad2895a01dd78ad162d3127ae738fdd665 100644
--- a/java/src/com/android/inputmethod/keyboard/Keyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java
@@ -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;
     }
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index abc220e34de1b864aeb552c3d0be224ff5b57d6c..c2798bb333e63dbd6e1b0bc4519bab6b9ccea340 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -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,
@@ -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()) {
@@ -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);
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java
index faea389410a01d467ab990800954108fdcfae50d..b7215ec1ba281d9c6ddab2d7eef6c4f476e34cc9 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java
@@ -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);
     }
@@ -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
@@ -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) {
@@ -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
@@ -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);
@@ -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) {
@@ -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);
         }
diff --git a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java
index 3d26d972d481aa979bb3ed4a05339adcbf802d69..f42b8e681aebfa5ad49e652831289a85f28277a9 100644
--- a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java
+++ b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestions.java
@@ -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;
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeyStylesTests.java b/tests/src/com/android/inputmethod/keyboard/internal/KeyStylesTests.java
index 29881d91c0bed9be6ce392e7d2d7c1f76c76c5a7..2ae8027af735c430100c2f665aef5650600a4a01 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/KeyStylesTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/KeyStylesTests.java
@@ -39,7 +39,7 @@ public class KeyStylesTests extends AndroidTestCase {
     }
 
     private void assertTextArray(String message, String value, String ... expected) {
-        final String actual[] = KeyStyles.parseCsvText(value, mTestResources,
+        final String actual[] = KeyStyles.parseCsvString(value, mTestResources,
                 R.string.empty_string);
         if (expected.length == 0) {
             assertNull(message, actual);