Show icon on action key when it is defined in keyboard theme

This CL also adds the following icons name for an action key.
- Go
- Send
- Next
- Done
- Previous

Bug: 14259323
Change-Id: I48bba708d1f78349270d2ca01aebd8f111685723
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 4c7ed69..5c62003 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -217,7 +217,12 @@
         <attr name="iconSettingsKey" format="reference" />
         <attr name="iconSpaceKey" format="reference" />
         <attr name="iconEnterKey" format="reference" />
+        <attr name="iconGoKey" format="reference" />
         <attr name="iconSearchKey" format="reference" />
+        <attr name="iconSendKey" format="reference" />
+        <attr name="iconNextKey" format="reference" />
+        <attr name="iconDoneKey" format="reference" />
+        <attr name="iconPreviousKey" format="reference" />
         <attr name="iconTabKey" format="reference" />
         <attr name="iconShortcutKey" format="reference" />
         <attr name="iconSpaceKeyForNumberLayout" format="reference" />
diff --git a/java/res/values/keyboard-icons-lmp.xml b/java/res/values/keyboard-icons-lmp.xml
index a9cbabc..39e0fe3 100644
--- a/java/res/values/keyboard-icons-lmp.xml
+++ b/java/res/values/keyboard-icons-lmp.xml
@@ -26,7 +26,13 @@
         <item name="iconSettingsKey">@drawable/sym_keyboard_settings_holo_dark</item>
         <item name="iconSpaceKey">@drawable/sym_keyboard_space_holo_dark</item>
         <item name="iconEnterKey">@drawable/sym_keyboard_return_holo_dark</item>
+        <!-- TODO: Uncomment those icon definitions once we have those icon assets. -->
+        <!-- <item name="iconGoKey">@drawable/sym_keyboard_go_holo_dark</item> -->
         <item name="iconSearchKey">@drawable/sym_keyboard_search_holo_dark</item>
+        <!-- <item name="iconSendKey">@drawable/sym_keyboard_send_holo_dark</item> -->
+        <!-- <item name="iconNextKey">@drawable/sym_keyboard_next_holo_dark</item> -->
+        <!-- <item name="iconDoneKey">@drawable/sym_keyboard_done_holo_dark</item> -->
+        <!-- <item name="iconPreviousKey">@drawable/sym_keyboard_previous_holo_dark</item> -->
         <item name="iconTabKey">@drawable/sym_keyboard_tab_holo_dark</item>
         <item name="iconShortcutKey">@drawable/sym_keyboard_voice_holo_dark</item>
         <item name="iconSpaceKeyForNumberLayout">@drawable/sym_keyboard_space_holo_dark</item>
diff --git a/java/res/xml-sw600dp/key_styles_enter.xml b/java/res/xml-sw600dp/key_styles_enter.xml
index 0699e45..99ac108 100644
--- a/java/res/xml-sw600dp/key_styles_enter.xml
+++ b/java/res/xml-sw600dp/key_styles_enter.xml
@@ -117,6 +117,16 @@
         </case>
         <case
             latin:imeAction="actionGo"
+            latin:isIconDefined="go_key"
+        >
+            <key-style
+                latin:styleName="enterKeyStyle"
+                latin:keySpec="!icon/go_key|!code/key_enter"
+                latin:backgroundType="action"
+                latin:parentStyle="defaultEnterKeyStyle" />
+        </case>
+        <case
+            latin:imeAction="actionGo"
         >
             <key-style
                 latin:styleName="enterKeyStyle"
@@ -126,6 +136,16 @@
         </case>
         <case
             latin:imeAction="actionNext"
+            latin:isIconDefined="next_key"
+        >
+            <key-style
+                latin:styleName="enterKeyStyle"
+                latin:keySpec="!icon/next_key|!code/key_enter"
+                latin:backgroundType="action"
+                latin:parentStyle="defaultEnterKeyStyle" />
+        </case>
+        <case
+            latin:imeAction="actionNext"
         >
             <key-style
                 latin:styleName="enterKeyStyle"
@@ -135,6 +155,16 @@
         </case>
         <case
             latin:imeAction="actionPrevious"
+            latin:isIconDefined="previous_key"
+        >
+            <key-style
+                latin:styleName="enterKeyStyle"
+                latin:keySpec="!icon/previous_key|!code/key_enter"
+                latin:backgroundType="action"
+                latin:parentStyle="defaultEnterKeyStyle" />
+        </case>
+        <case
+            latin:imeAction="actionPrevious"
         >
             <key-style
                 latin:styleName="enterKeyStyle"
@@ -144,6 +174,16 @@
         </case>
         <case
             latin:imeAction="actionDone"
+            latin:isIconDefined="done_key"
+        >
+            <key-style
+                latin:styleName="enterKeyStyle"
+                latin:keySpec="!icon/done_key|!code/key_enter"
+                latin:backgroundType="action"
+                latin:parentStyle="defaultEnterKeyStyle" />
+        </case>
+        <case
+            latin:imeAction="actionDone"
         >
             <key-style
                 latin:styleName="enterKeyStyle"
@@ -153,6 +193,16 @@
         </case>
         <case
             latin:imeAction="actionSend"
+            latin:isIconDefined="send_key"
+        >
+            <key-style
+                latin:styleName="enterKeyStyle"
+                latin:keySpec="!icon/send_key|!code/key_enter"
+                latin:backgroundType="action"
+                latin:parentStyle="defaultEnterKeyStyle" />
+        </case>
+        <case
+            latin:imeAction="actionSend"
         >
             <key-style
                 latin:styleName="enterKeyStyle"
diff --git a/java/res/xml/key_styles_enter.xml b/java/res/xml/key_styles_enter.xml
index acb27ab..8bba136 100644
--- a/java/res/xml/key_styles_enter.xml
+++ b/java/res/xml/key_styles_enter.xml
@@ -284,6 +284,16 @@
         </case>
         <case
             latin:imeAction="actionGo"
+            latin:isIconDefined="go_key"
+        >
+            <key-style
+                latin:styleName="enterKeyStyle"
+                latin:keySpec="!icon/go_key|!code/key_enter"
+                latin:backgroundType="action"
+                latin:parentStyle="defaultEnterKeyStyle" />
+        </case>
+        <case
+            latin:imeAction="actionGo"
         >
             <key-style
                 latin:styleName="enterKeyStyle"
@@ -293,6 +303,16 @@
         </case>
         <case
             latin:imeAction="actionNext"
+            latin:isIconDefined="next_key"
+        >
+            <key-style
+                latin:styleName="enterKeyStyle"
+                latin:keySpec="!icon/next_key|!code/key_enter"
+                latin:backgroundType="action"
+                latin:parentStyle="defaultEnterKeyStyle" />
+        </case>
+        <case
+            latin:imeAction="actionNext"
         >
             <key-style
                 latin:styleName="enterKeyStyle"
@@ -302,6 +322,16 @@
         </case>
         <case
             latin:imeAction="actionPrevious"
+            latin:isIconDefined="previous_key"
+        >
+            <key-style
+                latin:styleName="enterKeyStyle"
+                latin:keySpec="!icon/previous_key|!code/key_enter"
+                latin:backgroundType="action"
+                latin:parentStyle="defaultEnterKeyStyle" />
+        </case>
+        <case
+            latin:imeAction="actionPrevious"
         >
             <key-style
                 latin:styleName="enterKeyStyle"
@@ -311,6 +341,16 @@
         </case>
         <case
             latin:imeAction="actionDone"
+            latin:isIconDefined="done_key"
+        >
+            <key-style
+                latin:styleName="enterKeyStyle"
+                latin:keySpec="!icon/done_key|!code/key_enter"
+                latin:backgroundType="action"
+                latin:parentStyle="defaultEnterKeyStyle" />
+        </case>
+        <case
+            latin:imeAction="actionDone"
         >
             <key-style
                 latin:styleName="enterKeyStyle"
@@ -320,6 +360,16 @@
         </case>
         <case
             latin:imeAction="actionSend"
+            latin:isIconDefined="send_key"
+        >
+            <key-style
+                latin:styleName="enterKeyStyle"
+                latin:keySpec="!icon/send_key|!code/key_enter"
+                latin:backgroundType="action"
+                latin:parentStyle="defaultEnterKeyStyle" />
+        </case>
+        <case
+            latin:imeAction="actionSend"
         >
             <key-style
                 latin:styleName="enterKeyStyle"