Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a0984662 authored by Jean Chalard's avatar Jean Chalard
Browse files

[QRP3] Refactoring

Rename some variables for clarity and use constants
instead of immediates.

Change-Id: Ie07fbfcc3738ac4e67aefddc339fc54259172c39
parent 74224f2c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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" />
+1 −1
Original line number Diff line number Diff line
@@ -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>
+1 −1
Original line number Diff line number Diff line
@@ -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>
+1 −1
Original line number Diff line number Diff line
@@ -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>
+15 −13
Original line number Diff line number Diff line
@@ -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;