Make CandidateView aware of theme

This change is needed to introduce new theme easily.

Bug: 4436327
Change-Id: Idc368b66d892d9c888ba7a26bfa3527c21678292
main
Tadashi G. Takaoka 2011-06-15 11:49:57 +09:00
parent 66bafe24f6
commit 08a6f2aea7
12 changed files with 84 additions and 37 deletions

View File

@ -42,20 +42,18 @@
<include <include
android:id="@+id/candidate_right" android:id="@+id/candidate_right"
layout="@layout/candidate" /> layout="@layout/candidate" />
<!-- TODO: These images' drawable must be determined depending on theme. --> <!-- Image drawables are set in CandidateView constructor -->
<ImageButton <ImageButton
android:id="@+id/expand_candidates_pane" android:id="@+id/expand_candidates_pane"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/btn_expand_candidates_pane"
android:visibility="gone" android:visibility="gone"
style="?attr/suggestionBackgroundStyle" /> style="?attr/suggestionsStripBackgroundStyle" />
<ImageButton <ImageButton
android:id="@+id/close_candidates_pane" android:id="@+id/close_candidates_pane"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/btn_close_candidates_pane"
android:visibility="gone" android:visibility="gone"
style="?attr/suggestionBackgroundStyle" /> style="?attr/suggestionsStripBackgroundStyle" />
</LinearLayout> </LinearLayout>
</merge> </merge>

View File

@ -44,8 +44,7 @@
android:layout_weight="1.0" android:layout_weight="1.0"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/candidate_strip_height" android:layout_height="@dimen/candidate_strip_height"
android:gravity="center_vertical" android:gravity="center_vertical" />
style="?attr/suggestionsStripBackgroundStyle" />
<View <View
android:layout_width="@dimen/candidate_strip_padding" android:layout_width="@dimen/candidate_strip_padding"
android:layout_height="@dimen/candidate_strip_height" android:layout_height="@dimen/candidate_strip_height"

View File

@ -26,7 +26,6 @@
<bool name="config_enable_show_recorrection_option">false</bool> <bool name="config_enable_show_recorrection_option">false</bool>
<bool name="config_enable_quick_fixes_option">false</bool> <bool name="config_enable_quick_fixes_option">false</bool>
<bool name="config_enable_bigram_suggestions_option">false</bool> <bool name="config_enable_bigram_suggestions_option">false</bool>
<bool name="config_candidate_highlight_font_color_enabled">false</bool>
<bool name="config_swipe_down_dismiss_keyboard_enabled">false</bool> <bool name="config_swipe_down_dismiss_keyboard_enabled">false</bool>
<bool name="config_sliding_key_input_enabled">false</bool> <bool name="config_sliding_key_input_enabled">false</bool>
<bool name="config_digit_popup_characters_enabled">false</bool> <bool name="config_digit_popup_characters_enabled">false</bool>

View File

@ -26,7 +26,6 @@
<bool name="config_enable_show_recorrection_option">false</bool> <bool name="config_enable_show_recorrection_option">false</bool>
<bool name="config_enable_quick_fixes_option">false</bool> <bool name="config_enable_quick_fixes_option">false</bool>
<bool name="config_enable_bigram_suggestions_option">false</bool> <bool name="config_enable_bigram_suggestions_option">false</bool>
<bool name="config_candidate_highlight_font_color_enabled">false</bool>
<bool name="config_swipe_down_dismiss_keyboard_enabled">false</bool> <bool name="config_swipe_down_dismiss_keyboard_enabled">false</bool>
<bool name="config_sliding_key_input_enabled">false</bool> <bool name="config_sliding_key_input_enabled">false</bool>
<bool name="config_digit_popup_characters_enabled">false</bool> <bool name="config_digit_popup_characters_enabled">false</bool>

View File

@ -28,6 +28,7 @@
<attr name="suggestionsStripBackgroundStyle" format="reference" /> <attr name="suggestionsStripBackgroundStyle" format="reference" />
<attr name="suggestionBackgroundStyle" format="reference" /> <attr name="suggestionBackgroundStyle" format="reference" />
<attr name="suggestionPreviewBackgroundStyle" format="reference" /> <attr name="suggestionPreviewBackgroundStyle" format="reference" />
<attr name="candidateViewStyle" format="reference" />
</declare-styleable> </declare-styleable>
<declare-styleable name="KeyboardView"> <declare-styleable name="KeyboardView">
@ -88,6 +89,20 @@
</declare-styleable> </declare-styleable>
<declare-styleable name="CandidateView">
<attr name="autoCorrectHighlight" format="integer">
<flag name="autoCorrectBold" value="0x01" />
<flag name="autoCorrectUnderline" value="0x02" />
<flag name="autoCorrectInvert" value="0x04" />
<flag name="autoCorrectSpacebarLed" value="0x08" />
</attr>
<attr name="colorTypedWord" format="color" />
<attr name="colorAutoCorrect" format="color" />
<attr name="colorSuggested" format="color" />
<attr name="iconExpandPane" format="reference" />
<attr name="iconClosePane" format="reference" />
</declare-styleable>
<declare-styleable name="Keyboard"> <declare-styleable name="Keyboard">
<!-- Default keyboard height --> <!-- Default keyboard height -->
<attr name="keyboardHeight" format="dimension" /> <attr name="keyboardHeight" format="dimension" />

View File

@ -18,9 +18,6 @@
*/ */
--> -->
<resources> <resources>
<color name="candidate_typed_word">#FFFFFFFF</color>
<color name="candidate_auto_correct">#FFFCAE00</color>
<color name="candidate_suggested">#FFFCAE00</color>
<color name="latinkeyboard_bar_language_shadow_white">#80000000</color> <color name="latinkeyboard_bar_language_shadow_white">#80000000</color>
<color name="latinkeyboard_bar_language_shadow_black">#80FFFFFF</color> <color name="latinkeyboard_bar_language_shadow_black">#80FFFFFF</color>
<color name="latinkeyboard_bar_language_text">#FFC0C0C0</color> <color name="latinkeyboard_bar_language_text">#FFC0C0C0</color>

View File

@ -27,7 +27,6 @@
<bool name="config_enable_quick_fixes_option">true</bool> <bool name="config_enable_quick_fixes_option">true</bool>
<bool name="config_enable_bigram_suggestions_option">true</bool> <bool name="config_enable_bigram_suggestions_option">true</bool>
<bool name="config_enable_usability_study_mode_option">false</bool> <bool name="config_enable_usability_study_mode_option">false</bool>
<bool name="config_candidate_highlight_font_color_enabled">true</bool>
<bool name="config_swipe_down_dismiss_keyboard_enabled">true</bool> <bool name="config_swipe_down_dismiss_keyboard_enabled">true</bool>
<bool name="config_sliding_key_input_enabled">true</bool> <bool name="config_sliding_key_input_enabled">true</bool>
<bool name="config_digit_popup_characters_enabled">true</bool> <bool name="config_digit_popup_characters_enabled">true</bool>

View File

@ -60,6 +60,15 @@
<style name="SuggestionPreviewBackgroundStyle"> <style name="SuggestionPreviewBackgroundStyle">
<item name="android:background">@drawable/candidate_feedback_background</item> <item name="android:background">@drawable/candidate_feedback_background</item>
</style> </style>
<style name="CandidateViewStyle" parent="SuggestionsStripBackgroundStyle">
<!-- TODO: autoCorrectSpacebarLed should be in style for LatinKeyboard. -->
<item name="autoCorrectHighlight">autoCorrectBold|autoCorrectSpacebarLed</item>
<item name="colorTypedWord">#FFFFFFFF</item>
<item name="colorAutoCorrect">#FFFCAE00</item>
<item name="colorSuggested">#FFFCAE00</item>
<item name="iconExpandPane">@drawable/btn_expand_candidates_pane</item>
<item name="iconClosePane">@drawable/btn_close_candidates_pane</item>"
</style>
<!-- Theme "Basic high contrast" --> <!-- Theme "Basic high contrast" -->
<style name="KeyboardView.HighContrast" parent="KeyboardView"> <style name="KeyboardView.HighContrast" parent="KeyboardView">
<item name="android:background">@android:color/black</item> <item name="android:background">@android:color/black</item>
@ -126,6 +135,14 @@
<style name="SuggestionPreviewBackgroundStyle.Honeycomb"> <style name="SuggestionPreviewBackgroundStyle.Honeycomb">
<item name="android:background">@drawable/keyboard_popup_panel_background_holo</item> <item name="android:background">@drawable/keyboard_popup_panel_background_holo</item>
</style> </style>
<style name="CandidateViewStyle.Honeycomb" parent="SuggestionsStripBackgroundStyle.Honeycomb">
<item name="autoCorrectHighlight">autoCorrectUnderline|autoCorrectInvert</item>
<item name="colorTypedWord">#FFFFFFFF</item>
<item name="colorAutoCorrect">#FFFFFFFF</item>
<item name="colorSuggested">#FFFFFFFF</item>
<item name="iconExpandPane">@drawable/btn_expand_candidates_pane</item>
<item name="iconClosePane">@drawable/btn_close_candidates_pane</item>"
</style>
<style name="PopupMiniKeyboardAnimation"> <style name="PopupMiniKeyboardAnimation">
<item name="android:windowEnterAnimation">@anim/mini_keyboard_fadein</item> <item name="android:windowEnterAnimation">@anim/mini_keyboard_fadein</item>
<item name="android:windowExitAnimation">@anim/mini_keyboard_fadeout</item> <item name="android:windowExitAnimation">@anim/mini_keyboard_fadeout</item>

View File

@ -24,6 +24,7 @@
<item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item> <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item> <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item> <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
<item name="candidateViewStyle">@style/CandidateViewStyle</item>
</style> </style>
<style name="KeyboardTheme.HighContrast" parent="android:Theme"> <style name="KeyboardTheme.HighContrast" parent="android:Theme">
<item name="keyboardStyle">@style/Keyboard</item> <item name="keyboardStyle">@style/Keyboard</item>
@ -33,6 +34,7 @@
<item name="popupMiniKeyboardPanelStyle">@style/PopupMiniKeyboardPanelStyle</item> <item name="popupMiniKeyboardPanelStyle">@style/PopupMiniKeyboardPanelStyle</item>
<item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item> <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item> <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="candidateViewStyle">@style/CandidateViewStyle</item>
</style> </style>
<style name="KeyboardTheme.Stone" parent="android:Theme.Light"> <style name="KeyboardTheme.Stone" parent="android:Theme.Light">
<item name="keyboardStyle">@style/Keyboard</item> <item name="keyboardStyle">@style/Keyboard</item>
@ -42,6 +44,7 @@
<item name="popupMiniKeyboardPanelStyle">@style/PopupMiniKeyboardPanelStyle</item> <item name="popupMiniKeyboardPanelStyle">@style/PopupMiniKeyboardPanelStyle</item>
<item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item> <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item> <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="candidateViewStyle">@style/CandidateViewStyle</item>
</style> </style>
<style name="KeyboardTheme.Stone.Bold" parent="android:Theme.Light"> <style name="KeyboardTheme.Stone.Bold" parent="android:Theme.Light">
<item name="keyboardStyle">@style/Keyboard</item> <item name="keyboardStyle">@style/Keyboard</item>
@ -51,6 +54,7 @@
<item name="popupMiniKeyboardPanelStyle">@style/PopupMiniKeyboardPanelStyle</item> <item name="popupMiniKeyboardPanelStyle">@style/PopupMiniKeyboardPanelStyle</item>
<item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item> <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item> <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="candidateViewStyle">@style/CandidateViewStyle</item>
</style> </style>
<style name="KeyboardTheme.Gingerbread" parent="android:Theme.Black"> <style name="KeyboardTheme.Gingerbread" parent="android:Theme.Black">
<item name="keyboardStyle">@style/Keyboard</item> <item name="keyboardStyle">@style/Keyboard</item>
@ -60,6 +64,7 @@
<item name="popupMiniKeyboardPanelStyle">@style/PopupMiniKeyboardPanelStyle</item> <item name="popupMiniKeyboardPanelStyle">@style/PopupMiniKeyboardPanelStyle</item>
<item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item> <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item> <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="candidateViewStyle">@style/CandidateViewStyle</item>
</style> </style>
<style name="KeyboardTheme.Honeycomb" parent="android:Theme.Holo"> <style name="KeyboardTheme.Honeycomb" parent="android:Theme.Holo">
<item name="keyboardStyle">@style/Keyboard.Honeycomb</item> <item name="keyboardStyle">@style/Keyboard.Honeycomb</item>
@ -69,5 +74,6 @@
<item name="popupMiniKeyboardPanelStyle">@style/PopupMiniKeyboardPanelStyle.Honeycomb</item> <item name="popupMiniKeyboardPanelStyle">@style/PopupMiniKeyboardPanelStyle.Honeycomb</item>
<item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle.Honeycomb</item> <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle.Honeycomb</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle.Honeycomb</item> <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle.Honeycomb</item>
<item name="candidateViewStyle">@style/CandidateViewStyle.Honeycomb</item>
</style> </style>
</resources> </resources>

View File

@ -334,6 +334,7 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
mKeyLetterStyle = Typeface.defaultFromStyle( mKeyLetterStyle = Typeface.defaultFromStyle(
a.getInt(R.styleable.KeyboardView_keyLetterStyle, Typeface.NORMAL)); a.getInt(R.styleable.KeyboardView_keyLetterStyle, Typeface.NORMAL));
mColorScheme = a.getInt(R.styleable.KeyboardView_colorScheme, COLOR_SCHEME_WHITE); mColorScheme = a.getInt(R.styleable.KeyboardView_colorScheme, COLOR_SCHEME_WHITE);
a.recycle();
final Resources res = getResources(); final Resources res = getResources();

View File

@ -18,6 +18,7 @@ package com.android.inputmethod.latin;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.Typeface; import android.graphics.Typeface;
import android.os.Handler; import android.os.Handler;
@ -38,6 +39,7 @@ import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener; import android.view.View.OnLongClickListener;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.PopupWindow; import android.widget.PopupWindow;
import android.widget.TextView; import android.widget.TextView;
@ -64,8 +66,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
private static final boolean DBG = LatinImeLogger.sDBG; private static final boolean DBG = LatinImeLogger.sDBG;
private static final int NUM_CANDIDATES_IN_STRIP = 3; private static final int NUM_CANDIDATES_IN_STRIP = 3;
private final View mExpandCandidatesPane; private final ImageView mExpandCandidatesPane;
private final View mCloseCandidatesPane; private final ImageView mCloseCandidatesPane;
private ViewGroup mCandidatesPane; private ViewGroup mCandidatesPane;
private ViewGroup mCandidatesPaneContainer; private ViewGroup mCandidatesPaneContainer;
private View mKeyboardView; private View mKeyboardView;
@ -73,9 +75,13 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
private final ArrayList<View> mDividers = new ArrayList<View>(); private final ArrayList<View> mDividers = new ArrayList<View>();
private final int mCandidatePadding; private final int mCandidatePadding;
private final int mCandidateStripHeight; private final int mCandidateStripHeight;
private final boolean mConfigCandidateHighlightFontColorEnabled;
private final CharacterStyle mInvertedForegroundColorSpan; private final CharacterStyle mInvertedForegroundColorSpan;
private final CharacterStyle mInvertedBackgroundColorSpan; private final CharacterStyle mInvertedBackgroundColorSpan;
private final int mAutoCorrectHighlight;
private static final int AUTO_CORRECT_BOLD = 0x01;
private static final int AUTO_CORRECT_UNDERLINE = 0x02;
private static final int AUTO_CORRECT_INVERT = 0x04;
private static final int AUTO_CORRECT_SPACEBAR_LED = 0x08;
private final int mColorTypedWord; private final int mColorTypedWord;
private final int mColorAutoCorrect; private final int mColorAutoCorrect;
private final int mColorSuggestedCandidate; private final int mColorSuggestedCandidate;
@ -139,7 +145,11 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
* @param attrs * @param attrs
*/ */
public CandidateView(Context context, AttributeSet attrs) { public CandidateView(Context context, AttributeSet attrs) {
super(context, attrs); this(context, attrs, R.attr.candidateViewStyle);
}
public CandidateView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
Resources res = context.getResources(); Resources res = context.getResources();
LayoutInflater inflater = LayoutInflater.from(context); LayoutInflater inflater = LayoutInflater.from(context);
@ -151,13 +161,6 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
ViewGroup.LayoutParams.WRAP_CONTENT); ViewGroup.LayoutParams.WRAP_CONTENT);
mPreviewPopup.setContentView(mPreviewText); mPreviewPopup.setContentView(mPreviewText);
mPreviewPopup.setBackgroundDrawable(null); mPreviewPopup.setBackgroundDrawable(null);
mConfigCandidateHighlightFontColorEnabled =
res.getBoolean(R.bool.config_candidate_highlight_font_color_enabled);
mColorTypedWord = res.getColor(R.color.candidate_typed_word);
mColorAutoCorrect = res.getColor(R.color.candidate_auto_correct);
mColorSuggestedCandidate = res.getColor(R.color.candidate_suggested);
mInvertedForegroundColorSpan = new ForegroundColorSpan(mColorTypedWord ^ 0x00ffffff);
mInvertedBackgroundColorSpan = new BackgroundColorSpan(mColorTypedWord);
mCandidatePadding = res.getDimensionPixelOffset(R.dimen.candidate_padding); mCandidatePadding = res.getDimensionPixelOffset(R.dimen.candidate_padding);
mCandidateStripHeight = res.getDimensionPixelOffset(R.dimen.candidate_strip_height); mCandidateStripHeight = res.getDimensionPixelOffset(R.dimen.candidate_strip_height);
@ -192,20 +195,35 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
} }
} }
mExpandCandidatesPane = findViewById(R.id.expand_candidates_pane); final TypedArray a = context.obtainStyledAttributes(
attrs, R.styleable.CandidateView, defStyle, R.style.CandidateViewStyle);
mAutoCorrectHighlight = a.getInt(R.styleable.CandidateView_autoCorrectHighlight, 0);
mColorTypedWord = a.getColor(R.styleable.CandidateView_colorTypedWord, 0);
mColorAutoCorrect = a.getColor(R.styleable.CandidateView_colorAutoCorrect, 0);
mColorSuggestedCandidate = a.getColor(R.styleable.CandidateView_colorSuggested, 0);
mInvertedForegroundColorSpan = new ForegroundColorSpan(mColorTypedWord ^ 0x00ffffff);
mInvertedBackgroundColorSpan = new BackgroundColorSpan(mColorTypedWord);
mExpandCandidatesPane = (ImageView)findViewById(R.id.expand_candidates_pane);
mExpandCandidatesPane.setImageDrawable(
a.getDrawable(R.styleable.CandidateView_iconExpandPane));
mExpandCandidatesPane.setOnClickListener(new OnClickListener() { mExpandCandidatesPane.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
expandCandidatesPane(); expandCandidatesPane();
} }
}); });
mCloseCandidatesPane = findViewById(R.id.close_candidates_pane); mCloseCandidatesPane = (ImageView)findViewById(R.id.close_candidates_pane);
mCloseCandidatesPane.setImageDrawable(
a.getDrawable(R.styleable.CandidateView_iconClosePane));
mCloseCandidatesPane.setOnClickListener(new OnClickListener() { mCloseCandidatesPane.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
closeCandidatesPane(); closeCandidatesPane();
} }
}); });
a.recycle();
} }
/** /**
@ -244,19 +262,20 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
private CharSequence getStyledCandidateWord(CharSequence word, boolean isAutoCorrect) { private CharSequence getStyledCandidateWord(CharSequence word, boolean isAutoCorrect) {
if (!isAutoCorrect) if (!isAutoCorrect)
return word; return word;
final CharacterStyle style = mConfigCandidateHighlightFontColorEnabled ? BOLD_SPAN
: UNDERLINE_SPAN;
final Spannable spannedWord = new SpannableString(word); final Spannable spannedWord = new SpannableString(word);
spannedWord.setSpan(style, 0, word.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); if ((mAutoCorrectHighlight & AUTO_CORRECT_BOLD) != 0)
spannedWord.setSpan(BOLD_SPAN, 0, word.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
if ((mAutoCorrectHighlight & AUTO_CORRECT_UNDERLINE) != 0)
spannedWord.setSpan(UNDERLINE_SPAN, 0, word.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
return spannedWord; return spannedWord;
} }
private int getCandidateTextColor(boolean isAutoCorrect, boolean isSuggestedCandidate, private int getCandidateTextColor(boolean isAutoCorrect, boolean isSuggestedCandidate,
SuggestedWordInfo info) { SuggestedWordInfo info) {
final int color; final int color;
if (isAutoCorrect && mConfigCandidateHighlightFontColorEnabled) { if (isAutoCorrect) {
color = mColorAutoCorrect; color = mColorAutoCorrect;
} else if (isSuggestedCandidate && mConfigCandidateHighlightFontColorEnabled) { } else if (isSuggestedCandidate) {
color = mColorSuggestedCandidate; color = mColorSuggestedCandidate;
} else { } else {
color = mColorTypedWord; color = mColorTypedWord;
@ -388,9 +407,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
} }
public void onAutoCorrectionInverted(CharSequence autoCorrectedWord) { public void onAutoCorrectionInverted(CharSequence autoCorrectedWord) {
// Displaying auto corrected word as inverted is enabled only when highlighting candidate if ((mAutoCorrectHighlight & AUTO_CORRECT_INVERT) == 0)
// with color is disabled.
if (mConfigCandidateHighlightFontColorEnabled)
return; return;
final TextView tv = mWords.get(1); final TextView tv = mWords.get(1);
final Spannable word = new SpannableString(autoCorrectedWord); final Spannable word = new SpannableString(autoCorrectedWord);
@ -403,8 +420,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
mShowingAutoCorrectionInverted = true; mShowingAutoCorrectionInverted = true;
} }
public boolean isConfigCandidateHighlightFontColorEnabled() { public boolean needsAutoCorrectionSpacebarLed() {
return mConfigCandidateHighlightFontColorEnabled; return (mAutoCorrectHighlight & AUTO_CORRECT_SPACEBAR_LED) != 0;
} }
public boolean isShowingAddToDictionaryHint() { public boolean isShowingAddToDictionaryHint() {

View File

@ -1464,7 +1464,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
if (mCandidateView != null) { if (mCandidateView != null) {
mCandidateView.setSuggestions(words); mCandidateView.setSuggestions(words);
if (mCandidateView.isConfigCandidateHighlightFontColorEnabled()) { if (mCandidateView.needsAutoCorrectionSpacebarLed()) {
mKeyboardSwitcher.onAutoCorrectionStateChanged( mKeyboardSwitcher.onAutoCorrectionStateChanged(
words.hasWordAboveAutoCorrectionScoreThreshold()); words.hasWordAboveAutoCorrectionScoreThreshold());
} }