Use light emoji icon for Material light tablet keyboard

Bug: 16808603
Change-Id: I39ce0ed8b5580754dfd0cf1494289b0a23863d50
diff --git a/java/res/drawable-hdpi/sym_keyboard_smiley_lxx_light.png b/java/res/drawable-hdpi/sym_keyboard_smiley_lxx_light.png
index 2cfe1d4..b1fe2c0 100644
--- a/java/res/drawable-hdpi/sym_keyboard_smiley_lxx_light.png
+++ b/java/res/drawable-hdpi/sym_keyboard_smiley_lxx_light.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_smiley_lxx_light.png b/java/res/drawable-mdpi/sym_keyboard_smiley_lxx_light.png
index ff49d58..e639416 100644
--- a/java/res/drawable-mdpi/sym_keyboard_smiley_lxx_light.png
+++ b/java/res/drawable-mdpi/sym_keyboard_smiley_lxx_light.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_smiley_lxx_light.png b/java/res/drawable-xhdpi/sym_keyboard_smiley_lxx_light.png
index df3eba7..0d8c33b 100644
--- a/java/res/drawable-xhdpi/sym_keyboard_smiley_lxx_light.png
+++ b/java/res/drawable-xhdpi/sym_keyboard_smiley_lxx_light.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_smiley_lxx_light.png b/java/res/drawable-xxhdpi/sym_keyboard_smiley_lxx_light.png
index 08d4f8a..ef5bf5a 100644
--- a/java/res/drawable-xxhdpi/sym_keyboard_smiley_lxx_light.png
+++ b/java/res/drawable-xxhdpi/sym_keyboard_smiley_lxx_light.png
Binary files differ
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index bfe3856..e89912a 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -242,7 +242,8 @@
         <attr name="iconZwnjKey" format="reference" />
         <attr name="iconZwjKey" format="reference" />
         <attr name="iconImeKey" format="reference" />
-        <attr name="iconEmojiKey" format="reference" />
+        <attr name="iconEmojiActionKey" format="reference" />
+        <attr name="iconEmojiNormalKey" format="reference" />
     </declare-styleable>
 
     <declare-styleable name="Keyboard_GridRows">
diff --git a/java/res/values/keyboard-icons-holo.xml b/java/res/values/keyboard-icons-holo.xml
index d95ff82..f5484bf 100644
--- a/java/res/values/keyboard-icons-holo.xml
+++ b/java/res/values/keyboard-icons-holo.xml
@@ -35,6 +35,7 @@
         <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch_dark</item>
         <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_holo_dark</item>
         <item name="iconZwjKey">@drawable/sym_keyboard_zwj_holo_dark</item>
-        <item name="iconEmojiKey">@drawable/sym_keyboard_smiley_holo_dark</item>
+        <item name="iconEmojiActionKey">@drawable/sym_keyboard_smiley_holo_dark</item>
+        <item name="iconEmojiNormalKey">@drawable/sym_keyboard_smiley_holo_dark</item>
     </style>
 </resources>
diff --git a/java/res/values/keyboard-icons-lxx-dark.xml b/java/res/values/keyboard-icons-lxx-dark.xml
index dfa585c..305df02 100644
--- a/java/res/values/keyboard-icons-lxx-dark.xml
+++ b/java/res/values/keyboard-icons-lxx-dark.xml
@@ -40,6 +40,7 @@
         <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch_lxx_dark</item>
         <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_lxx_dark</item>
         <item name="iconZwjKey">@drawable/sym_keyboard_zwj_lxx_dark</item>
-        <item name="iconEmojiKey">@drawable/sym_keyboard_smiley_lxx_dark</item>
+        <item name="iconEmojiActionKey">@drawable/sym_keyboard_smiley_lxx_dark</item>
+        <item name="iconEmojiNormalKey">@drawable/sym_keyboard_smiley_lxx_dark</item>
     </style>
 </resources>
diff --git a/java/res/values/keyboard-icons-lxx-light.xml b/java/res/values/keyboard-icons-lxx-light.xml
index e8a3c56..866dc68 100644
--- a/java/res/values/keyboard-icons-lxx-light.xml
+++ b/java/res/values/keyboard-icons-lxx-light.xml
@@ -40,6 +40,9 @@
         <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch_lxx_light</item>
         <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_lxx_light</item>
         <item name="iconZwjKey">@drawable/sym_keyboard_zwj_lxx_light</item>
-        <item name="iconEmojiKey">@drawable/sym_keyboard_smiley_lxx_light</item>
+        <!-- Use white emoji icon (for lxx_dark) because an action key has green/dark color background. -->
+        <item name="iconEmojiActionKey">@drawable/sym_keyboard_smiley_lxx_dark</item>
+        <!-- Use dark green emoji icon (for lxx_light) because a normal key has white color background. -->
+        <item name="iconEmojiNormalKey">@drawable/sym_keyboard_smiley_lxx_light</item>
     </style>
 </resources>
diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml
index 877c796..1b52b1e 100644
--- a/java/res/xml-sw600dp/key_styles_common.xml
+++ b/java/res/xml-sw600dp/key_styles_common.xml
@@ -105,7 +105,7 @@
         latin:altCode="!code/key_space" />
     <key-style
         latin:styleName="emojiKeyStyle"
-        latin:keySpec="!icon/emoji_key|!code/key_emoji"
+        latin:keySpec="!icon/emoji_normal_key|!code/key_emoji"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="functional" />
     <key-style
diff --git a/java/res/xml-sw600dp/key_styles_enter.xml b/java/res/xml-sw600dp/key_styles_enter.xml
index d0167d3..c20523b 100644
--- a/java/res/xml-sw600dp/key_styles_enter.xml
+++ b/java/res/xml-sw600dp/key_styles_enter.xml
@@ -21,7 +21,6 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <!-- TODO: Stop using many conditional cases for keyspec_emoji_key. There are way too many to maintain. -->
     <!-- Navigate more keys style -->
     <switch>
         <!-- latin:passwordInput="true" -->
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index bc739f7..2d006c9 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -80,7 +80,7 @@
     <!-- emojiKeyStyle must be defined before including @xml/key_syles_enter. -->
     <key-style
         latin:styleName="emojiKeyStyle"
-        latin:keySpec="!icon/emoji_key|!code/key_emoji"
+        latin:keySpec="!icon/emoji_action_key|!code/key_emoji"
         latin:keyActionFlags="noKeyPreview"
         latin:backgroundType="action" />
     <include
diff --git a/java/res/xml/key_styles_enter.xml b/java/res/xml/key_styles_enter.xml
index 960c79c..55dab78 100644
--- a/java/res/xml/key_styles_enter.xml
+++ b/java/res/xml/key_styles_enter.xml
@@ -21,7 +21,7 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <!-- TODO: Stop using many conditional cases for keyspec_emoji_key. There are way too many to maintain. -->
+    <!-- TODO: Stop using many conditional cases for keyspec_emoji_action_key. There are way too many to maintain. -->
     <!-- Navigate more keys style -->
     <switch>
         <!-- latin:passwordInput="true" -->
@@ -182,7 +182,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_key,!text/keyspec_action_previous" />
+                latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_action_key,!text/keyspec_action_previous" />
         </case>
         <case
             latin:imeAction="actionNext"
@@ -191,7 +191,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!text/keyspec_emoji_key" />
+                latin:moreKeys="!text/keyspec_emoji_action_key" />
         </case>
         <case
             latin:imeAction="actionPrevious"
@@ -200,7 +200,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_key,!text/keyspec_action_next" />
+                latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_action_key,!text/keyspec_action_next" />
         </case>
         <case
             latin:imeAction="actionPrevious"
@@ -209,7 +209,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!text/keyspec_emoji_key" />
+                latin:moreKeys="!text/keyspec_emoji_action_key" />
         </case>
         <case
             latin:navigateNext="true"
@@ -218,7 +218,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!fixedColumnOrder!3,!needsDividers!,!text/keyspec_emoji_key,!text/keyspec_action_previous,!text/keyspec_action_next" />
+                latin:moreKeys="!fixedColumnOrder!3,!needsDividers!,!text/keyspec_emoji_action_key,!text/keyspec_action_previous,!text/keyspec_action_next" />
         </case>
         <case
             latin:navigateNext="true"
@@ -227,7 +227,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_key,!text/keyspec_action_next" />
+                latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_action_key,!text/keyspec_action_next" />
         </case>
         <case
             latin:navigateNext="false"
@@ -236,7 +236,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_key,!text/keyspec_action_previous" />
+                latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_action_key,!text/keyspec_action_previous" />
         </case>
         <case
             latin:navigateNext="false"
@@ -245,7 +245,7 @@
             <key-style
                 latin:styleName="navigateMoreKeysStyle"
                 latin:keyLabelFlags="hasPopupHint|preserveCase"
-                latin:moreKeys="!text/keyspec_emoji_key" />
+                latin:moreKeys="!text/keyspec_emoji_action_key" />
         </case>
         <default>
             <key-style
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java
index 09550c4..e1f302c 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java
@@ -53,7 +53,8 @@
     public static final String NAME_LANGUAGE_SWITCH_KEY = "language_switch_key";
     public static final String NAME_ZWNJ_KEY = "zwnj_key";
     public static final String NAME_ZWJ_KEY = "zwj_key";
-    public static final String NAME_EMOJI_KEY = "emoji_key";
+    public static final String NAME_EMOJI_ACTION_KEY = "emoji_action_key";
+    public static final String NAME_EMOJI_NORMAL_KEY = "emoji_normal_key";
 
     private static final SparseIntArray ATTR_ID_TO_ICON_ID = new SparseIntArray();
 
@@ -81,7 +82,8 @@
         NAME_LANGUAGE_SWITCH_KEY,         R.styleable.Keyboard_iconLanguageSwitchKey,
         NAME_ZWNJ_KEY,                    R.styleable.Keyboard_iconZwnjKey,
         NAME_ZWJ_KEY,                     R.styleable.Keyboard_iconZwjKey,
-        NAME_EMOJI_KEY,                   R.styleable.Keyboard_iconEmojiKey,
+        NAME_EMOJI_ACTION_KEY,            R.styleable.Keyboard_iconEmojiActionKey,
+        NAME_EMOJI_NORMAL_KEY,            R.styleable.Keyboard_iconEmojiNormalKey,
     };
 
     private static int NUM_ICONS = NAMES_AND_ATTR_IDS.length / 2;
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
index e6897bf..31bc549 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
@@ -250,7 +250,7 @@
         /* 164: 0 */ "morekeys_single_quote",
         /* 165: 0 */ "morekeys_double_quote",
         /* 166: 0 */ "morekeys_tablet_double_quote",
-        /* 167: 0 */ "keyspec_emoji_key",
+        /* 167: 0 */ "keyspec_emoji_action_key",
     };
 
     private static final String EMPTY = "";
@@ -464,7 +464,7 @@
         /* morekeys_single_quote */ "!fixedColumnOrder!5,!text/single_quotes,!text/single_angle_quotes",
         /* morekeys_double_quote */ "!fixedColumnOrder!5,!text/double_quotes,!text/double_angle_quotes",
         /* morekeys_tablet_double_quote */ "!fixedColumnOrder!6,!text/double_quotes,!text/single_quotes,!text/double_angle_quotes,!text/single_angle_quotes",
-        /* keyspec_emoji_key */ "!icon/emoji_key|!code/key_emoji",
+        /* keyspec_emoji_action_key */ "!icon/emoji_action_key|!code/key_emoji",
     };
 
     /* Locale af: Afrikaans */