am a0984662: [QRP3] Refactoring
* commit 'a0984662a17df0d5c293d62bf653a40491c2bd58': [QRP3] Refactoringmain
commit
3fb8aaf079
|
@ -175,7 +175,7 @@
|
|||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="SuggestionStripView">
|
||||
<attr name="suggestionStripOption" format="integer">
|
||||
<attr name="suggestionStripOptions" format="integer">
|
||||
<!-- This should be aligned with SuggestionStripLayoutHelper.AUTO_CORRECT_* and etc. -->
|
||||
<flag name="autoCorrectBold" value="0x01" />
|
||||
<flag name="autoCorrectUnderline" value="0x02" />
|
||||
|
|
|
@ -133,7 +133,7 @@
|
|||
parent="SuggestionStripView"
|
||||
>
|
||||
<item name="android:background">@drawable/keyboard_suggest_strip_gb</item>
|
||||
<item name="suggestionStripOption">autoCorrectBold|validTypedWordBold</item>
|
||||
<item name="suggestionStripOptions">autoCorrectBold|validTypedWordBold</item>
|
||||
<item name="colorValidTypedWord">@color/highlight_color_gb</item>
|
||||
<item name="colorTypedWord">@color/typed_word_color_gb</item>
|
||||
<item name="colorAutoCorrect">@color/highlight_color_gb</item>
|
||||
|
|
|
@ -112,7 +112,7 @@
|
|||
parent="SuggestionStripView"
|
||||
>
|
||||
<item name="android:background">@drawable/keyboard_suggest_strip_holo</item>
|
||||
<item name="suggestionStripOption">autoCorrectBold|validTypedWordBold</item>
|
||||
<item name="suggestionStripOptions">autoCorrectBold|validTypedWordBold</item>
|
||||
<item name="colorValidTypedWord">@color/typed_word_color_ics</item>
|
||||
<item name="colorTypedWord">@color/typed_word_color_ics</item>
|
||||
<item name="colorAutoCorrect">@color/highlight_color_ics</item>
|
||||
|
|
|
@ -112,7 +112,7 @@
|
|||
parent="SuggestionStripView"
|
||||
>
|
||||
<item name="android:background">@drawable/keyboard_suggest_strip_holo</item>
|
||||
<item name="suggestionStripOption">autoCorrectBold|validTypedWordBold</item>
|
||||
<item name="suggestionStripOptions">autoCorrectBold|validTypedWordBold</item>
|
||||
<item name="colorValidTypedWord">@color/typed_word_color_klp</item>
|
||||
<item name="colorTypedWord">@color/typed_word_color_klp</item>
|
||||
<item name="colorAutoCorrect">@color/highlight_color_klp</item>
|
||||
|
|
|
@ -95,9 +95,9 @@ final class SuggestionStripLayoutHelper {
|
|||
private static final CharacterStyle BOLD_SPAN = new StyleSpan(Typeface.BOLD);
|
||||
private static final CharacterStyle UNDERLINE_SPAN = new UnderlineSpan();
|
||||
|
||||
private final int mSuggestionStripOption;
|
||||
private final int mSuggestionStripOptions;
|
||||
// These constants are the flag values of
|
||||
// {@link R.styleable#SuggestionStripView_suggestionStripOption} attribute.
|
||||
// {@link R.styleable#SuggestionStripView_suggestionStripOptions} attribute.
|
||||
private static final int AUTO_CORRECT_BOLD = 0x01;
|
||||
private static final int AUTO_CORRECT_UNDERLINE = 0x02;
|
||||
private static final int VALID_TYPED_WORD_BOLD = 0x04;
|
||||
|
@ -122,8 +122,8 @@ final class SuggestionStripLayoutHelper {
|
|||
|
||||
final TypedArray a = context.obtainStyledAttributes(attrs,
|
||||
R.styleable.SuggestionStripView, defStyle, R.style.SuggestionStripView);
|
||||
mSuggestionStripOption = a.getInt(
|
||||
R.styleable.SuggestionStripView_suggestionStripOption, 0);
|
||||
mSuggestionStripOptions = a.getInt(
|
||||
R.styleable.SuggestionStripView_suggestionStripOptions, 0);
|
||||
mAlphaObsoleted = ResourceUtils.getFraction(a,
|
||||
R.styleable.SuggestionStripView_alphaObsoleted, 1.0f);
|
||||
mColorValidTypedWord = a.getColor(R.styleable.SuggestionStripView_colorValidTypedWord, 0);
|
||||
|
@ -200,22 +200,24 @@ final class SuggestionStripLayoutHelper {
|
|||
return null;
|
||||
}
|
||||
final String word = suggestedWords.getLabel(indexInSuggestedWords);
|
||||
final boolean isAutoCorrect = indexInSuggestedWords == 1
|
||||
&& suggestedWords.mWillAutoCorrect;
|
||||
final boolean isTypedWordValid = indexInSuggestedWords == 0
|
||||
&& suggestedWords.mTypedWordValid;
|
||||
if (!isAutoCorrect && !isTypedWordValid) {
|
||||
// TODO: don't use the index to decide whether this is the auto-correction/typed word, as
|
||||
// this is brittle
|
||||
final boolean isAutoCorrection = suggestedWords.mWillAutoCorrect
|
||||
&& indexInSuggestedWords == SuggestedWords.INDEX_OF_AUTO_CORRECTION;
|
||||
final boolean isTypedWordValid = suggestedWords.mTypedWordValid
|
||||
&& indexInSuggestedWords == SuggestedWords.INDEX_OF_TYPED_WORD;
|
||||
if (!isAutoCorrection && !isTypedWordValid) {
|
||||
return word;
|
||||
}
|
||||
|
||||
final int len = word.length();
|
||||
final Spannable spannedWord = new SpannableString(word);
|
||||
final int option = mSuggestionStripOption;
|
||||
if ((isAutoCorrect && (option & AUTO_CORRECT_BOLD) != 0)
|
||||
|| (isTypedWordValid && (option & VALID_TYPED_WORD_BOLD) != 0)) {
|
||||
final int options = mSuggestionStripOptions;
|
||||
if ((isAutoCorrection && (options & AUTO_CORRECT_BOLD) != 0)
|
||||
|| (isTypedWordValid && (options & VALID_TYPED_WORD_BOLD) != 0)) {
|
||||
spannedWord.setSpan(BOLD_SPAN, 0, len, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||
}
|
||||
if (isAutoCorrect && (option & AUTO_CORRECT_UNDERLINE) != 0) {
|
||||
if (isAutoCorrection && (options & AUTO_CORRECT_UNDERLINE) != 0) {
|
||||
spannedWord.setSpan(UNDERLINE_SPAN, 0, len, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||
}
|
||||
return spannedWord;
|
||||
|
|
Loading…
Reference in New Issue