Fix punctuations strip

Bug: 9508186
Change-Id: I8f0fbf4e0578cf9116d4c57e7e5747d38c89387e
This commit is contained in:
Tadashi G. Takaoka 2013-06-21 10:44:14 +09:00
parent 0c178ffc8e
commit 9b570b5e62
2 changed files with 14 additions and 5 deletions

View file

@ -449,8 +449,10 @@ final class SuggestionStripLayoutHelper {
final TextView wordView = mWordViews.get(positionInStrip);
wordView.setEnabled(true);
wordView.setTextColor(mColorAutoCorrect);
final String punctuation = suggestedWords.getWord(positionInStrip);
wordView.setText(punctuation);
// {@link TextView#getTag()} is used to get the index in suggestedWords at
// {@link SuggestionStripView#onClick(View)}.
wordView.setTag(positionInStrip);
wordView.setText(suggestedWords.getWord(positionInStrip));
wordView.setTextScaleX(1.0f);
wordView.setCompoundDrawables(null, null, null, null);
stripView.addView(wordView);
@ -468,6 +470,8 @@ final class SuggestionStripLayoutHelper {
final int wordWidth = (int)(width * mCenterSuggestionWeight);
final CharSequence text = getEllipsizedText(word, wordWidth, wordView.getPaint());
final float wordScaleX = wordView.getTextScaleX();
// {@link TextView#setTag()} is used to hold the word to be added to dictionary. The word
// will be extracted at {@link #getAddToDictionaryWord()}.
wordView.setTag(word);
wordView.setText(text);
wordView.setTextScaleX(wordScaleX);
@ -497,8 +501,10 @@ final class SuggestionStripLayoutHelper {
hintView.setOnClickListener(listener);
}
public CharSequence getAddToDictionaryWord() {
return (CharSequence)mWordToSaveView.getTag();
public String getAddToDictionaryWord() {
// String tag is set at
// {@link #layoutAddToDictionaryHint(String,ViewGroup,int,CharSequence,OnClickListener}.
return (String)mWordToSaveView.getTag();
}
public boolean isAddToDictionaryShowing(final View v) {

View file

@ -306,12 +306,15 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
@Override
public void onClick(final View view) {
if (mLayoutHelper.isAddToDictionaryShowing(view)) {
mListener.addWordToUserDictionary(mLayoutHelper.getAddToDictionaryWord().toString());
mListener.addWordToUserDictionary(mLayoutHelper.getAddToDictionaryWord());
clear();
return;
}
final Object tag = view.getTag();
// Integer tag is set at
// {@link SuggestionStripLayoutHelper#setupWordViewsTextAndColor(SuggestedWords,int)} and
// {@link SuggestionStripLayoutHelper#layoutPunctuationSuggestions(SuggestedWords,ViewGroup}
if (!(tag instanceof Integer)) {
return;
}