From 59f5cc8572374836950e4f086e5268773ea92166 Mon Sep 17 00:00:00 2001
From: Ken Wakasa <kwakasa@google.com>
Date: Fri, 12 Aug 2011 20:15:17 +0900
Subject: [PATCH] Get rid of auto correction flash animation in the suggestion
 strip

bug: 5156762
Change-Id: I1350ad3d7125f8ecdfc699233ed05e253cc3f010
---
 java/res/values/attrs.xml                                 | 1 +
 java/res/values/config.xml                                | 1 +
 java/res/values/styles.xml                                | 2 ++
 java/src/com/android/inputmethod/latin/CandidateView.java | 6 ++++++
 4 files changed, 10 insertions(+)

diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 172ca2f253..c2200b5add 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -107,6 +107,7 @@
     </declare-styleable>
 
     <declare-styleable name="CandidateView">
+        <attr name="autoCorrectionVisualFlashEnabled" format="boolean" />
         <attr name="autoCorrectHighlight" format="integer">
             <flag name="autoCorrectBold" value="0x01" />
             <flag name="autoCorrectUnderline" value="0x02" />
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index 731f63f349..472bc1e14c 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -39,6 +39,7 @@
     <bool name="config_default_recorrection_enabled">true</bool>
     <bool name="config_default_sound_enabled">false</bool>
     <bool name="config_auto_correction_spacebar_led_enabled">true</bool>
+    <bool name="config_auto_correction_suggestion_strip_visual_flash_enabled">false</bool>
     <!-- Showing mini keyboard, just above the touched point if true, aligned to the key if false -->
     <bool name="config_show_mini_keyboard_at_touched_point">false</bool>
     <!-- The language is never displayed if == 0, always displayed if < 0 -->
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index 1ebd2cee14..a47eeed124 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -85,6 +85,7 @@
         <item name="android:background">@drawable/candidate_feedback_background</item>
     </style>
     <style name="CandidateViewStyle" parent="SuggestionsStripBackgroundStyle">
+        <item name="autoCorrectionVisualFlashEnabled">@bool/config_auto_correction_suggestion_strip_visual_flash_enabled</item>
         <item name="autoCorrectHighlight">autoCorrectBold</item>
         <item name="colorTypedWord">#FFFFFFFF</item>
         <item name="colorAutoCorrect">#FFFCAE00</item>
@@ -188,6 +189,7 @@
         <item name="android:background">@drawable/keyboard_popup_panel_background_holo</item>
     </style>
     <style name="CandidateViewStyle.IceCreamSandwich" parent="SuggestionsStripBackgroundStyle.IceCreamSandwich">
+        <item name="autoCorrectionVisualFlashEnabled">@bool/config_auto_correction_suggestion_strip_visual_flash_enabled</item>
         <item name="autoCorrectHighlight">autoCorrectBold|autoCorrectInvert</item>
         <item name="colorTypedWord">#FFFFFFFF</item>
         <item name="colorAutoCorrect">#FF3DC8FF</item>
diff --git a/java/src/com/android/inputmethod/latin/CandidateView.java b/java/src/com/android/inputmethod/latin/CandidateView.java
index d779c85656..0640fd0b18 100644
--- a/java/src/com/android/inputmethod/latin/CandidateView.java
+++ b/java/src/com/android/inputmethod/latin/CandidateView.java
@@ -278,6 +278,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
 
         private final ArrayList<CharSequence> mTexts = new ArrayList<CharSequence>();
 
+        public final boolean mAutoCorrectionVisualFlashEnabled;
         public boolean mMoreSuggestionsAvailable;
 
         public SuggestionsStripParams(Context context, AttributeSet attrs, int defStyle,
@@ -285,6 +286,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
             super(words, dividers, infos);
             final TypedArray a = context.obtainStyledAttributes(
                     attrs, R.styleable.CandidateView, defStyle, R.style.CandidateViewStyle);
+            mAutoCorrectionVisualFlashEnabled = a.getBoolean(
+                    R.styleable.CandidateView_autoCorrectionVisualFlashEnabled, false);
             mAutoCorrectHighlight = a.getInt(R.styleable.CandidateView_autoCorrectHighlight, 0);
             mColorTypedWord = a.getColor(R.styleable.CandidateView_colorTypedWord, 0);
             mColorAutoCorrect = a.getColor(R.styleable.CandidateView_colorAutoCorrect, 0);
@@ -700,6 +703,9 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
     }
 
     public void onAutoCorrectionInverted(CharSequence autoCorrectedWord) {
+        if (!mStripParams.mAutoCorrectionVisualFlashEnabled) {
+            return;
+        }
         final CharSequence inverted = mStripParams.getInvertedText(autoCorrectedWord);
         if (inverted == null)
             return;
-- 
GitLab