From 15c99e9f1a7776b95325d36cf9e38b6d674e483b Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" <takaoka@google.com> Date: Mon, 30 Jan 2012 11:14:45 +0900 Subject: [PATCH] Support addtionalMoreKeys This change also removes * Unused more_keys_for_q, w, and p. Change-Id: Idb99e5f6d8c2ad2d28437f42b35b21c282cd181f --- .../values-ar/donottranslate-more-keys.xml | 20 +- .../values-ca/donottranslate-more-keys.xml | 8 +- .../values-cs/donottranslate-more-keys.xml | 14 +- .../values-da/donottranslate-more-keys.xml | 10 +- .../donottranslate-more-keys.xml | 23 -- .../values-de/donottranslate-more-keys.xml | 8 +- .../values-en/donottranslate-more-keys.xml | 8 +- .../values-es/donottranslate-more-keys.xml | 8 +- .../values-et/donottranslate-more-keys.xml | 14 +- .../values-fi/donottranslate-more-keys.xml | 4 +- .../donottranslate-more-keys.xml | 25 --- .../donottranslate-more-keys.xml | 26 --- .../values-fr/donottranslate-more-keys.xml | 15 +- .../values-hr/donottranslate-more-keys.xml | 2 +- .../values-hu/donottranslate-more-keys.xml | 10 +- .../values-it/donottranslate-more-keys.xml | 8 +- .../values-ky/donottranslate-more-keys.xml | 4 +- .../values-lt/donottranslate-more-keys.xml | 14 +- .../values-lv/donottranslate-more-keys.xml | 14 +- .../values-nb/donottranslate-more-keys.xml | 6 +- .../values-nl/donottranslate-more-keys.xml | 8 +- .../values-pl/donottranslate-more-keys.xml | 4 +- .../values-pt/donottranslate-more-keys.xml | 8 +- .../values-rm/donottranslate-more-keys.xml | 2 +- .../values-ro/donottranslate-more-keys.xml | 4 +- .../values-ru/donottranslate-more-keys.xml | 2 +- .../values-sk/donottranslate-more-keys.xml | 14 +- .../values-sv/donottranslate-more-keys.xml | 6 +- java/res/values-sw600dp/config.xml | 1 - java/res/values-sw768dp/config.xml | 1 - .../values-tr/donottranslate-more-keys.xml | 6 +- .../values-vi/donottranslate-more-keys.xml | 10 +- java/res/values/attrs.xml | 6 + java/res/values/config.xml | 1 - java/res/values/donottranslate-more-keys.xml | 33 +-- java/res/xml-sw600dp/row_qwerty1.xml | 9 +- java/res/xml-sw600dp/rows_azerty.xml | 7 +- java/res/xml-sw600dp/rows_qwertz.xml | 9 +- java/res/xml-sw600dp/rows_scandinavian.xml | 9 +- java/res/xml-sw600dp/rows_symbols.xml | 10 + java/res/xml-sw768dp/row_qwerty1.xml | 9 +- java/res/xml-sw768dp/rows_azerty.xml | 9 +- java/res/xml-sw768dp/rows_qwertz.xml | 9 +- java/res/xml-sw768dp/rows_scandinavian.xml | 9 +- java/res/xml-sw768dp/rows_symbols.xml | 10 + java/res/xml/row_qwerty1.xml | 13 +- java/res/xml/rows_arabic.xml | 24 +- java/res/xml/rows_azerty.xml | 17 +- java/res/xml/rows_bulgarian.xml | 21 +- java/res/xml/rows_qwertz.xml | 13 +- java/res/xml/rows_scandinavian.xml | 13 +- java/res/xml/rows_serbian.xml | 20 +- java/res/xml/rows_slavic.xml | 17 +- java/res/xml/rows_symbols.xml | 10 + .../com/android/inputmethod/keyboard/Key.java | 15 +- .../keyboard/internal/KeyStyles.java | 1 + .../keyboard/internal/MoreKeySpecParser.java | 111 +++++---- .../internal/MoreKeySpecParserTests.java | 210 ++++++++++++++++++ 58 files changed, 566 insertions(+), 356 deletions(-) delete mode 100644 java/res/values-de-rZZ/donottranslate-more-keys.xml delete mode 100644 java/res/values-fr-rCA/donottranslate-more-keys.xml delete mode 100644 java/res/values-fr-rCH/donottranslate-more-keys.xml diff --git a/java/res/values-ar/donottranslate-more-keys.xml b/java/res/values-ar/donottranslate-more-keys.xml index e49677adb7..6a14a3c55e 100644 --- a/java/res/values-ar/donottranslate-more-keys.xml +++ b/java/res/values-ar/donottranslate-more-keys.xml @@ -50,18 +50,18 @@ <string name="keylabel_for_symbols_8">"Ù¨"</string> <string name="keylabel_for_symbols_9">"Ù©"</string> <string name="keylabel_for_symbols_0">"Ù "</string> - <string name="more_keys_for_symbols_1">1</string> - <string name="more_keys_for_symbols_2">2</string> - <string name="more_keys_for_symbols_3">3</string> - <string name="more_keys_for_symbols_4">4</string> - <string name="more_keys_for_symbols_5">5</string> - <string name="more_keys_for_symbols_6">6</string> - <string name="more_keys_for_symbols_7">7</string> - <string name="more_keys_for_symbols_8">8</string> - <string name="more_keys_for_symbols_9">9</string> + <string name="additional_more_keys_for_symbols_1">1</string> + <string name="additional_more_keys_for_symbols_2">2</string> + <string name="additional_more_keys_for_symbols_3">3</string> + <string name="additional_more_keys_for_symbols_4">4</string> + <string name="additional_more_keys_for_symbols_5">5</string> + <string name="additional_more_keys_for_symbols_6">6</string> + <string name="additional_more_keys_for_symbols_7">7</string> + <string name="additional_more_keys_for_symbols_8">8</string> + <string name="additional_more_keys_for_symbols_9">9</string> <!-- \u066b: ARABIC DECIMAL SEPARATOR \u066c: ARABIC THOUSANDS SEPARATOR --> - <string name="more_keys_for_symbols_0">0,\u066b,\u066c</string> + <string name="additional_more_keys_for_symbols_0">0,\u066b,\u066c</string> <string name="keylabel_for_comma">\u060c</string> <string name="keylabel_for_f1">\u060c</string> <string name="keylabel_for_symbols_question">\u061f</string> diff --git a/java/res/values-ca/donottranslate-more-keys.xml b/java/res/values-ca/donottranslate-more-keys.xml index bd9fb7ccda..512a861106 100644 --- a/java/res/values-ca/donottranslate-more-keys.xml +++ b/java/res/values-ca/donottranslate-more-keys.xml @@ -19,10 +19,10 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">à ,á,ä,â,ã,Ã¥,Ä…,æ,Ä,ª</string> - <string name="more_keys_for_e">3,è,é,ë,ê,Ä™,Ä—,Ä“</string> - <string name="more_keys_for_i">8,Ã,ï,ì,î,į,Ä«</string> - <string name="more_keys_for_o">9,ò,ó,ö,ô,õ,ø,Å“,Å,º</string> - <string name="more_keys_for_u">7,ú,ü,ù,û,Å«</string> + <string name="more_keys_for_e">è,é,ë,ê,Ä™,Ä—,Ä“</string> + <string name="more_keys_for_i">Ã,ï,ì,î,į,Ä«</string> + <string name="more_keys_for_o">ò,ó,ö,ô,õ,ø,Å“,Å,º</string> + <string name="more_keys_for_u">ú,ü,ù,û,Å«</string> <string name="more_keys_for_n">ñ,Å„</string> <string name="more_keys_for_c">ç,ć,Ä</string> <string name="more_keys_for_l">Å€,Å‚</string> diff --git a/java/res/values-cs/donottranslate-more-keys.xml b/java/res/values-cs/donottranslate-more-keys.xml index 70b3f3ee7a..3701adb1b7 100644 --- a/java/res/values-cs/donottranslate-more-keys.xml +++ b/java/res/values-cs/donottranslate-more-keys.xml @@ -19,16 +19,16 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">á,à ,â,ä,æ,ã,Ã¥,Ä</string> - <string name="more_keys_for_e">3,é,Ä›,è,ê,ë,Ä™,Ä—,Ä“</string> - <string name="more_keys_for_i">8,Ã,î,ï,ì,į,Ä«</string> - <string name="more_keys_for_o">9,ó,ö,ô,ò,õ,Å“,ø,Å</string> - <string name="more_keys_for_u">7,ú,ů,û,ü,ù,Å«</string> + <string name="more_keys_for_e">é,Ä›,è,ê,ë,Ä™,Ä—,Ä“</string> + <string name="more_keys_for_i">Ã,î,ï,ì,į,Ä«</string> + <string name="more_keys_for_o">ó,ö,ô,ò,õ,Å“,ø,Å</string> + <string name="more_keys_for_u">ú,ů,û,ü,ù,Å«</string> <string name="more_keys_for_s">Å¡,ß,Å›</string> <string name="more_keys_for_n">ň,ñ,Å„</string> <string name="more_keys_for_c">Ä,ç,ć</string> <string name="more_keys_for_y">ý,ÿ</string> <string name="more_keys_for_d">Ä</string> - <string name="more_keys_for_r">4,Å™</string> - <string name="more_keys_for_t">5,Å¥</string> - <string name="more_keys_for_z">6,ž,ź,ż</string> + <string name="more_keys_for_r">Å™</string> + <string name="more_keys_for_t">Å¥</string> + <string name="more_keys_for_z">ž,ź,ż</string> </resources> diff --git a/java/res/values-da/donottranslate-more-keys.xml b/java/res/values-da/donottranslate-more-keys.xml index bed034d40b..b1c8d20720 100644 --- a/java/res/values-da/donottranslate-more-keys.xml +++ b/java/res/values-da/donottranslate-more-keys.xml @@ -19,13 +19,13 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">á,ä,à ,â,ã,Ä</string> - <string name="more_keys_for_e">3,é,ë</string> - <string name="more_keys_for_i">8,Ã,ï</string> - <string name="more_keys_for_o">9,ó,ô,ò,õ,Å“,Å</string> - <string name="more_keys_for_u">7,ú,ü,û,ù,Å«</string> + <string name="more_keys_for_e">é,ë</string> + <string name="more_keys_for_i">Ã,ï</string> + <string name="more_keys_for_o">ó,ô,ò,õ,Å“,Å</string> + <string name="more_keys_for_u">ú,ü,û,ù,Å«</string> <string name="more_keys_for_s">ß,Å›,Å¡</string> <string name="more_keys_for_n">ñ,Å„</string> - <string name="more_keys_for_y">6,ý,ÿ</string> + <string name="more_keys_for_y">ý,ÿ</string> <string name="more_keys_for_d">ð</string> <string name="more_keys_for_l">Å‚</string> <string name="keylabel_for_scandinavia_row1_11">Ã¥</string> diff --git a/java/res/values-de-rZZ/donottranslate-more-keys.xml b/java/res/values-de-rZZ/donottranslate-more-keys.xml deleted file mode 100644 index e7ec5e152b..0000000000 --- a/java/res/values-de-rZZ/donottranslate-more-keys.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** -** Copyright 2011, 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. -*/ ---> -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="more_keys_for_y">6</string> - <string name="more_keys_for_z"></string> -</resources> diff --git a/java/res/values-de/donottranslate-more-keys.xml b/java/res/values-de/donottranslate-more-keys.xml index 80aa32ae2a..48462c59d8 100644 --- a/java/res/values-de/donottranslate-more-keys.xml +++ b/java/res/values-de/donottranslate-more-keys.xml @@ -19,11 +19,9 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">ä,â,à ,á,æ,ã,Ã¥,Ä</string> - <string name="more_keys_for_e">3,Ä—</string> - <string name="more_keys_for_o">9,ö,ô,ò,ó,õ,Å“,ø,Å</string> - <string name="more_keys_for_u">7,ü,û,ù,ú,Å«</string> + <string name="more_keys_for_e">Ä—</string> + <string name="more_keys_for_o">ö,ô,ò,ó,õ,Å“,ø,Å</string> + <string name="more_keys_for_u">ü,û,ù,ú,Å«</string> <string name="more_keys_for_s">ß,Å›,Å¡</string> <string name="more_keys_for_n">ñ,Å„</string> - <string name="more_keys_for_y"></string> - <string name="more_keys_for_z">6</string> </resources> diff --git a/java/res/values-en/donottranslate-more-keys.xml b/java/res/values-en/donottranslate-more-keys.xml index bc26c6aa0c..9073d3b4f4 100644 --- a/java/res/values-en/donottranslate-more-keys.xml +++ b/java/res/values-en/donottranslate-more-keys.xml @@ -19,11 +19,11 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">à ,á,â,ä,æ,ã,Ã¥,Ä</string> - <string name="more_keys_for_e">3,è,é,ê,ë,Ä“</string> - <string name="more_keys_for_i">8,î,ï,Ã,Ä«,ì</string> - <string name="more_keys_for_o">9,ô,ö,ò,ó,Å“,ø,Å,õ</string> + <string name="more_keys_for_e">è,é,ê,ë,Ä“</string> + <string name="more_keys_for_i">î,ï,Ã,Ä«,ì</string> + <string name="more_keys_for_o">ô,ö,ò,ó,Å“,ø,Å,õ</string> <string name="more_keys_for_s">ß</string> - <string name="more_keys_for_u">7,û,ü,ù,ú,Å«</string> + <string name="more_keys_for_u">û,ü,ù,ú,Å«</string> <string name="more_keys_for_n">ñ</string> <string name="more_keys_for_c">ç</string> </resources> diff --git a/java/res/values-es/donottranslate-more-keys.xml b/java/res/values-es/donottranslate-more-keys.xml index d5a8ed19d7..4292736473 100644 --- a/java/res/values-es/donottranslate-more-keys.xml +++ b/java/res/values-es/donottranslate-more-keys.xml @@ -19,10 +19,10 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">á,à ,ä,â,ã,Ã¥,Ä…,æ,Ä,ª</string> - <string name="more_keys_for_e">3,é,è,ë,ê,Ä™,Ä—,Ä“</string> - <string name="more_keys_for_i">8,Ã,ï,ì,î,į,Ä«</string> - <string name="more_keys_for_o">9,ó,ò,ö,ô,õ,ø,Å“,Å,º</string> - <string name="more_keys_for_u">7,ú,ü,ù,û,Å«</string> + <string name="more_keys_for_e">é,è,ë,ê,Ä™,Ä—,Ä“</string> + <string name="more_keys_for_i">Ã,ï,ì,î,į,Ä«</string> + <string name="more_keys_for_o">ó,ò,ö,ô,õ,ø,Å“,Å,º</string> + <string name="more_keys_for_u">ú,ü,ù,û,Å«</string> <string name="more_keys_for_n">ñ,Å„</string> <string name="more_keys_for_c">ç,ć,Ä</string> <string name="more_keys_for_punctuation">"\\,,\?,!,¿,¡,:,-,\',\",),(,/,;,+,&,\@"</string> diff --git a/java/res/values-et/donottranslate-more-keys.xml b/java/res/values-et/donottranslate-more-keys.xml index 1011347cd5..bda22fcec6 100644 --- a/java/res/values-et/donottranslate-more-keys.xml +++ b/java/res/values-et/donottranslate-more-keys.xml @@ -19,17 +19,17 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">ä,Ä,à ,á,â,ã,Ã¥,æ,Ä…</string> - <string name="more_keys_for_e">3,Ä“,è,Ä—,é,ê,ë,Ä™,Ä›</string> - <string name="more_keys_for_i">8,Ä«,ì,į,Ã,î,ï,ı</string> - <string name="more_keys_for_o">9,ö,õ,ò,ó,ô,Å“,Å‘,ø</string> - <string name="more_keys_for_u">7,ü,Å«,ų,ù,ú,û,ů,ű</string> + <string name="more_keys_for_e">Ä“,è,Ä—,é,ê,ë,Ä™,Ä›</string> + <string name="more_keys_for_i">Ä«,ì,į,Ã,î,ï,ı</string> + <string name="more_keys_for_o">ö,õ,ò,ó,ô,Å“,Å‘,ø</string> + <string name="more_keys_for_u">ü,Å«,ų,ù,ú,û,ů,ű</string> <string name="more_keys_for_s">Å¡,ß,Å›,ÅŸ</string> <string name="more_keys_for_n">ņ,ñ,Å„,Å„</string> <string name="more_keys_for_c">Ä,ç,ć</string> - <string name="more_keys_for_y">6,ý,ÿ</string> + <string name="more_keys_for_y">ý,ÿ</string> <string name="more_keys_for_d">Ä</string> - <string name="more_keys_for_r">4,Å—,Å™,Å•</string> - <string name="more_keys_for_t">5,Å£,Å¥</string> + <string name="more_keys_for_r">Å—,Å™,Å•</string> + <string name="more_keys_for_t">Å£,Å¥</string> <string name="more_keys_for_z">ž,ż,ź</string> <string name="more_keys_for_k">Ä·</string> <string name="more_keys_for_l">ļ,Å‚,ĺ,ľ</string> diff --git a/java/res/values-fi/donottranslate-more-keys.xml b/java/res/values-fi/donottranslate-more-keys.xml index e1dfa2bcf6..b922fe21d9 100644 --- a/java/res/values-fi/donottranslate-more-keys.xml +++ b/java/res/values-fi/donottranslate-more-keys.xml @@ -19,8 +19,8 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">æ,à ,á,â,ã,Ä</string> - <string name="more_keys_for_o">9,ø,ô,ò,ó,õ,Å“,Å</string> - <string name="more_keys_for_u">7,ü</string> + <string name="more_keys_for_o">ø,ô,ò,ó,õ,Å“,Å</string> + <string name="more_keys_for_u">ü</string> <string name="more_keys_for_s">Å¡,ß,Å›</string> <string name="more_keys_for_z">ž,ź,ż</string> <string name="keylabel_for_scandinavia_row1_11">Ã¥</string> diff --git a/java/res/values-fr-rCA/donottranslate-more-keys.xml b/java/res/values-fr-rCA/donottranslate-more-keys.xml deleted file mode 100644 index 80e9d93460..0000000000 --- a/java/res/values-fr-rCA/donottranslate-more-keys.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** -** Copyright 2011, 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. -*/ ---> -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="more_keys_for_a">à ,â,æ,á,ä,ã,Ã¥,Ä,ª</string> - <string name="more_keys_for_q">1</string> - <string name="more_keys_for_w">2</string> - <string name="more_keys_for_z"></string> -</resources> diff --git a/java/res/values-fr-rCH/donottranslate-more-keys.xml b/java/res/values-fr-rCH/donottranslate-more-keys.xml deleted file mode 100644 index 561c5e52f1..0000000000 --- a/java/res/values-fr-rCH/donottranslate-more-keys.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** -** Copyright 2011, 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. -*/ ---> -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="more_keys_for_a">à ,â,æ,á,ä,ã,Ã¥,Ä,ª</string> - <string name="more_keys_for_y">ÿ</string> - <string name="more_keys_for_q">1</string> - <string name="more_keys_for_w">2</string> - <string name="more_keys_for_z">6</string> -</resources> diff --git a/java/res/values-fr/donottranslate-more-keys.xml b/java/res/values-fr/donottranslate-more-keys.xml index cd6d49bada..0f78e7cd99 100644 --- a/java/res/values-fr/donottranslate-more-keys.xml +++ b/java/res/values-fr/donottranslate-more-keys.xml @@ -18,14 +18,11 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="more_keys_for_a">à ,â,1,æ,á,ä,ã,Ã¥,Ä,ª</string> - <string name="more_keys_for_e">é,è,ê,ë,3,Ä™,Ä—,Ä“</string> - <string name="more_keys_for_i">î,8,ï,ì,Ã,į,Ä«</string> - <string name="more_keys_for_o">ô,Å“,9,ö,ò,ó,õ,ø,Å,º</string> - <string name="more_keys_for_u">ù,û,7,ü,ú,Å«</string> + <string name="more_keys_for_a">à ,â,%,æ,á,ä,ã,Ã¥,Ä,ª</string> + <string name="more_keys_for_e">é,è,ê,ë,%,Ä™,Ä—,Ä“</string> + <string name="more_keys_for_i">î,%,ï,ì,Ã,į,Ä«</string> + <string name="more_keys_for_o">ô,Å“,%,ö,ò,ó,õ,ø,Å,º</string> + <string name="more_keys_for_u">ù,û,%,ü,ú,Å«</string> <string name="more_keys_for_c">ç,ć,Ä</string> - <string name="more_keys_for_y">6,ÿ</string> - <string name="more_keys_for_q"></string> - <string name="more_keys_for_w"></string> - <string name="more_keys_for_z">2</string> + <string name="more_keys_for_y">%,ÿ</string> </resources> diff --git a/java/res/values-hr/donottranslate-more-keys.xml b/java/res/values-hr/donottranslate-more-keys.xml index c34e0e6466..112c444c30 100644 --- a/java/res/values-hr/donottranslate-more-keys.xml +++ b/java/res/values-hr/donottranslate-more-keys.xml @@ -21,7 +21,7 @@ <string name="more_keys_for_s">Å¡,Å›,ß</string> <string name="more_keys_for_n">ñ,Å„</string> <string name="more_keys_for_y"></string> - <string name="more_keys_for_z">6,ž,ź,ż</string> + <string name="more_keys_for_z">ž,ź,ż</string> <string name="more_keys_for_c">Ä,ć,ç</string> <string name="more_keys_for_d">Ä‘</string> </resources> diff --git a/java/res/values-hu/donottranslate-more-keys.xml b/java/res/values-hu/donottranslate-more-keys.xml index 42b330199e..cc23dff48b 100644 --- a/java/res/values-hu/donottranslate-more-keys.xml +++ b/java/res/values-hu/donottranslate-more-keys.xml @@ -19,10 +19,8 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">á,à ,â,ä,æ,ã,Ã¥,Ä</string> - <string name="more_keys_for_e">3,é,è,ê,ë,Ä™,Ä—,Ä“</string> - <string name="more_keys_for_i">8,Ã,î,ï,ì,į,Ä«</string> - <string name="more_keys_for_o">9,ó,ö,Å‘,ô,ò,õ,Å“,ø,Å</string> - <string name="more_keys_for_u">7,ú,ü,ű,û,ù,Å«</string> - <string name="more_keys_for_y"></string> - <string name="more_keys_for_z">6</string> + <string name="more_keys_for_e">é,è,ê,ë,Ä™,Ä—,Ä“</string> + <string name="more_keys_for_i">Ã,î,ï,ì,į,Ä«</string> + <string name="more_keys_for_o">ó,ö,Å‘,ô,ò,õ,Å“,ø,Å</string> + <string name="more_keys_for_u">ú,ü,ű,û,ù,Å«</string> </resources> diff --git a/java/res/values-it/donottranslate-more-keys.xml b/java/res/values-it/donottranslate-more-keys.xml index fa1537becf..69659a3893 100644 --- a/java/res/values-it/donottranslate-more-keys.xml +++ b/java/res/values-it/donottranslate-more-keys.xml @@ -19,8 +19,8 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">à ,á,â,ä,æ,ã,Ã¥,Ä,ª</string> - <string name="more_keys_for_e">3,è,é,ê,ë,Ä™,Ä—,Ä“</string> - <string name="more_keys_for_i">8,ì,Ã,î,ï,į,Ä«</string> - <string name="more_keys_for_o">9,ò,ó,ô,ö,õ,Å“,ø,Å,º</string> - <string name="more_keys_for_u">7,ù,ú,û,ü,Å«</string> + <string name="more_keys_for_e">è,é,ê,ë,Ä™,Ä—,Ä“</string> + <string name="more_keys_for_i">ì,Ã,î,ï,į,Ä«</string> + <string name="more_keys_for_o">ò,ó,ô,ö,õ,Å“,ø,Å,º</string> + <string name="more_keys_for_u">ù,ú,û,ü,Å«</string> </resources> diff --git a/java/res/values-ky/donottranslate-more-keys.xml b/java/res/values-ky/donottranslate-more-keys.xml index d56cde5771..44720aa7f5 100644 --- a/java/res/values-ky/donottranslate-more-keys.xml +++ b/java/res/values-ky/donottranslate-more-keys.xml @@ -18,7 +18,7 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="more_keys_for_slavic_u">3,Ò¯</string> - <string name="more_keys_for_slavic_en">6,Ò£</string> + <string name="more_keys_for_slavic_u">Ò¯</string> + <string name="more_keys_for_slavic_en">Ò£</string> <string name="more_keys_for_slavic_o">Ó©</string> </resources> diff --git a/java/res/values-lt/donottranslate-more-keys.xml b/java/res/values-lt/donottranslate-more-keys.xml index e36ce6a66e..fc6c84b2df 100644 --- a/java/res/values-lt/donottranslate-more-keys.xml +++ b/java/res/values-lt/donottranslate-more-keys.xml @@ -19,17 +19,17 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">Ä…,ä,Ä,à ,á,â,ã,Ã¥,æ</string> - <string name="more_keys_for_e">3,Ä—,Ä™,Ä“,è,é,ê,ë,Ä›</string> - <string name="more_keys_for_i">8,į,Ä«,ì,Ã,î,ï,ı</string> - <string name="more_keys_for_o">9,ö,õ,ò,ó,ô,Å“,Å‘,ø</string> - <string name="more_keys_for_u">7,Å«,ų,ü,Å«,ù,ú,û,ů,ű</string> + <string name="more_keys_for_e">Ä—,Ä™,Ä“,è,é,ê,ë,Ä›</string> + <string name="more_keys_for_i">į,Ä«,ì,Ã,î,ï,ı</string> + <string name="more_keys_for_o">ö,õ,ò,ó,ô,Å“,Å‘,ø</string> + <string name="more_keys_for_u">Å«,ų,ü,Å«,ù,ú,û,ů,ű</string> <string name="more_keys_for_s">Å¡,ß,Å›,ÅŸ</string> <string name="more_keys_for_n">ņ,ñ,Å„,Å„</string> <string name="more_keys_for_c">Ä,ç,ć</string> - <string name="more_keys_for_y">6,ý,ÿ</string> + <string name="more_keys_for_y">ý,ÿ</string> <string name="more_keys_for_d">Ä</string> - <string name="more_keys_for_r">4,Å—,Å™,Å•</string> - <string name="more_keys_for_t">5,Å£,Å¥</string> + <string name="more_keys_for_r">Å—,Å™,Å•</string> + <string name="more_keys_for_t">Å£,Å¥</string> <string name="more_keys_for_z">ž,ż,ź</string> <string name="more_keys_for_k">Ä·</string> <string name="more_keys_for_l">ļ,Å‚,ĺ,ľ</string> diff --git a/java/res/values-lv/donottranslate-more-keys.xml b/java/res/values-lv/donottranslate-more-keys.xml index 8514e738d2..3b937dfe3d 100644 --- a/java/res/values-lv/donottranslate-more-keys.xml +++ b/java/res/values-lv/donottranslate-more-keys.xml @@ -19,17 +19,17 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">Ä,à ,á,â,ã,ä,Ã¥,æ,Ä…</string> - <string name="more_keys_for_e">3,Ä“,Ä—,è,é,ê,ë,Ä™,Ä›</string> - <string name="more_keys_for_i">8,Ä«,į,ì,Ã,î,ï,ı</string> - <string name="more_keys_for_o">9,ò,ó,ô,õ,ö,Å“,Å‘,ø</string> - <string name="more_keys_for_u">7,Å«,ų,ù,ú,û,ü,ů,ű</string> + <string name="more_keys_for_e">Ä“,Ä—,è,é,ê,ë,Ä™,Ä›</string> + <string name="more_keys_for_i">Ä«,į,ì,Ã,î,ï,ı</string> + <string name="more_keys_for_o">ò,ó,ô,õ,ö,Å“,Å‘,ø</string> + <string name="more_keys_for_u">Å«,ų,ù,ú,û,ü,ů,ű</string> <string name="more_keys_for_s">Å¡,ß,Å›,ÅŸ</string> <string name="more_keys_for_n">ņ,ñ,Å„,Å„</string> <string name="more_keys_for_c">Ä,ç,ć</string> - <string name="more_keys_for_y">6,ý,ÿ</string> + <string name="more_keys_for_y">ý,ÿ</string> <string name="more_keys_for_d">Ä</string> - <string name="more_keys_for_r">4,Å—,Å™,Å•</string> - <string name="more_keys_for_t">5,Å£,Å¥</string> + <string name="more_keys_for_r">Å—,Å™,Å•</string> + <string name="more_keys_for_t">Å£,Å¥</string> <string name="more_keys_for_z">ž,ż,ź</string> <string name="more_keys_for_k">Ä·</string> <string name="more_keys_for_l">ļ,Å‚,ĺ,ľ</string> diff --git a/java/res/values-nb/donottranslate-more-keys.xml b/java/res/values-nb/donottranslate-more-keys.xml index e83d6b7688..cf6e4d1ce3 100644 --- a/java/res/values-nb/donottranslate-more-keys.xml +++ b/java/res/values-nb/donottranslate-more-keys.xml @@ -19,9 +19,9 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">à ,ä,á,â,ã,Ä</string> - <string name="more_keys_for_e">3,é,è,ê,ë,Ä™,Ä—,Ä“</string> - <string name="more_keys_for_o">9,ô,ò,ó,ö,õ,Å“,Å</string> - <string name="more_keys_for_u">7,ü,û,ù,ú,Å«</string> + <string name="more_keys_for_e">é,è,ê,ë,Ä™,Ä—,Ä“</string> + <string name="more_keys_for_o">ô,ò,ó,ö,õ,Å“,Å</string> + <string name="more_keys_for_u">ü,û,ù,ú,Å«</string> <string name="keylabel_for_scandinavia_row1_11">Ã¥</string> <string name="keylabel_for_scandinavia_row2_10">ø</string> <string name="keylabel_for_scandinavia_row2_11">æ</string> diff --git a/java/res/values-nl/donottranslate-more-keys.xml b/java/res/values-nl/donottranslate-more-keys.xml index 49cc419642..ac03872f33 100644 --- a/java/res/values-nl/donottranslate-more-keys.xml +++ b/java/res/values-nl/donottranslate-more-keys.xml @@ -19,9 +19,9 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">á,ä,â,à ,æ,ã,Ã¥,Ä</string> - <string name="more_keys_for_e">3,é,ë,ê,è,Ä™,Ä—,Ä“</string> - <string name="more_keys_for_i">8,Ã,ï,ì,î,į,Ä«</string> - <string name="more_keys_for_o">9,ó,ö,ô,ò,õ,Å“,ø,Å</string> - <string name="more_keys_for_u">7,ú,ü,û,ù,Å«</string> + <string name="more_keys_for_e">é,ë,ê,è,Ä™,Ä—,Ä“</string> + <string name="more_keys_for_i">Ã,ï,ì,î,į,Ä«</string> + <string name="more_keys_for_o">ó,ö,ô,ò,õ,Å“,ø,Å</string> + <string name="more_keys_for_u">ú,ü,û,ù,Å«</string> <string name="more_keys_for_n">ñ,Å„</string> </resources> diff --git a/java/res/values-pl/donottranslate-more-keys.xml b/java/res/values-pl/donottranslate-more-keys.xml index 18e1499917..84e74e8496 100644 --- a/java/res/values-pl/donottranslate-more-keys.xml +++ b/java/res/values-pl/donottranslate-more-keys.xml @@ -19,8 +19,8 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">Ä…,á,à ,â,ä,æ,ã,Ã¥,Ä</string> - <string name="more_keys_for_e">3,Ä™,è,é,ê,ë,Ä—,Ä“</string> - <string name="more_keys_for_o">9,ó,ö,ô,ò,õ,Å“,ø,Å</string> + <string name="more_keys_for_e">Ä™,è,é,ê,ë,Ä—,Ä“</string> + <string name="more_keys_for_o">ó,ö,ô,ò,õ,Å“,ø,Å</string> <string name="more_keys_for_s">Å›,ß,Å¡</string> <string name="more_keys_for_n">Å„,ñ</string> <string name="more_keys_for_c">ć,ç,Ä</string> diff --git a/java/res/values-pt/donottranslate-more-keys.xml b/java/res/values-pt/donottranslate-more-keys.xml index 31d9417ab6..868fe7824f 100644 --- a/java/res/values-pt/donottranslate-more-keys.xml +++ b/java/res/values-pt/donottranslate-more-keys.xml @@ -19,9 +19,9 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">á,ã,à ,â,ä,Ã¥,æ,ª</string> - <string name="more_keys_for_e">3,é,ê,è,Ä™,Ä—,Ä“,ë</string> - <string name="more_keys_for_i">8,Ã,î,ì,ï,į,Ä«</string> - <string name="more_keys_for_o">9,ó,õ,ô,ò,ö,Å“,ø,Å,º</string> - <string name="more_keys_for_u">7,ú,ü,ù,û,Å«</string> + <string name="more_keys_for_e">é,ê,è,Ä™,Ä—,Ä“,ë</string> + <string name="more_keys_for_i">Ã,î,ì,ï,į,Ä«</string> + <string name="more_keys_for_o">ó,õ,ô,ò,ö,Å“,ø,Å,º</string> + <string name="more_keys_for_u">ú,ü,ù,û,Å«</string> <string name="more_keys_for_c">ç,Ä,ć</string> </resources> diff --git a/java/res/values-rm/donottranslate-more-keys.xml b/java/res/values-rm/donottranslate-more-keys.xml index ea9a559447..c40c29b13e 100644 --- a/java/res/values-rm/donottranslate-more-keys.xml +++ b/java/res/values-rm/donottranslate-more-keys.xml @@ -18,5 +18,5 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="more_keys_for_o">9,ò,ó,ö,ô,õ,Å“,ø</string> + <string name="more_keys_for_o">ò,ó,ö,ô,õ,Å“,ø</string> </resources> diff --git a/java/res/values-ro/donottranslate-more-keys.xml b/java/res/values-ro/donottranslate-more-keys.xml index 51df560995..42fd913363 100644 --- a/java/res/values-ro/donottranslate-more-keys.xml +++ b/java/res/values-ro/donottranslate-more-keys.xml @@ -19,7 +19,7 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">â,ã,ă,à ,á,ä,æ,Ã¥,Ä</string> - <string name="more_keys_for_i">8,î,ï,ì,Ã,į,Ä«</string> + <string name="more_keys_for_i">î,ï,ì,Ã,į,Ä«</string> <string name="more_keys_for_s">È™,ß,Å›,Å¡</string> - <string name="more_keys_for_t">5,È›</string> + <string name="more_keys_for_t">È›</string> </resources> diff --git a/java/res/values-ru/donottranslate-more-keys.xml b/java/res/values-ru/donottranslate-more-keys.xml index 7ae9ffbdac..b7e74660db 100644 --- a/java/res/values-ru/donottranslate-more-keys.xml +++ b/java/res/values-ru/donottranslate-more-keys.xml @@ -18,5 +18,5 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="more_keys_for_slavic_ye">5,Ñ‘</string> + <string name="more_keys_for_slavic_ye">Ñ‘</string> </resources> diff --git a/java/res/values-sk/donottranslate-more-keys.xml b/java/res/values-sk/donottranslate-more-keys.xml index b6b35c1a37..574eedb1f3 100644 --- a/java/res/values-sk/donottranslate-more-keys.xml +++ b/java/res/values-sk/donottranslate-more-keys.xml @@ -19,17 +19,17 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">á,ä,Ä,à ,â,ã,Ã¥,æ,Ä…</string> - <string name="more_keys_for_e">3,é,Ä›,Ä“,Ä—,è,ê,ë,Ä™</string> - <string name="more_keys_for_i">8,Ã,Ä«,į,ì,î,ï,ı</string> - <string name="more_keys_for_o">9,ô,ó,ö,ò,õ,Å“,Å‘,ø</string> - <string name="more_keys_for_u">7,ú,ů,ü,Å«,ų,ù,û,ű</string> + <string name="more_keys_for_e">é,Ä›,Ä“,Ä—,è,ê,ë,Ä™</string> + <string name="more_keys_for_i">Ã,Ä«,į,ì,î,ï,ı</string> + <string name="more_keys_for_o">ô,ó,ö,ò,õ,Å“,Å‘,ø</string> + <string name="more_keys_for_u">ú,ů,ü,Å«,ų,ù,û,ű</string> <string name="more_keys_for_s">Å¡,ß,Å›,ÅŸ</string> <string name="more_keys_for_n">ň,ņ,ñ,Å„,Å„</string> <string name="more_keys_for_c">Ä,ç,ć</string> - <string name="more_keys_for_y">6,ý,ÿ</string> + <string name="more_keys_for_y">ý,ÿ</string> <string name="more_keys_for_d">Ä</string> - <string name="more_keys_for_r">4,Å•,Å™,Å—</string> - <string name="more_keys_for_t">5,Å¥,Å£</string> + <string name="more_keys_for_r">Å•,Å™,Å—</string> + <string name="more_keys_for_t">Å¥,Å£</string> <string name="more_keys_for_z">ž,ż,ź</string> <string name="more_keys_for_k">Ä·</string> <string name="more_keys_for_l">ľ,ĺ,ļ,Å‚</string> diff --git a/java/res/values-sv/donottranslate-more-keys.xml b/java/res/values-sv/donottranslate-more-keys.xml index d391be5ab5..6d9800e57c 100644 --- a/java/res/values-sv/donottranslate-more-keys.xml +++ b/java/res/values-sv/donottranslate-more-keys.xml @@ -18,9 +18,9 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="more_keys_for_e">3,é,è,ê,ë,Ä™</string> - <string name="more_keys_for_o">9,Å“,ô,ò,ó,õ,Å</string> - <string name="more_keys_for_u">7,ü,û,ù,ú,Å«</string> + <string name="more_keys_for_e">é,è,ê,ë,Ä™</string> + <string name="more_keys_for_o">Å“,ô,ò,ó,õ,Å</string> + <string name="more_keys_for_u">ü,û,ù,ú,Å«</string> <string name="more_keys_for_s">ß,Å›,Å¡</string> <string name="keylabel_for_scandinavia_row1_11">Ã¥</string> <string name="keylabel_for_scandinavia_row2_10">ö</string> diff --git a/java/res/values-sw600dp/config.xml b/java/res/values-sw600dp/config.xml index 35da3009f9..40c674190d 100644 --- a/java/res/values-sw600dp/config.xml +++ b/java/res/values-sw600dp/config.xml @@ -24,7 +24,6 @@ <bool name="config_enable_show_voice_key_option">false</bool> <bool name="config_enable_show_popup_on_keypress_option">false</bool> <bool name="config_enable_bigram_suggestions_option">false</bool> - <bool name="config_digit_more_keys_enabled">false</bool> <!-- Whether or not Popup on key press is enabled by default --> <bool name="config_default_popup_preview">false</bool> <bool name="config_default_sound_enabled">true</bool> diff --git a/java/res/values-sw768dp/config.xml b/java/res/values-sw768dp/config.xml index ddeadaf0f0..98d722aba9 100644 --- a/java/res/values-sw768dp/config.xml +++ b/java/res/values-sw768dp/config.xml @@ -24,7 +24,6 @@ <bool name="config_enable_show_voice_key_option">false</bool> <bool name="config_enable_show_popup_on_keypress_option">false</bool> <bool name="config_enable_bigram_suggestions_option">false</bool> - <bool name="config_digit_more_keys_enabled">false</bool> <!-- Whether or not Popup on key press is enabled by default --> <bool name="config_default_popup_preview">false</bool> <bool name="config_default_sound_enabled">true</bool> diff --git a/java/res/values-tr/donottranslate-more-keys.xml b/java/res/values-tr/donottranslate-more-keys.xml index 6906b35801..227ebf98c9 100644 --- a/java/res/values-tr/donottranslate-more-keys.xml +++ b/java/res/values-tr/donottranslate-more-keys.xml @@ -19,9 +19,9 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">â</string> - <string name="more_keys_for_i">8,ı,î,ï,ì,Ã,į,Ä«</string> - <string name="more_keys_for_o">9,ö,ô,Å“,ò,ó,õ,ø,Å</string> - <string name="more_keys_for_u">7,ü,û,ù,ú,Å«</string> + <string name="more_keys_for_i">ı,î,ï,ì,Ã,į,Ä«</string> + <string name="more_keys_for_o">ö,ô,Å“,ò,ó,õ,ø,Å</string> + <string name="more_keys_for_u">ü,û,ù,ú,Å«</string> <string name="more_keys_for_s">ÅŸ,ß,Å›,Å¡</string> <string name="more_keys_for_g">ÄŸ</string> <string name="more_keys_for_c">ç,ć,Ä</string> diff --git a/java/res/values-vi/donottranslate-more-keys.xml b/java/res/values-vi/donottranslate-more-keys.xml index 97a7d79aec..9e2f6b8fde 100644 --- a/java/res/values-vi/donottranslate-more-keys.xml +++ b/java/res/values-vi/donottranslate-more-keys.xml @@ -19,10 +19,10 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a">à ,á,ả,ã,ạ,ă,ằ,ắ,ẳ,ẵ,ặ,â,ầ,ấ,ẩ,ẫ,áº</string> - <string name="more_keys_for_e">3,è,é,ẻ,ẽ,ẹ,ê,á»,ế,ể,á»…,ệ</string> - <string name="more_keys_for_i">8,ì,Ã,ỉ,Ä©,ị</string> - <string name="more_keys_for_o">9,ò,ó,á»,õ,á»,ô,ồ,ố,ổ,á»—,á»™,Æ¡,á»,á»›,ở,ỡ,ợ</string> - <string name="more_keys_for_u">7,ù,ú,ủ,Å©,ụ,Æ°,ừ,ứ,á»,ữ,á»±</string> - <string name="more_keys_for_y">6,ỳ,ý,á»·,ỹ,ỵ</string> + <string name="more_keys_for_e">è,é,ẻ,ẽ,ẹ,ê,á»,ế,ể,á»…,ệ</string> + <string name="more_keys_for_i">ì,Ã,ỉ,Ä©,ị</string> + <string name="more_keys_for_o">ò,ó,á»,õ,á»,ô,ồ,ố,ổ,á»—,á»™,Æ¡,á»,á»›,ở,ỡ,ợ</string> + <string name="more_keys_for_u">ù,ú,ủ,Å©,ụ,Æ°,ừ,ứ,á»,ữ,á»±</string> + <string name="more_keys_for_y">ỳ,ý,á»·,ỹ,ỵ</string> <string name="more_keys_for_d">Ä‘</string> </resources> diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index bd7c550c17..8d00f7aa5e 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -227,6 +227,12 @@ <attr name="altCode" format="integer" /> <!-- The keys to display in the more keys keyboard. --> <attr name="moreKeys" format="string" /> + <!-- The keys to display in the more keys keyboard in addition to moreKeys. + The additional more keys are inserted at the '%' markers in the moreKeys if any. + They are inserted at the head of moreKeys if none. + If there are remaining entries of additionalMoreKeys even after all '%' markers have + been replaced, those remaining entries are appended at the end of moreKeys. --> + <attr name="additionalMoreKeys" format="string" /> <!-- Maximum column of more keys keyboard --> <attr name="maxMoreKeysColumn" format="integer" /> <attr name="backgroundType" format="enum"> diff --git a/java/res/values/config.xml b/java/res/values/config.xml index 32041df745..c3f8edf8ae 100644 --- a/java/res/values/config.xml +++ b/java/res/values/config.xml @@ -27,7 +27,6 @@ <bool name="config_enable_bigram_suggestions_option">true</bool> <!-- TODO: Disable the following configuration for production. --> <bool name="config_enable_usability_study_mode_option">true</bool> - <bool name="config_digit_more_keys_enabled">true</bool> <!-- Whether or not Popup on key press is enabled by default --> <bool name="config_default_popup_preview">true</bool> <!-- Default value for bigram suggestion: while showing suggestions for a word should we weigh diff --git a/java/res/values/donottranslate-more-keys.xml b/java/res/values/donottranslate-more-keys.xml index ce1538131a..07f4bf38b2 100644 --- a/java/res/values/donottranslate-more-keys.xml +++ b/java/res/values/donottranslate-more-keys.xml @@ -19,24 +19,21 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="more_keys_for_a"></string> - <string name="more_keys_for_e">3</string> - <string name="more_keys_for_i">8</string> - <string name="more_keys_for_o">9</string> - <string name="more_keys_for_u">7</string> + <string name="more_keys_for_e"></string> + <string name="more_keys_for_i"></string> + <string name="more_keys_for_o"></string> + <string name="more_keys_for_u"></string> <string name="more_keys_for_s"></string> <string name="more_keys_for_n"></string> <string name="more_keys_for_c"></string> - <string name="more_keys_for_y">6</string> - <string name="more_keys_for_q">1</string> - <string name="more_keys_for_w">2</string> + <string name="more_keys_for_y"></string> <string name="more_keys_for_d"></string> - <string name="more_keys_for_r">4</string> - <string name="more_keys_for_t">5</string> + <string name="more_keys_for_r"></string> + <string name="more_keys_for_t"></string> <string name="more_keys_for_z"></string> <string name="more_keys_for_k"></string> <string name="more_keys_for_l"></string> <string name="more_keys_for_g"></string> - <string name="more_keys_for_p">0</string> <string name="more_keys_for_v"></string> <string name="keylabel_for_scandinavia_row1_11"></string> <string name="keylabel_for_scandinavia_row2_10"></string> @@ -46,9 +43,9 @@ <string name="keylabel_for_slavic_shcha">щ</string> <string name="keylabel_for_slavic_yery">Ñ‹</string> <string name="keylabel_for_slavic_i">и</string> - <string name="more_keys_for_slavic_u">3</string> - <string name="more_keys_for_slavic_ye">5</string> - <string name="more_keys_for_slavic_en">6</string> + <string name="more_keys_for_slavic_u"></string> + <string name="more_keys_for_slavic_ye"></string> + <string name="more_keys_for_slavic_en"></string> <string name="more_keys_for_slavic_ha">ÑŠ</string> <string name="more_keys_for_slavic_yery"></string> <string name="more_keys_for_slavic_o"></string> @@ -74,6 +71,16 @@ <string name="keylabel_for_symbols_8">8</string> <string name="keylabel_for_symbols_9">9</string> <string name="keylabel_for_symbols_0">0</string> + <string name="additional_more_keys_for_symbols_1"></string> + <string name="additional_more_keys_for_symbols_2"></string> + <string name="additional_more_keys_for_symbols_3"></string> + <string name="additional_more_keys_for_symbols_4"></string> + <string name="additional_more_keys_for_symbols_5"></string> + <string name="additional_more_keys_for_symbols_6"></string> + <string name="additional_more_keys_for_symbols_7"></string> + <string name="additional_more_keys_for_symbols_8"></string> + <string name="additional_more_keys_for_symbols_9"></string> + <string name="additional_more_keys_for_symbols_0"></string> <string name="more_keys_for_symbols_1">¹,½,â…“,¼,â…›</string> <string name="more_keys_for_symbols_2">²,â…”</string> <string name="more_keys_for_symbols_3">³,¾,â…œ</string> diff --git a/java/res/xml-sw600dp/row_qwerty1.xml b/java/res/xml-sw600dp/row_qwerty1.xml index 07d8e22967..3d3a1a8ff2 100644 --- a/java/res/xml-sw600dp/row_qwerty1.xml +++ b/java/res/xml-sw600dp/row_qwerty1.xml @@ -25,11 +25,9 @@ latin:keyWidth="9.0%p" > <Key - latin:keyLabel="q" - latin:moreKeys="@string/more_keys_for_q" /> + latin:keyLabel="q" /> <Key - latin:keyLabel="w" - latin:moreKeys="@string/more_keys_for_w" /> + latin:keyLabel="w" /> <Key latin:keyLabel="e" latin:moreKeys="@string/more_keys_for_e" /> @@ -52,8 +50,7 @@ latin:keyLabel="o" latin:moreKeys="@string/more_keys_for_o" /> <Key - latin:keyLabel="p" - latin:moreKeys="@string/more_keys_for_p" /> + latin:keyLabel="p" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-10.0%p" diff --git a/java/res/xml-sw600dp/rows_azerty.xml b/java/res/xml-sw600dp/rows_azerty.xml index c9a9dab065..c29d291ea2 100644 --- a/java/res/xml-sw600dp/rows_azerty.xml +++ b/java/res/xml-sw600dp/rows_azerty.xml @@ -54,8 +54,7 @@ latin:keyLabel="o" latin:moreKeys="@string/more_keys_for_o" /> <Key - latin:keyLabel="p" - latin:moreKeys="@string/more_keys_for_p" /> + latin:keyLabel="p" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-10.0%p" @@ -66,7 +65,6 @@ > <Key latin:keyLabel="q" - latin:moreKeys="@string/more_keys_for_q" latin:keyXPos="5.0%p" /> <Key latin:keyLabel="s" @@ -103,8 +101,7 @@ latin:keyStyle="shiftKeyStyle" latin:keyWidth="10.0%p" /> <Key - latin:keyLabel="w" - latin:moreKeys="@string/more_keys_for_w" /> + latin:keyLabel="w" /> <Key latin:keyLabel="x" /> <Key diff --git a/java/res/xml-sw600dp/rows_qwertz.xml b/java/res/xml-sw600dp/rows_qwertz.xml index fe93a705e2..6912f1c6d4 100644 --- a/java/res/xml-sw600dp/rows_qwertz.xml +++ b/java/res/xml-sw600dp/rows_qwertz.xml @@ -27,11 +27,9 @@ latin:keyWidth="9.0%p" > <Key - latin:keyLabel="q" - latin:moreKeys="@string/more_keys_for_q" /> + latin:keyLabel="q" /> <Key - latin:keyLabel="w" - latin:moreKeys="@string/more_keys_for_w" /> + latin:keyLabel="w" /> <Key latin:keyLabel="e" latin:moreKeys="@string/more_keys_for_e" /> @@ -54,8 +52,7 @@ latin:keyLabel="o" latin:moreKeys="@string/more_keys_for_o" /> <Key - latin:keyLabel="p" - latin:moreKeys="@string/more_keys_for_p" /> + latin:keyLabel="p" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-10.0%p" diff --git a/java/res/xml-sw600dp/rows_scandinavian.xml b/java/res/xml-sw600dp/rows_scandinavian.xml index f334f8b5e6..5ecb7d2428 100644 --- a/java/res/xml-sw600dp/rows_scandinavian.xml +++ b/java/res/xml-sw600dp/rows_scandinavian.xml @@ -27,11 +27,9 @@ latin:keyWidth="7.9%p" > <Key - latin:keyLabel="q" - latin:moreKeys="@string/more_keys_for_q" /> + latin:keyLabel="q" /> <Key - latin:keyLabel="w" - latin:moreKeys="@string/more_keys_for_w" /> + latin:keyLabel="w" /> <Key latin:keyLabel="e" latin:moreKeys="@string/more_keys_for_e" /> @@ -54,8 +52,7 @@ latin:keyLabel="o" latin:moreKeys="@string/more_keys_for_o" /> <Key - latin:keyLabel="p" - latin:moreKeys="@string/more_keys_for_p" /> + latin:keyLabel="p" /> <Key latin:keyLabel="@string/keylabel_for_scandinavia_row1_11" /> <Key diff --git a/java/res/xml-sw600dp/rows_symbols.xml b/java/res/xml-sw600dp/rows_symbols.xml index e345a23f7c..701c35470f 100644 --- a/java/res/xml-sw600dp/rows_symbols.xml +++ b/java/res/xml-sw600dp/rows_symbols.xml @@ -30,33 +30,43 @@ > <Key latin:keyLabel="@string/keylabel_for_symbols_1" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_1" latin:moreKeys="@string/more_keys_for_symbols_1" /> <Key latin:keyLabel="@string/keylabel_for_symbols_2" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_2" latin:moreKeys="@string/more_keys_for_symbols_2" /> <Key latin:keyLabel="@string/keylabel_for_symbols_3" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_3" latin:moreKeys="@string/more_keys_for_symbols_3" /> <Key latin:keyLabel="@string/keylabel_for_symbols_4" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_4" latin:moreKeys="@string/more_keys_for_symbols_4" /> <Key latin:keyLabel="@string/keylabel_for_symbols_5" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_5" latin:moreKeys="@string/more_keys_for_symbols_5" /> <Key latin:keyLabel="@string/keylabel_for_symbols_6" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_6" latin:moreKeys="@string/more_keys_for_symbols_6" /> <Key latin:keyLabel="@string/keylabel_for_symbols_7" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_7" latin:moreKeys="@string/more_keys_for_symbols_7" /> <Key latin:keyLabel="@string/keylabel_for_symbols_8" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_8" latin:moreKeys="@string/more_keys_for_symbols_8" /> <Key latin:keyLabel="@string/keylabel_for_symbols_9" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_9" latin:moreKeys="@string/more_keys_for_symbols_9" /> <Key latin:keyLabel="@string/keylabel_for_symbols_0" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_0" latin:moreKeys="@string/more_keys_for_symbols_0" /> <Key latin:keyStyle="deleteKeyStyle" diff --git a/java/res/xml-sw768dp/row_qwerty1.xml b/java/res/xml-sw768dp/row_qwerty1.xml index de91013319..f6600ad032 100644 --- a/java/res/xml-sw768dp/row_qwerty1.xml +++ b/java/res/xml-sw768dp/row_qwerty1.xml @@ -29,11 +29,9 @@ latin:keyLabelFlags="alignLeft" latin:keyWidth="7.969%p" /> <Key - latin:keyLabel="q" - latin:moreKeys="@string/more_keys_for_q" /> + latin:keyLabel="q" /> <Key - latin:keyLabel="w" - latin:moreKeys="@string/more_keys_for_w" /> + latin:keyLabel="w" /> <Key latin:keyLabel="e" latin:moreKeys="@string/more_keys_for_e" /> @@ -56,8 +54,7 @@ latin:keyLabel="o" latin:moreKeys="@string/more_keys_for_o" /> <Key - latin:keyLabel="p" - latin:moreKeys="@string/more_keys_for_p" /> + latin:keyLabel="p" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-9.219%p" diff --git a/java/res/xml-sw768dp/rows_azerty.xml b/java/res/xml-sw768dp/rows_azerty.xml index c97ac40894..066778c87b 100644 --- a/java/res/xml-sw768dp/rows_azerty.xml +++ b/java/res/xml-sw768dp/rows_azerty.xml @@ -58,8 +58,7 @@ latin:keyLabel="o" latin:moreKeys="@string/more_keys_for_o" /> <Key - latin:keyLabel="p" - latin:moreKeys="@string/more_keys_for_p" /> + latin:keyLabel="p" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-9.219%p" @@ -73,8 +72,7 @@ latin:keyLabelFlags="alignLeft" latin:keyWidth="10.167%p" /> <Key - latin:keyLabel="q" - latin:moreKeys="@string/more_keys_for_q" /> + latin:keyLabel="q" /> <Key latin:keyLabel="s" latin:moreKeys="@string/more_keys_for_s" /> @@ -110,8 +108,7 @@ latin:keyStyle="shiftKeyStyle" latin:keyWidth="13.829%p" /> <Key - latin:keyLabel="w" - latin:moreKeys="@string/more_keys_for_w" /> + latin:keyLabel="w" /> <Key latin:keyLabel="x" /> <Key diff --git a/java/res/xml-sw768dp/rows_qwertz.xml b/java/res/xml-sw768dp/rows_qwertz.xml index 05a2a9c035..7056a94ea7 100644 --- a/java/res/xml-sw768dp/rows_qwertz.xml +++ b/java/res/xml-sw768dp/rows_qwertz.xml @@ -31,11 +31,9 @@ latin:keyLabelFlags="alignLeft" latin:keyWidth="7.969%p" /> <Key - latin:keyLabel="q" - latin:moreKeys="@string/more_keys_for_q" /> + latin:keyLabel="q" /> <Key - latin:keyLabel="w" - latin:moreKeys="@string/more_keys_for_w" /> + latin:keyLabel="w" /> <Key latin:keyLabel="e" latin:moreKeys="@string/more_keys_for_e" /> @@ -58,8 +56,7 @@ latin:keyLabel="o" latin:moreKeys="@string/more_keys_for_o" /> <Key - latin:keyLabel="p" - latin:moreKeys="@string/more_keys_for_p" /> + latin:keyLabel="p" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-9.219%p" diff --git a/java/res/xml-sw768dp/rows_scandinavian.xml b/java/res/xml-sw768dp/rows_scandinavian.xml index 373617bfc4..9e5ad148fb 100644 --- a/java/res/xml-sw768dp/rows_scandinavian.xml +++ b/java/res/xml-sw768dp/rows_scandinavian.xml @@ -31,11 +31,9 @@ latin:keyLabelFlags="alignLeft" latin:keyWidth="7.500%p" /> <Key - latin:keyLabel="q" - latin:moreKeys="@string/more_keys_for_q" /> + latin:keyLabel="q" /> <Key - latin:keyLabel="w" - latin:moreKeys="@string/more_keys_for_w" /> + latin:keyLabel="w" /> <Key latin:keyLabel="e" latin:moreKeys="@string/more_keys_for_e" /> @@ -58,8 +56,7 @@ latin:keyLabel="o" latin:moreKeys="@string/more_keys_for_o" /> <Key - latin:keyLabel="p" - latin:moreKeys="@string/more_keys_for_p" /> + latin:keyLabel="p" /> <Key latin:keyLabel="@string/keylabel_for_scandinavia_row1_11" /> <Key diff --git a/java/res/xml-sw768dp/rows_symbols.xml b/java/res/xml-sw768dp/rows_symbols.xml index 820e5f7d22..7458b366a1 100644 --- a/java/res/xml-sw768dp/rows_symbols.xml +++ b/java/res/xml-sw768dp/rows_symbols.xml @@ -34,33 +34,43 @@ latin:keyWidth="7.969%p" /> <Key latin:keyLabel="@string/keylabel_for_symbols_1" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_1" latin:moreKeys="@string/more_keys_for_symbols_1" /> <Key latin:keyLabel="@string/keylabel_for_symbols_2" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_2" latin:moreKeys="@string/more_keys_for_symbols_2" /> <Key latin:keyLabel="@string/keylabel_for_symbols_3" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_3" latin:moreKeys="@string/more_keys_for_symbols_3" /> <Key latin:keyLabel="@string/keylabel_for_symbols_4" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_4" latin:moreKeys="@string/more_keys_for_symbols_4" /> <Key latin:keyLabel="@string/keylabel_for_symbols_5" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_5" latin:moreKeys="@string/more_keys_for_symbols_5" /> <Key latin:keyLabel="@string/keylabel_for_symbols_6" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_6" latin:moreKeys="@string/more_keys_for_symbols_6" /> <Key latin:keyLabel="@string/keylabel_for_symbols_7" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_7" latin:moreKeys="@string/more_keys_for_symbols_7" /> <Key latin:keyLabel="@string/keylabel_for_symbols_8" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_8" latin:moreKeys="@string/more_keys_for_symbols_8" /> <Key latin:keyLabel="@string/keylabel_for_symbols_9" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_9" latin:moreKeys="@string/more_keys_for_symbols_9" /> <Key latin:keyLabel="@string/keylabel_for_symbols_0" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_0" latin:moreKeys="@string/more_keys_for_symbols_0" /> <Key latin:keyStyle="deleteKeyStyle" diff --git a/java/res/xml/row_qwerty1.xml b/java/res/xml/row_qwerty1.xml index e8e8d1b463..cb1f4d297f 100644 --- a/java/res/xml/row_qwerty1.xml +++ b/java/res/xml/row_qwerty1.xml @@ -27,43 +27,50 @@ <Key latin:keyLabel="q" latin:keyHintLabel="1" - latin:moreKeys="@string/more_keys_for_q" /> + latin:additionalMoreKeys="1" /> <Key latin:keyLabel="w" latin:keyHintLabel="2" - latin:moreKeys="@string/more_keys_for_w" /> + latin:additionalMoreKeys="2" /> <Key latin:keyLabel="e" latin:keyHintLabel="3" + latin:additionalMoreKeys="3" latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" latin:keyHintLabel="4" + latin:additionalMoreKeys="4" latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" latin:keyHintLabel="5" + latin:additionalMoreKeys="5" latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="y" latin:keyHintLabel="6" + latin:additionalMoreKeys="6" latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="u" latin:keyHintLabel="7" + latin:additionalMoreKeys="7" latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" latin:keyHintLabel="8" + latin:additionalMoreKeys="8" latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" latin:keyHintLabel="9" + latin:additionalMoreKeys="9" latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" latin:keyHintLabel="0" - latin:moreKeys="@string/more_keys_for_p" + latin:additionalMoreKeys="0" latin:keyWidth="fillRight" /> </Row> </merge> diff --git a/java/res/xml/rows_arabic.xml b/java/res/xml/rows_arabic.xml index dcee10ef55..2dcd831c2f 100644 --- a/java/res/xml/rows_arabic.xml +++ b/java/res/xml/rows_arabic.xml @@ -30,18 +30,19 @@ <Key latin:keyLabel="ض" latin:keyHintLabel="1" - latin:moreKeys="1,Ù¡" /> + latin:additionalMoreKeys="1,Ù¡" /> <!-- \u0635: ARABIC LETTER SAD --> <Key latin:keyLabel="ص" latin:keyHintLabel="2" - latin:moreKeys="2,Ù¢" /> + latin:additionalMoreKeys="2,Ù¢" /> <!-- \u0642: ARABIC LETTER QAF \u06a8: ARABIC LETTER QAF WITH THREE DOTS ABOVE --> <Key latin:keyLabel="Ù‚" latin:keyHintLabel="3" - latin:moreKeys="3,Ù£,\u06a8" /> + latin:additionalMoreKeys="3,Ù£" + latin:moreKeys="\u06a8" /> <!-- \u0641: ARABIC LETTER FEH \u06a4: ARABIC LETTER VEH \u06a2: ARABIC LETTER FEH WITH DOT MOVED BELOW @@ -49,40 +50,43 @@ <Key latin:keyLabel="Ù" latin:keyHintLabel="4" - latin:moreKeys="4,Ù¤,\u06a4,\u06a2,\u06a5" /> + latin:additionalMoreKeys="4,Ù¤" + latin:moreKeys="\u06a4,\u06a2,\u06a5" /> <!-- \u063a: ARABIC LETTER GHAIN --> <Key latin:keyLabel="غ" latin:keyHintLabel="5" - latin:moreKeys="5,Ù¥" /> + latin:additionalMoreKeys="5,Ù¥" /> <!-- \u0639: ARABIC LETTER AIN --> <Key latin:keyLabel="ع" latin:keyHintLabel="6" - latin:moreKeys="6,Ù¦" /> + latin:additionalMoreKeys="6,Ù¦" /> <!-- \u0647: ARABIC LETTER HEH \ufeeb: ARABIC LETTER HEH INITIAL FORM \u0647\u0640: ARABIC LETTER HEH + Zero width joiner --> <Key latin:keyLabel="Ù‡" latin:keyHintLabel="7" - latin:moreKeys="7,Ù§,\ufeeb|\u0647\u200D" /> + latin:additionalMoreKeys="7,Ù§" + latin:moreKeys="\ufeeb|\u0647\u200D" /> <!-- \u062e: ARABIC LETTER KHAH --> <Key latin:keyLabel="Ø®" latin:keyHintLabel="8" - latin:moreKeys="8,Ù¨" /> + latin:additionalMoreKeys="8,Ù¨" /> <!-- \u062d: ARABIC LETTER HAH --> <Key latin:keyLabel="Ø" latin:keyHintLabel="9" - latin:moreKeys="9,Ù©" /> + latin:additionalMoreKeys="9,Ù©" /> <!-- \u062c: ARABIC LETTER JEEM \u0686: ARABIC LETTER TCHEH --> <Key latin:keyLabel="ج" latin:keyHintLabel="0" - latin:moreKeys="0,Ù ,\u0686" + latin:additionalMoreKeys="0,Ù " + latin:moreKeys="\u0686" latin:keyWidth="fillRight" /> </Row> <Row diff --git a/java/res/xml/rows_azerty.xml b/java/res/xml/rows_azerty.xml index b7a0936b45..142ebc0a69 100644 --- a/java/res/xml/rows_azerty.xml +++ b/java/res/xml/rows_azerty.xml @@ -29,51 +29,59 @@ <Key latin:keyLabel="a" latin:keyHintLabel="1" + latin:additionalMoreKeys="1" latin:moreKeys="@string/more_keys_for_a" /> <Key latin:keyLabel="z" latin:keyHintLabel="2" + latin:additionalMoreKeys="2" latin:moreKeys="@string/more_keys_for_z" /> <Key latin:keyLabel="e" latin:keyHintLabel="3" + latin:additionalMoreKeys="3" latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" latin:keyHintLabel="4" + latin:additionalMoreKeys="4" latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" latin:keyHintLabel="5" + latin:additionalMoreKeys="5" latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="y" latin:keyHintLabel="6" + latin:additionalMoreKeys="6" latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="u" latin:keyHintLabel="7" + latin:additionalMoreKeys="7" latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" latin:keyHintLabel="8" + latin:additionalMoreKeys="8" latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" latin:keyHintLabel="9" + latin:additionalMoreKeys="9" latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" latin:keyHintLabel="0" - latin:moreKeys="@string/more_keys_for_p" + latin:additionalMoreKeys="0" latin:keyWidth="fillRight" /> </Row> <Row latin:keyWidth="10%p" > <Key - latin:keyLabel="q" - latin:moreKeys="@string/more_keys_for_q" /> + latin:keyLabel="q" /> <Key latin:keyLabel="s" latin:moreKeys="@string/more_keys_for_s" /> @@ -107,8 +115,7 @@ latin:keyWidth="15%p" latin:visualInsetsRight="1%p" /> <Key - latin:keyLabel="w" - latin:moreKeys="@string/more_keys_for_w" /> + latin:keyLabel="w" /> <Key latin:keyLabel="x" /> <Key diff --git a/java/res/xml/rows_bulgarian.xml b/java/res/xml/rows_bulgarian.xml index 9b5a5e6cfa..2eac93a7e7 100644 --- a/java/res/xml/rows_bulgarian.xml +++ b/java/res/xml/rows_bulgarian.xml @@ -29,43 +29,44 @@ <Key latin:keyLabel="ч" latin:keyHintLabel="1" - latin:moreKeys="1" /> + latin:additionalMoreKeys="1" /> <Key latin:keyLabel="ш" latin:keyHintLabel="2" - latin:moreKeys="2" /> + latin:additionalMoreKeys="2" /> <Key latin:keyLabel="е" latin:keyHintLabel="3" - latin:moreKeys="3" /> + latin:additionalMoreKeys="3" /> <Key latin:keyLabel="Ñ€" latin:keyHintLabel="4" - latin:moreKeys="4" /> + latin:additionalMoreKeys="4" /> <Key latin:keyLabel="Ñ‚" latin:keyHintLabel="5" - latin:moreKeys="5" /> + latin:additionalMoreKeys="5" /> <Key latin:keyLabel="ÑŠ" latin:keyHintLabel="6" - latin:moreKeys="6" /> + latin:additionalMoreKeys="6" /> <Key latin:keyLabel="у" latin:keyHintLabel="7" - latin:moreKeys="7" /> + latin:additionalMoreKeys="7" /> <Key latin:keyLabel="и" latin:keyHintLabel="8" - latin:moreKeys="8,Ñ" /> + latin:additionalMoreKeys="8" + latin:moreKeys="Ñ" /> <Key latin:keyLabel="о" latin:keyHintLabel="9" - latin:moreKeys="9" /> + latin:additionalMoreKeys="9" /> <Key latin:keyLabel="п" latin:keyHintLabel="0" - latin:moreKeys="0" /> + latin:additionalMoreKeys="0" /> <Key latin:keyLabel="Ñ" latin:keyWidth="fillRight" /> diff --git a/java/res/xml/rows_qwertz.xml b/java/res/xml/rows_qwertz.xml index e578f9aaa7..11fd9332cd 100644 --- a/java/res/xml/rows_qwertz.xml +++ b/java/res/xml/rows_qwertz.xml @@ -29,43 +29,50 @@ <Key latin:keyLabel="q" latin:keyHintLabel="1" - latin:moreKeys="@string/more_keys_for_q" /> + latin:additionalMoreKeys="1" /> <Key latin:keyLabel="w" latin:keyHintLabel="2" - latin:moreKeys="@string/more_keys_for_w" /> + latin:additionalMoreKeys="2" /> <Key latin:keyLabel="e" latin:keyHintLabel="3" + latin:additionalMoreKeys="3" latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" latin:keyHintLabel="4" + latin:additionalMoreKeys="4" latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" latin:keyHintLabel="5" + latin:additionalMoreKeys="5" latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="z" latin:keyHintLabel="6" + latin:additionalMoreKeys="6" latin:moreKeys="@string/more_keys_for_z" /> <Key latin:keyLabel="u" latin:keyHintLabel="7" + latin:additionalMoreKeys="7" latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" latin:keyHintLabel="8" + latin:additionalMoreKeys="8" latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" latin:keyHintLabel="9" + latin:additionalMoreKeys="9" latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" latin:keyHintLabel="0" - latin:moreKeys="@string/more_keys_for_p" + latin:additionalMoreKeys="0" latin:keyWidth="fillRight" /> </Row> <include diff --git a/java/res/xml/rows_scandinavian.xml b/java/res/xml/rows_scandinavian.xml index 2bd246b45d..f5ba96c27e 100644 --- a/java/res/xml/rows_scandinavian.xml +++ b/java/res/xml/rows_scandinavian.xml @@ -29,43 +29,50 @@ <Key latin:keyLabel="q" latin:keyHintLabel="1" - latin:moreKeys="@string/more_keys_for_q" /> + latin:additionalMoreKeys="1" /> <Key latin:keyLabel="w" latin:keyHintLabel="2" - latin:moreKeys="@string/more_keys_for_w" /> + latin:additionalMoreKeys="2" /> <Key latin:keyLabel="e" latin:keyHintLabel="3" + latin:additionalMoreKeys="3" latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" latin:keyHintLabel="4" + latin:additionalMoreKeys="4" latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" latin:keyHintLabel="5" + latin:additionalMoreKeys="5" latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="y" latin:keyHintLabel="6" + latin:additionalMoreKeys="6" latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="u" latin:keyHintLabel="7" + latin:additionalMoreKeys="7" latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" latin:keyHintLabel="8" + latin:additionalMoreKeys="8" latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" latin:keyHintLabel="9" + latin:additionalMoreKeys="9" latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" latin:keyHintLabel="0" - latin:moreKeys="@string/more_keys_for_p" /> + latin:additionalMoreKeys="0" /> <Key latin:keyLabel="@string/keylabel_for_scandinavia_row1_11" latin:keyWidth="fillRight" /> diff --git a/java/res/xml/rows_serbian.xml b/java/res/xml/rows_serbian.xml index beb04d5245..d2203ce9cb 100644 --- a/java/res/xml/rows_serbian.xml +++ b/java/res/xml/rows_serbian.xml @@ -29,43 +29,43 @@ <Key latin:keyLabel="Ñ™" latin:keyHintLabel="1" - latin:moreKeys="1" /> + latin:additionalMoreKeys="1" /> <Key latin:keyLabel="Ñš" latin:keyHintLabel="2" - latin:moreKeys="2" /> + latin:additionalMoreKeys="2" /> <Key latin:keyLabel="е" latin:keyHintLabel="3" - latin:moreKeys="3" /> + latin:additionalMoreKeys="3" /> <Key latin:keyLabel="Ñ€" latin:keyHintLabel="4" - latin:moreKeys="4" /> + latin:additionalMoreKeys="4" /> <Key latin:keyLabel="Ñ‚" latin:keyHintLabel="5" - latin:moreKeys="5" /> + latin:additionalMoreKeys="5" /> <Key latin:keyLabel="з" latin:keyHintLabel="6" - latin:moreKeys="6" /> + latin:additionalMoreKeys="6" /> <Key latin:keyLabel="у" latin:keyHintLabel="7" - latin:moreKeys="7" /> + latin:additionalMoreKeys="7" /> <Key latin:keyLabel="и" latin:keyHintLabel="8" - latin:moreKeys="8" /> + latin:additionalMoreKeys="8" /> <Key latin:keyLabel="о" latin:keyHintLabel="9" - latin:moreKeys="9" /> + latin:additionalMoreKeys="9" /> <Key latin:keyLabel="п" latin:keyHintLabel="0" - latin:moreKeys="0" /> + latin:additionalMoreKeys="0" /> <Key latin:keyLabel="ш" latin:keyWidth="fillRight" /> diff --git a/java/res/xml/rows_slavic.xml b/java/res/xml/rows_slavic.xml index 52f5af4c91..71e442c7cd 100644 --- a/java/res/xml/rows_slavic.xml +++ b/java/res/xml/rows_slavic.xml @@ -29,43 +29,46 @@ <Key latin:keyLabel="й" latin:keyHintLabel="1" - latin:moreKeys="1" /> + latin:additionalMoreKeys="1" /> <Key latin:keyLabel="ц" latin:keyHintLabel="2" - latin:moreKeys="2" /> + latin:additionalMoreKeys="2" /> <Key latin:keyLabel="у" latin:keyHintLabel="3" + latin:additionalMoreKeys="3" latin:moreKeys="@string/more_keys_for_slavic_u" /> <Key latin:keyLabel="к" latin:keyHintLabel="4" - latin:moreKeys="4" /> + latin:additionalMoreKeys="4" /> <Key latin:keyLabel="е" latin:keyHintLabel="5" + latin:additionalMoreKeys="5" latin:moreKeys="@string/more_keys_for_slavic_ye" /> <Key latin:keyLabel="н" latin:keyHintLabel="6" + latin:additionalMoreKeys="6" latin:moreKeys="@string/more_keys_for_slavic_en" /> <Key latin:keyLabel="г" latin:keyHintLabel="7" - latin:moreKeys="7" /> + latin:additionalMoreKeys="7" /> <Key latin:keyLabel="ш" latin:keyHintLabel="8" - latin:moreKeys="8" /> + latin:additionalMoreKeys="8" /> <Key latin:keyLabel="@string/keylabel_for_slavic_shcha" latin:keyHintLabel="9" - latin:moreKeys="9" /> + latin:additionalMoreKeys="9" /> <Key latin:keyLabel="з" latin:keyHintLabel="0" - latin:moreKeys="0" /> + latin:additionalMoreKeys="0" /> <Key latin:keyLabel="Ñ…" latin:moreKeys="@string/more_keys_for_slavic_ha" diff --git a/java/res/xml/rows_symbols.xml b/java/res/xml/rows_symbols.xml index fe9efbbc60..d0d0edbc85 100644 --- a/java/res/xml/rows_symbols.xml +++ b/java/res/xml/rows_symbols.xml @@ -30,33 +30,43 @@ > <Key latin:keyLabel="@string/keylabel_for_symbols_1" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_1" latin:moreKeys="@string/more_keys_for_symbols_1" /> <Key latin:keyLabel="@string/keylabel_for_symbols_2" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_2" latin:moreKeys="@string/more_keys_for_symbols_2" /> <Key latin:keyLabel="@string/keylabel_for_symbols_3" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_3" latin:moreKeys="@string/more_keys_for_symbols_3" /> <Key latin:keyLabel="@string/keylabel_for_symbols_4" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_4" latin:moreKeys="@string/more_keys_for_symbols_4" /> <Key latin:keyLabel="@string/keylabel_for_symbols_5" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_5" latin:moreKeys="@string/more_keys_for_symbols_5" /> <Key latin:keyLabel="@string/keylabel_for_symbols_6" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_6" latin:moreKeys="@string/more_keys_for_symbols_6" /> <Key latin:keyLabel="@string/keylabel_for_symbols_7" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_7" latin:moreKeys="@string/more_keys_for_symbols_7" /> <Key latin:keyLabel="@string/keylabel_for_symbols_8" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_8" latin:moreKeys="@string/more_keys_for_symbols_8" /> <Key latin:keyLabel="@string/keylabel_for_symbols_9" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_9" latin:moreKeys="@string/more_keys_for_symbols_9" /> <Key latin:keyLabel="@string/keylabel_for_symbols_0" + latin:additionalMoreKeys="@string/additional_more_keys_for_symbols_0" latin:moreKeys="@string/more_keys_for_symbols_0" latin:keyWidth="fillRight" /> </Row> diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index bb90653c16..a2d379643e 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -285,22 +285,17 @@ public class Key { mLabelFlags = style.getFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelFlags, 0); final boolean preserveCase = (mLabelFlags & LABEL_FLAGS_PRESERVE_CASE) != 0; - final String[] moreKeys = style.getStringArray(keyAttr, R.styleable.Keyboard_Key_moreKeys); + final String[] additionalMoreKeys = style.getStringArray( + keyAttr, R.styleable.Keyboard_Key_additionalMoreKeys); + final String[] moreKeys = MoreKeySpecParser.insertAddtionalMoreKeys(style.getStringArray( + keyAttr, R.styleable.Keyboard_Key_moreKeys), additionalMoreKeys); if (moreKeys != null) { for (int i = 0; i < moreKeys.length; i++) { moreKeys[i] = adjustCaseOfStringForKeyboardId( moreKeys[i], preserveCase, params.mId); } } - // TODO: Add new key label flag to control this. - // In Arabic symbol layouts, we'd like to keep digits in more keys regardless of - // config_digit_more_keys_enabled. - if (params.mId.isAlphabetKeyboard() - && !res.getBoolean(R.bool.config_digit_more_keys_enabled)) { - mMoreKeys = MoreKeySpecParser.filterOut(res, moreKeys, MoreKeySpecParser.DIGIT_FILTER); - } else { - mMoreKeys = moreKeys; - } + mMoreKeys = moreKeys; mMaxMoreKeysColumn = style.getInt(keyAttr, R.styleable.Keyboard_Key_maxMoreKeysColumn, params.mMaxMiniKeyboardColumn); diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java index b7215ec1ba..1450192b25 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java @@ -173,6 +173,7 @@ public class KeyStyles { readString(keyAttr, R.styleable.Keyboard_Key_keyOutputText); readString(keyAttr, R.styleable.Keyboard_Key_keyHintLabel); readStringArray(keyAttr, R.styleable.Keyboard_Key_moreKeys); + readStringArray(keyAttr, R.styleable.Keyboard_Key_additionalMoreKeys); readFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelFlags); readInt(keyAttr, R.styleable.Keyboard_Key_keyIcon); readInt(keyAttr, R.styleable.Keyboard_Key_keyIconDisabled); diff --git a/java/src/com/android/inputmethod/keyboard/internal/MoreKeySpecParser.java b/java/src/com/android/inputmethod/keyboard/internal/MoreKeySpecParser.java index 16777733e1..abebfec012 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/MoreKeySpecParser.java +++ b/java/src/com/android/inputmethod/keyboard/internal/MoreKeySpecParser.java @@ -20,10 +20,12 @@ import android.content.res.Resources; import android.text.TextUtils; import com.android.inputmethod.keyboard.Keyboard; +import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.Utils; import java.util.ArrayList; +import java.util.Arrays; /** * String parser of moreKeys attribute of Key. @@ -38,9 +40,11 @@ import java.util.ArrayList; * See {@link KeyboardIconsSet} about icon_number. */ public class MoreKeySpecParser { + private static final boolean DEBUG = LatinImeLogger.sDBG; private static final char LABEL_END = '|'; private static final String PREFIX_ICON = Utils.PREFIX_AT + "icon" + Utils.SUFFIX_SLASH; private static final String PREFIX_CODE = Utils.PREFIX_AT + "integer" + Utils.SUFFIX_SLASH; + private static final String ADDITIONAL_MORE_KEY_MARKER = "%"; private MoreKeySpecParser() { // Intentional empty constructor for utility class. @@ -173,51 +177,80 @@ public class MoreKeySpecParser { return KeyboardIconsSet.ICON_UNDEFINED; } - @SuppressWarnings("serial") - public static class MoreKeySpecParserError extends RuntimeException { - public MoreKeySpecParserError(String message) { - super(message); - } - } - - public interface CodeFilter { - public boolean shouldFilterOut(int code); - } - - public static final CodeFilter DIGIT_FILTER = new CodeFilter() { - @Override - public boolean shouldFilterOut(int code) { - return Character.isDigit(code); - } - }; - - public static String[] filterOut(Resources res, String[] moreKeys, CodeFilter filter) { - if (moreKeys == null || moreKeys.length < 1) { - return null; - } - if (moreKeys.length == 1 && filter.shouldFilterOut(getCode(res, moreKeys[0]))) { - return null; - } - ArrayList<String> filtered = null; - for (int i = 0; i < moreKeys.length; i++) { - final String moreKeySpec = moreKeys[i]; - if (filter.shouldFilterOut(getCode(res, moreKeySpec))) { - if (filtered == null) { - filtered = new ArrayList<String>(); - for (int j = 0; j < i; j++) { - filtered.add(moreKeys[j]); + public static String[] insertAddtionalMoreKeys(String[] moreKeys, String[] additionalMoreKeys) { + final int moreKeysCount = (moreKeys != null) ? moreKeys.length : 0; + final int additionalCount = (additionalMoreKeys != null) ? additionalMoreKeys.length : 0; + ArrayList<String> out = null; + int additionalIndex = 0; + for (int moreKeyIndex = 0; moreKeyIndex < moreKeysCount; moreKeyIndex++) { + final String moreKeySpec = moreKeys[moreKeyIndex]; + if (moreKeySpec.equals(ADDITIONAL_MORE_KEY_MARKER)) { + if (additionalIndex < additionalCount) { + // Replace '%' marker with additional more key specification. + final String additionalMoreKey = additionalMoreKeys[additionalIndex]; + if (out != null) { + out.add(additionalMoreKey); + } else { + moreKeys[moreKeyIndex] = additionalMoreKey; + } + additionalIndex++; + } else { + // Filter out excessive '%' marker. + if (out == null) { + out = new ArrayList<String>(moreKeyIndex); + for (int i = 0; i < moreKeyIndex; i++) { + out.add(moreKeys[i]); + } } } - } else if (filtered != null) { - filtered.add(moreKeySpec); + } else { + if (out != null) { + out.add(moreKeySpec); + } + } + } + if (additionalCount > 0 && additionalIndex == 0) { + // No '%' marker is found in more keys. + // Insert all additional more keys to the head of more keys. + if (DEBUG && out != null) { + throw new RuntimeException("Internal logic error:" + + " moreKeys=" + Arrays.toString(moreKeys) + + " additionalMoreKeys=" + Arrays.toString(additionalMoreKeys)); + } + out = new ArrayList<String>(additionalCount + moreKeysCount); + for (int i = additionalIndex; i < additionalCount; i++) { + out.add(additionalMoreKeys[i]); + } + for (int i = 0; i < moreKeysCount; i++) { + out.add(moreKeys[i]); + } + } else if (additionalIndex < additionalCount) { + // The number of '%' markers are less than additional more keys. + // Append remained additional more keys to the tail of more keys. + if (DEBUG && out != null) { + throw new RuntimeException("Internal logic error:" + + " moreKeys=" + Arrays.toString(moreKeys) + + " additionalMoreKeys=" + Arrays.toString(additionalMoreKeys)); + } + out = new ArrayList<String>(moreKeysCount); + for (int i = 0; i < moreKeysCount; i++) { + out.add(moreKeys[i]); + } + for (int i = additionalIndex; i < additionalCount; i++) { + out.add(additionalMoreKeys[additionalIndex]); } } - if (filtered == null) { + if (out != null) { + return out.size() > 0 ? out.toArray(new String[out.size()]) : null; + } else { return moreKeys; } - if (filtered.size() == 0) { - return null; + } + + @SuppressWarnings("serial") + public static class MoreKeySpecParserError extends RuntimeException { + public MoreKeySpecParserError(String message) { + super(message); } - return filtered.toArray(new String[filtered.size()]); } } diff --git a/tests/src/com/android/inputmethod/keyboard/internal/MoreKeySpecParserTests.java b/tests/src/com/android/inputmethod/keyboard/internal/MoreKeySpecParserTests.java index 74aaf9af8b..bc38cc16cc 100644 --- a/tests/src/com/android/inputmethod/keyboard/internal/MoreKeySpecParserTests.java +++ b/tests/src/com/android/inputmethod/keyboard/internal/MoreKeySpecParserTests.java @@ -22,6 +22,8 @@ import android.test.AndroidTestCase; import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.latin.R; +import java.util.Arrays; + public class MoreKeySpecParserTests extends AndroidTestCase { private Resources mRes; @@ -217,4 +219,212 @@ public class MoreKeySpecParserTests extends AndroidTestCase { ICON_SETTINGS + "|" + CODE_SETTINGS + "|c", null, null, ICON_SETTINGS_KEY, mCodeSettings); } + + private void assertMoreKeys(String message, String[] moreKeys, String[] additionalMoreKeys, + String[] expected) { + final String[] actual = MoreKeySpecParser.insertAddtionalMoreKeys( + moreKeys, additionalMoreKeys); + if (expected == null && actual == null) { + return; + } + if (expected == null || actual == null) { + assertEquals(message, Arrays.toString(expected), Arrays.toString(actual)); + } else { + if (expected.length != actual.length) { + assertEquals(message, Arrays.toString(expected), Arrays.toString(actual)); + } + for (int i = 0; i < expected.length; i++) { + if (!actual[i].equals(expected[i])) { + assertEquals(message, Arrays.toString(expected), Arrays.toString(actual)); + } + } + } + } + + public void testInsertAdditionalMoreKeys() { + // Escaped marker. + assertMoreKeys("escaped marker", + new String[] { "\\%", "%-)" }, + new String[] { "1", "2" }, + new String[] { "1", "2", "\\%", "%-)" }); + + // 0 more key. + assertMoreKeys("null & null", null, null, null); + assertMoreKeys("null & 1 additional", + null, + new String[] { "1" }, + new String[] { "1" }); + assertMoreKeys("null & 2 additionals", + null, + new String[] { "1", "2" }, + new String[] { "1", "2" }); + + // 0 additional more key. + assertMoreKeys("1 more key & null", + new String[] { "A" }, + null, + new String[] { "A" }); + assertMoreKeys("2 more keys & null", + new String[] { "A", "B" }, + null, + new String[] { "A", "B" }); + + // No marker. + assertMoreKeys("1 more key & 1 addtional & no marker", + new String[] { "A" }, + new String[] { "1" }, + new String[] { "1", "A" }); + assertMoreKeys("1 more key & 2 addtionals & no marker", + new String[] { "A" }, + new String[] { "1", "2" }, + new String[] { "1", "2", "A" }); + assertMoreKeys("2 more keys & 1 addtional & no marker", + new String[] { "A", "B" }, + new String[] { "1" }, + new String[] { "1", "A", "B" }); + assertMoreKeys("2 more keys & 2 addtionals & no marker", + new String[] { "A", "B" }, + new String[] { "1", "2" }, + new String[] { "1", "2", "A", "B" }); + + // 1 marker. + assertMoreKeys("1 more key & 1 additional & marker at head", + new String[] { "%", "A" }, + new String[] { "1" }, + new String[] { "1", "A" }); + assertMoreKeys("1 more key & 1 additional & marker at tail", + new String[] { "A", "%" }, + new String[] { "1" }, + new String[] { "A", "1" }); + assertMoreKeys("2 more keys & 1 additional & marker at middle", + new String[] { "A", "%", "B" }, + new String[] { "1" }, + new String[] { "A", "1", "B" }); + + // 1 marker & excess additional more keys. + assertMoreKeys("1 more key & 2 additionals & marker at head", + new String[] { "%", "A", "B" }, + new String[] { "1", "2" }, + new String[] { "1", "A", "B", "2" }); + assertMoreKeys("1 more key & 2 additionals & marker at tail", + new String[] { "A", "B", "%" }, + new String[] { "1", "2" }, + new String[] { "A", "B", "1", "2" }); + assertMoreKeys("2 more keys & 2 additionals & marker at middle", + new String[] { "A", "%", "B" }, + new String[] { "1", "2" }, + new String[] { "A", "1", "B", "2" }); + + // 2 markers. + assertMoreKeys("0 more key & 2 addtional & 2 markers", + new String[] { "%", "%" }, + new String[] { "1", "2" }, + new String[] { "1", "2" }); + assertMoreKeys("1 more key & 2 addtional & 2 markers at head", + new String[] { "%", "%", "A" }, + new String[] { "1", "2" }, + new String[] { "1", "2", "A" }); + assertMoreKeys("1 more key & 2 addtional & 2 markers at tail", + new String[] { "A", "%", "%" }, + new String[] { "1", "2" }, + new String[] { "A", "1", "2" }); + assertMoreKeys("2 more keys & 2 addtional & 2 markers at middle", + new String[] { "A", "%", "%", "B" }, + new String[] { "1", "2" }, + new String[] { "A", "1", "2", "B" }); + assertMoreKeys("2 more keys & 2 addtional & 2 markers at head & middle", + new String[] { "%", "A", "%", "B" }, + new String[] { "1", "2" }, + new String[] { "1", "A", "2", "B" }); + assertMoreKeys("2 more keys & 2 addtional & 2 markers at head & tail", + new String[] { "%", "A", "B", "%" }, + new String[] { "1", "2" }, + new String[] { "1", "A", "B", "2" }); + assertMoreKeys("2 more keys & 2 addtional & 2 markers at middle & tail", + new String[] { "A", "%", "B", "%" }, + new String[] { "1", "2" }, + new String[] { "A", "1", "B", "2" }); + + // 2 markers & excess additional keys. + assertMoreKeys("0 more key & 2 addtional & 2 markers", + new String[] { "%", "%" }, + new String[] { "1", "2", "3" }, + new String[] { "1", "2", "3" }); + assertMoreKeys("1 more key & 2 addtional & 2 markers at head", + new String[] { "%", "%", "A" }, + new String[] { "1", "2", "3" }, + new String[] { "1", "2", "A", "3" }); + assertMoreKeys("1 more key & 2 addtional & 2 markers at tail", + new String[] { "A", "%", "%" }, + new String[] { "1", "2", "3" }, + new String[] { "A", "1", "2", "3" }); + assertMoreKeys("2 more keys & 2 addtional & 2 markers at middle", + new String[] { "A", "%", "%", "B" }, + new String[] { "1", "2", "3" }, + new String[] { "A", "1", "2", "B", "3" }); + assertMoreKeys("2 more keys & 2 addtional & 2 markers at head & middle", + new String[] { "%", "A", "%", "B" }, + new String[] { "1", "2", "3" }, + new String[] { "1", "A", "2", "B", "3" }); + assertMoreKeys("2 more keys & 2 addtional & 2 markers at head & tail", + new String[] { "%", "A", "B", "%" }, + new String[] { "1", "2", "3" }, + new String[] { "1", "A", "B", "2", "3" }); + assertMoreKeys("2 more keys & 2 addtional & 2 markers at middle & tail", + new String[] { "A", "%", "B", "%" }, + new String[] { "1", "2", "3" }, + new String[] { "A", "1", "B", "2", "3" }); + + // 0 addtional more key and excess markers. + assertMoreKeys("0 more key & null & excess marker", + new String[] { "%" }, + null, + null); + assertMoreKeys("1 more key & null & excess marker at head", + new String[] { "%", "A" }, + null, + new String[] { "A" }); + assertMoreKeys("1 more key & null & excess marker at tail", + new String[] { "A", "%" }, + null, + new String[] { "A" }); + assertMoreKeys("2 more keys & null & excess marker at middle", + new String[] { "A", "%", "B" }, + null, + new String[] { "A", "B" }); + assertMoreKeys("2 more keys & null & excess markers", + new String[] { "%", "A", "%", "B", "%" }, + null, + new String[] { "A", "B" }); + + // Excess markers. + assertMoreKeys("0 more key & 1 addtional & excess marker", + new String[] { "%", "%" }, + new String[] { "1" }, + new String[] { "1" }); + assertMoreKeys("1 more key & 1 addtional & excess marker at head", + new String[] { "%", "%", "A" }, + new String[] { "1" }, + new String[] { "1", "A" }); + assertMoreKeys("1 more key & 1 addtional & excess marker at tail", + new String[] { "A", "%", "%" }, + new String[] { "1" }, + new String[] { "A", "1" }); + assertMoreKeys("2 more keys & 1 addtional & excess marker at middle", + new String[] { "A", "%", "%", "B" }, + new String[] { "1" }, + new String[] { "A", "1", "B" }); + assertMoreKeys("2 more keys & 1 addtional & excess markers", + new String[] { "%", "A", "%", "B", "%" }, + new String[] { "1" }, + new String[] { "1", "A", "B" }); + assertMoreKeys("2 more keys & 2 addtionals & excess markers", + new String[] { "%", "A", "%", "B", "%" }, + new String[] { "1", "2" }, + new String[] { "1", "A", "2", "B" }); + assertMoreKeys("2 more keys & 3 addtionals & excess markers", + new String[] { "%", "A", "%", "%", "B", "%" }, + new String[] { "1", "2", "3" }, + new String[] { "1", "A", "2", "3", "B" }); + } } -- GitLab