From 5962312b0724d8546ef76e3cd065b7baf578822f Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
Date: Wed, 8 Feb 2012 20:09:39 +0900
Subject: [PATCH] Custom action label should be a part of keyboard identifier

Change-Id: Ia14cabc3d49fbdcb11dd00225d225fbb91cc4012
---
 java/res/values/keycodes.xml                              | 2 +-
 java/res/xml-sw600dp/key_styles_common.xml                | 1 +
 java/res/xml-sw768dp/key_styles_common.xml                | 1 +
 java/res/xml/key_styles_common.xml                        | 1 +
 java/res/xml/key_styles_enter_phone.xml                   | 2 +-
 java/res/xml/key_styles_enter_tablet.xml                  | 2 +-
 java/src/com/android/inputmethod/keyboard/KeyboardId.java | 2 ++
 7 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/java/res/values/keycodes.xml b/java/res/values/keycodes.xml
index d552b9349..c85c02263 100644
--- a/java/res/values/keycodes.xml
+++ b/java/res/values/keycodes.xml
@@ -21,7 +21,7 @@
 <resources>
     <!-- These code should be aligned with Keyboard.CODE_*. -->
     <integer name="key_tab">9</integer>
-    <integer name="key_return">10</integer>
+    <integer name="key_enter">10</integer>
     <integer name="key_space">32</integer>
     <integer name="key_shift">-1</integer>
     <integer name="key_switch_alpha_symbol">-2</integer>
diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml
index 81334c9e9..e524aa381 100644
--- a/java/res/xml-sw600dp/key_styles_common.xml
+++ b/java/res/xml-sw600dp/key_styles_common.xml
@@ -111,6 +111,7 @@
         latin:code="@integer/key_shortcut"
         latin:keyIcon="iconShortcutKey"
         latin:keyIconDisabled="iconDisabledShortcutKey"
+        latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview|altCodeWhileTyping"
         latin:parentStyle="f2PopupStyle" />
     <key-style
diff --git a/java/res/xml-sw768dp/key_styles_common.xml b/java/res/xml-sw768dp/key_styles_common.xml
index f01f34969..07bdd7b18 100644
--- a/java/res/xml-sw768dp/key_styles_common.xml
+++ b/java/res/xml-sw768dp/key_styles_common.xml
@@ -93,6 +93,7 @@
         latin:code="@integer/key_shortcut"
         latin:keyIcon="iconShortcutKey"
         latin:keyIconDisabled="iconDisabledShortcutKey"
+        latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview|altCodeWhileTyping"
         latin:backgroundType="functional" />
     <key-style
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index 97e06df8d..0e31bcb31 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -110,6 +110,7 @@
         latin:code="@integer/key_shortcut"
         latin:keyIcon="iconShortcutKey"
         latin:keyIconDisabled="iconDisabledShortcutKey"
+        latin:keyLabelFlags="preserveCase"
         latin:keyActionFlags="noKeyPreview|altCodeWhileTyping"
         latin:altCode="@integer/key_space"
         latin:parentStyle="f1PopupStyle" />
diff --git a/java/res/xml/key_styles_enter_phone.xml b/java/res/xml/key_styles_enter_phone.xml
index 6d94334fc..6af81fb7b 100644
--- a/java/res/xml/key_styles_enter_phone.xml
+++ b/java/res/xml/key_styles_enter_phone.xml
@@ -24,7 +24,7 @@
     <!-- Enter key style -->
     <key-style
         latin:styleName="defaultEnterKeyStyle"
-        latin:code="@integer/key_return"
+        latin:code="@integer/key_enter"
         latin:keyIcon="iconReturnKey"
         latin:keyLabelFlags="autoXScale|preserveCase"
         latin:keyActionFlags="noKeyPreview"
diff --git a/java/res/xml/key_styles_enter_tablet.xml b/java/res/xml/key_styles_enter_tablet.xml
index e54de297e..702089181 100644
--- a/java/res/xml/key_styles_enter_tablet.xml
+++ b/java/res/xml/key_styles_enter_tablet.xml
@@ -24,7 +24,7 @@
     <!-- Enter key style -->
     <key-style
         latin:styleName="defaultEnterKeyStyle"
-        latin:code="@integer/key_return"
+        latin:code="@integer/key_enter"
         latin:keyIcon="iconReturnKey"
         latin:keyLabelFlags="autoXScale|preserveCase"
         latin:keyActionFlags="noKeyPreview"
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardId.java b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
index a000eae62..3ab24933c 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardId.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
@@ -102,6 +102,7 @@ public class KeyboardId {
                 id.mHasShortcutKey,
                 id.isMultiLine(),
                 id.imeAction(),
+                id.mCustomActionLabel,
                 id.mLocale
         });
     }
@@ -121,6 +122,7 @@ public class KeyboardId {
                 && other.mHasShortcutKey == this.mHasShortcutKey
                 && other.isMultiLine() == this.isMultiLine()
                 && other.imeAction() == this.imeAction()
+                && TextUtils.equals(other.mCustomActionLabel, this.mCustomActionLabel)
                 && other.mLocale.equals(this.mLocale);
     }