aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/drawable-hdpi/btn_keyboard_key_light_popup_normal.9.pngbin126 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/ic_dialog_keyboard.pngbin1157 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/ic_subtype_mic.pngbin892 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.pngbin999 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/ic_dialog_keyboard.pngbin528 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/ic_subtype_mic.pngbin648 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/btn_keyboard_key_light_popup_normal.9.pngbin126 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_dialog_keyboard.pngbin1589 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/ic_subtype_mic.pngbin1099 -> 0 bytes
-rw-r--r--java/src/com/android/inputmethod/keyboard/Key.java15
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java24
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/Row.java9
-rw-r--r--java/src/com/android/inputmethod/latin/SuggestionsView.java76
13 files changed, 62 insertions, 62 deletions
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_popup_normal.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_popup_normal.9.png
deleted file mode 100644
index 2ed1b3447..000000000
--- a/java/res/drawable-hdpi/btn_keyboard_key_light_popup_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_dialog_keyboard.png b/java/res/drawable-hdpi/ic_dialog_keyboard.png
deleted file mode 100644
index 305441633..000000000
--- a/java/res/drawable-hdpi/ic_dialog_keyboard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/ic_subtype_mic.png b/java/res/drawable-hdpi/ic_subtype_mic.png
deleted file mode 100644
index 25c9ee2ab..000000000
--- a/java/res/drawable-hdpi/ic_subtype_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.png
deleted file mode 100644
index 0e828a6cf..000000000
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_dialog_keyboard.png b/java/res/drawable-mdpi/ic_dialog_keyboard.png
deleted file mode 100644
index 9a5aada8b..000000000
--- a/java/res/drawable-mdpi/ic_dialog_keyboard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_subtype_mic.png b/java/res/drawable-mdpi/ic_subtype_mic.png
deleted file mode 100644
index 0b6aca802..000000000
--- a/java/res/drawable-mdpi/ic_subtype_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_light_popup_normal.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_light_popup_normal.9.png
deleted file mode 100644
index 2ed1b3447..000000000
--- a/java/res/drawable-xhdpi/btn_keyboard_key_light_popup_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_dialog_keyboard.png b/java/res/drawable-xhdpi/ic_dialog_keyboard.png
deleted file mode 100644
index f114c93b6..000000000
--- a/java/res/drawable-xhdpi/ic_dialog_keyboard.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/ic_subtype_mic.png b/java/res/drawable-xhdpi/ic_subtype_mic.png
deleted file mode 100644
index fc8d18cc2..000000000
--- a/java/res/drawable-xhdpi/ic_subtype_mic.png
+++ /dev/null
Binary files differ
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index b919bcfc4..c2f0a3db6 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -243,14 +243,13 @@ public class Key {
* parser.
* @param res resources associated with the caller's context
* @param params the keyboard building parameters.
- * @param row the row that this key belongs to.
- * @param x the x coordinate of the top-left
- * @param y the y coordinate of the top-left
+ * @param row the row that this key belongs to. row's x-coordinate will be the right edge of
+ * this key.
* @param parser the XML parser containing the attributes for this key
* @param keyStyles active key styles set
*/
- public Key(Resources res, KeyboardParams params, Row row, int x, int y,
- XmlResourceParser parser, KeyStyles keyStyles) {
+ public Key(Resources res, KeyboardParams params, Row row, XmlResourceParser parser,
+ KeyStyles keyStyles) {
final TypedArray keyboardAttr = res.obtainAttributes(Xml.asAttributeSet(parser),
R.styleable.Keyboard);
@@ -284,6 +283,7 @@ public class Key {
}
final int keyboardWidth = params.mOccupiedWidth;
+ final int x = row.mCurrentX;
int keyXPos = KeyboardBuilder.getDimensionOrFraction(keyAttr,
R.styleable.Keyboard_Key_keyXPos, keyboardWidth, x);
if (keyXPos < 0) {
@@ -309,9 +309,12 @@ public class Key {
// Horizontal gap is divided equally to both sides of the key.
mX = keyXPos + mHorizontalGap / 2;
- mY = y;
+ mY = row.mCurrentY;
mWidth = keyWidth - mHorizontalGap;
+ // Update row to have x-coordinate of the right edge of this key.
+ row.mCurrentX = keyXPos + keyWidth;
+
final CharSequence[] moreKeys = style.getTextArray(
keyAttr, R.styleable.Keyboard_Key_moreKeys);
// In Arabic symbol layouts, we'd like to keep digits in more keys regardless of
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
index c605debab..ff26b5977 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
@@ -128,7 +128,6 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
protected final Resources mResources;
private final DisplayMetrics mDisplayMetrics;
- private int mCurrentX = 0;
private int mCurrentY = 0;
private Row mCurrentRow = null;
private boolean mLeftEdge;
@@ -314,7 +313,7 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
throw new IllegalAttribute(parser, "horizontalGap");
if (a.hasValue(R.styleable.Keyboard_verticalGap))
throw new IllegalAttribute(parser, "verticalGap");
- return new Row(mResources, mParams, parser);
+ return new Row(mResources, mParams, parser, mCurrentY);
} finally {
a.recycle();
}
@@ -344,7 +343,7 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
if (TAG_ROW.equals(tag)) {
if (DEBUG) Log.d(TAG, String.format("</%s>", TAG_ROW));
if (!skip)
- endRow();
+ endRow(row);
break;
} else if (TAG_CASE.equals(tag) || TAG_DEFAULT.equals(tag)
|| TAG_MERGE.equals(tag)) {
@@ -364,7 +363,7 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
if (skip) {
checkEndTag(TAG_KEY, parser);
} else {
- Key key = new Key(mResources, mParams, row, mCurrentX, mCurrentY, parser, mKeyStyles);
+ Key key = new Key(mResources, mParams, row, parser, mKeyStyles);
if (DEBUG) Log.d(TAG, String.format("<%s%s keyLabel=%s code=%d moreKeys=%s />",
TAG_KEY, (key.isEnabled() ? "" : " disabled"), key.mLabel, key.mCode,
Arrays.toString(key.mMoreKeys)));
@@ -392,14 +391,14 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
final TypedArray keyAttr = mResources.obtainAttributes(Xml.asAttributeSet(parser),
R.styleable.Keyboard_Key);
int keyXPos = KeyboardBuilder.getDimensionOrFraction(keyAttr,
- R.styleable.Keyboard_Key_keyXPos, keyboardWidth, mCurrentX);
+ R.styleable.Keyboard_Key_keyXPos, keyboardWidth, row.mCurrentX);
if (keyXPos < 0) {
// If keyXPos is negative, the actual x-coordinate will be display_width + keyXPos.
keyXPos += keyboardWidth;
}
checkEndTag(TAG_SPACER, parser);
- setSpacer(keyXPos, keyWidth);
+ setSpacer(keyXPos, keyWidth, row);
}
}
@@ -655,28 +654,27 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
}
private void startRow(Row row) {
- mCurrentX = 0;
- setSpacer(mCurrentX, mParams.mHorizontalEdgesPadding);
+ row.mCurrentX = 0;
+ setSpacer(row.mCurrentX, mParams.mHorizontalEdgesPadding, row);
mCurrentRow = row;
mLeftEdge = true;
mRightEdgeKey = null;
}
- private void endRow() {
+ private void endRow(Row row) {
if (mCurrentRow == null)
throw new InflateException("orphant end row tag");
if (mRightEdgeKey != null) {
mRightEdgeKey.addEdgeFlags(Keyboard.EDGE_RIGHT);
mRightEdgeKey = null;
}
- setSpacer(mCurrentX, mParams.mHorizontalEdgesPadding);
+ setSpacer(row.mCurrentX, mParams.mHorizontalEdgesPadding, row);
mCurrentY += mCurrentRow.mRowHeight;
mCurrentRow = null;
mTopEdge = false;
}
private void endKey(Key key) {
- mCurrentX = key.mX - key.mHorizontalGap / 2 + key.mWidth + key.mHorizontalGap;
if (mLeftEdge) {
key.addEdgeFlags(Keyboard.EDGE_LEFT);
mLeftEdge = false;
@@ -690,8 +688,8 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
private void endKeyboard() {
}
- private void setSpacer(int keyXPos, int width) {
- mCurrentX = keyXPos + width;
+ private void setSpacer(int keyXPos, int width, Row row) {
+ row.mCurrentX = keyXPos + width;
mLeftEdge = false;
mRightEdgeKey = null;
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/Row.java b/java/src/com/android/inputmethod/keyboard/internal/Row.java
index d53fe12e2..fdf1dec68 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/Row.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/Row.java
@@ -35,7 +35,11 @@ public class Row {
/** Default height of a key in this row. */
public final int mRowHeight;
- public Row(Resources res, KeyboardParams params, XmlResourceParser parser) {
+ public final int mCurrentY;
+ // Will be updated by {@link Key}'s constructor.
+ public int 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),
@@ -45,5 +49,8 @@ public class Row {
mRowHeight = KeyboardBuilder.getDimensionOrFraction(a,
R.styleable.Keyboard_rowHeight, keyboardHeight, params.mDefaultRowHeight);
a.recycle();
+
+ mCurrentY = y;
+ mCurrentX = 0;
}
}
diff --git a/java/src/com/android/inputmethod/latin/SuggestionsView.java b/java/src/com/android/inputmethod/latin/SuggestionsView.java
index 07a44f72d..10cd73dd3 100644
--- a/java/src/com/android/inputmethod/latin/SuggestionsView.java
+++ b/java/src/com/android/inputmethod/latin/SuggestionsView.java
@@ -89,7 +89,7 @@ public class SuggestionsView extends LinearLayout implements OnClickListener, On
private SuggestedWords mSuggestions = SuggestedWords.EMPTY;
private boolean mShowingAutoCorrectionInverted;
- private final SuggestionsStripParams mStripParams;
+ private final SuggestionsViewParams mParams;
private static final float MIN_TEXT_XSCALE = 0.70f;
private final UiHandler mHandler = new UiHandler(this);
@@ -144,41 +144,22 @@ public class SuggestionsView extends LinearLayout implements OnClickListener, On
}
private static class SuggestionsViewParams {
+ private static final int DEFAULT_SUGGESTIONS_COUNT_IN_STRIP = 3;
+ private static final int DEFAULT_CENTER_SUGGESTION_PERCENTILE = 40;
+ private static final int PUNCTUATIONS_IN_STRIP = 6;
+
public final int mPadding;
public final int mDividerWidth;
public final int mSuggestionsStripHeight;
+ public final int mSuggestionsCountInStrip;
- protected final List<TextView> mWords;
- protected final List<View> mDividers;
- protected final List<TextView> mInfos;
-
- protected SuggestionsViewParams(List<TextView> words, List<View> dividers,
- List<TextView> infos) {
- mWords = words;
- mDividers = dividers;
- mInfos = infos;
-
- final TextView word = words.get(0);
- final View divider = dividers.get(0);
- mPadding = word.getCompoundPaddingLeft() + word.getCompoundPaddingRight();
- divider.measure(
- ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
- mDividerWidth = divider.getMeasuredWidth();
-
- final Resources res = word.getResources();
- mSuggestionsStripHeight = res.getDimensionPixelSize(R.dimen.suggestions_strip_height);
- }
- }
-
- private static class SuggestionsStripParams extends SuggestionsViewParams {
- private static final int DEFAULT_SUGGESTIONS_COUNT_IN_STRIP = 3;
- private static final int DEFAULT_CENTER_SUGGESTION_PERCENTILE = 40;
- private static final int PUNCTUATIONS_IN_STRIP = 6;
+ private final List<TextView> mWords;
+ private final List<View> mDividers;
+ private final List<TextView> mInfos;
private final int mColorTypedWord;
private final int mColorAutoCorrect;
private final int mColorSuggested;
- public final int mSuggestionsCountInStrip;
private final float mCenterSuggestionWeight;
private final int mCenterSuggestionIndex;
private final Drawable mMoreSuggestionsHint;
@@ -202,9 +183,22 @@ public class SuggestionsView extends LinearLayout implements OnClickListener, On
private final TextView mHintToSaveView;
private final CharSequence mHintToSaveText;
- public SuggestionsStripParams(Context context, AttributeSet attrs, int defStyle,
+ public SuggestionsViewParams(Context context, AttributeSet attrs, int defStyle,
List<TextView> words, List<View> dividers, List<TextView> infos) {
- super(words, dividers, infos);
+ mWords = words;
+ mDividers = dividers;
+ mInfos = infos;
+
+ final TextView word = words.get(0);
+ final View divider = dividers.get(0);
+ mPadding = word.getCompoundPaddingLeft() + word.getCompoundPaddingRight();
+ divider.measure(
+ ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
+ mDividerWidth = divider.getMeasuredWidth();
+
+ final Resources res = word.getResources();
+ mSuggestionsStripHeight = res.getDimensionPixelSize(R.dimen.suggestions_strip_height);
+
final TypedArray a = context.obtainStyledAttributes(
attrs, R.styleable.SuggestionsView, defStyle, R.style.SuggestionsViewStyle);
mSuggestionStripOption = a.getInt(R.styleable.SuggestionsView_suggestionStripOption, 0);
@@ -220,7 +214,6 @@ public class SuggestionsView extends LinearLayout implements OnClickListener, On
a.recycle();
mCenterSuggestionIndex = mSuggestionsCountInStrip / 2;
- final Resources res = context.getResources();
mMoreSuggestionsHint = res.getDrawable(R.drawable.more_suggestions_hint);
mInvertedForegroundColorSpan = new ForegroundColorSpan(mColorTypedWord ^ 0x00ffffff);
@@ -496,9 +489,8 @@ public class SuggestionsView extends LinearLayout implements OnClickListener, On
mInfos.add((TextView)inflater.inflate(R.layout.suggestion_info, null));
}
- mStripParams = new SuggestionsStripParams(context, attrs, defStyle, mWords, mDividers,
- mInfos);
- mStripParams.mWordToSaveView.setOnClickListener(this);
+ mParams = new SuggestionsViewParams(context, attrs, defStyle, mWords, mDividers, mInfos);
+ mParams.mWordToSaveView.setOnClickListener(this);
mMoreSuggestionsContainer = inflater.inflate(R.layout.more_suggestions, null);
mMoreSuggestionsView = (MoreSuggestionsView)mMoreSuggestionsContainer
@@ -535,7 +527,7 @@ public class SuggestionsView extends LinearLayout implements OnClickListener, On
if (mSuggestions.size() == 0)
return;
- mStripParams.layout(mSuggestions, mSuggestionsStrip, mSuggestionsPlacer, getWidth());
+ mParams.layout(mSuggestions, mSuggestionsStrip, mSuggestionsPlacer, getWidth());
}
private static CharSequence getDebugInfo(SuggestedWords suggestions, int pos) {
@@ -624,7 +616,7 @@ public class SuggestionsView extends LinearLayout implements OnClickListener, On
}
public void onAutoCorrectionInverted(CharSequence autoCorrectedWord) {
- final CharSequence inverted = mStripParams.getInvertedText(autoCorrectedWord);
+ final CharSequence inverted = mParams.getInvertedText(autoCorrectedWord);
if (inverted == null)
return;
final TextView tv = mWords.get(1);
@@ -634,12 +626,12 @@ public class SuggestionsView extends LinearLayout implements OnClickListener, On
public boolean isShowingAddToDictionaryHint() {
return mSuggestionsStrip.getChildCount() > 0
- && mSuggestionsStrip.getChildAt(0) == mStripParams.mWordToSaveView;
+ && mSuggestionsStrip.getChildAt(0) == mParams.mWordToSaveView;
}
public void showAddToDictionaryHint(CharSequence word) {
clear();
- mStripParams.layoutAddToDictionaryHint(word, mSuggestionsStrip, getWidth());
+ mParams.layoutAddToDictionaryHint(word, mSuggestionsStrip, getWidth());
}
public boolean dismissAddToDictionaryHint() {
@@ -671,7 +663,7 @@ public class SuggestionsView extends LinearLayout implements OnClickListener, On
return;
final TextView previewText = mPreviewText;
- previewText.setTextColor(mStripParams.mColorTypedWord);
+ previewText.setTextColor(mParams.mColorTypedWord);
previewText.setText(word);
previewText.measure(
ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
@@ -692,7 +684,7 @@ public class SuggestionsView extends LinearLayout implements OnClickListener, On
private void addToDictionary(CharSequence word) {
if (mListener.addWordToDictionary(word.toString())) {
final CharSequence message = getContext().getString(R.string.added_word, word);
- showPreview(mStripParams.mWordToSaveView, message);
+ showPreview(mParams.mWordToSaveView, message);
}
}
@@ -732,7 +724,7 @@ public class SuggestionsView extends LinearLayout implements OnClickListener, On
@Override
public boolean onLongClick(View view) {
- final SuggestionsStripParams params = mStripParams;
+ final SuggestionsViewParams params = mParams;
if (params.mMoreSuggestionsAvailable) {
final int stripWidth = getWidth();
final View container = mMoreSuggestionsContainer;
@@ -799,7 +791,7 @@ public class SuggestionsView extends LinearLayout implements OnClickListener, On
@Override
public void onClick(View view) {
- if (view == mStripParams.mWordToSaveView) {
+ if (view == mParams.mWordToSaveView) {
addToDictionary((CharSequence)view.getTag());
clear();
return;