From 4d8eb2e8886f4e06ac4aa2264847f86997168bf7 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Mon, 1 Aug 2011 17:02:47 -0700 Subject: [PATCH] Make horigontalGap and verticalGap attributes of Row obsolete Bug: 5023981 Change-Id: Ifb07b54a68cfdd32ff2ea79812188fb6158bd073 --- .../com/android/inputmethod/keyboard/Key.java | 4 ++-- .../keyboard/internal/KeyboardParser.java | 16 +++++++++++++++- .../inputmethod/keyboard/internal/Row.java | 8 -------- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index 4db673a30..a4aa0c1ea 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -237,10 +237,10 @@ public class Key { try { mHeight = KeyboardParser.getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_rowHeight, - keyboard.getKeyboardHeight(), row.mDefaultHeight) - row.mVerticalGap; + keyboard.getKeyboardHeight(), row.mDefaultHeight) - keyboard.getVerticalGap(); mHorizontalGap = KeyboardParser.getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_horizontalGap, - keyboard.getDisplayWidth(), row.mDefaultHorizontalGap); + keyboard.getDisplayWidth(), keyboard.getHorizontalGap()); mVerticalGap = keyboard.getVerticalGap(); keyWidth = KeyboardParser.getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyWidth, diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParser.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardParser.java index ed87029ff..e3238c30c 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParser.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardParser.java @@ -256,7 +256,7 @@ public class KeyboardParser { if (event == XmlPullParser.START_TAG) { final String tag = parser.getName(); if (TAG_ROW.equals(tag)) { - Row row = new Row(mResources, mKeyboard, parser); + Row row = parseRowAttributes(parser); if (DEBUG) Log.d(TAG, String.format("<%s>", TAG_ROW)); if (keys != null) startRow(row); @@ -288,6 +288,20 @@ public class KeyboardParser { } } + private Row parseRowAttributes(XmlResourceParser parser) { + final TypedArray a = mResources.obtainAttributes(Xml.asAttributeSet(parser), + R.styleable.Keyboard); + try { + if (a.hasValue(R.styleable.Keyboard_horizontalGap)) + throw new IllegalAttribute(parser, "horizontalGap"); + if (a.hasValue(R.styleable.Keyboard_verticalGap)) + throw new IllegalAttribute(parser, "verticalGap"); + return new Row(mResources, mKeyboard, parser); + } finally { + a.recycle(); + } + } + private void parseRowContent(XmlResourceParser parser, Row row, List keys) throws XmlPullParserException, IOException { int event; diff --git a/java/src/com/android/inputmethod/keyboard/internal/Row.java b/java/src/com/android/inputmethod/keyboard/internal/Row.java index b34d6d06f..34b8d91b9 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/Row.java +++ b/java/src/com/android/inputmethod/keyboard/internal/Row.java @@ -34,10 +34,6 @@ public class Row { public final int mDefaultWidth; /** Default height of a key in this row. */ public final int mDefaultHeight; - /** Default horizontal gap between keys in this row. */ - public final int mDefaultHorizontalGap; - /** Vertical gap following this row. */ - public final int mVerticalGap; private final Keyboard mKeyboard; @@ -51,10 +47,6 @@ public class Row { R.styleable.Keyboard_keyWidth, keyboardWidth, keyboard.getKeyWidth()); mDefaultHeight = KeyboardParser.getDimensionOrFraction(a, R.styleable.Keyboard_rowHeight, keyboardHeight, keyboard.getRowHeight()); - mDefaultHorizontalGap = KeyboardParser.getDimensionOrFraction(a, - R.styleable.Keyboard_horizontalGap, keyboardWidth, keyboard.getHorizontalGap()); - mVerticalGap = KeyboardParser.getDimensionOrFraction(a, - R.styleable.Keyboard_verticalGap, keyboardHeight, keyboard.getVerticalGap()); a.recycle(); }