From 139773d0167a2cf09c4b6c2c47aa7d980dc413bd Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
Date: Mon, 12 May 2014 15:57:30 +0900
Subject: [PATCH] Enable voice and language switch keys for keyboard layout
 tests

Change-Id: I19ee05e30d09eb13753b737961882e345591c1df
---
 .../android/inputmethod/keyboard/layout/Arabic.java   |  9 ---------
 .../inputmethod/keyboard/layout/ArmenianPhonetic.java |  3 ++-
 .../android/inputmethod/keyboard/layout/Farsi.java    | 11 +----------
 .../android/inputmethod/keyboard/layout/Khmer.java    |  3 ++-
 .../com/android/inputmethod/keyboard/layout/Lao.java  |  3 ++-
 .../inputmethod/keyboard/layout/LayoutBase.java       |  7 ++++---
 .../android/inputmethod/keyboard/layout/Myanmar.java  |  3 ++-
 .../inputmethod/keyboard/layout/NepaliRomanized.java  |  2 +-
 .../android/inputmethod/keyboard/layout/PcQwerty.java |  2 +-
 .../com/android/inputmethod/keyboard/layout/Thai.java |  3 ++-
 .../keyboard/layout/tests/LayoutTestsBase.java        |  5 ++++-
 11 files changed, 21 insertions(+), 30 deletions(-)

diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java b/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java
index b0493d3f1..59b3bc5af 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java
@@ -68,15 +68,6 @@ public final class Arabic extends LayoutBase {
             return EMPTY_KEYS;
         }
 
-        @Override
-        public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) {
-            if (isPhone) {
-                // U+060C: "،" ARABIC COMMA
-                return joinKeys(key("\u060C", SETTINGS_KEY));
-            }
-            return super.getKeysLeftToSpacebar(isPhone);
-        }
-
         @Override
         public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
             if (isPhone) {
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/ArmenianPhonetic.java b/tests/src/com/android/inputmethod/keyboard/layout/ArmenianPhonetic.java
index 204bb01f7..8273c0659 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/ArmenianPhonetic.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/ArmenianPhonetic.java
@@ -121,7 +121,8 @@ public final class ArmenianPhonetic extends LayoutBase {
         } else {
             builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
                     .addKeysOnTheRightOfRow(3, ENTER_KEY)
-                    .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
+                    .addKeysOnTheLeftOfRow(5,
+                            customizer.getSymbolsKey(), key(SHORTCUT_KEY, SETTINGS_KEY))
                     .addKeysOnTheRightOfRow(5, EMOJI_KEY);
         }
         builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Farsi.java b/tests/src/com/android/inputmethod/keyboard/layout/Farsi.java
index a0070891a..238383b4d 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/Farsi.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Farsi.java
@@ -66,15 +66,6 @@ public final class Farsi extends LayoutBase {
             return EMPTY_KEYS;
         }
 
-        @Override
-        public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) {
-            if (isPhone) {
-                // U+060C: "،" ARABIC COMMA
-                return joinKeys(key("\u060C", SETTINGS_KEY));
-            }
-            return super.getKeysLeftToSpacebar(isPhone);
-        }
-
         @Override
         public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
             if (isPhone) {
@@ -91,7 +82,7 @@ public final class Farsi extends LayoutBase {
 
         @Override
         public ExpectedKey[] getSpaceKeys(final boolean isPhone) {
-            return joinKeys(SPACE_KEY, key(ZWNJ_KEY, ZWJ_KEY));
+            return joinKeys(LANGUAGE_SWITCH_KEY, SPACE_KEY, key(ZWNJ_KEY, ZWJ_KEY));
         }
 
         @Override
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Khmer.java b/tests/src/com/android/inputmethod/keyboard/layout/Khmer.java
index e7f6a6552..b841c3e6b 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/Khmer.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Khmer.java
@@ -94,7 +94,8 @@ public final class Khmer extends LayoutBase {
         } else {
             builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
                     .addKeysOnTheRightOfRow(3, ENTER_KEY)
-                    .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
+                    .addKeysOnTheLeftOfRow(5,
+                            customizer.getSymbolsKey(), key(SHORTCUT_KEY, SETTINGS_KEY))
                     .addKeysOnTheRightOfRow(5, EMOJI_KEY);
         }
         builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Lao.java b/tests/src/com/android/inputmethod/keyboard/layout/Lao.java
index 6f2ef216f..56958a948 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/Lao.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Lao.java
@@ -98,7 +98,8 @@ public final class Lao extends LayoutBase {
         } else {
             builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
                     .addKeysOnTheRightOfRow(3, ENTER_KEY)
-                    .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
+                    .addKeysOnTheLeftOfRow(5,
+                            customizer.getSymbolsKey(), key(SHORTCUT_KEY, SETTINGS_KEY))
                     .addKeysOnTheRightOfRow(5, EMOJI_KEY);
         }
         builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java b/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java
index 4123a22ef..0f2817d50 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java
@@ -152,7 +152,7 @@ public abstract class LayoutBase extends AbstractLayoutBase {
          *         keyboard.
          */
         public ExpectedKey[] getSpaceKeys(final boolean isPhone) {
-            return joinKeys(SPACE_KEY);
+            return joinKeys(LANGUAGE_SWITCH_KEY, SPACE_KEY);
         }
 
         /**
@@ -161,7 +161,7 @@ public abstract class LayoutBase extends AbstractLayoutBase {
          * @return the array of {@link ExpectedKey} that should be placed at left of the spacebar.
          */
         public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) {
-            return isPhone ? joinKeys(key(",", SETTINGS_KEY)) : joinKeys("/");
+            return isPhone ? joinKeys(key(SHORTCUT_KEY, SETTINGS_KEY)) : joinKeys("/");
         }
 
         /**
@@ -296,7 +296,8 @@ public abstract class LayoutBase extends AbstractLayoutBase {
         } else {
             builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
                     .addKeysOnTheRightOfRow(2, ENTER_KEY)
-                    .addKeysOnTheLeftOfRow(4, customizer.getSymbolsKey(), SETTINGS_KEY)
+                    .addKeysOnTheLeftOfRow(4,
+                            customizer.getSymbolsKey(), key(SHORTCUT_KEY, SETTINGS_KEY))
                     .addKeysOnTheRightOfRow(4, EMOJI_KEY);
         }
         builder.addKeysOnTheLeftOfRow(3, (Object[])customizer.getLeftShiftKeys(isPhone))
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Myanmar.java b/tests/src/com/android/inputmethod/keyboard/layout/Myanmar.java
index 2d1c901b9..683217cf3 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/Myanmar.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Myanmar.java
@@ -106,7 +106,8 @@ public final class Myanmar extends LayoutBase {
         } else {
             builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
                     .addKeysOnTheRightOfRow(3, ENTER_KEY)
-                    .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
+                    .addKeysOnTheLeftOfRow(5,
+                            customizer.getSymbolsKey(), key(SHORTCUT_KEY, SETTINGS_KEY))
                     .addKeysOnTheRightOfRow(5, EMOJI_KEY);
         }
         builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java b/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java
index 7048dbb73..7933d078c 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java
@@ -47,7 +47,7 @@ public final class NepaliRomanized extends LayoutBase {
 
         @Override
         public ExpectedKey[] getSpaceKeys(final boolean isPhone) {
-            return joinKeys(SPACE_KEY, key(ZWNJ_KEY, ZWJ_KEY));
+            return joinKeys(LANGUAGE_SWITCH_KEY, SPACE_KEY, key(ZWNJ_KEY, ZWJ_KEY));
         }
 
         // U+0930/U+0941/U+002E "रु." NEPALESE RUPEE SIGN
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/PcQwerty.java b/tests/src/com/android/inputmethod/keyboard/layout/PcQwerty.java
index 9da6dcc44..dd3fbc388 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/PcQwerty.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/PcQwerty.java
@@ -50,7 +50,7 @@ public final class PcQwerty extends LayoutBase {
 
         @Override
         public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) {
-            return joinKeys(SETTINGS_KEY);
+            return joinKeys(key(SHORTCUT_KEY, SETTINGS_KEY));
         }
 
         @Override
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Thai.java b/tests/src/com/android/inputmethod/keyboard/layout/Thai.java
index 253c93b83..3efe039b0 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/Thai.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Thai.java
@@ -111,7 +111,8 @@ public final class Thai extends LayoutBase {
         } else {
             builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
                     .addKeysOnTheRightOfRow(3, ENTER_KEY)
-                    .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
+                    .addKeysOnTheLeftOfRow(5,
+                            customizer.getSymbolsKey(), key(SHORTCUT_KEY, SETTINGS_KEY))
                     .addKeysOnTheRightOfRow(5, EMOJI_KEY);
         }
         builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/LayoutTestsBase.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/LayoutTestsBase.java
index 4002c49c2..273399758 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/tests/LayoutTestsBase.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/LayoutTestsBase.java
@@ -51,7 +51,10 @@ abstract class LayoutTestsBase extends KeyboardLayoutSetTestsBase {
         mSubtype = getSubtype(mLayout.getLocale(), mLayout.getName());
         mLogTag = SubtypeLocaleUtils.getSubtypeNameForLogging(mSubtype) + "/"
                 + (isPhone() ? "phone" : "tablet");
-        mKeyboardLayoutSet = createKeyboardLayoutSet(mSubtype, null /* editorInfo */);
+        // TODO: Test with voice and language switch keys enabled and disabled.
+        mKeyboardLayoutSet = createKeyboardLayoutSet(mSubtype, null /* editorInfo */,
+                true /* isShortcutImeEnabled */, true /* showsVoiceInputKey */,
+                true /* isLanguageSwitchKeyEnabled */);
     }
 
     // Those helper methods have a lower case name to be readable when defining expected keyboard