diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/res/layout/input_view.xml | 2 | ||||
-rw-r--r-- | java/res/values-land/dimens.xml | 2 | ||||
-rw-r--r-- | java/res/values-sw768dp/dimens.xml | 2 | ||||
-rw-r--r-- | java/res/values/dimens.xml | 2 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/SuggestionsView.java | 76 |
5 files changed, 38 insertions, 46 deletions
diff --git a/java/res/layout/input_view.xml b/java/res/layout/input_view.xml index 328469517..88b48fccd 100644 --- a/java/res/layout/input_view.xml +++ b/java/res/layout/input_view.xml @@ -33,7 +33,7 @@ android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" - android:minHeight="@dimen/suggestions_strip_minimum_height" + android:minHeight="@dimen/suggestions_view_minimum_height" android:gravity="bottom" > <View diff --git a/java/res/values-land/dimens.xml b/java/res/values-land/dimens.xml index 322b6a63b..9149b5d2a 100644 --- a/java/res/values-land/dimens.xml +++ b/java/res/values-land/dimens.xml @@ -60,7 +60,7 @@ <dimen name="suggestions_strip_height">36dip</dimen> <dimen name="more_suggestions_row_height">36dip</dimen> - <dimen name="suggestions_strip_minimum_height">160sp</dimen> + <dimen name="suggestions_view_minimum_height">160sp</dimen> <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. --> <!-- popup_key_height x 1.2 --> <dimen name="mini_keyboard_slide_allowance">0.336in</dimen> diff --git a/java/res/values-sw768dp/dimens.xml b/java/res/values-sw768dp/dimens.xml index 7db1df7b4..7d2ac4860 100644 --- a/java/res/values-sw768dp/dimens.xml +++ b/java/res/values-sw768dp/dimens.xml @@ -71,7 +71,7 @@ <dimen name="suggestions_strip_height">44dip</dimen> <dimen name="more_suggestions_row_height">44dip</dimen> - <dimen name="suggestions_strip_minimum_height">200sp</dimen> + <dimen name="suggestions_view_minimum_height">200sp</dimen> <dimen name="suggestions_strip_padding">15.0mm</dimen> <dimen name="suggestion_min_width">46dip</dimen> <dimen name="suggestion_padding">8dip</dimen> diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml index bd8c1565a..a506ed74d 100644 --- a/java/res/values/dimens.xml +++ b/java/res/values/dimens.xml @@ -81,7 +81,7 @@ <dimen name="more_suggestions_row_height">40dip</dimen> <dimen name="more_suggestions_slide_allowance">0.2in</dimen> <fraction name="more_suggestions_info_ratio">12%</fraction> - <dimen name="suggestions_strip_minimum_height">200sp</dimen> + <dimen name="suggestions_view_minimum_height">200sp</dimen> <dimen name="suggestions_strip_padding">0dip</dimen> <dimen name="suggestion_min_width">44dip</dimen> <dimen name="suggestion_padding">6dip</dimen> 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; |