Update suggestions strip text color

Bug: 5287964
Change-Id: Ic40bb656873f41bb6d65427f02399464e831aab2
diff --git a/java/res/drawable-hdpi/more_suggestions_hint_holo.png b/java/res/drawable-hdpi/more_suggestions_hint_holo.png
new file mode 100644
index 0000000..9360475
--- /dev/null
+++ b/java/res/drawable-hdpi/more_suggestions_hint_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/more_suggestions_hint_holo.png b/java/res/drawable-mdpi/more_suggestions_hint_holo.png
new file mode 100644
index 0000000..7352810
--- /dev/null
+++ b/java/res/drawable-mdpi/more_suggestions_hint_holo.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/more_suggestions_hint_holo.png b/java/res/drawable-xhdpi/more_suggestions_hint_holo.png
new file mode 100644
index 0000000..35fb420
--- /dev/null
+++ b/java/res/drawable-xhdpi/more_suggestions_hint_holo.png
Binary files differ
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index a876e28..9358c90 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -126,8 +126,13 @@
         <attr name="colorTypedWord" format="color" />
         <attr name="colorAutoCorrect" format="color" />
         <attr name="colorSuggested" format="color" />
+        <attr name="alphaTypedWord" format="integer" />
+        <attr name="alphaAutoCorrect" format="integer" />
+        <attr name="alphaSuggested" format="integer" />
+        <attr name="alphaObsoleted" format="integer" />
         <attr name="suggestionsCountInStrip" format="integer" />
         <attr name="centerSuggestionPercentile" format="integer" />
+        <attr name="moreSuggestionsHint" format="reference" />
         <attr name="maxMoreSuggestionsRow" format="integer" />
         <attr name="minMoreSuggestionsWidth" format="float" />
     </declare-styleable>
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index 9fa4d84..6aa9674 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -96,11 +96,13 @@
         parent="SuggestionsStripBackgroundStyle"
     >
         <item name="suggestionStripOption">autoCorrectBold</item>
-        <item name="colorTypedWord">#FFFFFFFF</item>
+        <item name="colorTypedWord">@android:color/white</item>
         <item name="colorAutoCorrect">#FFFCAE00</item>
         <item name="colorSuggested">#FFFCAE00</item>
+        <item name="alphaObsoleted">50</item>
         <item name="suggestionsCountInStrip">@integer/suggestions_count_in_strip</item>
         <item name="centerSuggestionPercentile">@integer/center_suggestion_percentile</item>
+        <item name="moreSuggestionsHint">@drawable/more_suggestions_hint</item>
         <item name="maxMoreSuggestionsRow">@integer/max_more_suggestions_row</item>
         <item name="minMoreSuggestionsWidth">@fraction/min_more_suggestions_width</item>
     </style>
@@ -272,11 +274,17 @@
         parent="SuggestionsStripBackgroundStyle.IceCreamSandwich"
     >
         <item name="suggestionStripOption">autoCorrectBold|validTypedWordBold</item>
-        <item name="colorTypedWord">#FFBCBEC0</item>
-        <item name="colorAutoCorrect">#FF0099CC</item>
-        <item name="colorSuggested">#FFA7A9AC</item>
+        <!-- android:color/holo_blue_light=#FF33B5E5 -->
+        <item name="colorTypedWord">@android:color/holo_blue_light</item>
+        <item name="colorAutoCorrect">@android:color/holo_blue_light</item>
+        <item name="colorSuggested">@android:color/holo_blue_light</item>
+        <item name="alphaTypedWord">85</item>
+        <item name="alphaAutoCorrect">100</item>
+        <item name="alphaSuggested">70</item>
+        <item name="alphaObsoleted">70</item>
         <item name="suggestionsCountInStrip">@integer/suggestions_count_in_strip</item>
         <item name="centerSuggestionPercentile">@integer/center_suggestion_percentile</item>
+        <item name="moreSuggestionsHint">@drawable/more_suggestions_hint_holo</item>
         <item name="maxMoreSuggestionsRow">@integer/max_more_suggestions_row</item>
         <item name="minMoreSuggestionsWidth">@fraction/min_more_suggestions_width</item>
     </style>
diff --git a/java/src/com/android/inputmethod/latin/SuggestionsView.java b/java/src/com/android/inputmethod/latin/SuggestionsView.java
index 380e73b..b00036b 100644
--- a/java/src/com/android/inputmethod/latin/SuggestionsView.java
+++ b/java/src/com/android/inputmethod/latin/SuggestionsView.java
@@ -163,6 +163,7 @@
         private final int mColorTypedWord;
         private final int mColorAutoCorrect;
         private final int mColorSuggested;
+        private final float mAlphaObsoleted;
         private final float mCenterSuggestionWeight;
         private final int mCenterSuggestionIndex;
         private final Drawable mMoreSuggestionsHint;
@@ -205,15 +206,26 @@
             final TypedArray a = context.obtainStyledAttributes(
                     attrs, R.styleable.SuggestionsView, defStyle, R.style.SuggestionsViewStyle);
             mSuggestionStripOption = a.getInt(R.styleable.SuggestionsView_suggestionStripOption, 0);
-            mColorTypedWord = a.getColor(R.styleable.SuggestionsView_colorTypedWord, 0);
-            mColorAutoCorrect = a.getColor(R.styleable.SuggestionsView_colorAutoCorrect, 0);
-            mColorSuggested = a.getColor(R.styleable.SuggestionsView_colorSuggested, 0);
+            final float alphaTypedWord = getPercent(a,
+                    R.styleable.SuggestionsView_alphaTypedWord, 100);
+            final float alphaAutoCorrect = getPercent(a,
+                    R.styleable.SuggestionsView_alphaAutoCorrect, 100);
+            final float alphaSuggested = getPercent(a,
+                    R.styleable.SuggestionsView_alphaSuggested, 100);
+            mAlphaObsoleted = getPercent(a, R.styleable.SuggestionsView_alphaSuggested, 100);
+            mColorTypedWord = applyAlpha(
+                    a.getColor(R.styleable.SuggestionsView_colorTypedWord, 0), alphaTypedWord);
+            mColorAutoCorrect = applyAlpha(
+                    a.getColor(R.styleable.SuggestionsView_colorAutoCorrect, 0), alphaAutoCorrect);
+            mColorSuggested = applyAlpha(
+                    a.getColor(R.styleable.SuggestionsView_colorSuggested, 0), alphaSuggested);
             mSuggestionsCountInStrip = a.getInt(
                     R.styleable.SuggestionsView_suggestionsCountInStrip,
                     DEFAULT_SUGGESTIONS_COUNT_IN_STRIP);
-            mCenterSuggestionWeight = a.getInt(
+            mCenterSuggestionWeight = getPercent(a,
                     R.styleable.SuggestionsView_centerSuggestionPercentile,
-                    DEFAULT_CENTER_SUGGESTION_PERCENTILE) / 100.0f;
+                    DEFAULT_CENTER_SUGGESTION_PERCENTILE);
+            mMoreSuggestionsHint = a.getDrawable(R.styleable.SuggestionsView_moreSuggestionsHint);
             mMaxMoreSuggestionsRow = a.getInt(
                     R.styleable.SuggestionsView_maxMoreSuggestionsRow,
                     DEFAULT_MAX_MORE_SUGGESTIONS_ROW);
@@ -222,7 +234,6 @@
             a.recycle();
 
             mCenterSuggestionIndex = mSuggestionsCountInStrip / 2;
-            mMoreSuggestionsHint = res.getDrawable(R.drawable.more_suggestions_hint);
             mMoreSuggestionsBottomGap = res.getDimensionPixelOffset(
                     R.dimen.more_suggestions_bottom_gap);
 
@@ -235,6 +246,11 @@
             mHintToSaveText = context.getText(R.string.hint_add_to_dictionary);
         }
 
+        // Read integer value in TypedArray as percent.
+        private static float getPercent(TypedArray a, int index, int defValue) {
+            return a.getInt(index, defValue) / 100.0f;
+        }
+
         // Read fraction value in TypedArray as float.
         private static float getRatio(TypedArray a, int index) {
             return a.getFraction(index, 1000, 1000, 1) / 1000.0f;
@@ -293,7 +309,7 @@
             final SuggestedWordInfo info = (pos < suggestions.size())
                     ? suggestions.getInfo(pos) : null;
             if (info != null && info.isObsoleteSuggestedWord()) {
-                return applyAlpha(color, 0.5f);
+                return applyAlpha(color, mAlphaObsoleted);
             } else {
                 return color;
             }