Cleanup	Keyboard related code and rename some classes

This is	a follow up change of I90ffbde0

Bug: 5023981
Change-Id: I3a6b862d05f5f907dee954cd6d6fee983b20ab5e
diff --git a/java/proguard.flags b/java/proguard.flags
index 44416ec..3959500 100644
--- a/java/proguard.flags
+++ b/java/proguard.flags
@@ -31,6 +31,6 @@
   *;
 }
 
--keep class com.android.inputmethod.keyboard.internal.MiniKeyboardBuilder$MiniKeyboardLayoutParams {
+-keep class com.android.inputmethod.keyboard.internal.MiniKeyboardBuilder$MiniKeyboardParams {
   <init>(...);
 }
diff --git a/java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java b/java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java
index cf6cd0f..e75559e 100644
--- a/java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java
+++ b/java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java
@@ -16,7 +16,7 @@
 
 package com.android.inputmethod.deprecated.languageswitcher;
 
-import com.android.inputmethod.keyboard.internal.KeyboardParser;
+import com.android.inputmethod.keyboard.internal.KeyboardBuilder;
 import com.android.inputmethod.latin.DictionaryFactory;
 import com.android.inputmethod.latin.R;
 import com.android.inputmethod.latin.Settings;
@@ -162,7 +162,7 @@
 
         try {
             final String localeStr = locale.toString();
-            final String[] layoutCountryCodes = KeyboardParser.parseKeyboardLocale(
+            final String[] layoutCountryCodes = KeyboardBuilder.parseKeyboardLocale(
                     this, R.xml.kbd_qwerty).split(",", -1);
             if (!TextUtils.isEmpty(localeStr) && layoutCountryCodes.length > 0) {
                 for (String s : layoutCountryCodes) {
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index 8bc7e43..57a354e 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -28,8 +28,8 @@
 import com.android.inputmethod.keyboard.internal.KeyStyles.KeyStyle;
 import com.android.inputmethod.keyboard.internal.KeyboardIconsSet;
 import com.android.inputmethod.keyboard.internal.KeyboardParams;
-import com.android.inputmethod.keyboard.internal.KeyboardParser;
-import com.android.inputmethod.keyboard.internal.KeyboardParser.ParseException;
+import com.android.inputmethod.keyboard.internal.KeyboardBuilder;
+import com.android.inputmethod.keyboard.internal.KeyboardBuilder.ParseException;
 import com.android.inputmethod.keyboard.internal.PopupCharactersParser;
 import com.android.inputmethod.keyboard.internal.Row;
 import com.android.inputmethod.latin.R;
@@ -235,14 +235,14 @@
                 R.styleable.Keyboard);
         int keyWidth;
         try {
-            mHeight = KeyboardParser.getDimensionOrFraction(keyboardAttr,
+            mHeight = KeyboardBuilder.getDimensionOrFraction(keyboardAttr,
                     R.styleable.Keyboard_rowHeight,
                     params.mHeight, row.mRowHeight) - params.mVerticalGap;
-            mHorizontalGap = KeyboardParser.getDimensionOrFraction(keyboardAttr,
+            mHorizontalGap = KeyboardBuilder.getDimensionOrFraction(keyboardAttr,
                     R.styleable.Keyboard_horizontalGap,
                     params.mWidth, params.mHorizontalGap);
             mVerticalGap = params.mVerticalGap;
-            keyWidth = KeyboardParser.getDimensionOrFraction(keyboardAttr,
+            keyWidth = KeyboardBuilder.getDimensionOrFraction(keyboardAttr,
                     R.styleable.Keyboard_keyWidth,
                     params.mWidth, row.mDefaultKeyWidth);
         } finally {
@@ -263,7 +263,7 @@
             }
 
             final int keyboardWidth = params.mOccupiedWidth;
-            int keyXPos = KeyboardParser.getDimensionOrFraction(keyAttr,
+            int keyXPos = KeyboardBuilder.getDimensionOrFraction(keyAttr,
                     R.styleable.Keyboard_Key_keyXPos, keyboardWidth, x);
             if (keyXPos < 0) {
                 // If keyXPos is negative, the actual x-coordinate will be k + keyXPos.
@@ -317,9 +317,9 @@
             mEdgeFlags = 0;
 
             final KeyboardIconsSet iconsSet = params.mIconsSet;
-            mVisualInsetsLeft = KeyboardParser.getDimensionOrFraction(keyAttr,
+            mVisualInsetsLeft = KeyboardBuilder.getDimensionOrFraction(keyAttr,
                     R.styleable.Keyboard_Key_visualInsetsLeft, keyboardWidth, 0);
-            mVisualInsetsRight = KeyboardParser.getDimensionOrFraction(keyAttr,
+            mVisualInsetsRight = KeyboardBuilder.getDimensionOrFraction(keyAttr,
                     R.styleable.Keyboard_Key_visualInsetsRight, keyboardWidth, 0);
             mPreviewIcon = iconsSet.getIcon(style.getInt(
                     keyAttr, R.styleable.Keyboard_Key_keyIconPreview,
diff --git a/java/src/com/android/inputmethod/keyboard/KeyDetector.java b/java/src/com/android/inputmethod/keyboard/KeyDetector.java
index 53d46a3..0a3acb4 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyDetector.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyDetector.java
@@ -153,7 +153,7 @@
     }
 
     private void getNearbyKeyCodes(final int[] allCodes) {
-        final List<Key> keys = getKeyboard().getKeys();
+        final List<Key> keys = getKeyboard().mKeys;
         final int[] indices = mIndices;
 
         // allCodes[0] should always have the key code even if it is a non-letter key.
@@ -187,7 +187,7 @@
      * @return The nearest key index
      */
     public int getKeyIndexAndNearbyCodes(int x, int y, final int[] allCodes) {
-        final List<Key> keys = getKeyboard().getKeys();
+        final List<Key> keys = getKeyboard().mKeys;
         final int touchX = getTouchX(x);
         final int touchY = getTouchY(y);
 
diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java
index 809c949..d5e75d0 100644
--- a/java/src/com/android/inputmethod/keyboard/Keyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java
@@ -153,11 +153,6 @@
         return mProximityInfo.getNativeProximityInfo();
     }
 
-    // TODO: Access mKeys directly
-    public List<Key> getKeys() {
-        return mKeys;
-    }
-
     public boolean hasShiftLockKey() {
         return !mShiftLockKeys.isEmpty();
     }
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index 0fb5109..d1fd7e3 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -448,7 +448,7 @@
             canvas.translate(-keyDrawX, -keyDrawY);
         } else {
             // Draw all keys.
-            for (final Key key : mKeyboard.getKeys()) {
+            for (final Key key : mKeyboard.mKeys) {
                 final int keyDrawX = key.mX + key.mVisualInsetsLeft + getPaddingLeft();
                 final int keyDrawY = key.mY + getPaddingTop();
                 canvas.translate(keyDrawX, keyDrawY);
diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
index 9a13608..3cba529 100644
--- a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
@@ -31,8 +31,8 @@
 import android.graphics.drawable.Drawable;
 import android.text.TextUtils;
 
+import com.android.inputmethod.keyboard.internal.KeyboardBuilder;
 import com.android.inputmethod.keyboard.internal.KeyboardParams;
-import com.android.inputmethod.keyboard.internal.KeyboardParser;
 import com.android.inputmethod.latin.R;
 import com.android.inputmethod.latin.SubtypeSwitcher;
 
@@ -118,7 +118,7 @@
         }
     }
 
-    public static class Builder extends KeyboardParser<LatinKeyboardParams> {
+    public static class Builder extends KeyboardBuilder<LatinKeyboardParams> {
         public Builder(Context context) {
             super(context, new LatinKeyboardParams());
         }
diff --git a/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java b/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java
index 7f5339d..08e7d7e 100644
--- a/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java
@@ -16,12 +16,12 @@
 
 package com.android.inputmethod.keyboard;
 
-import com.android.inputmethod.keyboard.internal.MiniKeyboardBuilder.MiniKeyboardLayoutParams;
+import com.android.inputmethod.keyboard.internal.MiniKeyboardBuilder.MiniKeyboardParams;
 
 public class MiniKeyboard extends Keyboard {
     private final int mDefaultKeyCoordX;
 
-    public MiniKeyboard(MiniKeyboardLayoutParams params) {
+    public MiniKeyboard(MiniKeyboardParams params) {
         super(params);
         mDefaultKeyCoordX = params.getDefaultKeyCoordX() + params.mDefaultKeyWidth / 2;
     }
diff --git a/java/src/com/android/inputmethod/keyboard/MiniKeyboardKeyDetector.java b/java/src/com/android/inputmethod/keyboard/MiniKeyboardKeyDetector.java
index 1ec0dda..84bd44c 100644
--- a/java/src/com/android/inputmethod/keyboard/MiniKeyboardKeyDetector.java
+++ b/java/src/com/android/inputmethod/keyboard/MiniKeyboardKeyDetector.java
@@ -37,7 +37,7 @@
 
     @Override
     public int getKeyIndexAndNearbyCodes(int x, int y, final int[] allCodes) {
-        final List<Key> keys = getKeyboard().getKeys();
+        final List<Key> keys = getKeyboard().mKeys;
         final int touchX = getTouchX(x);
         final int touchY = getTouchY(y);
 
diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
index 3d8a9cf..dc2d6e4 100644
--- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java
+++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
@@ -285,7 +285,7 @@
     public void setKeyDetectorInner(KeyDetector keyDetector) {
         mKeyDetector = keyDetector;
         mKeyboard = keyDetector.getKeyboard();
-        mKeys = mKeyboard.getKeys();
+        mKeys = mKeyboard.mKeys;
         final int keyQuarterWidth = mKeyboard.mMostCommonKeyWidth / 4;
         mKeyQuarterWidthSquared = keyQuarterWidth * keyQuarterWidth;
     }
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java
index 3f9f359..c0dba41 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java
@@ -20,7 +20,7 @@
 import android.content.res.XmlResourceParser;
 import android.util.Log;
 
-import com.android.inputmethod.keyboard.internal.KeyboardParser.ParseException;
+import com.android.inputmethod.keyboard.internal.KeyboardBuilder.ParseException;
 import com.android.inputmethod.latin.R;
 
 import java.util.ArrayList;
@@ -214,7 +214,7 @@
             XmlResourceParser parser) {
         final String styleName = keyStyleAttr.getString(R.styleable.Keyboard_KeyStyle_styleName);
         if (DEBUG) Log.d(TAG, String.format("<%s styleName=%s />",
-                KeyboardParser.TAG_KEY_STYLE, styleName));
+                KeyboardBuilder.TAG_KEY_STYLE, styleName));
         if (mStyles.containsKey(styleName))
             throw new ParseException("duplicate key style declared: " + styleName, parser);
 
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParser.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
similarity index 97%
rename from java/src/com/android/inputmethod/keyboard/internal/KeyboardParser.java
rename to java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
index 42e290f..de04ecd 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParser.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
@@ -37,12 +37,11 @@
 
 import java.io.IOException;
 import java.util.Arrays;
-import java.util.List;
 
 /**
- * Parser for BaseKeyboard.
+ * Keyboard Building helper.
  *
- * This class parses Keyboard XML file and fill out keys in Keyboard.
+ * This class parses Keyboard XML file and eventually build a Keyboard.
  * The Keyboard XML file looks like:
  * <pre>
  *   &gt;!-- xml/keyboard.xml --&lt;
@@ -108,8 +107,8 @@
  * </pre>
  */
 
-public class KeyboardParser<KP extends KeyboardParams> {
-    private static final String TAG = KeyboardParser.class.getSimpleName();
+public class KeyboardBuilder<KP extends KeyboardParams> {
+    private static final String TAG = KeyboardBuilder.class.getSimpleName();
     private static final boolean DEBUG = false;
 
     // Keyboard XML Tags
@@ -136,7 +135,7 @@
     private Key mRightEdgeKey = null;
     private final KeyStyles mKeyStyles = new KeyStyles();
 
-    public KeyboardParser(Context context, KP params) {
+    public KeyboardBuilder(Context context, KP params) {
         mContext = context;
         final Resources res = context.getResources();
         mResources = res;
@@ -150,7 +149,7 @@
         mParams.GRID_HEIGHT = res.getInteger(R.integer.config_keyboard_grid_height);
     }
 
-    public KeyboardParser<KP> load(KeyboardId id) {
+    public KeyboardBuilder<KP> load(KeyboardId id) {
         mParams.mId = id;
         try {
             parseKeyboard(id.getXmlId());
@@ -253,10 +252,12 @@
             mParams.mVerticalGap = getDimensionOrFraction(keyboardAttr,
                     R.styleable.Keyboard_verticalGap, height, 0);
 
-            mParams.mIsRtlKeyboard = keyboardAttr.getBoolean(R.styleable.Keyboard_isRtlKeyboard, false);
+            mParams.mIsRtlKeyboard = keyboardAttr.getBoolean(
+                    R.styleable.Keyboard_isRtlKeyboard, false);
             mParams.mPopupKeyboardResId = keyboardAttr.getResourceId(
                     R.styleable.Keyboard_popupKeyboardTemplate, 0);
-            mParams.mMaxPopupColumn = keyAttr.getInt(R.styleable.Keyboard_Key_maxPopupKeyboardColumn, 5);
+            mParams.mMaxPopupColumn = keyAttr.getInt(
+                    R.styleable.Keyboard_Key_maxPopupKeyboardColumn, 5);
 
             mParams.mIconsSet.loadIcons(keyboardAttr);
         } finally {
@@ -389,7 +390,7 @@
 
             final TypedArray keyAttr = mResources.obtainAttributes(Xml.asAttributeSet(parser),
                     R.styleable.Keyboard_Key);
-            int keyXPos = KeyboardParser.getDimensionOrFraction(keyAttr,
+            int keyXPos = KeyboardBuilder.getDimensionOrFraction(keyAttr,
                     R.styleable.Keyboard_Key_keyXPos, keyboardWidth, mCurrentX);
             if (keyXPos < 0) {
                 // If keyXPos is negative, the actual x-coordinate will be display_width + keyXPos.
diff --git a/java/src/com/android/inputmethod/keyboard/internal/MiniKeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/MiniKeyboardBuilder.java
index bad7a17..31a291c 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/MiniKeyboardBuilder.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/MiniKeyboardBuilder.java
@@ -26,21 +26,21 @@
 import com.android.inputmethod.latin.R;
 
 public class MiniKeyboardBuilder extends
-        KeyboardParser<MiniKeyboardBuilder.MiniKeyboardLayoutParams> {
+        KeyboardBuilder<MiniKeyboardBuilder.MiniKeyboardParams> {
     private final CharSequence[] mPopupCharacters;
 
-    public static class MiniKeyboardLayoutParams extends KeyboardParams {
+    public static class MiniKeyboardParams extends KeyboardParams {
         /* package */ int mTopRowAdjustment;
         public int mNumRows;
         public int mNumColumns;
         public int mLeftKeys;
         public int mRightKeys; // includes default key.
 
-        public MiniKeyboardLayoutParams() {
+        public MiniKeyboardParams() {
             super();
         }
 
-        /* package for test */ MiniKeyboardLayoutParams(int numKeys, int maxColumns, int keyWidth,
+        /* package for test */ MiniKeyboardParams(int numKeys, int maxColumns, int keyWidth,
                 int rowHeight, int coordXInParent, int parentKeyboardWidth) {
             super();
             setParameters(
@@ -194,7 +194,7 @@
 
     public MiniKeyboardBuilder(KeyboardView view, int xmlId, Key parentKey,
             Keyboard parentKeyboard) {
-        super(view.getContext(), new MiniKeyboardLayoutParams());
+        super(view.getContext(), new MiniKeyboardParams());
         load(parentKeyboard.mId.cloneWithNewXml(mResources.getResourceEntryName(xmlId), xmlId));
 
         // HACK: Current mini keyboard design totally relies on the 9-patch padding about horizontal
@@ -246,7 +246,7 @@
 
     @Override
     public MiniKeyboard build() {
-        final MiniKeyboardLayoutParams params = mParams;
+        final MiniKeyboardParams params = mParams;
         for (int n = 0; n < mPopupCharacters.length; n++) {
             final CharSequence label = mPopupCharacters[n];
             final int row = n / params.mNumColumns;
diff --git a/java/src/com/android/inputmethod/keyboard/internal/Row.java b/java/src/com/android/inputmethod/keyboard/internal/Row.java
index 9299cc2..d53fe12 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/Row.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/Row.java
@@ -40,9 +40,9 @@
         final int keyboardHeight = params.mHeight;
         TypedArray a = res.obtainAttributes(Xml.asAttributeSet(parser),
                 R.styleable.Keyboard);
-        mDefaultKeyWidth = KeyboardParser.getDimensionOrFraction(a,
+        mDefaultKeyWidth = KeyboardBuilder.getDimensionOrFraction(a,
                 R.styleable.Keyboard_keyWidth, keyboardWidth, params.mDefaultKeyWidth);
-        mRowHeight = KeyboardParser.getDimensionOrFraction(a,
+        mRowHeight = KeyboardBuilder.getDimensionOrFraction(a,
                 R.styleable.Keyboard_rowHeight, keyboardHeight, params.mDefaultRowHeight);
         a.recycle();
     }