Use slightly dimmed text color for functional keys

This CL introduces two new key attributes to achieve this.
- KeyboardView.functionalTextColor
- followFunctionalTextColor flag for Key.keyLabelFlags

Bug: 14419121
Change-Id: I45ca433dcc9cc8c6cf891e21d5316ee4048b0cad
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 79cc139..701d195 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -311,6 +311,9 @@
             <flag name="shiftedLetterActivated" value="0x20000" />
             <!-- If true, use EditorInfo.actionLabel for the key label. -->
             <flag name="fromCustomActionLabel" value="0x40000" />
+            <!-- If true, use functionalTextColor instead of ketTextColor to drawing the label on
+                 the key -->
+            <flag name="followFunctionalTextColor" value="0x80000" />
             <!-- If true, disable keyHintLabel. -->
             <flag name="disableKeyHintLabel" value="0x40000000" />
             <!-- If true, disable additionalMoreKeys. -->
@@ -367,6 +370,8 @@
         <attr name="keyTextShadowColor" format="color" />
         <!-- Color to use for the label in a key when in inactivated state. -->
         <attr name="keyTextInactivatedColor" format="color" />
+        <!-- Color to use for the label in a key that has followFunctionalTextColor keyLabelFlags. -->
+        <attr name="functionalTextColor" format="color" />
         <!-- Key hint letter (= one character hint label) color -->
         <attr name="keyHintLetterColor" format="color" />
         <!-- Key hint label color -->
diff --git a/java/res/values/themes-ics.xml b/java/res/values/themes-ics.xml
index 560cfc5..79f9036 100644
--- a/java/res/values/themes-ics.xml
+++ b/java/res/values/themes-ics.xml
@@ -53,6 +53,7 @@
         <item name="keyTypeface">bold</item>
         <item name="keyTextColor">@color/key_text_color_holo</item>
         <item name="keyTextInactivatedColor">@color/key_text_inactivated_color_holo</item>
+        <item name="functionalTextColor">@color/key_text_color_holo</item>
         <item name="keyHintLetterColor">@color/key_hint_letter_color_holo</item>
         <item name="keyHintLabelColor">@color/key_hint_label_color_holo</item>
         <item name="keyShiftedLetterHintInactivatedColor">@color/key_shifted_letter_hint_inactivated_color_holo</item>
diff --git a/java/res/values/themes-klp.xml b/java/res/values/themes-klp.xml
index 453e5cb..dfeca1c 100644
--- a/java/res/values/themes-klp.xml
+++ b/java/res/values/themes-klp.xml
@@ -53,6 +53,7 @@
         <item name="keyTypeface">bold</item>
         <item name="keyTextColor">@color/key_text_color_holo</item>
         <item name="keyTextInactivatedColor">@color/key_text_inactivated_color_holo</item>
+        <item name="functionalTextColor">@color/key_text_color_holo</item>
         <item name="keyHintLetterColor">@color/key_hint_letter_color_holo</item>
         <item name="keyHintLabelColor">@color/key_hint_label_color_holo</item>
         <item name="keyShiftedLetterHintInactivatedColor">@color/key_shifted_letter_hint_inactivated_color_holo</item>
diff --git a/java/res/values/themes-lxx.xml b/java/res/values/themes-lxx.xml
index 4f3ee80..899d26a 100644
--- a/java/res/values/themes-lxx.xml
+++ b/java/res/values/themes-lxx.xml
@@ -53,6 +53,7 @@
         <item name="keyTypeface">bold</item>
         <item name="keyTextColor">@color/key_text_color_holo</item>
         <item name="keyTextInactivatedColor">@color/key_text_inactive_color_lxx</item>
+        <item name="functionalTextColor">@color/key_hint_letter_color_lxx</item>
         <item name="keyHintLetterColor">@color/key_hint_letter_color_lxx</item>
         <item name="keyHintLabelColor">@color/key_text_inactive_color_lxx</item>
         <item name="keyShiftedLetterHintInactivatedColor">@color/key_text_inactive_color_lxx</item>