From daf75d275e7041bd9669315eb162489ddbf558a8 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" <takaoka@google.com> Date: Tue, 8 Apr 2014 15:34:41 +0900 Subject: [PATCH] Add en_IN subtype Bug: 13914988 Change-Id: Ifd497a6a1d2686490e388e10e391475e97e9c166 --- java/res/xml/key_styles_currency.xml | 26 +++++++++ java/res/xml/method.xml | 9 +++ .../KeyboardLayoutSetSubtypesCountTests.java | 4 +- .../inputmethod/keyboard/layout/Hindi.java | 4 +- .../keyboard/layout/tests/TestsEnglishIN.java | 55 +++++++++++++++++++ 5 files changed, 94 insertions(+), 4 deletions(-) create mode 100644 tests/src/com/android/inputmethod/keyboard/layout/tests/TestsEnglishIN.java diff --git a/java/res/xml/key_styles_currency.xml b/java/res/xml/key_styles_currency.xml index 29e2eae3d2..0bb2bb4082 100644 --- a/java/res/xml/key_styles_currency.xml +++ b/java/res/xml/key_styles_currency.xml @@ -129,6 +129,32 @@ latin:styleName="moreCurrency4KeyStyle" latin:keySpec="¢" /> </case> + <!-- IN: India (Rupee) --> + <case + latin:countryCode="IN" + > + <!-- U+20B9: "₹" INDIAN RUPEE SIGN + U+00A3: "£" POUND SIGN + U+20AC: "€" EURO SIGN + U+00A2: "¢" CENT SIGN --> + <key-style + latin:styleName="currencyKeyStyle" + latin:keySpec="₹" + latin:moreKeys="!text/morekeys_currency" /> + <key-style + latin:styleName="moreCurrency1KeyStyle" + latin:keySpec="£" /> + <key-style + latin:styleName="moreCurrency2KeyStyle" + latin:keySpec="€" /> + <key-style + latin:styleName="moreCurrency3KeyStyle" + latin:keySpec="$" + latin:moreKeys="¢" /> + <key-style + latin:styleName="moreCurrency4KeyStyle" + latin:keySpec="¢" /> + </case> <!-- GB: United Kingdom (Pound) --> <case latin:countryCode="GB" diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml index 6db80b857b..1bef3c2542 100644 --- a/java/res/xml/method.xml +++ b/java/res/xml/method.xml @@ -34,6 +34,7 @@ de: German/qwertz de_CH: German (Switzerland)/swiss el: Greek/greek + en_IN: English (India)/qwerty en_US: English (United States)/qwerty en_GB: English (Great Britain)/qwerty eo: Esperanto/spanish @@ -215,6 +216,14 @@ android:imeSubtypeExtraValue="KeyboardLayoutSet=greek,EmojiCapable" android:isAsciiCapable="false" /> + <subtype android:icon="@drawable/ic_ime_switcher_dark" + android:label="@string/subtype_generic" + android:subtypeId="0x8d58fc2d" + android:imeSubtypeLocale="en_IN" + android:imeSubtypeMode="keyboard" + android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" + android:isAsciiCapable="true" + /> <subtype android:icon="@drawable/ic_ime_switcher_dark" android:label="@string/subtype_generic" android:subtypeId="0x4090554a" diff --git a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetSubtypesCountTests.java b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetSubtypesCountTests.java index d6d12ea566..57d2950587 100644 --- a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetSubtypesCountTests.java +++ b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetSubtypesCountTests.java @@ -25,8 +25,8 @@ import java.util.ArrayList; @SmallTest public class KeyboardLayoutSetSubtypesCountTests extends KeyboardLayoutSetTestsBase { - private static final int NUMBER_OF_SUBTYPES = 67; - private static final int NUMBER_OF_ASCII_CAPABLE_SUBTYPES = 42; + private static final int NUMBER_OF_SUBTYPES = 68; + private static final int NUMBER_OF_ASCII_CAPABLE_SUBTYPES = 43; private static final int NUMBER_OF_PREDEFINED_ADDITIONAL_SUBTYPES = 2; private static String toString(final ArrayList<InputMethodSubtype> subtypeList) { diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Hindi.java b/tests/src/com/android/inputmethod/keyboard/layout/Hindi.java index c3f45313fd..b12b8be643 100644 --- a/tests/src/com/android/inputmethod/keyboard/layout/Hindi.java +++ b/tests/src/com/android/inputmethod/keyboard/layout/Hindi.java @@ -51,7 +51,7 @@ public final class Hindi extends LayoutBase { public ExpectedKey getBackToSymbolsKey() { return HINDI_BACK_TO_SYMBOLS_KEY; } @Override - public ExpectedKey getCurrencyKey() { return CURRENCY_HINDI; } + public ExpectedKey getCurrencyKey() { return CURRENCY_RUPEE; } @Override public ExpectedKey[] getOtherCurrencyKeys() { @@ -78,7 +78,7 @@ public final class Hindi extends LayoutBase { Constants.CODE_SHIFT); // U+20B9: "₹" INDIAN RUPEE SIGN - private static final ExpectedKey CURRENCY_HINDI = key("\u20B9", + private static final ExpectedKey CURRENCY_RUPEE = key("\u20B9", Symbols.CURRENCY_GENERIC_MORE_KEYS); } diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsEnglishIN.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsEnglishIN.java new file mode 100644 index 0000000000..c80b250248 --- /dev/null +++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsEnglishIN.java @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.inputmethod.keyboard.layout.tests; + +import android.test.suitebuilder.annotation.SmallTest; + +import com.android.inputmethod.keyboard.layout.LayoutBase; +import com.android.inputmethod.keyboard.layout.Qwerty; +import com.android.inputmethod.keyboard.layout.Symbols; +import com.android.inputmethod.keyboard.layout.SymbolsShifted; +import com.android.inputmethod.keyboard.layout.expected.ExpectedKey; + +import java.util.Locale; + +/* + * en_IN: English (India)/qwerty + */ +@SmallTest +public final class TestsEnglishIN extends TestsEnglishUS { + private static final Locale LOCALE = new Locale("en", "IN"); + private static final LayoutBase LAYOUT = new Qwerty(new EnglishINCustomizer(LOCALE)); + + @Override + LayoutBase getLayout() { return LAYOUT; } + + private static class EnglishINCustomizer extends EnglishCustomizer { + public EnglishINCustomizer(final Locale locale) { super(locale); } + + @Override + public ExpectedKey getCurrencyKey() { return CURRENCY_RUPEE; } + + @Override + public ExpectedKey[] getOtherCurrencyKeys() { + return SymbolsShifted.CURRENCIES_OTHER_GENERIC; + } + + // U+20B9: "₹" INDIAN RUPEE SIGN + private static final ExpectedKey CURRENCY_RUPEE = key("\u20B9", + Symbols.CURRENCY_GENERIC_MORE_KEYS); + } +} -- GitLab