diff options
Diffstat (limited to 'java')
122 files changed, 1783 insertions, 1291 deletions
diff --git a/java/res/layout/more_suggestions.xml b/java/res/layout/more_suggestions.xml new file mode 100644 index 000000000..d387a1573 --- /dev/null +++ b/java/res/layout/more_suggestions.xml @@ -0,0 +1,37 @@ +<?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. +*/ +--> +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="horizontal" + style="?attr/miniKeyboardPanelStyle" + > + <com.android.inputmethod.latin.MoreSuggestionsView + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" + android:id="@+id/more_suggestions_view" + android:layout_alignParentBottom="true" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + latin:keyLabelSize="@dimen/candidate_text_size" + latin:keyHintLetterRatio="@fraction/more_suggestions_info_ratio" + latin:keyHintLetterColor="@android:color/white" + /> +</LinearLayout> diff --git a/java/res/values-ar/donottranslate-altchars.xml b/java/res/values-ar/donottranslate-more-keys.xml index 6f2a3ff7d..90cc3c85f 100644 --- a/java/res/values-ar/donottranslate-altchars.xml +++ b/java/res/values-ar/donottranslate-more-keys.xml @@ -30,7 +30,7 @@ \u0650: ARABIC KASRA \u064b: ARABIC FATHATAN \u064d: ARABIC KASRATAN --> - <string name="alternates_for_punctuation">"\u060c,\u061b,\u061f,!,:,-,/,\',\",\u0651,\u0652,\u064c,\u0640,\u064f,\u064e,\u0650,\u064b,\u064d"</string> + <string name="more_keys_for_punctuation">"\u060c,\u061b,\u061f,!,:,-,/,\',\",\u0651,\u0652,\u064c,\u0640,\u064f,\u064e,\u0650,\u064b,\u064d"</string> <integer name="mini_keyboard_column_for_punctuation">9</integer> <string name="keyhintlabel_for_punctuation">\u064b</string> <string name="keylabel_for_symbols_1">"١"</string> @@ -43,35 +43,35 @@ <string name="keylabel_for_symbols_8">"٨"</string> <string name="keylabel_for_symbols_9">"٩"</string> <string name="keylabel_for_symbols_0">"٠"</string> - <string name="alternates_for_symbols_1">1,¹,½,⅓,¼,⅛</string> - <string name="alternates_for_symbols_2">2,²,⅔</string> - <string name="alternates_for_symbols_3">3,³,¾,⅜</string> - <string name="alternates_for_symbols_4">4,⁴</string> - <string name="alternates_for_symbols_5">5,⅝</string> - <string name="alternates_for_symbols_6">6</string> - <string name="alternates_for_symbols_7">7,⅞</string> - <string name="alternates_for_symbols_8">8</string> - <string name="alternates_for_symbols_9">9</string> - <string name="alternates_for_symbols_0">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="more_keys_for_symbols_0">0,ⁿ,∅</string> <string name="keylabel_for_comma">\u060c</string> <string name="keylabel_for_f1">\u060c</string> <string name="keylabel_for_symbols_question">\u061f</string> <string name="keylabel_for_symbols_semicolon">\u061b</string> <!-- \u066a: ARABIC PERCENT SIGN --> <string name="keylabel_for_symbols_percent">\u066a</string> - <string name="alternates_for_comma">,</string> - <string name="alternates_for_f1">,</string> + <string name="more_keys_for_comma">,</string> + <string name="more_keys_for_f1">,</string> <!-- @icon/3 is iconSettingsKey --> - <string name="alternates_for_f1_settings">\\,,\@icon/3|\@integer/key_settings</string> + <string name="more_keys_for_f1_settings">\\,,\@icon/3|\@integer/key_settings</string> <!-- @icon/7 is iconTabKey --> - <string name="alternates_for_f1_navigate">\\,,\@icon/7|\@integer/key_tab</string> - <string name="alternates_for_symbols_question">\?,¿</string> - <string name="alternates_for_symbols_semicolon">;</string> - <string name="alternates_for_symbols_percent">%,‰</string> + <string name="more_keys_for_f1_navigate">\\,,\@icon/7|\@integer/key_tab</string> + <string name="more_keys_for_symbols_question">\?,¿</string> + <string name="more_keys_for_symbols_semicolon">;</string> + <string name="more_keys_for_symbols_percent">%,‰</string> <string name="keylabel_for_apostrophe">"،"</string> <string name="keylabel_for_dash">"."</string> <string name="keyhintlabel_for_apostrophe">"؟"</string> <string name="keyhintlabel_for_dash">"\u064b"</string> - <string name="alternates_for_apostrophe">"\u061f,\u061b,!,:,-,/,\',\""</string> - <string name="alternates_for_dash">"\u0651,\u0652,\u064c,\u0640,\u064f,\u064e,\u0650,\u064b,\u064d"</string> + <string name="more_keys_for_apostrophe">"\u061f,\u061b,!,:,-,/,\',\""</string> + <string name="more_keys_for_dash">"\u0651,\u0652,\u064c,\u0640,\u064f,\u064e,\u0650,\u064b,\u064d"</string> </resources> diff --git a/java/res/values-ca/donottranslate-altchars.xml b/java/res/values-ca/donottranslate-more-keys.xml index 336057be0..bd9fb7ccd 100644 --- a/java/res/values-ca/donottranslate-altchars.xml +++ b/java/res/values-ca/donottranslate-more-keys.xml @@ -18,12 +18,12 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">à,á,ä,â,ã,å,ą,æ,ā,ª</string> - <string name="alternates_for_e">3,è,é,ë,ê,ę,ė,ē</string> - <string name="alternates_for_i">8,í,ï,ì,î,į,ī</string> - <string name="alternates_for_o">9,ò,ó,ö,ô,õ,ø,œ,ō,º</string> - <string name="alternates_for_u">7,ú,ü,ù,û,ū</string> - <string name="alternates_for_n">ñ,ń</string> - <string name="alternates_for_c">ç,ć,č</string> - <string name="alternates_for_l">ŀ,ł</string> + <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_n">ñ,ń</string> + <string name="more_keys_for_c">ç,ć,č</string> + <string name="more_keys_for_l">ŀ,ł</string> </resources> diff --git a/java/res/values-cs/donottranslate-altchars.xml b/java/res/values-cs/donottranslate-altchars.xml deleted file mode 100644 index 541cd2154..000000000 --- a/java/res/values-cs/donottranslate-altchars.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** -** Copyright 2010, 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="alternates_for_a">á,à,â,ä,æ,ã,å,ā</string> - <string name="alternates_for_e">3,é,ě,è,ê,ë,ę,ė,ē</string> - <string name="alternates_for_i">8,í,î,ï,ì,į,ī</string> - <string name="alternates_for_o">9,ó,ö,ô,ò,õ,œ,ø,ō</string> - <string name="alternates_for_u">7,ú,ů,û,ü,ù,ū</string> - <string name="alternates_for_s">š,ß,ś</string> - <string name="alternates_for_n">ň,ñ,ń</string> - <string name="alternates_for_c">č,ç,ć</string> - <string name="alternates_for_y">ý,ÿ</string> - <string name="alternates_for_d">ď</string> - <string name="alternates_for_r">4,ř</string> - <string name="alternates_for_t">5,ť</string> - <string name="alternates_for_z">6,ž,ź,ż</string> -</resources> diff --git a/java/res/values-fr/donottranslate-altchars.xml b/java/res/values-cs/donottranslate-more-keys.xml index ae9292f91..70b3f3ee7 100644 --- a/java/res/values-fr/donottranslate-altchars.xml +++ b/java/res/values-cs/donottranslate-more-keys.xml @@ -18,14 +18,17 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">à,â,1,æ,á,ä,ã,å,ā,ª</string> - <string name="alternates_for_e">é,è,ê,ë,3,ę,ė,ē</string> - <string name="alternates_for_i">î,8,ï,ì,í,į,ī</string> - <string name="alternates_for_o">ô,œ,9,ö,ò,ó,õ,ø,ō,º</string> - <string name="alternates_for_u">ù,û,7,ü,ú,ū</string> - <string name="alternates_for_c">ç,ć,č</string> - <string name="alternates_for_y">6,ÿ</string> - <string name="alternates_for_q"></string> - <string name="alternates_for_w"></string> - <string name="alternates_for_z">2</string> + <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_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> </resources> diff --git a/java/res/values-da/donottranslate-altchars.xml b/java/res/values-da/donottranslate-more-keys.xml index 46f1644ad..12c1ebfe1 100644 --- a/java/res/values-da/donottranslate-altchars.xml +++ b/java/res/values-da/donottranslate-more-keys.xml @@ -18,18 +18,18 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">á,ä,à,â,ã,ā</string> - <string name="alternates_for_e">3,é,ë</string> - <string name="alternates_for_i">8,í,ï</string> - <string name="alternates_for_o">9,ó,ô,ò,õ,œ,ō</string> - <string name="alternates_for_u">7,ú,ü,û,ù,ū</string> - <string name="alternates_for_s">ß,ś,š</string> - <string name="alternates_for_n">ñ,ń</string> - <string name="alternates_for_y">6,ý,ÿ</string> - <string name="alternates_for_d">ð</string> - <string name="alternates_for_l">ł</string> + <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_s">ß,ś,š</string> + <string name="more_keys_for_n">ñ,ń</string> + <string name="more_keys_for_y">6,ý,ÿ</string> + <string name="more_keys_for_d">ð</string> + <string name="more_keys_for_l">ł</string> <string name="keylabel_for_scandinavia_row2_10">æ</string> <string name="keylabel_for_scandinavia_row2_11">ø</string> - <string name="alternates_for_scandinavia_row2_10">ä</string> - <string name="alternates_for_scandinavia_row2_11">ö</string> + <string name="more_keys_for_scandinavia_row2_10">ä</string> + <string name="more_keys_for_scandinavia_row2_11">ö</string> </resources> diff --git a/java/res/values-de-rZZ/donottranslate-altchars.xml b/java/res/values-de-rZZ/donottranslate-altchars.xml deleted file mode 100644 index a6f8fc810..000000000 --- a/java/res/values-de-rZZ/donottranslate-altchars.xml +++ /dev/null @@ -1,29 +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="alternates_for_a">ä,â,à,á,æ,ã,å,ā</string> - <string name="alternates_for_e">3,ė</string> - <string name="alternates_for_o">9,ö,ô,ò,ó,õ,œ,ø,ō</string> - <string name="alternates_for_u">7,ü,û,ù,ú,ū</string> - <string name="alternates_for_s">ß,ś,š</string> - <string name="alternates_for_n">ñ,ń</string> - <string name="alternates_for_y">6</string> - <string name="alternates_for_z"></string> -</resources> diff --git a/java/res/values-hu/donottranslate-altchars.xml b/java/res/values-de-rZZ/donottranslate-more-keys.xml index ae28cc5b8..06e76b03c 100644 --- a/java/res/values-hu/donottranslate-altchars.xml +++ b/java/res/values-de-rZZ/donottranslate-more-keys.xml @@ -18,11 +18,12 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">á,à,â,ä,æ,ã,å,ā</string> - <string name="alternates_for_e">3,é,è,ê,ë,ę,ė,ē</string> - <string name="alternates_for_i">8,í,î,ï,ì,į,ī</string> - <string name="alternates_for_o">9,ó,ö,ő,ô,ò,õ,œ,ø,ō</string> - <string name="alternates_for_u">7,ú,ü,ű,û,ù,ū</string> - <string name="alternates_for_y"></string> - <string name="alternates_for_z">6</string> + <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_s">ß,ś,š</string> + <string name="more_keys_for_n">ñ,ń</string> + <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 new file mode 100644 index 000000000..80aa32ae2 --- /dev/null +++ b/java/res/values-de/donottranslate-more-keys.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, 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_e">3,ė</string> + <string name="more_keys_for_o">9,ö,ô,ò,ó,õ,œ,ø,ō</string> + <string name="more_keys_for_u">7,ü,û,ù,ú,ū</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 new file mode 100644 index 000000000..bc26c6aa0 --- /dev/null +++ b/java/res/values-en/donottranslate-more-keys.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, 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_e">3,è,é,ê,ë,ē</string> + <string name="more_keys_for_i">8,î,ï,í,ī,ì</string> + <string name="more_keys_for_o">9,ô,ö,ò,ó,œ,ø,ō,õ</string> + <string name="more_keys_for_s">ß</string> + <string name="more_keys_for_u">7,û,ü,ù,ú,ū</string> + <string name="more_keys_for_n">ñ</string> + <string name="more_keys_for_c">ç</string> +</resources> diff --git a/java/res/values-es/donottranslate-altchars.xml b/java/res/values-es/donottranslate-more-keys.xml index e1f849f62..d5a8ed19d 100644 --- a/java/res/values-es/donottranslate-altchars.xml +++ b/java/res/values-es/donottranslate-more-keys.xml @@ -18,12 +18,12 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">á,à,ä,â,ã,å,ą,æ,ā,ª</string> - <string name="alternates_for_e">3,é,è,ë,ê,ę,ė,ē</string> - <string name="alternates_for_i">8,í,ï,ì,î,į,ī</string> - <string name="alternates_for_o">9,ó,ò,ö,ô,õ,ø,œ,ō,º</string> - <string name="alternates_for_u">7,ú,ü,ù,û,ū</string> - <string name="alternates_for_n">ñ,ń</string> - <string name="alternates_for_c">ç,ć,č</string> - <string name="alternates_for_punctuation">"\\,,\?,!,¿,¡,:,-,\',\",),(,/,;,+,&,\@"</string> + <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_n">ñ,ń</string> + <string name="more_keys_for_c">ç,ć,č</string> + <string name="more_keys_for_punctuation">"\\,,\?,!,¿,¡,:,-,\',\",),(,/,;,+,&,\@"</string> </resources> diff --git a/java/res/values-fi/donottranslate-altchars.xml b/java/res/values-fi/donottranslate-more-keys.xml index ff87a3258..df67c69ba 100644 --- a/java/res/values-fi/donottranslate-altchars.xml +++ b/java/res/values-fi/donottranslate-more-keys.xml @@ -18,13 +18,13 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">æ,à,á,â,ã,ā</string> - <string name="alternates_for_o">9,ø,ô,ò,ó,õ,œ,ō</string> - <string name="alternates_for_u">7,ü</string> - <string name="alternates_for_s">š,ß,ś</string> - <string name="alternates_for_z">ž,ź,ż</string> + <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_s">š,ß,ś</string> + <string name="more_keys_for_z">ž,ź,ż</string> <string name="keylabel_for_scandinavia_row2_10">ö</string> <string name="keylabel_for_scandinavia_row2_11">ä</string> - <string name="alternates_for_scandinavia_row2_10">ø</string> - <string name="alternates_for_scandinavia_row2_11">æ</string> + <string name="more_keys_for_scandinavia_row2_10">ø</string> + <string name="more_keys_for_scandinavia_row2_11">æ</string> </resources> diff --git a/java/res/values-en/donottranslate-altchars.xml b/java/res/values-fr/donottranslate-more-keys.xml index 29582c950..cd6d49bad 100644 --- a/java/res/values-en/donottranslate-altchars.xml +++ b/java/res/values-fr/donottranslate-more-keys.xml @@ -18,12 +18,14 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">à,á,â,ä,æ,ã,å,ā</string> - <string name="alternates_for_e">3,è,é,ê,ë,ē</string> - <string name="alternates_for_i">8,î,ï,í,ī,ì</string> - <string name="alternates_for_o">9,ô,ö,ò,ó,œ,ø,ō,õ</string> - <string name="alternates_for_s">ß</string> - <string name="alternates_for_u">7,û,ü,ù,ú,ū</string> - <string name="alternates_for_n">ñ</string> - <string name="alternates_for_c">ç</string> + <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_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> </resources> diff --git a/java/res/values-hr/donottranslate-altchars.xml b/java/res/values-hr/donottranslate-more-keys.xml index d0c9d4049..c34e0e646 100644 --- a/java/res/values-hr/donottranslate-altchars.xml +++ b/java/res/values-hr/donottranslate-more-keys.xml @@ -18,10 +18,10 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_s">š,ś,ß</string> - <string name="alternates_for_n">ñ,ń</string> - <string name="alternates_for_y"></string> - <string name="alternates_for_z">6,ž,ź,ż</string> - <string name="alternates_for_c">č,ć,ç</string> - <string name="alternates_for_d">đ</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> + <string name="more_keys_for_c">č,ć,ç</string> + <string name="more_keys_for_d">đ</string> </resources> diff --git a/java/res/values-lt/donottranslate-altchars.xml b/java/res/values-hu/donottranslate-more-keys.xml index 4aba93a3a..42b330199 100644 --- a/java/res/values-lt/donottranslate-altchars.xml +++ b/java/res/values-hu/donottranslate-more-keys.xml @@ -18,11 +18,11 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">ą,à,á,â,ä,æ,ã,å,ā</string> - <string name="alternates_for_e">3,ė,ę,è,é,ê,ë,ē</string> - <string name="alternates_for_i">8,į,î,ï,ì,í,ī</string> - <string name="alternates_for_u">7,ų,ū,û,ü,ù,ú</string> - <string name="alternates_for_s">š,ß,ś</string> - <string name="alternates_for_c">č,ç,ć</string> - <string name="alternates_for_z">ž,ź,ż</string> + <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> </resources> diff --git a/java/res/values-it/donottranslate-altchars.xml b/java/res/values-it/donottranslate-more-keys.xml index 1131d4852..fa1537bec 100644 --- a/java/res/values-it/donottranslate-altchars.xml +++ b/java/res/values-it/donottranslate-more-keys.xml @@ -18,9 +18,9 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">à,á,â,ä,æ,ã,å,ā,ª</string> - <string name="alternates_for_e">3,è,é,ê,ë,ę,ė,ē</string> - <string name="alternates_for_i">8,ì,í,î,ï,į,ī</string> - <string name="alternates_for_o">9,ò,ó,ô,ö,õ,œ,ø,ō,º</string> - <string name="alternates_for_u">7,ù,ú,û,ü,ū</string> + <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> </resources> diff --git a/java/res/values-land/dimens.xml b/java/res/values-land/dimens.xml index 73e1aff96..4bf0e2092 100644 --- a/java/res/values-land/dimens.xml +++ b/java/res/values-land/dimens.xml @@ -59,6 +59,8 @@ <dimen name="key_preview_offset_ics">0.01in</dimen> <dimen name="candidate_strip_height">36dip</dimen> + <dimen name="more_suggestions_row_height">36dip</dimen> + <dimen name="candidate_strip_minimum_height">160sp</dimen> <dimen name="candidate_strip_fading_edge_length">63dip</dimen> <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. --> <!-- popup_key_height x 1.2 --> diff --git a/java/res/values-lt/donottranslate-more-keys.xml b/java/res/values-lt/donottranslate-more-keys.xml new file mode 100644 index 000000000..6b81e4509 --- /dev/null +++ b/java/res/values-lt/donottranslate-more-keys.xml @@ -0,0 +1,28 @@ +<?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_e">3,ė,ę,è,é,ê,ë,ē</string> + <string name="more_keys_for_i">8,į,î,ï,ì,í,ī</string> + <string name="more_keys_for_u">7,ų,ū,û,ü,ù,ú</string> + <string name="more_keys_for_s">š,ß,ś</string> + <string name="more_keys_for_c">č,ç,ć</string> + <string name="more_keys_for_z">ž,ź,ż</string> +</resources> diff --git a/java/res/values-lv/donottranslate-altchars.xml b/java/res/values-lv/donottranslate-altchars.xml deleted file mode 100644 index 05d9bc894..000000000 --- a/java/res/values-lv/donottranslate-altchars.xml +++ /dev/null @@ -1,33 +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="alternates_for_a">ā,à,á,â,ä,æ,ã,å</string> - <string name="alternates_for_e">3,ē,è,é,ê,ë,ę,ė</string> - <string name="alternates_for_i">8,ī,î,ï,ì,í,į</string> - <string name="alternates_for_u">7,ū,û,ü,ù,ú</string> - <string name="alternates_for_s">š,ß,ś</string> - <string name="alternates_for_n">ņ,ñ,ń</string> - <string name="alternates_for_c">č,ç,ć</string> - <string name="alternates_for_r">4,ŗ</string> - <string name="alternates_for_z">ž,ź,ż</string> - <string name="alternates_for_k">ķ</string> - <string name="alternates_for_l">ļ,ł</string> - <string name="alternates_for_g">ģ</string> -</resources> diff --git a/java/res/values-lv/donottranslate-more-keys.xml b/java/res/values-lv/donottranslate-more-keys.xml new file mode 100644 index 000000000..77e1c26a0 --- /dev/null +++ b/java/res/values-lv/donottranslate-more-keys.xml @@ -0,0 +1,33 @@ +<?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_e">3,ē,è,é,ê,ë,ę,ė</string> + <string name="more_keys_for_i">8,ī,î,ï,ì,í,į</string> + <string name="more_keys_for_u">7,ū,û,ü,ù,ú</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_r">4,ŗ</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> +</resources> diff --git a/java/res/values-nb/donottranslate-altchars.xml b/java/res/values-nb/donottranslate-more-keys.xml index 798e51c9a..b98341c6a 100644 --- a/java/res/values-nb/donottranslate-altchars.xml +++ b/java/res/values-nb/donottranslate-more-keys.xml @@ -18,12 +18,12 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">à,ä,á,â,ã,ā</string> - <string name="alternates_for_e">3,é,è,ê,ë,ę,ė,ē</string> - <string name="alternates_for_o">9,ô,ò,ó,ö,õ,œ,ō</string> - <string name="alternates_for_u">7,ü,û,ù,ú,ū</string> + <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="keylabel_for_scandinavia_row2_10">ø</string> <string name="keylabel_for_scandinavia_row2_11">æ</string> - <string name="alternates_for_scandinavia_row2_10">ö</string> - <string name="alternates_for_scandinavia_row2_11">ä</string> + <string name="more_keys_for_scandinavia_row2_10">ö</string> + <string name="more_keys_for_scandinavia_row2_11">ä</string> </resources> diff --git a/java/res/values-nl/donottranslate-altchars.xml b/java/res/values-nl/donottranslate-more-keys.xml index e26a74967..49cc41964 100644 --- a/java/res/values-nl/donottranslate-altchars.xml +++ b/java/res/values-nl/donottranslate-more-keys.xml @@ -18,10 +18,10 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">á,ä,â,à,æ,ã,å,ā</string> - <string name="alternates_for_e">3,é,ë,ê,è,ę,ė,ē</string> - <string name="alternates_for_i">8,í,ï,ì,î,į,ī</string> - <string name="alternates_for_o">9,ó,ö,ô,ò,õ,œ,ø,ō</string> - <string name="alternates_for_u">7,ú,ü,û,ù,ū</string> - <string name="alternates_for_n">ñ,ń</string> + <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_n">ñ,ń</string> </resources> diff --git a/java/res/values-pl/donottranslate-altchars.xml b/java/res/values-pl/donottranslate-altchars.xml deleted file mode 100644 index 971d73bc5..000000000 --- a/java/res/values-pl/donottranslate-altchars.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** -** Copyright 2010, 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="alternates_for_a">ą,á,à,â,ä,æ,ã,å,ā</string> - <string name="alternates_for_e">3,ę,è,é,ê,ë,ė,ē</string> - <string name="alternates_for_o">9,ó,ö,ô,ò,õ,œ,ø,ō</string> - <string name="alternates_for_s">ś,ß,š</string> - <string name="alternates_for_n">ń,ñ</string> - <string name="alternates_for_c">ć,ç,č</string> - <string name="alternates_for_z">ż,ź,ž</string> - <string name="alternates_for_l">ł</string> -</resources> diff --git a/java/res/values-de/donottranslate-altchars.xml b/java/res/values-pl/donottranslate-more-keys.xml index 8b8b6aed7..18e149991 100644 --- a/java/res/values-de/donottranslate-altchars.xml +++ b/java/res/values-pl/donottranslate-more-keys.xml @@ -18,12 +18,12 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">ä,â,à,á,æ,ã,å,ā</string> - <string name="alternates_for_e">3,ė</string> - <string name="alternates_for_o">9,ö,ô,ò,ó,õ,œ,ø,ō</string> - <string name="alternates_for_u">7,ü,û,ù,ú,ū</string> - <string name="alternates_for_s">ß,ś,š</string> - <string name="alternates_for_n">ñ,ń</string> - <string name="alternates_for_y"></string> - <string name="alternates_for_z">6</string> + <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_s">ś,ß,š</string> + <string name="more_keys_for_n">ń,ñ</string> + <string name="more_keys_for_c">ć,ç,č</string> + <string name="more_keys_for_z">ż,ź,ž</string> + <string name="more_keys_for_l">ł</string> </resources> diff --git a/java/res/values-pt/donottranslate-altchars.xml b/java/res/values-pt/donottranslate-more-keys.xml index a39976151..31d9417ab 100644 --- a/java/res/values-pt/donottranslate-altchars.xml +++ b/java/res/values-pt/donottranslate-more-keys.xml @@ -18,10 +18,10 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">á,ã,à,â,ä,å,æ,ª</string> - <string name="alternates_for_e">3,é,ê,è,ę,ė,ē,ë</string> - <string name="alternates_for_i">8,í,î,ì,ï,į,ī</string> - <string name="alternates_for_o">9,ó,õ,ô,ò,ö,œ,ø,ō,º</string> - <string name="alternates_for_u">7,ú,ü,ù,û,ū</string> - <string name="alternates_for_c">ç,č,ć</string> + <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_c">ç,č,ć</string> </resources> diff --git a/java/res/values-rm/donottranslate-altchars.xml b/java/res/values-rm/donottranslate-more-keys.xml index 0a5d2aad1..ea9a55944 100644 --- a/java/res/values-rm/donottranslate-altchars.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="alternates_for_o">9,ò,ó,ö,ô,õ,œ,ø</string> + <string name="more_keys_for_o">9,ò,ó,ö,ô,õ,œ,ø</string> </resources> diff --git a/java/res/values-ro/donottranslate-altchars.xml b/java/res/values-ro/donottranslate-more-keys.xml index 728ead472..d7e6a171d 100644 --- a/java/res/values-ro/donottranslate-altchars.xml +++ b/java/res/values-ro/donottranslate-more-keys.xml @@ -18,8 +18,8 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">ă,â,à,á,ä,æ,ã,å,ā</string> - <string name="alternates_for_i">8,î,ï,ì,í,į,ī</string> - <string name="alternates_for_s">ș,ß,ś,š</string> - <string name="alternates_for_t">5,ț</string> + <string name="more_keys_for_a">ă,â,à,á,ä,æ,ã,å,ā</string> + <string name="more_keys_for_i">8,î,ï,ì,í,į,ī</string> + <string name="more_keys_for_s">ș,ß,ś,š</string> + <string name="more_keys_for_t">5,ț</string> </resources> diff --git a/java/res/values-ru/donottranslate-altchars.xml b/java/res/values-ru/donottranslate-more-keys.xml index 2a24e563e..f7e006e84 100644 --- a/java/res/values-ru/donottranslate-altchars.xml +++ b/java/res/values-ru/donottranslate-more-keys.xml @@ -18,7 +18,7 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_cyrillic_e">5,ё</string> - <string name="alternates_for_cyrillic_soft_sign">ъ</string> - <string name="alternates_for_cyrillic_ha">ъ</string> + <string name="more_keys_for_cyrillic_e">5,ё</string> + <string name="more_keys_for_cyrillic_soft_sign">ъ</string> + <string name="more_keys_for_cyrillic_ha">ъ</string> </resources> diff --git a/java/res/values-sk/donottranslate-altchars.xml b/java/res/values-sk/donottranslate-altchars.xml deleted file mode 100644 index 6d9836e9c..000000000 --- a/java/res/values-sk/donottranslate-altchars.xml +++ /dev/null @@ -1,35 +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="alternates_for_a">ä,á,à,â,æ,ã,å,ā</string> - <string name="alternates_for_e">3,é,ě,è,ê,ë,ę,ė,ē</string> - <string name="alternates_for_i">8,í,î,ï,ì,į,ī</string> - <string name="alternates_for_o">9,ô,ó,ö,ò,õ,œ,ø,ō</string> - <string name="alternates_for_u">7,ú,ú,û,ü,ù,ū</string> - <string name="alternates_for_s">š,ß,ś</string> - <string name="alternates_for_n">ň,ñ,ń</string> - <string name="alternates_for_c">č,ç,ć</string> - <string name="alternates_for_y">6,ý,ÿ</string> - <string name="alternates_for_d">ď</string> - <string name="alternates_for_r">4,ŕ,ř</string> - <string name="alternates_for_t">5,ť</string> - <string name="alternates_for_z">ž,ź,ż</string> - <string name="alternates_for_l">ľ,ĺ,ł</string> -</resources> diff --git a/java/res/values-sk/donottranslate-more-keys.xml b/java/res/values-sk/donottranslate-more-keys.xml new file mode 100644 index 000000000..b73db0a46 --- /dev/null +++ b/java/res/values-sk/donottranslate-more-keys.xml @@ -0,0 +1,35 @@ +<?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_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_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_d">ď</string> + <string name="more_keys_for_r">4,ŕ,ř</string> + <string name="more_keys_for_t">5,ť</string> + <string name="more_keys_for_z">ž,ź,ż</string> + <string name="more_keys_for_l">ľ,ĺ,ł</string> +</resources> diff --git a/java/res/values-sv/donottranslate-altchars.xml b/java/res/values-sv/donottranslate-more-keys.xml index d03ae1a6c..1fa29a83e 100644 --- a/java/res/values-sv/donottranslate-altchars.xml +++ b/java/res/values-sv/donottranslate-more-keys.xml @@ -18,12 +18,12 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_e">3,é,è,ê,ë,ę</string> - <string name="alternates_for_o">9,œ,ô,ò,ó,õ,ō</string> - <string name="alternates_for_u">7,ü,û,ù,ú,ū</string> - <string name="alternates_for_s">ß,ś,š</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_s">ß,ś,š</string> <string name="keylabel_for_scandinavia_row2_10">ö</string> <string name="keylabel_for_scandinavia_row2_11">ä</string> - <string name="alternates_for_scandinavia_row2_10">ø</string> - <string name="alternates_for_scandinavia_row2_11">æ</string> + <string name="more_keys_for_scandinavia_row2_10">ø</string> + <string name="more_keys_for_scandinavia_row2_11">æ</string> </resources> diff --git a/java/res/values-sw600dp/config.xml b/java/res/values-sw600dp/config.xml index 17aeff7cc..1854a8696 100644 --- a/java/res/values-sw600dp/config.xml +++ b/java/res/values-sw600dp/config.xml @@ -25,7 +25,7 @@ <bool name="config_enable_show_popup_on_keypress_option">false</bool> <bool name="config_enable_bigram_suggestions_option">false</bool> <bool name="config_sliding_key_input_enabled">false</bool> - <bool name="config_digit_popup_characters_enabled">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> @@ -39,5 +39,5 @@ <!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. --> <string name="config_default_keyboard_theme_id" translatable="false">5</string> <string name="config_text_size_of_language_on_spacebar" translatable="false">medium</string> - <integer name="config_max_mini_keyboard_column">5</integer> + <integer name="config_max_more_keys_column">5</integer> </resources> diff --git a/java/res/values-sw600dp/dimens.xml b/java/res/values-sw600dp/dimens.xml index 942bc726f..6ce23cc70 100644 --- a/java/res/values-sw600dp/dimens.xml +++ b/java/res/values-sw600dp/dimens.xml @@ -67,6 +67,7 @@ <dimen name="key_preview_offset_ics">0.05in</dimen> <dimen name="candidate_strip_height">44dip</dimen> + <dimen name="more_suggestions_row_height">44dip</dimen> <dimen name="candidate_strip_padding">15.0mm</dimen> <dimen name="candidate_min_width">0.3in</dimen> <dimen name="candidate_padding">12dip</dimen> diff --git a/java/res/values-sw768dp/config.xml b/java/res/values-sw768dp/config.xml index 8b4ff367e..a438fe964 100644 --- a/java/res/values-sw768dp/config.xml +++ b/java/res/values-sw768dp/config.xml @@ -25,7 +25,7 @@ <bool name="config_enable_show_popup_on_keypress_option">false</bool> <bool name="config_enable_bigram_suggestions_option">false</bool> <bool name="config_sliding_key_input_enabled">false</bool> - <bool name="config_digit_popup_characters_enabled">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> @@ -37,7 +37,7 @@ <!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. --> <string name="config_default_keyboard_theme_id" translatable="false">5</string> <string name="config_text_size_of_language_on_spacebar" translatable="false">medium</string> - <integer name="config_max_mini_keyboard_column">5</integer> + <integer name="config_max_more_keys_column">5</integer> <!-- Screen metrics for logging. 0 = "mdpi", 1 = "hdpi", 2 = "xlarge" --> <integer name="log_screen_metrics">2</integer> </resources> diff --git a/java/res/values-sw768dp/dimens.xml b/java/res/values-sw768dp/dimens.xml index f0340bc70..9b307e6f3 100644 --- a/java/res/values-sw768dp/dimens.xml +++ b/java/res/values-sw768dp/dimens.xml @@ -70,9 +70,8 @@ <dimen name="key_preview_offset_ics">0.05in</dimen> <dimen name="candidate_strip_height">44dip</dimen> - <!-- candidate_strip_minimum_height = - key_preview_height_holo - key_preview_offset_holo + alpha --> - <dimen name="candidate_strip_minimum_height">18mm</dimen> + <dimen name="more_suggestions_row_height">44dip</dimen> + <dimen name="candidate_strip_minimum_height">200sp</dimen> <dimen name="candidate_strip_padding">15.0mm</dimen> <dimen name="candidate_min_width">46dip</dimen> <dimen name="candidate_padding">8dip</dimen> diff --git a/java/res/values-tr/donottranslate-altchars.xml b/java/res/values-tr/donottranslate-more-keys.xml index 1b83b65c8..6906b3580 100644 --- a/java/res/values-tr/donottranslate-altchars.xml +++ b/java/res/values-tr/donottranslate-more-keys.xml @@ -18,11 +18,11 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="alternates_for_a">â</string> - <string name="alternates_for_i">8,ı,î,ï,ì,í,į,ī</string> - <string name="alternates_for_o">9,ö,ô,œ,ò,ó,õ,ø,ō</string> - <string name="alternates_for_u">7,ü,û,ù,ú,ū</string> - <string name="alternates_for_s">ş,ß,ś,š</string> - <string name="alternates_for_g">ğ</string> - <string name="alternates_for_c">ç,ć,č</string> + <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_s">ş,ß,ś,š</string> + <string name="more_keys_for_g">ğ</string> + <string name="more_keys_for_c">ç,ć,č</string> </resources> diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index 734004f5a..9d3426842 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -27,6 +27,7 @@ <attr name="miniKeyboardPanelStyle" format="reference" /> <!-- Suggestions strip style --> <attr name="suggestionsStripBackgroundStyle" format="reference" /> + <attr name="suggestionsPaneViewStyle" format="reference" /> <attr name="suggestionBackgroundStyle" format="reference" /> <attr name="suggestionPreviewBackgroundStyle" format="reference" /> <attr name="candidateViewStyle" format="reference" /> @@ -95,8 +96,8 @@ <!-- Amount to offset the touch Y coordinate by, for bias correction. --> <attr name="verticalCorrection" format="dimension" /> - <!-- Layout resource for popup panel --> - <attr name="popupLayout" format="reference" /> + <!-- Layout resource for more keys panel --> + <attr name="moreKeysLayout" format="reference" /> <attr name="shadowColor" format="color" /> <attr name="shadowRadius" format="float" /> @@ -153,8 +154,8 @@ <attr name="horizontalGap" format="dimension|fraction" /> <!-- Default vertical gap between rows of keys. --> <attr name="verticalGap" format="dimension|fraction" /> - <!-- Popup panel layout template --> - <attr name="popupTemplate" format="reference" /> + <!-- More keys keyboard layout template --> + <attr name="moreKeysTemplate" format="reference" /> <!-- Locale of the keyboard layout --> <attr name="keyboardLocale" format="string" /> <!-- True if the keyboard is Right-To-Left --> @@ -178,10 +179,10 @@ <declare-styleable name="Keyboard_Key"> <!-- The unicode value that this key outputs. --> <attr name="code" format="integer" /> - <!-- The characters to display in the popup keyboard. --> - <attr name="popupCharacters" format="string" /> - <!-- Maximum column of mini keyboard --> - <attr name="maxMiniKeyboardColumn" format="integer" /> + <!-- The keys to display in the more keys keyboard. --> + <attr name="moreKeys" format="string" /> + <!-- Maximum column of more keys keyboard --> + <attr name="maxMoreKeysColumn" format="integer" /> <!-- Whether this is a functional key which has different key top than normal key. --> <attr name="isFunctional" format="boolean" /> <!-- Whether this is a toggle key. --> diff --git a/java/res/values/config.xml b/java/res/values/config.xml index 28cbc9549..923e37d85 100644 --- a/java/res/values/config.xml +++ b/java/res/values/config.xml @@ -27,7 +27,7 @@ <bool name="config_enable_bigram_suggestions_option">true</bool> <bool name="config_enable_usability_study_mode_option">false</bool> <bool name="config_sliding_key_input_enabled">true</bool> - <bool name="config_digit_popup_characters_enabled">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 candidates for a word should we weigh @@ -67,7 +67,7 @@ <!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. --> <string name="config_default_keyboard_theme_id" translatable="false">5</string> <string name="config_text_size_of_language_on_spacebar" translatable="false">small</string> - <integer name="config_max_mini_keyboard_column">5</integer> + <integer name="config_max_more_keys_column">5</integer> <string-array name="auto_correction_threshold_values" translatable="false"> <!-- Off, When auto correction setting is Off, this value is not used. --> <item></item> diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml index 2c4b35ef8..b7609a4ac 100644 --- a/java/res/values/dimens.xml +++ b/java/res/values/dimens.xml @@ -77,9 +77,11 @@ <dimen name="key_preview_offset_ics">0.05in</dimen> <dimen name="candidate_strip_height">40dip</dimen> - <!-- candidate_strip_minimum_height = - key_preview_height_holo - key_preview_offset_holo + alpha --> - <dimen name="candidate_strip_minimum_height">100sp</dimen> + <dimen name="more_suggestions_key_horizontal_padding">12dip</dimen> + <dimen name="more_suggestions_row_height">40dip</dimen> + <dimen name="more_suggestions_slide_allowance">0.2in</dimen> + <fraction name="more_suggestions_info_ratio">12%</fraction> + <dimen name="candidate_strip_minimum_height">200sp</dimen> <dimen name="candidate_strip_fading_edge_length">63dip</dimen> <dimen name="candidate_strip_padding">0dip</dimen> <dimen name="candidate_min_width">44dip</dimen> diff --git a/java/res/values/donottranslate-altchars.xml b/java/res/values/donottranslate-altchars.xml deleted file mode 100644 index acbf7dfae..000000000 --- a/java/res/values/donottranslate-altchars.xml +++ /dev/null @@ -1,99 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** -** Copyright 2010, 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="alternates_for_a"></string> - <string name="alternates_for_e">3</string> - <string name="alternates_for_i">8</string> - <string name="alternates_for_o">9</string> - <string name="alternates_for_u">7</string> - <string name="alternates_for_s"></string> - <string name="alternates_for_n"></string> - <string name="alternates_for_c"></string> - <string name="alternates_for_y">6</string> - <string name="alternates_for_q">1</string> - <string name="alternates_for_w">2</string> - <string name="alternates_for_d"></string> - <string name="alternates_for_r">4</string> - <string name="alternates_for_t">5</string> - <string name="alternates_for_z"></string> - <string name="alternates_for_k"></string> - <string name="alternates_for_l"></string> - <string name="alternates_for_g"></string> - <string name="alternates_for_p">0</string> - <string name="alternates_for_v"></string> - <string name="keylabel_for_scandinavia_row2_10"></string> - <string name="keylabel_for_scandinavia_row2_11"></string> - <string name="alternates_for_scandinavia_row2_10"></string> - <string name="alternates_for_scandinavia_row2_11"></string> - <string name="alternates_for_cyrillic_e"></string> - <string name="alternates_for_cyrillic_soft_sign"></string> - <string name="alternates_for_cyrillic_ha"></string> - <string name="alternates_for_currency_dollar">¢,£,€,¥,₱</string> - <string name="alternates_for_currency_euro">¢,£,$,¥,₱</string> - <string name="alternates_for_currency_pound">¢,$,€,¥,₱</string> - <string name="alternates_for_currency_general">¢,$,€,£,¥,₱</string> - <string name="alternates_for_smiley">":-)|:-) ,:-(|:-( ,;-)|;-) ,:-P|:-P ,=-O|=-O ,:-*|:-* ,:O|:O ,B-)|B-) ,:-$|:-$ ,:-!|:-! ,:-[|:-[ ,O:-)|O:-) ,:-\\\\\\\\|:-\\\\\\\\ ,:\'(|:\'( ,:-D|:-D "</string> - <string name="alternates_for_punctuation">"\\,,\?,!,:,-,\',\",(,),/,;,+,&,\@"</string> - <integer name="mini_keyboard_column_for_punctuation">7</integer> - <string name="keyhintlabel_for_punctuation"></string> - <string name="keylabel_for_popular_domain">".com"</string> - <!-- popular web domains for the locale - most popular, displayed on the keyboard --> - <string name="alternates_for_popular_domain">".net,.org,.gov,.edu"</string> - <string name="keylabel_for_symbols_1">1</string> - <string name="keylabel_for_symbols_2">2</string> - <string name="keylabel_for_symbols_3">3</string> - <string name="keylabel_for_symbols_4">4</string> - <string name="keylabel_for_symbols_5">5</string> - <string name="keylabel_for_symbols_6">6</string> - <string name="keylabel_for_symbols_7">7</string> - <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="alternates_for_symbols_1">¹,½,⅓,¼,⅛</string> - <string name="alternates_for_symbols_2">²,⅔</string> - <string name="alternates_for_symbols_3">³,¾,⅜</string> - <string name="alternates_for_symbols_4">⁴</string> - <string name="alternates_for_symbols_5">⅝</string> - <string name="alternates_for_symbols_6"></string> - <string name="alternates_for_symbols_7">⅞</string> - <string name="alternates_for_symbols_8"></string> - <string name="alternates_for_symbols_9"></string> - <string name="alternates_for_symbols_0">ⁿ,∅</string> - <string name="keylabel_for_comma">,</string> - <string name="keylabel_for_f1">,</string> - <string name="keylabel_for_symbols_question">\?</string> - <string name="keylabel_for_symbols_semicolon">;</string> - <string name="keylabel_for_symbols_percent">%</string> - <string name="alternates_for_comma"></string> - <string name="alternates_for_f1"></string> - <!-- @icon/3 is iconSettingsKey --> - <string name="alternates_for_f1_settings">\@icon/3|\@integer/key_settings</string> - <!-- @icon/7 is iconTabKey --> - <string name="alternates_for_f1_navigate">\@icon/7|\@integer/key_tab</string> - <string name="alternates_for_symbols_question">¿</string> - <string name="alternates_for_symbols_semicolon"></string> - <string name="alternates_for_symbols_percent">‰</string> - <string name="keylabel_for_apostrophe">\'</string> - <string name="keylabel_for_dash">-</string> - <string name="keyhintlabel_for_apostrophe">\"</string> - <string name="keyhintlabel_for_dash">_</string> - <string name="alternates_for_apostrophe">\"</string> - <string name="alternates_for_dash">_</string> -</resources> diff --git a/java/res/values/donottranslate-more-keys.xml b/java/res/values/donottranslate-more-keys.xml new file mode 100644 index 000000000..7e396b690 --- /dev/null +++ b/java/res/values/donottranslate-more-keys.xml @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, 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_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_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_d"></string> + <string name="more_keys_for_r">4</string> + <string name="more_keys_for_t">5</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_row2_10"></string> + <string name="keylabel_for_scandinavia_row2_11"></string> + <string name="more_keys_for_scandinavia_row2_10"></string> + <string name="more_keys_for_scandinavia_row2_11"></string> + <string name="more_keys_for_cyrillic_e"></string> + <string name="more_keys_for_cyrillic_soft_sign"></string> + <string name="more_keys_for_cyrillic_ha"></string> + <string name="more_keys_for_currency_dollar">¢,£,€,¥,₱</string> + <string name="more_keys_for_currency_euro">¢,£,$,¥,₱</string> + <string name="more_keys_for_currency_pound">¢,$,€,¥,₱</string> + <string name="more_keys_for_currency_general">¢,$,€,£,¥,₱</string> + <string name="more_keys_for_smiley">":-)|:-) ,:-(|:-( ,;-)|;-) ,:-P|:-P ,=-O|=-O ,:-*|:-* ,:O|:O ,B-)|B-) ,:-$|:-$ ,:-!|:-! ,:-[|:-[ ,O:-)|O:-) ,:-\\\\\\\\|:-\\\\\\\\ ,:\'(|:\'( ,:-D|:-D "</string> + <string name="more_keys_for_punctuation">"\\,,\?,!,:,-,\',\",(,),/,;,+,&,\@"</string> + <integer name="mini_keyboard_column_for_punctuation">7</integer> + <string name="keyhintlabel_for_punctuation"></string> + <string name="keylabel_for_popular_domain">".com"</string> + <!-- popular web domains for the locale - most popular, displayed on the keyboard --> + <string name="more_keys_for_popular_domain">".net,.org,.gov,.edu"</string> + <string name="keylabel_for_symbols_1">1</string> + <string name="keylabel_for_symbols_2">2</string> + <string name="keylabel_for_symbols_3">3</string> + <string name="keylabel_for_symbols_4">4</string> + <string name="keylabel_for_symbols_5">5</string> + <string name="keylabel_for_symbols_6">6</string> + <string name="keylabel_for_symbols_7">7</string> + <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="more_keys_for_symbols_1">¹,½,⅓,¼,⅛</string> + <string name="more_keys_for_symbols_2">²,⅔</string> + <string name="more_keys_for_symbols_3">³,¾,⅜</string> + <string name="more_keys_for_symbols_4">⁴</string> + <string name="more_keys_for_symbols_5">⅝</string> + <string name="more_keys_for_symbols_6"></string> + <string name="more_keys_for_symbols_7">⅞</string> + <string name="more_keys_for_symbols_8"></string> + <string name="more_keys_for_symbols_9"></string> + <string name="more_keys_for_symbols_0">ⁿ,∅</string> + <string name="keylabel_for_comma">,</string> + <string name="keylabel_for_f1">,</string> + <string name="keylabel_for_symbols_question">\?</string> + <string name="keylabel_for_symbols_semicolon">;</string> + <string name="keylabel_for_symbols_percent">%</string> + <string name="more_keys_for_comma"></string> + <string name="more_keys_for_f1"></string> + <!-- @icon/3 is iconSettingsKey --> + <string name="more_keys_for_f1_settings">\@icon/3|\@integer/key_settings</string> + <!-- @icon/7 is iconTabKey --> + <string name="more_keys_for_f1_navigate">\@icon/7|\@integer/key_tab</string> + <string name="more_keys_for_symbols_question">¿</string> + <string name="more_keys_for_symbols_semicolon"></string> + <string name="more_keys_for_symbols_percent">‰</string> + <string name="keylabel_for_apostrophe">\'</string> + <string name="keylabel_for_dash">-</string> + <string name="keyhintlabel_for_apostrophe">\"</string> + <string name="keyhintlabel_for_dash">_</string> + <string name="more_keys_for_apostrophe">\"</string> + <string name="more_keys_for_dash">_</string> +</resources> diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml index 247bdba41..2a3d705b0 100644 --- a/java/res/values/strings.xml +++ b/java/res/values/strings.xml @@ -332,11 +332,11 @@ <!-- Title of the item to change the keyboard theme [CHAR LIMIT=20]--> <string name="keyboard_layout">Keyboard theme</string> - <!-- Description for German QWERTY keyboard subtype [CHAR LIMIT=35] --> + <!-- Description for German QWERTY keyboard subtype [CHAR LIMIT=22] --> <string name="subtype_de_qwerty">German QWERTY</string> - <!-- Description for English (United Kingdom) keyboard subtype [CHAR LIMIT=35] --> + <!-- Description for English (United Kingdom) keyboard subtype [CHAR LIMIT=22] --> <string name="subtype_en_GB">English (UK)</string> - <!-- Description for English (United States) keyboard subtype [CHAR LIMIT=35] --> + <!-- Description for English (United States) keyboard subtype [CHAR LIMIT=22] --> <string name="subtype_en_US">English (US)</string> <!-- Title of an option for usability study mode --> diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml index eb5b749dd..4cc2a5306 100644 --- a/java/res/values/styles.xml +++ b/java/res/values/styles.xml @@ -21,12 +21,12 @@ <item name="keyboardHeight">@dimen/keyboardHeight</item> <item name="maxKeyboardHeight">@fraction/maxKeyboardHeight</item> <item name="minKeyboardHeight">@fraction/minKeyboardHeight</item> - <item name="popupTemplate">@xml/kbd_mini_keyboard_template</item> + <item name="moreKeysTemplate">@xml/kbd_mini_keyboard_template</item> <item name="keyboardTopPadding">@fraction/keyboard_top_padding</item> <item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding</item> <item name="horizontalGap">@fraction/key_horizontal_gap</item> <item name="verticalGap">@fraction/key_bottom_gap</item> - <item name="maxMiniKeyboardColumn">@integer/config_max_mini_keyboard_column</item> + <item name="maxMoreKeysColumn">@integer/config_max_more_keys_column</item> </style> <style name="LatinKeyboard"> <item name="autoCorrectionSpacebarLedEnabled">@bool/config_auto_correction_spacebar_led_enabled @@ -61,7 +61,7 @@ <item name="keyPreviewOffset">@dimen/key_preview_offset</item> <item name="keyPreviewHeight">@dimen/key_preview_height</item> <item name="keyPreviewTextRatio">@fraction/key_preview_text_ratio</item> - <item name="popupLayout">@layout/mini_keyboard</item> + <item name="moreKeysLayout">@layout/mini_keyboard</item> <item name="verticalCorrection">@dimen/keyboard_vertical_correction</item> <item name="shadowColor">#BB000000</item> <item name="shadowRadius">2.75</item> @@ -79,6 +79,11 @@ <item name="android:paddingLeft">@dimen/mini_keyboard_horizontal_edges_padding</item> <item name="android:paddingRight">@dimen/mini_keyboard_horizontal_edges_padding</item> </style> + <style + name="SuggestionsPaneViewStyle" + parent="MiniKeyboardView" + > + </style> <style name="SuggestionsStripBackgroundStyle"> <item name="android:background">@drawable/keyboard_suggest_strip</item> </style> @@ -236,6 +241,11 @@ > </style> <style + name="SuggestionsPaneViewStyle.IceCreamSandwich" + parent="MiniKeyboardView.IceCreamSandwich" + > + </style> + <style name="CandidateViewStyle.IceCreamSandwich" parent="SuggestionsStripBackgroundStyle.IceCreamSandwich" > diff --git a/java/res/values/themes-basic-highcontrast.xml b/java/res/values/themes-basic-highcontrast.xml index 17c06a278..51bf2f1d2 100644 --- a/java/res/values/themes-basic-highcontrast.xml +++ b/java/res/values/themes-basic-highcontrast.xml @@ -22,6 +22,7 @@ <item name="miniKeyboardViewStyle">@style/MiniKeyboardView</item> <item name="miniKeyboardPanelStyle">@style/MiniKeyboardPanelStyle</item> <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item> + <item name="suggestionsPaneViewStyle">@style/SuggestionsPaneViewStyle</item> <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item> <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item> <item name="candidateViewStyle">@style/CandidateViewStyle</item> diff --git a/java/res/values/themes-basic.xml b/java/res/values/themes-basic.xml index 23c71bd6f..7288dbacb 100644 --- a/java/res/values/themes-basic.xml +++ b/java/res/values/themes-basic.xml @@ -22,6 +22,7 @@ <item name="miniKeyboardViewStyle">@style/MiniKeyboardView</item> <item name="miniKeyboardPanelStyle">@style/MiniKeyboardPanelStyle</item> <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item> + <item name="suggestionsPaneViewStyle">@style/SuggestionsPaneViewStyle</item> <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item> <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item> <item name="candidateViewStyle">@style/CandidateViewStyle</item> diff --git a/java/res/values/themes-gingerbread.xml b/java/res/values/themes-gingerbread.xml index 1e3419f8c..5b62378f6 100644 --- a/java/res/values/themes-gingerbread.xml +++ b/java/res/values/themes-gingerbread.xml @@ -22,6 +22,7 @@ <item name="miniKeyboardViewStyle">@style/MiniKeyboardView.Gingerbread</item> <item name="miniKeyboardPanelStyle">@style/MiniKeyboardPanelStyle</item> <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item> + <item name="suggestionsPaneViewStyle">@style/SuggestionsPaneViewStyle</item> <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item> <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item> <item name="candidateViewStyle">@style/CandidateViewStyle</item> diff --git a/java/res/values/themes-ics.xml b/java/res/values/themes-ics.xml index 7fa879cad..597d87b4c 100644 --- a/java/res/values/themes-ics.xml +++ b/java/res/values/themes-ics.xml @@ -22,6 +22,7 @@ <item name="miniKeyboardViewStyle">@style/MiniKeyboardView.IceCreamSandwich</item> <item name="miniKeyboardPanelStyle">@style/MiniKeyboardPanelStyle.IceCreamSandwich</item> <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle.IceCreamSandwich</item> + <item name="suggestionsPaneViewStyle">@style/SuggestionsPaneViewStyle.IceCreamSandwich</item> <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle.IceCreamSandwich</item> <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle.IceCreamSandwich</item> <item name="candidateViewStyle">@style/CandidateViewStyle.IceCreamSandwich</item> diff --git a/java/res/values/themes-stone-bold.xml b/java/res/values/themes-stone-bold.xml index fa2ee2dfd..ff7107d32 100644 --- a/java/res/values/themes-stone-bold.xml +++ b/java/res/values/themes-stone-bold.xml @@ -22,7 +22,8 @@ <item name="miniKeyboardViewStyle">@style/MiniKeyboardView.Stone</item> <item name="miniKeyboardPanelStyle">@style/MiniKeyboardPanelStyle</item> <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item> - <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item> + <item name="suggestionsPaneViewStyle">@style/SuggestionsPaneViewStyle</item> + <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item> <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item> <item name="candidateViewStyle">@style/CandidateViewStyle</item> </style> diff --git a/java/res/values/themes-stone.xml b/java/res/values/themes-stone.xml index 494bae600..35390d111 100644 --- a/java/res/values/themes-stone.xml +++ b/java/res/values/themes-stone.xml @@ -22,6 +22,7 @@ <item name="miniKeyboardViewStyle">@style/MiniKeyboardView.Stone</item> <item name="miniKeyboardPanelStyle">@style/MiniKeyboardPanelStyle</item> <item name="suggestionsStripBackgroundStyle">@style/SuggestionsStripBackgroundStyle</item> + <item name="suggestionsPaneViewStyle">@style/SuggestionsPaneViewStyle</item> <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item> <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item> <item name="candidateViewStyle">@style/CandidateViewStyle</item> diff --git a/java/res/xml-sw600dp/kbd_key_styles.xml b/java/res/xml-sw600dp/kbd_key_styles.xml index 43b6623a9..2c31e27e4 100644 --- a/java/res/xml-sw600dp/kbd_key_styles.xml +++ b/java/res/xml-sw600dp/kbd_key_styles.xml @@ -38,7 +38,7 @@ <key-style latin:styleName="f2PopupStyle" latin:keyLabelOption="hasPopupHint" - latin:popupCharacters="\@icon/3|\@integer/key_settings" + latin:moreKeys="\@icon/3|\@integer/key_settings" latin:parentStyle="functionalKeyStyle" /> </default> </switch> @@ -72,8 +72,8 @@ latin:keyLabel=":-)" latin:keyOutputText=":-) " latin:keyLabelOption="hasPopupHint" - latin:popupCharacters="@string/alternates_for_smiley" - latin:maxMiniKeyboardColumn="5" /> + latin:moreKeys="@string/more_keys_for_smiley" + latin:maxMoreKeysColumn="5" /> <key-style latin:styleName="shortcutKeyStyle" latin:code="@integer/key_shortcut" @@ -117,5 +117,5 @@ latin:keyLabel="@string/keylabel_for_popular_domain" latin:keyLabelOption="fontNormal|hasPopupHint" latin:keyOutputText="@string/keylabel_for_popular_domain" - latin:popupCharacters="@string/alternates_for_popular_domain" /> + latin:moreKeys="@string/more_keys_for_popular_domain" /> </merge> diff --git a/java/res/xml-sw600dp/kbd_popup_template.xml b/java/res/xml-sw600dp/kbd_mini_keyboard_template.xml index d97649965..9955fe8fd 100644 --- a/java/res/xml-sw600dp/kbd_popup_template.xml +++ b/java/res/xml-sw600dp/kbd_mini_keyboard_template.xml @@ -20,8 +20,6 @@ <Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" latin:keyWidth="8%p" - latin:horizontalGap="@fraction/key_horizontal_gap" - latin:verticalGap="0px" latin:rowHeight="@dimen/popup_key_height" > </Keyboard> diff --git a/java/res/xml-sw600dp/kbd_qwerty_row1.xml b/java/res/xml-sw600dp/kbd_qwerty_row1.xml index c7dfcc83d..07d8e2296 100644 --- a/java/res/xml-sw600dp/kbd_qwerty_row1.xml +++ b/java/res/xml-sw600dp/kbd_qwerty_row1.xml @@ -26,34 +26,34 @@ > <Key latin:keyLabel="q" - latin:popupCharacters="@string/alternates_for_q" /> + latin:moreKeys="@string/more_keys_for_q" /> <Key latin:keyLabel="w" - latin:popupCharacters="@string/alternates_for_w" /> + latin:moreKeys="@string/more_keys_for_w" /> <Key latin:keyLabel="e" - latin:popupCharacters="@string/alternates_for_e" /> + latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" - latin:popupCharacters="@string/alternates_for_r" /> + latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" - latin:popupCharacters="@string/alternates_for_t" /> + latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="y" - latin:popupCharacters="@string/alternates_for_y" /> + latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="u" - latin:popupCharacters="@string/alternates_for_u" /> + latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" - latin:popupCharacters="@string/alternates_for_i" /> + latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" - latin:popupCharacters="@string/alternates_for_o" /> + latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" - latin:popupCharacters="@string/alternates_for_p" /> + latin:moreKeys="@string/more_keys_for_p" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-10.0%p" diff --git a/java/res/xml-sw600dp/kbd_qwerty_row2.xml b/java/res/xml-sw600dp/kbd_qwerty_row2.xml index 78004fe4f..52a948f20 100644 --- a/java/res/xml-sw600dp/kbd_qwerty_row2.xml +++ b/java/res/xml-sw600dp/kbd_qwerty_row2.xml @@ -26,29 +26,29 @@ > <Key latin:keyLabel="a" - latin:popupCharacters="@string/alternates_for_a" + latin:moreKeys="@string/more_keys_for_a" latin:keyXPos="4.5%p" /> <Key latin:keyLabel="s" - latin:popupCharacters="@string/alternates_for_s" /> + latin:moreKeys="@string/more_keys_for_s" /> <Key latin:keyLabel="d" - latin:popupCharacters="@string/alternates_for_d" /> + latin:moreKeys="@string/more_keys_for_d" /> <Key latin:keyLabel="f" /> <Key latin:keyLabel="g" - latin:popupCharacters="@string/alternates_for_g" /> + latin:moreKeys="@string/more_keys_for_g" /> <Key latin:keyLabel="h" /> <Key latin:keyLabel="j" /> <Key latin:keyLabel="k" - latin:popupCharacters="@string/alternates_for_k" /> + latin:moreKeys="@string/more_keys_for_k" /> <Key latin:keyLabel="l" - latin:popupCharacters="@string/alternates_for_l" /> + latin:moreKeys="@string/more_keys_for_l" /> <Key latin:keyStyle="returnKeyStyle" latin:keyXPos="-14.6%p" diff --git a/java/res/xml-sw600dp/kbd_qwerty_row3.xml b/java/res/xml-sw600dp/kbd_qwerty_row3.xml index 456f3c8ca..4dabf633c 100644 --- a/java/res/xml-sw600dp/kbd_qwerty_row3.xml +++ b/java/res/xml-sw600dp/kbd_qwerty_row3.xml @@ -29,20 +29,20 @@ latin:keyWidth="10.0%p" /> <Key latin:keyLabel="z" - latin:popupCharacters="@string/alternates_for_z" /> + latin:moreKeys="@string/more_keys_for_z" /> <Key latin:keyLabel="x" /> <Key latin:keyLabel="c" - latin:popupCharacters="@string/alternates_for_c" /> + latin:moreKeys="@string/more_keys_for_c" /> <Key latin:keyLabel="v" - latin:popupCharacters="@string/alternates_for_v" /> + latin:moreKeys="@string/more_keys_for_v" /> <Key latin:keyLabel="b" /> <Key latin:keyLabel="n" - latin:popupCharacters="@string/alternates_for_n" /> + latin:moreKeys="@string/more_keys_for_n" /> <Key latin:keyLabel="m" /> <include diff --git a/java/res/xml-sw600dp/kbd_qwerty_row4.xml b/java/res/xml-sw600dp/kbd_qwerty_row4.xml index 4c978cb2c..ef0292279 100644 --- a/java/res/xml-sw600dp/kbd_qwerty_row4.xml +++ b/java/res/xml-sw600dp/kbd_qwerty_row4.xml @@ -47,7 +47,7 @@ latin:keyLabel="/" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="\@" - latin:popupCharacters="\@" /> + latin:moreKeys="\@" /> </default> </switch> <Key diff --git a/java/res/xml-sw600dp/kbd_row3_comma_period.xml b/java/res/xml-sw600dp/kbd_row3_comma_period.xml index 25453160f..b84443078 100644 --- a/java/res/xml-sw600dp/kbd_row3_comma_period.xml +++ b/java/res/xml-sw600dp/kbd_row3_comma_period.xml @@ -35,12 +35,12 @@ latin:keyLabel="," latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="!" - latin:popupCharacters="!" /> + latin:moreKeys="!" /> <Key latin:keyLabel="." latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="\?" - latin:popupCharacters="\?" /> + latin:moreKeys="\?" /> </default> </switch> </merge> diff --git a/java/res/xml-sw600dp/kbd_row3_smiley.xml b/java/res/xml-sw600dp/kbd_row3_smiley.xml index 0ae3ae474..f9b647cdf 100644 --- a/java/res/xml-sw600dp/kbd_row3_smiley.xml +++ b/java/res/xml-sw600dp/kbd_row3_smiley.xml @@ -37,7 +37,7 @@ latin:keyLabel="-" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="_" - latin:popupCharacters="_" + latin:moreKeys="_" latin:keyXPos="-8.9%p" latin:keyWidth="fillBoth" /> </case> @@ -48,7 +48,7 @@ latin:keyLabel=":" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="+" - latin:popupCharacters="+" + latin:moreKeys="+" latin:keyXPos="-8.9%p" latin:keyWidth="fillBoth" /> </case> diff --git a/java/res/xml-sw600dp/kbd_row4_apostrophe_dash.xml b/java/res/xml-sw600dp/kbd_row4_apostrophe_dash.xml index 50d4d4b10..9536e81da 100644 --- a/java/res/xml-sw600dp/kbd_row4_apostrophe_dash.xml +++ b/java/res/xml-sw600dp/kbd_row4_apostrophe_dash.xml @@ -35,14 +35,14 @@ latin:keyLabel="/" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel=":" - latin:popupCharacters=":" /> + latin:moreKeys=":" /> </case> <default> <Key latin:keyLabel="@string/keylabel_for_apostrophe" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="@string/keyhintlabel_for_apostrophe" - latin:popupCharacters="@string/alternates_for_apostrophe" /> + latin:moreKeys="@string/more_keys_for_apostrophe" /> </default> </switch> <switch> @@ -57,7 +57,7 @@ latin:keyLabel="@string/keylabel_for_dash" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="@string/keyhintlabel_for_dash" - latin:popupCharacters="@string/alternates_for_dash" /> + latin:moreKeys="@string/more_keys_for_dash" /> </default> </switch> </merge> diff --git a/java/res/xml-sw600dp/kbd_rows_arabic.xml b/java/res/xml-sw600dp/kbd_rows_arabic.xml index 4c20f51ca..275df50a5 100644 --- a/java/res/xml-sw600dp/kbd_rows_arabic.xml +++ b/java/res/xml-sw600dp/kbd_rows_arabic.xml @@ -36,7 +36,7 @@ latin:keyLabel="ق" /> <Key latin:keyLabel="ف" - latin:popupCharacters="ڤ" /> + latin:moreKeys="ڤ" /> <Key latin:keyLabel="غ" /> <Key @@ -45,14 +45,14 @@ \u0647\u0640: ARABIC LETTER HEH + ARABIC TATWEEL --> <Key latin:keyLabel="ه" - latin:popupCharacters="\ufeeb|\u0647\u0640" /> + latin:moreKeys="\ufeeb|\u0647\u0640" /> <Key latin:keyLabel="خ" /> <Key latin:keyLabel="ح" /> <Key latin:keyLabel="ج" - latin:popupCharacters="چ" /> + latin:moreKeys="چ" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-10.0%p" @@ -70,7 +70,7 @@ latin:keyLabel="ي" /> <Key latin:keyLabel="ب" - latin:popupCharacters="پ" /> + latin:moreKeys="پ" /> <!-- \ufefb: ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM \u0644: ARABIC LETTER LAM \u0627: ARABIC LETTER ALEF @@ -82,13 +82,13 @@ \u0622: ARABIC LETTER ALEF WITH MADDA ABOVE --> <Key latin:keyLabel="ل" - latin:popupCharacters="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" /> + latin:moreKeys="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" /> <!-- \u0623: ARABIC LETTER ALEF WITH HAMZA ABOVE \u0625: ARABIC LETTER ALEF WITH HAMZA BELOW \u0622: ARABIC LETTER ALEF WITH MADDA ABOVE --> <Key latin:keyLabel="ا" - latin:popupCharacters="\u0623,\u0625,\u0622" /> + latin:moreKeys="\u0623,\u0625,\u0622" /> <Key latin:keyLabel="ت" /> <Key @@ -97,7 +97,7 @@ latin:keyLabel="م" /> <Key latin:keyLabel="ك" - latin:popupCharacters="گ" /> + latin:moreKeys="گ" /> <Key latin:keyLabel="ط" /> <Key @@ -123,7 +123,7 @@ latin:keyLabel="-" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="_" - latin:popupCharacters="_" /> + latin:moreKeys="_" /> </case> <case latin:imeAction="actionSearch" @@ -132,7 +132,7 @@ latin:keyLabel=":" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="+" - latin:popupCharacters="+" /> + latin:moreKeys="+" /> </case> <default> <Key @@ -157,7 +157,7 @@ latin:keyLabel="و" /> <Key latin:keyLabel="ز" - latin:popupCharacters="ژ" /> + latin:moreKeys="ژ" /> <Key latin:keyLabel="ظ" /> <Key diff --git a/java/res/xml-sw600dp/kbd_rows_azerty.xml b/java/res/xml-sw600dp/kbd_rows_azerty.xml index 406b4e670..8ae74557c 100644 --- a/java/res/xml-sw600dp/kbd_rows_azerty.xml +++ b/java/res/xml-sw600dp/kbd_rows_azerty.xml @@ -28,34 +28,34 @@ > <Key latin:keyLabel="a" - latin:popupCharacters="@string/alternates_for_a" /> + latin:moreKeys="@string/more_keys_for_a" /> <Key latin:keyLabel="z" - latin:popupCharacters="@string/alternates_for_z" /> + latin:moreKeys="@string/more_keys_for_z" /> <Key latin:keyLabel="e" - latin:popupCharacters="@string/alternates_for_e" /> + latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" - latin:popupCharacters="@string/alternates_for_r" /> + latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" - latin:popupCharacters="@string/alternates_for_t" /> + latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="y" - latin:popupCharacters="@string/alternates_for_y" /> + latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="u" - latin:popupCharacters="@string/alternates_for_u" /> + latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" - latin:popupCharacters="@string/alternates_for_i" /> + latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" - latin:popupCharacters="@string/alternates_for_o" /> + latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" - latin:popupCharacters="@string/alternates_for_p" /> + latin:moreKeys="@string/more_keys_for_p" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-10.0%p" @@ -66,29 +66,29 @@ > <Key latin:keyLabel="q" - latin:popupCharacters="@string/alternates_for_q" + latin:moreKeys="@string/more_keys_for_q" latin:keyXPos="5.0%p" /> <Key latin:keyLabel="s" - latin:popupCharacters="@string/alternates_for_s" /> + latin:moreKeys="@string/more_keys_for_s" /> <Key latin:keyLabel="d" - latin:popupCharacters="@string/alternates_for_d" /> + latin:moreKeys="@string/more_keys_for_d" /> <Key latin:keyLabel="f" /> <Key latin:keyLabel="g" - latin:popupCharacters="@string/alternates_for_g" /> + latin:moreKeys="@string/more_keys_for_g" /> <Key latin:keyLabel="h" /> <Key latin:keyLabel="j" /> <Key latin:keyLabel="k" - latin:popupCharacters="@string/alternates_for_k" /> + latin:moreKeys="@string/more_keys_for_k" /> <Key latin:keyLabel="l" - latin:popupCharacters="@string/alternates_for_l" /> + latin:moreKeys="@string/more_keys_for_l" /> <Key latin:keyLabel="m" /> <Key @@ -104,20 +104,20 @@ latin:keyWidth="10.0%p" /> <Key latin:keyLabel="w" - latin:popupCharacters="@string/alternates_for_w" /> + latin:moreKeys="@string/more_keys_for_w" /> <Key latin:keyLabel="x" /> <Key latin:keyLabel="c" - latin:popupCharacters="@string/alternates_for_c" /> + latin:moreKeys="@string/more_keys_for_c" /> <Key latin:keyLabel="v" - latin:popupCharacters="@string/alternates_for_v" /> + latin:moreKeys="@string/more_keys_for_v" /> <Key latin:keyLabel="b" /> <Key latin:keyLabel="n" - latin:popupCharacters="@string/alternates_for_n" /> + latin:moreKeys="@string/more_keys_for_n" /> <Key latin:keyLabel="\'" /> <switch> @@ -134,12 +134,12 @@ latin:keyLabel="," latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="!" - latin:popupCharacters="!" /> + latin:moreKeys="!" /> <Key latin:keyLabel="." latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="\?" - latin:popupCharacters="\?" /> + latin:moreKeys="\?" /> </default> </switch> <include diff --git a/java/res/xml-sw600dp/kbd_rows_hebrew.xml b/java/res/xml-sw600dp/kbd_rows_hebrew.xml index fc2247cb0..a8adbd34c 100644 --- a/java/res/xml-sw600dp/kbd_rows_hebrew.xml +++ b/java/res/xml-sw600dp/kbd_rows_hebrew.xml @@ -59,17 +59,17 @@ latin:keyLabel="ד" /> <Key latin:keyLabel="ג" - latin:popupCharacters="ג׳" /> + latin:moreKeys="ג׳" /> <Key latin:keyLabel="כ" /> <Key latin:keyLabel="ע" /> <Key latin:keyLabel="י" - latin:popupCharacters="ײַ" /> + latin:moreKeys="ײַ" /> <Key latin:keyLabel="ח" - latin:popupCharacters="ח׳" /> + latin:moreKeys="ח׳" /> <Key latin:keyLabel="ל" /> <Key @@ -96,7 +96,7 @@ latin:keyLabel="-" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="_" - latin:popupCharacters="_" + latin:moreKeys="_" latin:keyWidth="10.0%p" /> </case> <case @@ -106,7 +106,7 @@ latin:keyLabel=":" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="+" - latin:popupCharacters="+" + latin:moreKeys="+" latin:keyWidth="10.0%p" /> </case> <default> @@ -117,7 +117,7 @@ </switch> <Key latin:keyLabel="ז" - latin:popupCharacters="ז׳" /> + latin:moreKeys="ז׳" /> <Key latin:keyLabel="ס" /> <Key @@ -130,13 +130,13 @@ latin:keyLabel="מ" /> <Key latin:keyLabel="צ" - latin:popupCharacters="צ׳" /> + latin:moreKeys="צ׳" /> <Key latin:keyLabel="ת" - latin:popupCharacters="ת׳" /> + latin:moreKeys="ת׳" /> <Key latin:keyLabel="ץ" - latin:popupCharacters="ץ׳" /> + latin:moreKeys="ץ׳" /> <Key latin:keyStyle="returnKeyStyle" latin:keyXPos="-10.400%p" diff --git a/java/res/xml-sw600dp/kbd_rows_qwertz.xml b/java/res/xml-sw600dp/kbd_rows_qwertz.xml index 3d177e72d..98667e09c 100644 --- a/java/res/xml-sw600dp/kbd_rows_qwertz.xml +++ b/java/res/xml-sw600dp/kbd_rows_qwertz.xml @@ -28,34 +28,34 @@ > <Key latin:keyLabel="q" - latin:popupCharacters="@string/alternates_for_q" /> + latin:moreKeys="@string/more_keys_for_q" /> <Key latin:keyLabel="w" - latin:popupCharacters="@string/alternates_for_w" /> + latin:moreKeys="@string/more_keys_for_w" /> <Key latin:keyLabel="e" - latin:popupCharacters="@string/alternates_for_e" /> + latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" - latin:popupCharacters="@string/alternates_for_r" /> + latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" - latin:popupCharacters="@string/alternates_for_t" /> + latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="z" - latin:popupCharacters="@string/alternates_for_z" /> + latin:moreKeys="@string/more_keys_for_z" /> <Key latin:keyLabel="u" - latin:popupCharacters="@string/alternates_for_u" /> + latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" - latin:popupCharacters="@string/alternates_for_i" /> + latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" - latin:popupCharacters="@string/alternates_for_o" /> + latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" - latin:popupCharacters="@string/alternates_for_p" /> + latin:moreKeys="@string/more_keys_for_p" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-10.0%p" @@ -71,20 +71,20 @@ latin:keyWidth="10.0%p" /> <Key latin:keyLabel="y" - latin:popupCharacters="@string/alternates_for_y" /> + latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="x" /> <Key latin:keyLabel="c" - latin:popupCharacters="@string/alternates_for_c" /> + latin:moreKeys="@string/more_keys_for_c" /> <Key latin:keyLabel="v" - latin:popupCharacters="@string/alternates_for_v" /> + latin:moreKeys="@string/more_keys_for_v" /> <Key latin:keyLabel="b" /> <Key latin:keyLabel="n" - latin:popupCharacters="@string/alternates_for_n" /> + latin:moreKeys="@string/more_keys_for_n" /> <Key latin:keyLabel="m" /> <switch> @@ -101,12 +101,12 @@ latin:keyLabel="," latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="!" - latin:popupCharacters="!" /> + latin:moreKeys="!" /> <Key latin:keyLabel="." latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="\?" - latin:popupCharacters="\?" /> + latin:moreKeys="\?" /> </default> </switch> <include diff --git a/java/res/xml-sw600dp/kbd_rows_russian.xml b/java/res/xml-sw600dp/kbd_rows_russian.xml index 2f4b95e60..cc9ad3aa7 100644 --- a/java/res/xml-sw600dp/kbd_rows_russian.xml +++ b/java/res/xml-sw600dp/kbd_rows_russian.xml @@ -36,7 +36,7 @@ latin:keyLabel="к" /> <Key latin:keyLabel="е" - latin:popupCharacters="@string/alternates_for_cyrillic_e" /> + latin:moreKeys="@string/more_keys_for_cyrillic_e" /> <Key latin:keyLabel="н" /> <Key @@ -124,12 +124,12 @@ latin:keyLabel="," latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="!" - latin:popupCharacters="!" /> + latin:moreKeys="!" /> <Key latin:keyLabel="." latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="\?" - latin:popupCharacters="\?" /> + latin:moreKeys="\?" /> </default> </switch> <include diff --git a/java/res/xml-sw600dp/kbd_rows_scandinavian.xml b/java/res/xml-sw600dp/kbd_rows_scandinavian.xml index 505913726..19fb5212b 100644 --- a/java/res/xml-sw600dp/kbd_rows_scandinavian.xml +++ b/java/res/xml-sw600dp/kbd_rows_scandinavian.xml @@ -28,34 +28,34 @@ > <Key latin:keyLabel="q" - latin:popupCharacters="@string/alternates_for_q" /> + latin:moreKeys="@string/more_keys_for_q" /> <Key latin:keyLabel="w" - latin:popupCharacters="@string/alternates_for_w" /> + latin:moreKeys="@string/more_keys_for_w" /> <Key latin:keyLabel="e" - latin:popupCharacters="@string/alternates_for_e" /> + latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" - latin:popupCharacters="@string/alternates_for_r" /> + latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" - latin:popupCharacters="@string/alternates_for_t" /> + latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="y" - latin:popupCharacters="@string/alternates_for_y" /> + latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="u" - latin:popupCharacters="@string/alternates_for_u" /> + latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" - latin:popupCharacters="@string/alternates_for_i" /> + latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" - latin:popupCharacters="@string/alternates_for_o" /> + latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" - latin:popupCharacters="@string/alternates_for_p" /> + latin:moreKeys="@string/more_keys_for_p" /> <Key latin:keyLabel="å" /> <Key @@ -69,34 +69,34 @@ <Key latin:keyLabel="a" latin:keyXPos="3.5%p" - latin:popupCharacters="@string/alternates_for_a" /> + latin:moreKeys="@string/more_keys_for_a" /> <Key latin:keyLabel="s" - latin:popupCharacters="@string/alternates_for_s" /> + latin:moreKeys="@string/more_keys_for_s" /> <Key latin:keyLabel="d" - latin:popupCharacters="@string/alternates_for_d" /> + latin:moreKeys="@string/more_keys_for_d" /> <Key latin:keyLabel="f" /> <Key latin:keyLabel="g" - latin:popupCharacters="@string/alternates_for_g" /> + latin:moreKeys="@string/more_keys_for_g" /> <Key latin:keyLabel="h" /> <Key latin:keyLabel="j" /> <Key latin:keyLabel="k" - latin:popupCharacters="@string/alternates_for_k" /> + latin:moreKeys="@string/more_keys_for_k" /> <Key latin:keyLabel="l" - latin:popupCharacters="@string/alternates_for_l" /> + latin:moreKeys="@string/more_keys_for_l" /> <Key latin:keyLabel="@string/keylabel_for_scandinavia_row2_10" - latin:popupCharacters="@string/alternates_for_scandinavia_row2_10" /> + latin:moreKeys="@string/more_keys_for_scandinavia_row2_10" /> <Key latin:keyLabel="@string/keylabel_for_scandinavia_row2_11" - latin:popupCharacters="@string/alternates_for_scandinavia_row2_11" /> + latin:moreKeys="@string/more_keys_for_scandinavia_row2_11" /> <Key latin:keyStyle="returnKeyStyle" latin:keyXPos="-14.6%p" @@ -112,20 +112,20 @@ latin:keyWidth="4.35%p" /> <Key latin:keyLabel="z" - latin:popupCharacters="@string/alternates_for_z" /> + latin:moreKeys="@string/more_keys_for_z" /> <Key latin:keyLabel="x" /> <Key latin:keyLabel="c" - latin:popupCharacters="@string/alternates_for_c" /> + latin:moreKeys="@string/more_keys_for_c" /> <Key latin:keyLabel="v" - latin:popupCharacters="@string/alternates_for_v" /> + latin:moreKeys="@string/more_keys_for_v" /> <Key latin:keyLabel="b" /> <Key latin:keyLabel="n" - latin:popupCharacters="@string/alternates_for_n" /> + latin:moreKeys="@string/more_keys_for_n" /> <Key latin:keyLabel="m" /> <include diff --git a/java/res/xml-sw600dp/kbd_rows_spanish.xml b/java/res/xml-sw600dp/kbd_rows_spanish.xml index 49243eb5c..8506af697 100644 --- a/java/res/xml-sw600dp/kbd_rows_spanish.xml +++ b/java/res/xml-sw600dp/kbd_rows_spanish.xml @@ -30,29 +30,29 @@ > <Key latin:keyLabel="a" - latin:popupCharacters="@string/alternates_for_a" + latin:moreKeys="@string/more_keys_for_a" latin:keyXPos="5.0%p" /> <Key latin:keyLabel="s" - latin:popupCharacters="@string/alternates_for_s" /> + latin:moreKeys="@string/more_keys_for_s" /> <Key latin:keyLabel="d" - latin:popupCharacters="@string/alternates_for_d" /> + latin:moreKeys="@string/more_keys_for_d" /> <Key latin:keyLabel="f" /> <Key latin:keyLabel="g" - latin:popupCharacters="@string/alternates_for_g" /> + latin:moreKeys="@string/more_keys_for_g" /> <Key latin:keyLabel="h" /> <Key latin:keyLabel="j" /> <Key latin:keyLabel="k" - latin:popupCharacters="@string/alternates_for_k" /> + latin:moreKeys="@string/more_keys_for_k" /> <Key latin:keyLabel="l" - latin:popupCharacters="@string/alternates_for_l" /> + latin:moreKeys="@string/more_keys_for_l" /> <Key latin:keyLabel="ñ" /> <Key diff --git a/java/res/xml-sw600dp/kbd_rows_symbols.xml b/java/res/xml-sw600dp/kbd_rows_symbols.xml index 420e46cce..d3513c9c6 100644 --- a/java/res/xml-sw600dp/kbd_rows_symbols.xml +++ b/java/res/xml-sw600dp/kbd_rows_symbols.xml @@ -30,34 +30,34 @@ > <Key latin:keyLabel="@string/keylabel_for_symbols_1" - latin:popupCharacters="@string/alternates_for_symbols_1" /> + latin:moreKeys="@string/more_keys_for_symbols_1" /> <Key latin:keyLabel="@string/keylabel_for_symbols_2" - latin:popupCharacters="@string/alternates_for_symbols_2" /> + latin:moreKeys="@string/more_keys_for_symbols_2" /> <Key latin:keyLabel="@string/keylabel_for_symbols_3" - latin:popupCharacters="@string/alternates_for_symbols_3" /> + latin:moreKeys="@string/more_keys_for_symbols_3" /> <Key latin:keyLabel="@string/keylabel_for_symbols_4" - latin:popupCharacters="@string/alternates_for_symbols_4" /> + latin:moreKeys="@string/more_keys_for_symbols_4" /> <Key latin:keyLabel="@string/keylabel_for_symbols_5" - latin:popupCharacters="@string/alternates_for_symbols_5" /> + latin:moreKeys="@string/more_keys_for_symbols_5" /> <Key latin:keyLabel="@string/keylabel_for_symbols_6" - latin:popupCharacters="@string/alternates_for_symbols_6" /> + latin:moreKeys="@string/more_keys_for_symbols_6" /> <Key latin:keyLabel="@string/keylabel_for_symbols_7" - latin:popupCharacters="@string/alternates_for_symbols_7" /> + latin:moreKeys="@string/more_keys_for_symbols_7" /> <Key latin:keyLabel="@string/keylabel_for_symbols_8" - latin:popupCharacters="@string/alternates_for_symbols_8" /> + latin:moreKeys="@string/more_keys_for_symbols_8" /> <Key latin:keyLabel="@string/keylabel_for_symbols_9" - latin:popupCharacters="@string/alternates_for_symbols_9" /> + latin:moreKeys="@string/more_keys_for_symbols_9" /> <Key latin:keyLabel="@string/keylabel_for_symbols_0" - latin:popupCharacters="@string/alternates_for_symbols_0" /> + latin:moreKeys="@string/more_keys_for_symbols_0" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-10.0%p" @@ -73,24 +73,24 @@ latin:keyStyle="currencyKeyStyle" /> <Key latin:keyLabel="@string/keylabel_for_symbols_percent" - latin:popupCharacters="@string/alternates_for_symbols_percent" /> + latin:moreKeys="@string/more_keys_for_symbols_percent" /> <Key latin:keyLabel="&" /> <Key latin:keyLabel="*" - latin:popupCharacters="†,‡,★" /> + latin:moreKeys="†,‡,★" /> <Key latin:keyLabel="-" - latin:popupCharacters="_,–,—" /> + latin:moreKeys="_,–,—" /> <Key latin:keyLabel="+" - latin:popupCharacters="±" /> + latin:moreKeys="±" /> <Key latin:keyLabel="(" - latin:popupCharacters="[,{,<" /> + latin:moreKeys="[,{,<" /> <Key latin:keyLabel=")" - latin:popupCharacters="],},>" /> + latin:moreKeys="],},>" /> <Key latin:keyStyle="returnKeyStyle" latin:keyXPos="-14.6%p" @@ -104,20 +104,20 @@ latin:keyWidth="10.0%p" /> <Key latin:keyLabel="<" - latin:popupCharacters="≤,«,‹" /> + latin:moreKeys="≤,«,‹" /> <Key latin:keyLabel=">" - latin:popupCharacters="≥,»,›" /> + latin:moreKeys="≥,»,›" /> <Key latin:keyLabel="=" - latin:popupCharacters="≠,≈" /> + latin:moreKeys="≠,≈" /> <switch> <case latin:mode="url" > <Key latin:keyLabel="\'" - latin:popupCharacters="‘,’,‚,‛" /> + latin:moreKeys="‘,’,‚,‛" /> </case> <default> <Key @@ -126,18 +126,18 @@ </switch> <Key latin:keyLabel="@string/keylabel_for_symbols_semicolon" - latin:popupCharacters="@string/alternates_for_symbols_semicolon" /> + latin:moreKeys="@string/more_keys_for_symbols_semicolon" /> <Key latin:keyLabel="@string/keylabel_for_comma" - latin:popupCharacters="@string/alternates_for_comma" /> + latin:moreKeys="@string/more_keys_for_comma" /> <Key latin:keyLabel="." /> <Key latin:keyLabel="!" - latin:popupCharacters="¡" /> + latin:moreKeys="¡" /> <Key latin:keyLabel="@string/keylabel_for_symbols_question" - latin:popupCharacters="@string/alternates_for_symbols_question" /> + latin:moreKeys="@string/more_keys_for_symbols_question" /> <Key latin:keyLabel="/" latin:keyWidth="fillRight" /> @@ -157,10 +157,10 @@ latin:keyXPos="30.750%p" latin:keyWidth="39.750%p" /> <!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. --> - <!-- latin:popupCharacters="“,”,„,‟,«,»,‘,’,‚,‛" --> + <!-- latin:moreKeys="“,”,„,‟,«,»,‘,’,‚,‛" --> <Key latin:keyLabel=""" - latin:popupCharacters="“,”,«,»,‘,’,‚,‛" /> + latin:moreKeys="“,”,«,»,‘,’,‚,‛" /> <Key latin:keyLabel="_" /> <Spacer diff --git a/java/res/xml-sw600dp/kbd_rows_symbols_shift.xml b/java/res/xml-sw600dp/kbd_rows_symbols_shift.xml index c5143d9c8..3d62eff7e 100644 --- a/java/res/xml-sw600dp/kbd_rows_symbols_shift.xml +++ b/java/res/xml-sw600dp/kbd_rows_symbols_shift.xml @@ -34,19 +34,19 @@ latin:keyLabel="|" /> <Key latin:keyLabel="•" - latin:popupCharacters="♪,♥,♠,♦,♣" /> + latin:moreKeys="♪,♥,♠,♦,♣" /> <Key latin:keyLabel="√" /> <Key latin:keyLabel="π" - latin:popupCharacters="Π" /> + latin:moreKeys="Π" /> <Key latin:keyLabel="÷" /> <Key latin:keyLabel="×" /> <Key latin:keyLabel="§" - latin:popupCharacters="¶" /> + latin:moreKeys="¶" /> <Key latin:keyLabel="Δ" /> <Key @@ -68,13 +68,13 @@ latin:keyLabel="¥" /> <Key latin:keyLabel="^" - latin:popupCharacters="↑,↓,←,→" /> + latin:moreKeys="↑,↓,←,→" /> <Key latin:keyLabel="°" - latin:popupCharacters="′,″" /> + latin:moreKeys="′,″" /> <Key latin:keyLabel="±" - latin:popupCharacters="∞" /> + latin:moreKeys="∞" /> <Key latin:keyLabel="{" /> <Key diff --git a/java/res/xml-sw768dp/kbd_key_styles.xml b/java/res/xml-sw768dp/kbd_key_styles.xml index 52ee91a37..6570ebccb 100644 --- a/java/res/xml-sw768dp/kbd_key_styles.xml +++ b/java/res/xml-sw768dp/kbd_key_styles.xml @@ -54,8 +54,8 @@ latin:keyLabel=":-)" latin:keyOutputText=":-) " latin:keyLabelOption="hasPopupHint" - latin:popupCharacters="@string/alternates_for_smiley" - latin:maxMiniKeyboardColumn="5" /> + latin:moreKeys="@string/more_keys_for_smiley" + latin:maxMoreKeysColumn="5" /> <key-style latin:styleName="settingsKeyStyle" latin:code="@integer/key_settings" @@ -103,5 +103,5 @@ latin:keyLabel="@string/keylabel_for_popular_domain" latin:keyLabelOption="fontNormal|hasPopupHint" latin:keyOutputText="@string/keylabel_for_popular_domain" - latin:popupCharacters="@string/alternates_for_popular_domain" /> + latin:moreKeys="@string/more_keys_for_popular_domain" /> </merge> diff --git a/java/res/xml-sw768dp/kbd_popup_template.xml b/java/res/xml-sw768dp/kbd_mini_keyboard_template.xml index 7d39d1a3a..1c15a5e9c 100644 --- a/java/res/xml-sw768dp/kbd_popup_template.xml +++ b/java/res/xml-sw768dp/kbd_mini_keyboard_template.xml @@ -20,8 +20,6 @@ <Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" latin:keyWidth="5.0%p" - latin:horizontalGap="0px" - latin:verticalGap="0px" latin:rowHeight="@dimen/popup_key_height" > </Keyboard> diff --git a/java/res/xml-sw768dp/kbd_qwerty_row1.xml b/java/res/xml-sw768dp/kbd_qwerty_row1.xml index 0fdb463f1..14b8bddfb 100644 --- a/java/res/xml-sw768dp/kbd_qwerty_row1.xml +++ b/java/res/xml-sw768dp/kbd_qwerty_row1.xml @@ -30,34 +30,34 @@ latin:keyWidth="7.969%p" /> <Key latin:keyLabel="q" - latin:popupCharacters="@string/alternates_for_q" /> + latin:moreKeys="@string/more_keys_for_q" /> <Key latin:keyLabel="w" - latin:popupCharacters="@string/alternates_for_w" /> + latin:moreKeys="@string/more_keys_for_w" /> <Key latin:keyLabel="e" - latin:popupCharacters="@string/alternates_for_e" /> + latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" - latin:popupCharacters="@string/alternates_for_r" /> + latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" - latin:popupCharacters="@string/alternates_for_t" /> + latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="y" - latin:popupCharacters="@string/alternates_for_y" /> + latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="u" - latin:popupCharacters="@string/alternates_for_u" /> + latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" - latin:popupCharacters="@string/alternates_for_i" /> + latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" - latin:popupCharacters="@string/alternates_for_o" /> + latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" - latin:popupCharacters="@string/alternates_for_p" /> + latin:moreKeys="@string/more_keys_for_p" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-9.219%p" diff --git a/java/res/xml-sw768dp/kbd_qwerty_row2.xml b/java/res/xml-sw768dp/kbd_qwerty_row2.xml index 7f7dd57f0..2c312a328 100644 --- a/java/res/xml-sw768dp/kbd_qwerty_row2.xml +++ b/java/res/xml-sw768dp/kbd_qwerty_row2.xml @@ -30,28 +30,28 @@ latin:keyWidth="11.172%p"/> <Key latin:keyLabel="a" - latin:popupCharacters="@string/alternates_for_a" /> + latin:moreKeys="@string/more_keys_for_a" /> <Key latin:keyLabel="s" - latin:popupCharacters="@string/alternates_for_s" /> + latin:moreKeys="@string/more_keys_for_s" /> <Key latin:keyLabel="d" - latin:popupCharacters="@string/alternates_for_d" /> + latin:moreKeys="@string/more_keys_for_d" /> <Key latin:keyLabel="f" /> <Key latin:keyLabel="g" - latin:popupCharacters="@string/alternates_for_g" /> + latin:moreKeys="@string/more_keys_for_g" /> <Key latin:keyLabel="h" /> <Key latin:keyLabel="j" /> <Key latin:keyLabel="k" - latin:popupCharacters="@string/alternates_for_k" /> + latin:moreKeys="@string/more_keys_for_k" /> <Key latin:keyLabel="l" - latin:popupCharacters="@string/alternates_for_l" /> + latin:moreKeys="@string/more_keys_for_l" /> <Key latin:keyStyle="returnKeyStyle" latin:keyXPos="-15.704%p" diff --git a/java/res/xml-sw768dp/kbd_qwerty_row3.xml b/java/res/xml-sw768dp/kbd_qwerty_row3.xml index 677235f63..f2f137ea9 100644 --- a/java/res/xml-sw768dp/kbd_qwerty_row3.xml +++ b/java/res/xml-sw768dp/kbd_qwerty_row3.xml @@ -29,20 +29,20 @@ latin:keyWidth="13.829%p"/> <Key latin:keyLabel="z" - latin:popupCharacters="@string/alternates_for_z" /> + latin:moreKeys="@string/more_keys_for_z" /> <Key latin:keyLabel="x" /> <Key latin:keyLabel="c" - latin:popupCharacters="@string/alternates_for_c" /> + latin:moreKeys="@string/more_keys_for_c" /> <Key latin:keyLabel="v" - latin:popupCharacters="@string/alternates_for_v" /> + latin:moreKeys="@string/more_keys_for_v" /> <Key latin:keyLabel="b" /> <Key latin:keyLabel="n" - latin:popupCharacters="@string/alternates_for_n" /> + latin:moreKeys="@string/more_keys_for_n" /> <Key latin:keyLabel="m" /> <include diff --git a/java/res/xml-sw768dp/kbd_qwerty_row4.xml b/java/res/xml-sw768dp/kbd_qwerty_row4.xml index 1ff9d81f1..9346111ee 100644 --- a/java/res/xml-sw768dp/kbd_qwerty_row4.xml +++ b/java/res/xml-sw768dp/kbd_qwerty_row4.xml @@ -59,7 +59,7 @@ latin:keyLabel=":" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="+" - latin:popupCharacters="+" /> + latin:moreKeys="+" /> </case> <default> <Key @@ -78,7 +78,7 @@ latin:keyLabel="/" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="\@" - latin:popupCharacters="\@" /> + latin:moreKeys="\@" /> </default> </switch> </default> diff --git a/java/res/xml-sw768dp/kbd_row3_comma_period.xml b/java/res/xml-sw768dp/kbd_row3_comma_period.xml index 25453160f..b84443078 100644 --- a/java/res/xml-sw768dp/kbd_row3_comma_period.xml +++ b/java/res/xml-sw768dp/kbd_row3_comma_period.xml @@ -35,12 +35,12 @@ latin:keyLabel="," latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="!" - latin:popupCharacters="!" /> + latin:moreKeys="!" /> <Key latin:keyLabel="." latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="\?" - latin:popupCharacters="\?" /> + latin:moreKeys="\?" /> </default> </switch> </merge> diff --git a/java/res/xml-sw768dp/kbd_row4_apostrophe_dash.xml b/java/res/xml-sw768dp/kbd_row4_apostrophe_dash.xml index 50d4d4b10..9536e81da 100644 --- a/java/res/xml-sw768dp/kbd_row4_apostrophe_dash.xml +++ b/java/res/xml-sw768dp/kbd_row4_apostrophe_dash.xml @@ -35,14 +35,14 @@ latin:keyLabel="/" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel=":" - latin:popupCharacters=":" /> + latin:moreKeys=":" /> </case> <default> <Key latin:keyLabel="@string/keylabel_for_apostrophe" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="@string/keyhintlabel_for_apostrophe" - latin:popupCharacters="@string/alternates_for_apostrophe" /> + latin:moreKeys="@string/more_keys_for_apostrophe" /> </default> </switch> <switch> @@ -57,7 +57,7 @@ latin:keyLabel="@string/keylabel_for_dash" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="@string/keyhintlabel_for_dash" - latin:popupCharacters="@string/alternates_for_dash" /> + latin:moreKeys="@string/more_keys_for_dash" /> </default> </switch> </merge> diff --git a/java/res/xml-sw768dp/kbd_rows_arabic.xml b/java/res/xml-sw768dp/kbd_rows_arabic.xml index 2f10d54e8..984ba5092 100644 --- a/java/res/xml-sw768dp/kbd_rows_arabic.xml +++ b/java/res/xml-sw768dp/kbd_rows_arabic.xml @@ -40,7 +40,7 @@ latin:keyLabel="ق" /> <Key latin:keyLabel="ف" - latin:popupCharacters="ڤ" /> + latin:moreKeys="ڤ" /> <Key latin:keyLabel="غ" /> <Key @@ -49,14 +49,14 @@ \u0647\u0640: ARABIC LETTER HEH + ARABIC TATWEEL --> <Key latin:keyLabel="ه" - latin:popupCharacters="\ufeeb|\u0647\u0640" /> + latin:moreKeys="\ufeeb|\u0647\u0640" /> <Key latin:keyLabel="خ" /> <Key latin:keyLabel="ح" /> <Key latin:keyLabel="ج" - latin:popupCharacters="چ" /> + latin:moreKeys="چ" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-11.500%p" @@ -77,7 +77,7 @@ latin:keyLabel="ي" /> <Key latin:keyLabel="ب" - latin:popupCharacters="پ" /> + latin:moreKeys="پ" /> <!-- \ufefb: ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM \u0644: ARABIC LETTER LAM \u0627: ARABIC LETTER ALEF @@ -89,13 +89,13 @@ \u0622: ARABIC LETTER ALEF WITH MADDA ABOVE --> <Key latin:keyLabel="ل" - latin:popupCharacters="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" /> + latin:moreKeys="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" /> <!-- \u0623: ARABIC LETTER ALEF WITH HAMZA ABOVE \u0625: ARABIC LETTER ALEF WITH HAMZA BELOW \u0622: ARABIC LETTER ALEF WITH MADDA ABOVE --> <Key latin:keyLabel="ا" - latin:popupCharacters="\u0623,\u0625,\u0622" /> + latin:moreKeys="\u0623,\u0625,\u0622" /> <Key latin:keyLabel="ت" /> <Key @@ -104,7 +104,7 @@ latin:keyLabel="م" /> <Key latin:keyLabel="ك" - latin:popupCharacters="گ" /> + latin:moreKeys="گ" /> <Key latin:keyLabel="ط" /> <Key @@ -134,7 +134,7 @@ latin:keyLabel="و" /> <Key latin:keyLabel="ز" - latin:popupCharacters="ژ" /> + latin:moreKeys="ژ" /> <Key latin:keyLabel="ظ" /> <Key diff --git a/java/res/xml-sw768dp/kbd_rows_azerty.xml b/java/res/xml-sw768dp/kbd_rows_azerty.xml index 7aec0d15d..4659d9924 100644 --- a/java/res/xml-sw768dp/kbd_rows_azerty.xml +++ b/java/res/xml-sw768dp/kbd_rows_azerty.xml @@ -32,34 +32,34 @@ latin:keyWidth="7.969%p" /> <Key latin:keyLabel="a" - latin:popupCharacters="@string/alternates_for_a" /> + latin:moreKeys="@string/more_keys_for_a" /> <Key latin:keyLabel="z" - latin:popupCharacters="@string/alternates_for_z" /> + latin:moreKeys="@string/more_keys_for_z" /> <Key latin:keyLabel="e" - latin:popupCharacters="@string/alternates_for_e" /> + latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" - latin:popupCharacters="@string/alternates_for_r" /> + latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" - latin:popupCharacters="@string/alternates_for_t" /> + latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="y" - latin:popupCharacters="@string/alternates_for_y" /> + latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="u" - latin:popupCharacters="@string/alternates_for_u" /> + latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" - latin:popupCharacters="@string/alternates_for_i" /> + latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" - latin:popupCharacters="@string/alternates_for_o" /> + latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" - latin:popupCharacters="@string/alternates_for_p" /> + latin:moreKeys="@string/more_keys_for_p" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-9.219%p" @@ -74,28 +74,28 @@ latin:keyWidth="10.167%p" /> <Key latin:keyLabel="q" - latin:popupCharacters="@string/alternates_for_q" /> + latin:moreKeys="@string/more_keys_for_q" /> <Key latin:keyLabel="s" - latin:popupCharacters="@string/alternates_for_s" /> + latin:moreKeys="@string/more_keys_for_s" /> <Key latin:keyLabel="d" - latin:popupCharacters="@string/alternates_for_d" /> + latin:moreKeys="@string/more_keys_for_d" /> <Key latin:keyLabel="f" /> <Key latin:keyLabel="g" - latin:popupCharacters="@string/alternates_for_g" /> + latin:moreKeys="@string/more_keys_for_g" /> <Key latin:keyLabel="h" /> <Key latin:keyLabel="j" /> <Key latin:keyLabel="k" - latin:popupCharacters="@string/alternates_for_k" /> + latin:moreKeys="@string/more_keys_for_k" /> <Key latin:keyLabel="l" - latin:popupCharacters="@string/alternates_for_l" /> + latin:moreKeys="@string/more_keys_for_l" /> <Key latin:keyLabel="m" /> <Key @@ -111,25 +111,25 @@ latin:keyWidth="13.829%p" /> <Key latin:keyLabel="w" - latin:popupCharacters="@string/alternates_for_w" /> + latin:moreKeys="@string/more_keys_for_w" /> <Key latin:keyLabel="x" /> <Key latin:keyLabel="c" - latin:popupCharacters="@string/alternates_for_c" /> + latin:moreKeys="@string/more_keys_for_c" /> <Key latin:keyLabel="v" - latin:popupCharacters="@string/alternates_for_v" /> + latin:moreKeys="@string/more_keys_for_v" /> <Key latin:keyLabel="b" /> <Key latin:keyLabel="n" - latin:popupCharacters="@string/alternates_for_n" /> + latin:moreKeys="@string/more_keys_for_n" /> <Key latin:keyLabel="\'" latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel=":" - latin:popupCharacters=":" /> + latin:moreKeys=":" /> <switch> <case latin:mode="email" @@ -144,12 +144,12 @@ latin:keyLabel="," latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="!" - latin:popupCharacters="!" /> + latin:moreKeys="!" /> <Key latin:keyLabel="." latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="\?" - latin:popupCharacters="\?" /> + latin:moreKeys="\?" /> </default> </switch> <Key diff --git a/java/res/xml-sw768dp/kbd_rows_hebrew.xml b/java/res/xml-sw768dp/kbd_rows_hebrew.xml index bacc6a13b..27b39d1ae 100644 --- a/java/res/xml-sw768dp/kbd_rows_hebrew.xml +++ b/java/res/xml-sw768dp/kbd_rows_hebrew.xml @@ -66,17 +66,17 @@ latin:keyLabel="ד" /> <Key latin:keyLabel="ג" - latin:popupCharacters="ג׳" /> + latin:moreKeys="ג׳" /> <Key latin:keyLabel="כ" /> <Key latin:keyLabel="ע" /> <Key latin:keyLabel="י" - latin:popupCharacters="ײַ" /> + latin:moreKeys="ײַ" /> <Key latin:keyLabel="ח" - latin:popupCharacters="ח׳" /> + latin:moreKeys="ח׳" /> <Key latin:keyLabel="ל" /> <Key @@ -89,7 +89,7 @@ > <Key latin:keyLabel="ז" - latin:popupCharacters="ז׳" + latin:moreKeys="ז׳" latin:keyXPos="13.829%p" /> <Key latin:keyLabel="ס" /> @@ -103,13 +103,13 @@ latin:keyLabel="מ" /> <Key latin:keyLabel="צ" - latin:popupCharacters="צ׳" /> + latin:moreKeys="צ׳" /> <Key latin:keyLabel="ת" - latin:popupCharacters="ת׳" /> + latin:moreKeys="ת׳" /> <Key latin:keyLabel="ץ" - latin:popupCharacters="ץ׳" /> + latin:moreKeys="ץ׳" /> <Key latin:keyStyle="returnKeyStyle" latin:keyXPos="-10.400%p" diff --git a/java/res/xml-sw768dp/kbd_rows_qwertz.xml b/java/res/xml-sw768dp/kbd_rows_qwertz.xml index 5556d1f3d..82e0dd09c 100644 --- a/java/res/xml-sw768dp/kbd_rows_qwertz.xml +++ b/java/res/xml-sw768dp/kbd_rows_qwertz.xml @@ -32,34 +32,34 @@ latin:keyWidth="7.969%p" /> <Key latin:keyLabel="q" - latin:popupCharacters="@string/alternates_for_q" /> + latin:moreKeys="@string/more_keys_for_q" /> <Key latin:keyLabel="w" - latin:popupCharacters="@string/alternates_for_w" /> + latin:moreKeys="@string/more_keys_for_w" /> <Key latin:keyLabel="e" - latin:popupCharacters="@string/alternates_for_e" /> + latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" - latin:popupCharacters="@string/alternates_for_r" /> + latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" - latin:popupCharacters="@string/alternates_for_t" /> + latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="z" - latin:popupCharacters="@string/alternates_for_z" /> + latin:moreKeys="@string/more_keys_for_z" /> <Key latin:keyLabel="u" - latin:popupCharacters="@string/alternates_for_u" /> + latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" - latin:popupCharacters="@string/alternates_for_i" /> + latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" - latin:popupCharacters="@string/alternates_for_o" /> + latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" - latin:popupCharacters="@string/alternates_for_p" /> + latin:moreKeys="@string/more_keys_for_p" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-9.219%p" @@ -75,20 +75,20 @@ latin:keyWidth="13.829%p" /> <Key latin:keyLabel="y" - latin:popupCharacters="@string/alternates_for_y" /> + latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="x" /> <Key latin:keyLabel="c" - latin:popupCharacters="@string/alternates_for_c" /> + latin:moreKeys="@string/more_keys_for_c" /> <Key latin:keyLabel="v" - latin:popupCharacters="@string/alternates_for_v" /> + latin:moreKeys="@string/more_keys_for_v" /> <Key latin:keyLabel="b" /> <Key latin:keyLabel="n" - latin:popupCharacters="@string/alternates_for_n" /> + latin:moreKeys="@string/more_keys_for_n" /> <Key latin:keyLabel="m" /> <switch> @@ -105,12 +105,12 @@ latin:keyLabel="," latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="!" - latin:popupCharacters="!" /> + latin:moreKeys="!" /> <Key latin:keyLabel="." latin:keyLabelOption="hasUppercaseLetter" latin:keyHintLabel="\?" - latin:popupCharacters="\?" /> + latin:moreKeys="\?" /> </default> </switch> <Key diff --git a/java/res/xml-sw768dp/kbd_rows_russian.xml b/java/res/xml-sw768dp/kbd_rows_russian.xml index 82ceaeadc..e5f556958 100644 --- a/java/res/xml-sw768dp/kbd_rows_russian.xml +++ b/java/res/xml-sw768dp/kbd_rows_russian.xml @@ -39,7 +39,7 @@ latin:keyLabel="к" /> <Key latin:keyLabel="е" - latin:popupCharacters="@string/alternates_for_cyrillic_e" /> + latin:moreKeys="@string/more_keys_for_cyrillic_e" /> <Key latin:keyLabel="н" /> <Key diff --git a/java/res/xml-sw768dp/kbd_rows_scandinavian.xml b/java/res/xml-sw768dp/kbd_rows_scandinavian.xml index 743c6bd26..b9d168036 100644 --- a/java/res/xml-sw768dp/kbd_rows_scandinavian.xml +++ b/java/res/xml-sw768dp/kbd_rows_scandinavian.xml @@ -32,34 +32,34 @@ latin:keyWidth="7.500%p" /> <Key latin:keyLabel="q" - latin:popupCharacters="@string/alternates_for_q" /> + latin:moreKeys="@string/more_keys_for_q" /> <Key latin:keyLabel="w" - latin:popupCharacters="@string/alternates_for_w" /> + latin:moreKeys="@string/more_keys_for_w" /> <Key latin:keyLabel="e" - latin:popupCharacters="@string/alternates_for_e" /> + latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" - latin:popupCharacters="@string/alternates_for_r" /> + latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" - latin:popupCharacters="@string/alternates_for_t" /> + latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="y" - latin:popupCharacters="@string/alternates_for_y" /> + latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="u" - latin:popupCharacters="@string/alternates_for_u" /> + latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" - latin:popupCharacters="@string/alternates_for_i" /> + latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" - latin:popupCharacters="@string/alternates_for_o" /> + latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" - latin:popupCharacters="@string/alternates_for_p" /> + latin:moreKeys="@string/more_keys_for_p" /> <Key latin:keyLabel="å" /> <Key @@ -76,34 +76,34 @@ latin:keyWidth="9.375%p" /> <Key latin:keyLabel="a" - latin:popupCharacters="@string/alternates_for_a" /> + latin:moreKeys="@string/more_keys_for_a" /> <Key latin:keyLabel="s" - latin:popupCharacters="@string/alternates_for_s" /> + latin:moreKeys="@string/more_keys_for_s" /> <Key latin:keyLabel="d" - latin:popupCharacters="@string/alternates_for_d" /> + latin:moreKeys="@string/more_keys_for_d" /> <Key latin:keyLabel="f" /> <Key latin:keyLabel="g" - latin:popupCharacters="@string/alternates_for_g" /> + latin:moreKeys="@string/more_keys_for_g" /> <Key latin:keyLabel="h" /> <Key latin:keyLabel="j" /> <Key latin:keyLabel="k" - latin:popupCharacters="@string/alternates_for_k" /> + latin:moreKeys="@string/more_keys_for_k" /> <Key latin:keyLabel="l" - latin:popupCharacters="@string/alternates_for_l" /> + latin:moreKeys="@string/more_keys_for_l" /> <Key latin:keyLabel="@string/keylabel_for_scandinavia_row2_10" - latin:popupCharacters="@string/alternates_for_scandinavia_row2_10" /> + latin:moreKeys="@string/more_keys_for_scandinavia_row2_10" /> <Key latin:keyLabel="@string/keylabel_for_scandinavia_row2_11" - latin:popupCharacters="@string/alternates_for_scandinavia_row2_11" /> + latin:moreKeys="@string/more_keys_for_scandinavia_row2_11" /> <Key latin:keyStyle="returnKeyStyle" latin:keyXPos="-9.375%p" @@ -117,20 +117,20 @@ latin:keyWidth="12.750%p" /> <Key latin:keyLabel="z" - latin:popupCharacters="@string/alternates_for_z" /> + latin:moreKeys="@string/more_keys_for_z" /> <Key latin:keyLabel="x" /> <Key latin:keyLabel="c" - latin:popupCharacters="@string/alternates_for_c" /> + latin:moreKeys="@string/more_keys_for_c" /> <Key latin:keyLabel="v" - latin:popupCharacters="@string/alternates_for_v" /> + latin:moreKeys="@string/more_keys_for_v" /> <Key latin:keyLabel="b" /> <Key latin:keyLabel="n" - latin:popupCharacters="@string/alternates_for_n" /> + latin:moreKeys="@string/more_keys_for_n" /> <Key latin:keyLabel="m" /> <include diff --git a/java/res/xml-sw768dp/kbd_rows_spanish.xml b/java/res/xml-sw768dp/kbd_rows_spanish.xml index 510cafbfd..c737f400a 100644 --- a/java/res/xml-sw768dp/kbd_rows_spanish.xml +++ b/java/res/xml-sw768dp/kbd_rows_spanish.xml @@ -34,28 +34,28 @@ latin:keyWidth="10.167%p" /> <Key latin:keyLabel="a" - latin:popupCharacters="@string/alternates_for_a" /> + latin:moreKeys="@string/more_keys_for_a" /> <Key latin:keyLabel="s" - latin:popupCharacters="@string/alternates_for_s" /> + latin:moreKeys="@string/more_keys_for_s" /> <Key latin:keyLabel="d" - latin:popupCharacters="@string/alternates_for_d" /> + latin:moreKeys="@string/more_keys_for_d" /> <Key latin:keyLabel="f" /> <Key latin:keyLabel="g" - latin:popupCharacters="@string/alternates_for_g" /> + latin:moreKeys="@string/more_keys_for_g" /> <Key latin:keyLabel="h" /> <Key latin:keyLabel="j" /> <Key latin:keyLabel="k" - latin:popupCharacters="@string/alternates_for_k" /> + latin:moreKeys="@string/more_keys_for_k" /> <Key latin:keyLabel="l" - latin:popupCharacters="@string/alternates_for_l" /> + latin:moreKeys="@string/more_keys_for_l" /> <Key latin:keyLabel="ñ" /> <Key diff --git a/java/res/xml-sw768dp/kbd_rows_symbols.xml b/java/res/xml-sw768dp/kbd_rows_symbols.xml index 66b9789ac..fd18a2a76 100644 --- a/java/res/xml-sw768dp/kbd_rows_symbols.xml +++ b/java/res/xml-sw768dp/kbd_rows_symbols.xml @@ -34,34 +34,34 @@ latin:keyWidth="7.969%p" /> <Key latin:keyLabel="@string/keylabel_for_symbols_1" - latin:popupCharacters="@string/alternates_for_symbols_1" /> + latin:moreKeys="@string/more_keys_for_symbols_1" /> <Key latin:keyLabel="@string/keylabel_for_symbols_2" - latin:popupCharacters="@string/alternates_for_symbols_2" /> + latin:moreKeys="@string/more_keys_for_symbols_2" /> <Key latin:keyLabel="@string/keylabel_for_symbols_3" - latin:popupCharacters="@string/alternates_for_symbols_3" /> + latin:moreKeys="@string/more_keys_for_symbols_3" /> <Key latin:keyLabel="@string/keylabel_for_symbols_4" - latin:popupCharacters="@string/alternates_for_symbols_4" /> + latin:moreKeys="@string/more_keys_for_symbols_4" /> <Key latin:keyLabel="@string/keylabel_for_symbols_5" - latin:popupCharacters="@string/alternates_for_symbols_5" /> + latin:moreKeys="@string/more_keys_for_symbols_5" /> <Key latin:keyLabel="@string/keylabel_for_symbols_6" - latin:popupCharacters="@string/alternates_for_symbols_6" /> + latin:moreKeys="@string/more_keys_for_symbols_6" /> <Key latin:keyLabel="@string/keylabel_for_symbols_7" - latin:popupCharacters="@string/alternates_for_symbols_7" /> + latin:moreKeys="@string/more_keys_for_symbols_7" /> <Key latin:keyLabel="@string/keylabel_for_symbols_8" - latin:popupCharacters="@string/alternates_for_symbols_8" /> + latin:moreKeys="@string/more_keys_for_symbols_8" /> <Key latin:keyLabel="@string/keylabel_for_symbols_9" - latin:popupCharacters="@string/alternates_for_symbols_9" /> + latin:moreKeys="@string/more_keys_for_symbols_9" /> <Key latin:keyLabel="@string/keylabel_for_symbols_0" - latin:popupCharacters="@string/alternates_for_symbols_0" /> + latin:moreKeys="@string/more_keys_for_symbols_0" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyXPos="-9.219%p" @@ -80,24 +80,24 @@ latin:keyStyle="currencyKeyStyle" /> <Key latin:keyLabel="@string/keylabel_for_symbols_percent" - latin:popupCharacters="@string/alternates_for_symbols_percent" /> + latin:moreKeys="@string/more_keys_for_symbols_percent" /> <Key latin:keyLabel="&" /> <Key latin:keyLabel="*" - latin:popupCharacters="†,‡,★" /> + latin:moreKeys="†,‡,★" /> <Key latin:keyLabel="-" - latin:popupCharacters="_,–,—" /> + latin:moreKeys="_,–,—" /> <Key latin:keyLabel="+" - latin:popupCharacters="±" /> + latin:moreKeys="±" /> <Key latin:keyLabel="(" - latin:popupCharacters="[,{,<" /> + latin:moreKeys="[,{,<" /> <Key latin:keyLabel=")" - latin:popupCharacters="],},>" /> + latin:moreKeys="],},>" /> <Key latin:keyStyle="returnKeyStyle" latin:keyXPos="-15.704%p" @@ -111,20 +111,20 @@ latin:keyWidth="13.829%p" /> <Key latin:keyLabel="<" - latin:popupCharacters="≤,«,‹" /> + latin:moreKeys="≤,«,‹" /> <Key latin:keyLabel=">" - latin:popupCharacters="≥,»,›" /> + latin:moreKeys="≥,»,›" /> <Key latin:keyLabel="=" - latin:popupCharacters="≠,≈" /> + latin:moreKeys="≠,≈" /> <switch> <case latin:mode="url" > <Key latin:keyLabel="\'" - latin:popupCharacters="‘,’,‚,‛" /> + latin:moreKeys="‘,’,‚,‛" /> </case> <default> <Key @@ -133,18 +133,18 @@ </switch> <Key latin:keyLabel="@string/keylabel_for_symbols_semicolon" - latin:popupCharacters="@string/alternates_for_symbols_semicolon" /> + latin:moreKeys="@string/more_keys_for_symbols_semicolon" /> <Key latin:keyLabel="@string/keylabel_for_comma" - latin:popupCharacters="@string/alternates_for_comma" /> + latin:moreKeys="@string/more_keys_for_comma" /> <Key latin:keyLabel="." /> <Key latin:keyLabel="!" - latin:popupCharacters="¡" /> + latin:moreKeys="¡" /> <Key latin:keyLabel="@string/keylabel_for_symbols_question" - latin:popupCharacters="@string/alternates_for_symbols_question" /> + latin:moreKeys="@string/more_keys_for_symbols_question" /> <Key latin:keyStyle="toMoreSymbolKeyStyle" latin:keyXPos="-13.750%p" @@ -172,10 +172,10 @@ latin:keyXPos="31.250%p" latin:keyWidth="37.500%p" /> <!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. --> - <!-- latin:popupCharacters="“,”,„,‟,«,»,‘,’,‚,‛" --> + <!-- latin:moreKeys="“,”,„,‟,«,»,‘,’,‚,‛" --> <Key latin:keyLabel=""" - latin:popupCharacters="“,”,«,»,‘,’,‚,‛" /> + latin:moreKeys="“,”,«,»,‘,’,‚,‛" /> <Key latin:keyLabel="_" /> <switch> diff --git a/java/res/xml-sw768dp/kbd_rows_symbols_shift.xml b/java/res/xml-sw768dp/kbd_rows_symbols_shift.xml index 82bc4b26e..30f72ac46 100644 --- a/java/res/xml-sw768dp/kbd_rows_symbols_shift.xml +++ b/java/res/xml-sw768dp/kbd_rows_symbols_shift.xml @@ -38,19 +38,19 @@ latin:keyLabel="|" /> <Key latin:keyLabel="•" - latin:popupCharacters="♪,♥,♠,♦,♣" /> + latin:moreKeys="♪,♥,♠,♦,♣" /> <Key latin:keyLabel="√" /> <Key latin:keyLabel="π" - latin:popupCharacters="Π" /> + latin:moreKeys="Π" /> <Key latin:keyLabel="÷" /> <Key latin:keyLabel="×" /> <Key latin:keyLabel="§" - latin:popupCharacters="¶" /> + latin:moreKeys="¶" /> <Key latin:keyLabel="Δ" /> <Key @@ -75,13 +75,13 @@ latin:keyLabel="¥" /> <Key latin:keyLabel="^" - latin:popupCharacters="↑,↓,←,→" /> + latin:moreKeys="↑,↓,←,→" /> <Key latin:keyLabel="°" - latin:popupCharacters="′,″" /> + latin:moreKeys="′,″" /> <Key latin:keyLabel="±" - latin:popupCharacters="∞" /> + latin:moreKeys="∞" /> <Key latin:keyLabel="{" /> <Key diff --git a/java/res/xml/kbd_currency_key_styles.xml b/java/res/xml/kbd_currency_key_styles.xml index d2c711766..bcdfe5639 100644 --- a/java/res/xml/kbd_currency_key_styles.xml +++ b/java/res/xml/kbd_currency_key_styles.xml @@ -62,7 +62,7 @@ <key-style latin:styleName="currencyKeyStyle" latin:keyLabel="€" - latin:popupCharacters="@string/alternates_for_currency_euro" /> + latin:moreKeys="@string/more_keys_for_currency_euro" /> </case> <case latin:languageCode="ca|et|lb|mt|sla" @@ -70,7 +70,7 @@ <key-style latin:styleName="currencyKeyStyle" latin:keyLabel="€" - latin:popupCharacters="@string/alternates_for_currency_euro" /> + latin:moreKeys="@string/more_keys_for_currency_euro" /> </case> <case latin:countryCode="AD|AT|BE|CY|EE|FI|FR|DE|GR|IE|IT|XK|LU|MT|MO|ME|NL|PT|SM|SK|SI|ES|VA" @@ -78,7 +78,7 @@ <key-style latin:styleName="currencyKeyStyle" latin:keyLabel="€" - latin:popupCharacters="@string/alternates_for_currency_euro" /> + latin:moreKeys="@string/more_keys_for_currency_euro" /> </case> <case latin:languageCode="iw" @@ -86,7 +86,7 @@ <key-style latin:styleName="currencyKeyStyle" latin:keyLabel="₪" - latin:popupCharacters="@string/alternates_for_currency_general" /> + latin:moreKeys="@string/more_keys_for_currency_general" /> </case> <!-- United Kingdom --> <case @@ -95,13 +95,13 @@ <key-style latin:styleName="currencyKeyStyle" latin:keyLabel="£" - latin:popupCharacters="@string/alternates_for_currency_pound" /> + latin:moreKeys="@string/more_keys_for_currency_pound" /> </case> <default> <key-style latin:styleName="currencyKeyStyle" latin:keyLabel="$" - latin:popupCharacters="@string/alternates_for_currency_dollar" /> + latin:moreKeys="@string/more_keys_for_currency_dollar" /> </default> </switch> </merge> diff --git a/java/res/xml/kbd_key_styles.xml b/java/res/xml/kbd_key_styles.xml index 86f0bf24b..12eab22b9 100644 --- a/java/res/xml/kbd_key_styles.xml +++ b/java/res/xml/kbd_key_styles.xml @@ -33,7 +33,7 @@ <key-style latin:styleName="f1PopupStyle" latin:keyLabelOption="hasPopupHint" - latin:popupCharacters="@string/alternates_for_f1" + latin:moreKeys="@string/more_keys_for_f1" latin:parentStyle="functionalKeyStyle" /> </case> <!-- clobberSettingsKey="false --> @@ -43,7 +43,7 @@ <key-style latin:styleName="f1PopupStyle" latin:keyLabelOption="hasPopupHint" - latin:popupCharacters="@string/alternates_for_f1_settings" + latin:moreKeys="@string/more_keys_for_f1_settings" latin:parentStyle="functionalKeyStyle" /> </case> <!-- clobberSettingsKey="false" hasSettingsKey="true" --> @@ -53,7 +53,7 @@ <key-style latin:styleName="f1PopupStyle" latin:keyLabelOption="hasPopupHint" - latin:popupCharacters="@string/alternates_for_f1_navigate" + latin:moreKeys="@string/more_keys_for_f1_navigate" latin:parentStyle="functionalKeyStyle" /> </case> <!-- clobberSettingsKey="false" and hasSettingsKey="true" navigateAction="false" --> @@ -61,7 +61,7 @@ <key-style latin:styleName="f1PopupStyle" latin:keyLabelOption="hasPopupHint" - latin:popupCharacters="@string/alternates_for_f1" + latin:moreKeys="@string/more_keys_for_f1" latin:parentStyle="functionalKeyStyle" /> </default> </switch> @@ -90,8 +90,8 @@ latin:keyLabel=":-)" latin:keyOutputText=":-) " latin:keyLabelOption="hasPopupHint" - latin:popupCharacters="@string/alternates_for_smiley" - latin:maxMiniKeyboardColumn="5" + latin:moreKeys="@string/more_keys_for_smiley" + latin:maxMoreKeysColumn="5" latin:parentStyle="functionalKeyStyle" /> </case> <case @@ -220,7 +220,7 @@ latin:keyLabel="." latin:keyHintLabel="@string/keyhintlabel_for_punctuation" latin:keyLabelOption="hasPopupHint" - latin:popupCharacters="@string/alternates_for_punctuation" - latin:maxMiniKeyboardColumn="@integer/mini_keyboard_column_for_punctuation" + latin:moreKeys="@string/more_keys_for_punctuation" + latin:maxMoreKeysColumn="@integer/mini_keyboard_column_for_punctuation" latin:parentStyle="functionalKeyStyle" /> </merge> diff --git a/java/res/xml/kbd_mini_keyboard_template.xml b/java/res/xml/kbd_mini_keyboard_template.xml index 79db081a1..d25878b48 100644 --- a/java/res/xml/kbd_mini_keyboard_template.xml +++ b/java/res/xml/kbd_mini_keyboard_template.xml @@ -20,8 +20,6 @@ <Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" latin:keyWidth="10%p" - latin:horizontalGap="@fraction/key_horizontal_gap" - latin:verticalGap="0px" latin:rowHeight="@dimen/popup_key_height" > </Keyboard> diff --git a/java/res/xml/kbd_qwerty_row1.xml b/java/res/xml/kbd_qwerty_row1.xml index daa138255..e8e8d1b46 100644 --- a/java/res/xml/kbd_qwerty_row1.xml +++ b/java/res/xml/kbd_qwerty_row1.xml @@ -27,43 +27,43 @@ <Key latin:keyLabel="q" latin:keyHintLabel="1" - latin:popupCharacters="@string/alternates_for_q" /> + latin:moreKeys="@string/more_keys_for_q" /> <Key latin:keyLabel="w" latin:keyHintLabel="2" - latin:popupCharacters="@string/alternates_for_w" /> + latin:moreKeys="@string/more_keys_for_w" /> <Key latin:keyLabel="e" latin:keyHintLabel="3" - latin:popupCharacters="@string/alternates_for_e" /> + latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" latin:keyHintLabel="4" - latin:popupCharacters="@string/alternates_for_r" /> + latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" latin:keyHintLabel="5" - latin:popupCharacters="@string/alternates_for_t" /> + latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="y" latin:keyHintLabel="6" - latin:popupCharacters="@string/alternates_for_y" /> + latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="u" latin:keyHintLabel="7" - latin:popupCharacters="@string/alternates_for_u" /> + latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" latin:keyHintLabel="8" - latin:popupCharacters="@string/alternates_for_i" /> + latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" latin:keyHintLabel="9" - latin:popupCharacters="@string/alternates_for_o" /> + latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" latin:keyHintLabel="0" - latin:popupCharacters="@string/alternates_for_p" + latin:moreKeys="@string/more_keys_for_p" latin:keyWidth="fillRight" /> </Row> </merge> diff --git a/java/res/xml/kbd_qwerty_row2.xml b/java/res/xml/kbd_qwerty_row2.xml index 6e4872e08..8986780b7 100644 --- a/java/res/xml/kbd_qwerty_row2.xml +++ b/java/res/xml/kbd_qwerty_row2.xml @@ -26,29 +26,29 @@ > <Key latin:keyLabel="a" - latin:popupCharacters="@string/alternates_for_a" + latin:moreKeys="@string/more_keys_for_a" latin:keyXPos="5%p" /> <Key latin:keyLabel="s" - latin:popupCharacters="@string/alternates_for_s" /> + latin:moreKeys="@string/more_keys_for_s" /> <Key latin:keyLabel="d" - latin:popupCharacters="@string/alternates_for_d" /> + latin:moreKeys="@string/more_keys_for_d" /> <Key latin:keyLabel="f" /> <Key latin:keyLabel="g" - latin:popupCharacters="@string/alternates_for_g" /> + latin:moreKeys="@string/more_keys_for_g" /> <Key latin:keyLabel="h" /> <Key latin:keyLabel="j" /> <Key latin:keyLabel="k" - latin:popupCharacters="@string/alternates_for_k" /> + latin:moreKeys="@string/more_keys_for_k" /> <Key latin:keyLabel="l" - latin:popupCharacters="@string/alternates_for_l" /> + latin:moreKeys="@string/more_keys_for_l" /> <!-- Here is 5%p space --> </Row> </merge> diff --git a/java/res/xml/kbd_qwerty_row3.xml b/java/res/xml/kbd_qwerty_row3.xml index 6a2035543..c2b45e752 100644 --- a/java/res/xml/kbd_qwerty_row3.xml +++ b/java/res/xml/kbd_qwerty_row3.xml @@ -30,20 +30,20 @@ latin:visualInsetsRight="1%p" /> <Key latin:keyLabel="z" - latin:popupCharacters="@string/alternates_for_z" /> + latin:moreKeys="@string/more_keys_for_z" /> <Key latin:keyLabel="x" /> <Key latin:keyLabel="c" - latin:popupCharacters="@string/alternates_for_c" /> + latin:moreKeys="@string/more_keys_for_c" /> <Key latin:keyLabel="v" - latin:popupCharacters="@string/alternates_for_v" /> + latin:moreKeys="@string/more_keys_for_v" /> <Key latin:keyLabel="b" /> <Key latin:keyLabel="n" - latin:popupCharacters="@string/alternates_for_n" /> + latin:moreKeys="@string/more_keys_for_n" /> <Key latin:keyLabel="m" /> <Key diff --git a/java/res/xml/kbd_rows_arabic.xml b/java/res/xml/kbd_rows_arabic.xml index daa2a65ed..569ac7ef9 100644 --- a/java/res/xml/kbd_rows_arabic.xml +++ b/java/res/xml/kbd_rows_arabic.xml @@ -29,47 +29,47 @@ <Key latin:keyLabel="ض" latin:keyHintLabel="1" - latin:popupCharacters="1,١" /> + latin:moreKeys="1,١" /> <Key latin:keyLabel="ص" latin:keyHintLabel="2" - latin:popupCharacters="2,٢" /> + latin:moreKeys="2,٢" /> <Key latin:keyLabel="ق" latin:keyHintLabel="3" - latin:popupCharacters="3,٣" /> + latin:moreKeys="3,٣" /> <!-- \u06a4: ARABIC LETTER VEH --> <Key latin:keyLabel="ف" latin:keyHintLabel="4" - latin:popupCharacters="4,٤,\u06a4" /> + latin:moreKeys="4,٤,\u06a4" /> <Key latin:keyLabel="غ" latin:keyHintLabel="5" - latin:popupCharacters="5,٥" /> + latin:moreKeys="5,٥" /> <Key latin:keyLabel="ع" latin:keyHintLabel="6" - latin:popupCharacters="6,٦" /> + latin:moreKeys="6,٦" /> <!-- \ufeeb: ARABIC LETTER HEH INITIAL FORM \u0647\u0640: ARABIC LETTER HEH + ARABIC TATWEEL --> <Key latin:keyLabel="ه" latin:keyHintLabel="7" - latin:popupCharacters="7,٧,\ufeeb|\u0647\u0640" /> + latin:moreKeys="7,٧,\ufeeb|\u0647\u0640" /> <Key latin:keyLabel="خ" latin:keyHintLabel="8" - latin:popupCharacters="8,٨" /> + latin:moreKeys="8,٨" /> <Key latin:keyLabel="ح" latin:keyHintLabel="9" - latin:popupCharacters="9,٩" /> + latin:moreKeys="9,٩" /> <!-- \u0686: ARABIC LETTER TCHEH --> <Key latin:keyLabel="ج" latin:keyHintLabel="0" - latin:popupCharacters="0,٠,\u0686" + latin:moreKeys="0,٠,\u0686" latin:keyWidth="fillRight" /> </Row> <Row @@ -83,10 +83,10 @@ \u0649: ARABIC LETTER ALEF MAKSURA --> <Key latin:keyLabel="ي" - latin:popupCharacters="\u0626,\u0649" /> + latin:moreKeys="\u0626,\u0649" /> <Key latin:keyLabel="ب" - latin:popupCharacters="پ" /> + latin:moreKeys="پ" /> <!-- \ufefb: ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM \u0644: ARABIC LETTER LAM \u0627: ARABIC LETTER ALEF @@ -98,24 +98,24 @@ \u0622: ARABIC LETTER ALEF WITH MADDA ABOVE --> <Key latin:keyLabel="ل" - latin:popupCharacters="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" /> + latin:moreKeys="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" /> <!-- \u0621: ARABIC LETTER HAMZA \u0623: ARABIC LETTER ALEF WITH HAMZA ABOVE \u0625: ARABIC LETTER ALEF WITH HAMZA BELOW \u0622: ARABIC LETTER ALEF WITH MADDA ABOVE --> <Key latin:keyLabel="ا" - latin:popupCharacters="\u0621,\u0623,\u0625,\u0622" /> + latin:moreKeys="\u0621,\u0623,\u0625,\u0622" /> <Key latin:keyLabel="ت" - latin:popupCharacters="ث" /> + latin:moreKeys="ث" /> <Key latin:keyLabel="ن" /> <Key latin:keyLabel="م" /> <Key latin:keyLabel="ك" - latin:popupCharacters="گ" + latin:moreKeys="گ" latin:keyWidth="fillRight" /> </Row> <Row @@ -132,14 +132,14 @@ latin:keyLabel="د" /> <Key latin:keyLabel="ز" - latin:popupCharacters="ژ" /> + latin:moreKeys="ژ" /> <Key latin:keyLabel="ر" /> <Key latin:keyLabel="ة" /> <Key latin:keyLabel="و" - latin:popupCharacters="ؤ" /> + latin:moreKeys="ؤ" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyWidth="fillRight" diff --git a/java/res/xml/kbd_rows_azerty.xml b/java/res/xml/kbd_rows_azerty.xml index dbf25eb95..54fe546e3 100644 --- a/java/res/xml/kbd_rows_azerty.xml +++ b/java/res/xml/kbd_rows_azerty.xml @@ -29,43 +29,43 @@ <Key latin:keyLabel="a" latin:keyHintLabel="1" - latin:popupCharacters="@string/alternates_for_a" /> + latin:moreKeys="@string/more_keys_for_a" /> <Key latin:keyLabel="z" latin:keyHintLabel="2" - latin:popupCharacters="@string/alternates_for_z" /> + latin:moreKeys="@string/more_keys_for_z" /> <Key latin:keyLabel="e" latin:keyHintLabel="3" - latin:popupCharacters="@string/alternates_for_e" /> + latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" latin:keyHintLabel="4" - latin:popupCharacters="@string/alternates_for_r" /> + latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" latin:keyHintLabel="5" - latin:popupCharacters="@string/alternates_for_t" /> + latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="y" latin:keyHintLabel="6" - latin:popupCharacters="@string/alternates_for_y" /> + latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="u" latin:keyHintLabel="7" - latin:popupCharacters="@string/alternates_for_u" /> + latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" latin:keyHintLabel="8" - latin:popupCharacters="@string/alternates_for_i" /> + latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" latin:keyHintLabel="9" - latin:popupCharacters="@string/alternates_for_o" /> + latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" latin:keyHintLabel="0" - latin:popupCharacters="@string/alternates_for_p" + latin:moreKeys="@string/more_keys_for_p" latin:keyWidth="fillRight" /> </Row> <Row @@ -73,28 +73,28 @@ > <Key latin:keyLabel="q" - latin:popupCharacters="@string/alternates_for_q" /> + latin:moreKeys="@string/more_keys_for_q" /> <Key latin:keyLabel="s" - latin:popupCharacters="@string/alternates_for_s" /> + latin:moreKeys="@string/more_keys_for_s" /> <Key latin:keyLabel="d" - latin:popupCharacters="@string/alternates_for_d" /> + latin:moreKeys="@string/more_keys_for_d" /> <Key latin:keyLabel="f" /> <Key latin:keyLabel="g" - latin:popupCharacters="@string/alternates_for_g" /> + latin:moreKeys="@string/more_keys_for_g" /> <Key latin:keyLabel="h" /> <Key latin:keyLabel="j" /> <Key latin:keyLabel="k" - latin:popupCharacters="@string/alternates_for_k" /> + latin:moreKeys="@string/more_keys_for_k" /> <Key latin:keyLabel="l" - latin:popupCharacters="@string/alternates_for_l" /> + latin:moreKeys="@string/more_keys_for_l" /> <Key latin:keyLabel="m" latin:keyWidth="fillRight" /> @@ -108,24 +108,24 @@ latin:visualInsetsRight="1%p" /> <Key latin:keyLabel="w" - latin:popupCharacters="@string/alternates_for_w" /> + latin:moreKeys="@string/more_keys_for_w" /> <Key latin:keyLabel="x" /> <Key latin:keyLabel="c" - latin:popupCharacters="@string/alternates_for_c" /> + latin:moreKeys="@string/more_keys_for_c" /> <Key latin:keyLabel="v" - latin:popupCharacters="@string/alternates_for_v" /> + latin:moreKeys="@string/more_keys_for_v" /> <Key latin:keyLabel="b" /> <Key latin:keyLabel="n" - latin:popupCharacters="@string/alternates_for_n" /> + latin:moreKeys="@string/more_keys_for_n" /> <Key latin:keyLabel="\'" - latin:popupCharacters="‘,’,‚,‛" /> + latin:moreKeys="‘,’,‚,‛" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyWidth="fillRight" diff --git a/java/res/xml/kbd_rows_hebrew.xml b/java/res/xml/kbd_rows_hebrew.xml index 1ec076860..6be8174c5 100644 --- a/java/res/xml/kbd_rows_hebrew.xml +++ b/java/res/xml/kbd_rows_hebrew.xml @@ -57,17 +57,17 @@ latin:keyLabel="ד" /> <Key latin:keyLabel="ג" - latin:popupCharacters="ג׳" /> + latin:moreKeys="ג׳" /> <Key latin:keyLabel="כ" /> <Key latin:keyLabel="ע" /> <Key latin:keyLabel="י" - latin:popupCharacters="ײַ" /> + latin:moreKeys="ײַ" /> <Key latin:keyLabel="ח" - latin:popupCharacters="ח׳" /> + latin:moreKeys="ח׳" /> <Key latin:keyLabel="ל" /> <Key @@ -81,7 +81,7 @@ > <Key latin:keyLabel="ז" - latin:popupCharacters="ז׳" + latin:moreKeys="ז׳" latin:keyXPos="5%p" /> <Key latin:keyLabel="ס" /> @@ -95,13 +95,13 @@ latin:keyLabel="מ" /> <Key latin:keyLabel="צ" - latin:popupCharacters="צ׳" /> + latin:moreKeys="צ׳" /> <Key latin:keyLabel="ת" - latin:popupCharacters="ת׳" /> + latin:moreKeys="ת׳" /> <Key latin:keyLabel="ץ" - latin:popupCharacters="ץ׳" /> + latin:moreKeys="ץ׳" /> <!-- Here is 5%p space --> </Row> <include diff --git a/java/res/xml/kbd_rows_qwertz.xml b/java/res/xml/kbd_rows_qwertz.xml index f94892125..71bb601e6 100644 --- a/java/res/xml/kbd_rows_qwertz.xml +++ b/java/res/xml/kbd_rows_qwertz.xml @@ -29,43 +29,43 @@ <Key latin:keyLabel="q" latin:keyHintLabel="1" - latin:popupCharacters="@string/alternates_for_q" /> + latin:moreKeys="@string/more_keys_for_q" /> <Key latin:keyLabel="w" latin:keyHintLabel="2" - latin:popupCharacters="@string/alternates_for_w" /> + latin:moreKeys="@string/more_keys_for_w" /> <Key latin:keyLabel="e" latin:keyHintLabel="3" - latin:popupCharacters="@string/alternates_for_e" /> + latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" latin:keyHintLabel="4" - latin:popupCharacters="@string/alternates_for_r" /> + latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" latin:keyHintLabel="5" - latin:popupCharacters="@string/alternates_for_t" /> + latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="z" latin:keyHintLabel="6" - latin:popupCharacters="@string/alternates_for_z" /> + latin:moreKeys="@string/more_keys_for_z" /> <Key latin:keyLabel="u" latin:keyHintLabel="7" - latin:popupCharacters="@string/alternates_for_u" /> + latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" latin:keyHintLabel="8" - latin:popupCharacters="@string/alternates_for_i" /> + latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" latin:keyHintLabel="9" - latin:popupCharacters="@string/alternates_for_o" /> + latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" latin:keyHintLabel="0" - latin:popupCharacters="@string/alternates_for_p" + latin:moreKeys="@string/more_keys_for_p" latin:keyWidth="fillRight" /> </Row> <include @@ -79,20 +79,20 @@ latin:visualInsetsRight="1%p" /> <Key latin:keyLabel="y" - latin:popupCharacters="@string/alternates_for_y" /> + latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="x" /> <Key latin:keyLabel="c" - latin:popupCharacters="@string/alternates_for_c" /> + latin:moreKeys="@string/more_keys_for_c" /> <Key latin:keyLabel="v" - latin:popupCharacters="@string/alternates_for_v" /> + latin:moreKeys="@string/more_keys_for_v" /> <Key latin:keyLabel="b" /> <Key latin:keyLabel="n" - latin:popupCharacters="@string/alternates_for_n" /> + latin:moreKeys="@string/more_keys_for_n" /> <Key latin:keyLabel="m" /> <Key diff --git a/java/res/xml/kbd_rows_russian.xml b/java/res/xml/kbd_rows_russian.xml index 0c7a23754..d6075d2e3 100644 --- a/java/res/xml/kbd_rows_russian.xml +++ b/java/res/xml/kbd_rows_russian.xml @@ -29,47 +29,47 @@ <Key latin:keyLabel="й" latin:keyHintLabel="1" - latin:popupCharacters="1" + latin:moreKeys="1" latin:keyWidth="8.75%p" /> <Key latin:keyLabel="ц" latin:keyHintLabel="2" - latin:popupCharacters="2" /> + latin:moreKeys="2" /> <Key latin:keyLabel="у" latin:keyHintLabel="3" - latin:popupCharacters="3" /> + latin:moreKeys="3" /> <Key latin:keyLabel="к" latin:keyHintLabel="4" - latin:popupCharacters="4" /> + latin:moreKeys="4" /> <Key latin:keyLabel="е" latin:keyHintLabel="5" - latin:popupCharacters="@string/alternates_for_cyrillic_e" /> + latin:moreKeys="@string/more_keys_for_cyrillic_e" /> <Key latin:keyLabel="н" latin:keyHintLabel="6" - latin:popupCharacters="6" /> + latin:moreKeys="6" /> <Key latin:keyLabel="г" latin:keyHintLabel="7" - latin:popupCharacters="7" /> + latin:moreKeys="7" /> <Key latin:keyLabel="ш" latin:keyHintLabel="8" - latin:popupCharacters="8" /> + latin:moreKeys="8" /> <Key latin:keyLabel="щ" latin:keyHintLabel="9" - latin:popupCharacters="9" /> + latin:moreKeys="9" /> <Key latin:keyLabel="з" latin:keyHintLabel="0" - latin:popupCharacters="0" /> + latin:moreKeys="0" /> <Key latin:keyLabel="х" - latin:popupCharacters="@string/alternates_for_cyrillic_ha" + latin:moreKeys="@string/more_keys_for_cyrillic_ha" latin:keyWidth="fillRight" /> </Row> <Row @@ -120,7 +120,7 @@ latin:keyLabel="т" /> <Key latin:keyLabel="ь" - latin:popupCharacters="@string/alternates_for_cyrillic_soft_sign" /> + latin:moreKeys="@string/more_keys_for_cyrillic_soft_sign" /> <Key latin:keyLabel="б" /> <Key diff --git a/java/res/xml/kbd_rows_scandinavian.xml b/java/res/xml/kbd_rows_scandinavian.xml index 7e8902e0b..6ef54ebba 100644 --- a/java/res/xml/kbd_rows_scandinavian.xml +++ b/java/res/xml/kbd_rows_scandinavian.xml @@ -29,44 +29,44 @@ <Key latin:keyLabel="q" latin:keyHintLabel="1" - latin:popupCharacters="@string/alternates_for_q" + latin:moreKeys="@string/more_keys_for_q" latin:keyWidth="8.75%p" /> <Key latin:keyLabel="w" latin:keyHintLabel="2" - latin:popupCharacters="@string/alternates_for_w" /> + latin:moreKeys="@string/more_keys_for_w" /> <Key latin:keyLabel="e" latin:keyHintLabel="3" - latin:popupCharacters="@string/alternates_for_e" /> + latin:moreKeys="@string/more_keys_for_e" /> <Key latin:keyLabel="r" latin:keyHintLabel="4" - latin:popupCharacters="@string/alternates_for_r" /> + latin:moreKeys="@string/more_keys_for_r" /> <Key latin:keyLabel="t" latin:keyHintLabel="5" - latin:popupCharacters="@string/alternates_for_t" /> + latin:moreKeys="@string/more_keys_for_t" /> <Key latin:keyLabel="y" latin:keyHintLabel="6" - latin:popupCharacters="@string/alternates_for_y" /> + latin:moreKeys="@string/more_keys_for_y" /> <Key latin:keyLabel="u" latin:keyHintLabel="7" - latin:popupCharacters="@string/alternates_for_u" /> + latin:moreKeys="@string/more_keys_for_u" /> <Key latin:keyLabel="i" latin:keyHintLabel="8" - latin:popupCharacters="@string/alternates_for_i" /> + latin:moreKeys="@string/more_keys_for_i" /> <Key latin:keyLabel="o" latin:keyHintLabel="9" - latin:popupCharacters="@string/alternates_for_o" /> + latin:moreKeys="@string/more_keys_for_o" /> <Key latin:keyLabel="p" latin:keyHintLabel="0" - latin:popupCharacters="@string/alternates_for_p" /> + latin:moreKeys="@string/more_keys_for_p" /> <Key latin:keyLabel="å" latin:keyWidth="fillRight" /> @@ -76,35 +76,35 @@ > <Key latin:keyLabel="a" - latin:popupCharacters="@string/alternates_for_a" + latin:moreKeys="@string/more_keys_for_a" latin:keyWidth="8.75%p" /> <Key latin:keyLabel="s" - latin:popupCharacters="@string/alternates_for_s" /> + latin:moreKeys="@string/more_keys_for_s" /> <Key latin:keyLabel="d" - latin:popupCharacters="@string/alternates_for_d" /> + latin:moreKeys="@string/more_keys_for_d" /> <Key latin:keyLabel="f" /> <Key latin:keyLabel="g" - latin:popupCharacters="@string/alternates_for_g" /> + latin:moreKeys="@string/more_keys_for_g" /> <Key latin:keyLabel="h" /> <Key latin:keyLabel="j" /> <Key latin:keyLabel="k" - latin:popupCharacters="@string/alternates_for_k" /> + latin:moreKeys="@string/more_keys_for_k" /> <Key latin:keyLabel="l" - latin:popupCharacters="@string/alternates_for_l" /> + latin:moreKeys="@string/more_keys_for_l" /> <Key latin:keyLabel="@string/keylabel_for_scandinavia_row2_10" - latin:popupCharacters="@string/alternates_for_scandinavia_row2_10" /> + latin:moreKeys="@string/more_keys_for_scandinavia_row2_10" /> <Key latin:keyLabel="@string/keylabel_for_scandinavia_row2_11" - latin:popupCharacters="@string/alternates_for_scandinavia_row2_11" + latin:moreKeys="@string/more_keys_for_scandinavia_row2_11" latin:keyWidth="fillRight" /> </Row> <include diff --git a/java/res/xml/kbd_rows_serbian.xml b/java/res/xml/kbd_rows_serbian.xml index 73c807f95..c911ae807 100644 --- a/java/res/xml/kbd_rows_serbian.xml +++ b/java/res/xml/kbd_rows_serbian.xml @@ -29,43 +29,43 @@ <Key latin:keyLabel="љ" latin:keyHintLabel="1" - latin:popupCharacters="1" /> + latin:moreKeys="1" /> <Key latin:keyLabel="њ" latin:keyHintLabel="2" - latin:popupCharacters="2" /> + latin:moreKeys="2" /> <Key latin:keyLabel="е" latin:keyHintLabel="3" - latin:popupCharacters="3" /> + latin:moreKeys="3" /> <Key latin:keyLabel="р" latin:keyHintLabel="4" - latin:popupCharacters="4" /> + latin:moreKeys="4" /> <Key latin:keyLabel="т" latin:keyHintLabel="5" - latin:popupCharacters="5" /> + latin:moreKeys="5" /> <Key latin:keyLabel="з" latin:keyHintLabel="6" - latin:popupCharacters="6" /> + latin:moreKeys="6" /> <Key latin:keyLabel="у" latin:keyHintLabel="7" - latin:popupCharacters="7" /> + latin:moreKeys="7" /> <Key latin:keyLabel="и" latin:keyHintLabel="8" - latin:popupCharacters="8" /> + latin:moreKeys="8" /> <Key latin:keyLabel="о" latin:keyHintLabel="9" - latin:popupCharacters="9" /> + latin:moreKeys="9" /> <Key latin:keyLabel="п" latin:keyHintLabel="0" - latin:popupCharacters="0" /> + latin:moreKeys="0" /> <Key latin:keyLabel="ш" latin:keyWidth="fillRight" /> diff --git a/java/res/xml/kbd_rows_spanish.xml b/java/res/xml/kbd_rows_spanish.xml index 6d007187f..03d631ee0 100644 --- a/java/res/xml/kbd_rows_spanish.xml +++ b/java/res/xml/kbd_rows_spanish.xml @@ -30,28 +30,28 @@ > <Key latin:keyLabel="a" - latin:popupCharacters="@string/alternates_for_a" /> + latin:moreKeys="@string/more_keys_for_a" /> <Key latin:keyLabel="s" - latin:popupCharacters="@string/alternates_for_s" /> + latin:moreKeys="@string/more_keys_for_s" /> <Key latin:keyLabel="d" - latin:popupCharacters="@string/alternates_for_d" /> + latin:moreKeys="@string/more_keys_for_d" /> <Key latin:keyLabel="f" /> <Key latin:keyLabel="g" - latin:popupCharacters="@string/alternates_for_g" /> + latin:moreKeys="@string/more_keys_for_g" /> <Key latin:keyLabel="h" /> <Key latin:keyLabel="j" /> <Key latin:keyLabel="k" - latin:popupCharacters="@string/alternates_for_k" /> + latin:moreKeys="@string/more_keys_for_k" /> <Key latin:keyLabel="l" - latin:popupCharacters="@string/alternates_for_l" /> + latin:moreKeys="@string/more_keys_for_l" /> <Key latin:keyLabel="ñ" /> </Row> diff --git a/java/res/xml/kbd_rows_symbols.xml b/java/res/xml/kbd_rows_symbols.xml index 5880d52c7..e0ede8ba6 100644 --- a/java/res/xml/kbd_rows_symbols.xml +++ b/java/res/xml/kbd_rows_symbols.xml @@ -30,34 +30,34 @@ > <Key latin:keyLabel="@string/keylabel_for_symbols_1" - latin:popupCharacters="@string/alternates_for_symbols_1" /> + latin:moreKeys="@string/more_keys_for_symbols_1" /> <Key latin:keyLabel="@string/keylabel_for_symbols_2" - latin:popupCharacters="@string/alternates_for_symbols_2" /> + latin:moreKeys="@string/more_keys_for_symbols_2" /> <Key latin:keyLabel="@string/keylabel_for_symbols_3" - latin:popupCharacters="@string/alternates_for_symbols_3" /> + latin:moreKeys="@string/more_keys_for_symbols_3" /> <Key latin:keyLabel="@string/keylabel_for_symbols_4" - latin:popupCharacters="@string/alternates_for_symbols_4" /> + latin:moreKeys="@string/more_keys_for_symbols_4" /> <Key latin:keyLabel="@string/keylabel_for_symbols_5" - latin:popupCharacters="@string/alternates_for_symbols_5" /> + latin:moreKeys="@string/more_keys_for_symbols_5" /> <Key latin:keyLabel="@string/keylabel_for_symbols_6" - latin:popupCharacters="@string/alternates_for_symbols_6" /> + latin:moreKeys="@string/more_keys_for_symbols_6" /> <Key latin:keyLabel="@string/keylabel_for_symbols_7" - latin:popupCharacters="@string/alternates_for_symbols_7" /> + latin:moreKeys="@string/more_keys_for_symbols_7" /> <Key latin:keyLabel="@string/keylabel_for_symbols_8" - latin:popupCharacters="@string/alternates_for_symbols_8" /> + latin:moreKeys="@string/more_keys_for_symbols_8" /> <Key latin:keyLabel="@string/keylabel_for_symbols_9" - latin:popupCharacters="@string/alternates_for_symbols_9" /> + latin:moreKeys="@string/more_keys_for_symbols_9" /> <Key latin:keyLabel="@string/keylabel_for_symbols_0" - latin:popupCharacters="@string/alternates_for_symbols_0" + latin:moreKeys="@string/more_keys_for_symbols_0" latin:keyWidth="fillRight" /> </Row> <Row @@ -71,24 +71,24 @@ latin:keyStyle="currencyKeyStyle" /> <Key latin:keyLabel="@string/keylabel_for_symbols_percent" - latin:popupCharacters="@string/alternates_for_symbols_percent" /> + latin:moreKeys="@string/more_keys_for_symbols_percent" /> <Key latin:keyLabel="&" /> <Key latin:keyLabel="*" - latin:popupCharacters="†,‡,★" /> + latin:moreKeys="†,‡,★" /> <Key latin:keyLabel="-" - latin:popupCharacters="_,–,—" /> + latin:moreKeys="_,–,—" /> <Key latin:keyLabel="+" - latin:popupCharacters="±" /> + latin:moreKeys="±" /> <Key latin:keyLabel="(" - latin:popupCharacters="[,{,<" /> + latin:moreKeys="[,{,<" /> <Key latin:keyLabel=")" - latin:popupCharacters="],},>" + latin:moreKeys="],},>" latin:keyWidth="fillRight" /> </Row> <Row @@ -100,26 +100,26 @@ latin:visualInsetsRight="1%p" /> <Key latin:keyLabel="!" - latin:popupCharacters="¡" /> + latin:moreKeys="¡" /> <!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. --> - <!-- latin:popupCharacters="“,”,„,‟,«,»" --> + <!-- latin:moreKeys="“,”,„,‟,«,»" --> <Key latin:keyLabel=""" - latin:popupCharacters="“,”,«,»" - latin:maxMiniKeyboardColumn="6" /> + latin:moreKeys="“,”,«,»" + latin:maxMoreKeysColumn="6" /> <Key latin:keyLabel="\'" - latin:popupCharacters="‘,’,‚,‛" /> + latin:moreKeys="‘,’,‚,‛" /> <Key latin:keyLabel=":" /> <Key latin:keyLabel="@string/keylabel_for_symbols_semicolon" - latin:popupCharacters="@string/alternates_for_symbols_semicolon" /> + latin:moreKeys="@string/more_keys_for_symbols_semicolon" /> <Key latin:keyLabel="/" /> <Key latin:keyLabel="@string/keylabel_for_symbols_question" - latin:popupCharacters="@string/alternates_for_symbols_question" /> + latin:moreKeys="@string/more_keys_for_symbols_question" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyWidth="fillRight" diff --git a/java/res/xml/kbd_rows_symbols_shift.xml b/java/res/xml/kbd_rows_symbols_shift.xml index ff272f1b0..66c14fea3 100644 --- a/java/res/xml/kbd_rows_symbols_shift.xml +++ b/java/res/xml/kbd_rows_symbols_shift.xml @@ -34,12 +34,12 @@ latin:keyLabel="|" /> <Key latin:keyLabel="•" - latin:popupCharacters="♪,♥,♠,♦,♣" /> + latin:moreKeys="♪,♥,♠,♦,♣" /> <Key latin:keyLabel="√" /> <Key latin:keyLabel="π" - latin:popupCharacters="Π" /> + latin:moreKeys="Π" /> <Key latin:keyLabel="÷" /> <Key @@ -63,15 +63,15 @@ latin:keyLabel="€" /> <Key latin:keyLabel="°" - latin:popupCharacters="′,″" /> + latin:moreKeys="′,″" /> <Key latin:keyLabel="^" - latin:popupCharacters="↑,↓,←,→" /> + latin:moreKeys="↑,↓,←,→" /> <Key latin:keyLabel="_" /> <Key latin:keyLabel="=" - latin:popupCharacters="≠,≈,∞" /> + latin:moreKeys="≠,≈,∞" /> <Key latin:keyLabel="[" /> <Key @@ -93,15 +93,15 @@ latin:keyLabel="©" /> <Key latin:keyLabel="¶" - latin:popupCharacters="§" /> + latin:moreKeys="§" /> <Key latin:keyLabel="\\" /> <Key latin:keyLabel="<" - latin:popupCharacters="≤,«,‹" /> + latin:moreKeys="≤,«,‹" /> <Key latin:keyLabel=">" - latin:popupCharacters="≥,»,›" /> + latin:moreKeys="≥,»,›" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyWidth="fillRight" diff --git a/java/res/xml/kbd_suggestions_pane_template.xml b/java/res/xml/kbd_suggestions_pane_template.xml new file mode 100644 index 000000000..21316e6bb --- /dev/null +++ b/java/res/xml/kbd_suggestions_pane_template.xml @@ -0,0 +1,25 @@ +<?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. +*/ +--> + +<Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" + latin:keyWidth="10%p" + latin:rowHeight="@dimen/more_suggestions_row_height" + > +</Keyboard> diff --git a/java/res/xml/kbd_symbols_shift_row4.xml b/java/res/xml/kbd_symbols_shift_row4.xml index bcab19b06..c8d52932c 100644 --- a/java/res/xml/kbd_symbols_shift_row4.xml +++ b/java/res/xml/kbd_symbols_shift_row4.xml @@ -34,7 +34,7 @@ latin:keyWidth="15%p" /> <Key latin:keyLabel="„" - latin:popupCharacters="“,”,„,‟,«,»,‘,’,‚,‛" + latin:moreKeys="“,”,„,‟,«,»,‘,’,‚,‛" latin:keyStyle="functionalKeyStyle" /> <Key latin:keyStyle="spaceKeyStyle" @@ -55,7 +55,7 @@ latin:keyboardLayout="@xml/kbd_settings_or_tab" /> <Key latin:keyLabel="„" - latin:popupCharacters="“,”,„,‟,«,»,‘,’,‚,‛" + latin:moreKeys="“,”,„,‟,«,»,‘,’,‚,‛" latin:keyWidth="9.2%p" latin:keyStyle="functionalKeyStyle" /> <Key diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml index 452294e04..f2f3178de 100644 --- a/java/res/xml/method.xml +++ b/java/res/xml/method.xml @@ -20,7 +20,7 @@ <!-- The attributes in this XML file provide configuration information --> <!-- for the Input Method Manager. --> -<!-- Keyboard: en_US, en_GB, ar, cs, da, de, de_ZZ, es, es_US, fi, fr, fr_CA, fr_CH, hr, hu, it, iw, nb, nl, pl, pt, ru, sr, sv, tr --> +<!-- Keyboard: en_US, en_GB, ar, cs, da, de, de(QWERTY), es, es_US, fi, fr, fr_CA, fr_CH, hr, hu, it, iw, nb, nl, pl, pt, ru, sr, sv, tr --> <!-- TODO: use <lang>_keyboard icon instead of a common keyboard icon. --> <!-- If IME doesn't have an applicable subtype, the first subtype will be used as a default subtype.--> @@ -64,9 +64,9 @@ /> <subtype android:icon="@drawable/ic_subtype_keyboard" android:label="@string/subtype_de_qwerty" - android:imeSubtypeLocale="de_ZZ" + android:imeSubtypeLocale="de" android:imeSubtypeMode="keyboard" - android:imeSubtypeExtraValue="AsciiCapable" + android:imeSubtypeExtraValue="AsciiCapable,KeyboardLocale=de_ZZ" /> <subtype android:icon="@drawable/ic_subtype_keyboard" android:label="@string/subtype_generic" diff --git a/java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java b/java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java index 7aab66d05..8e2ee0f7a 100644 --- a/java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java +++ b/java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java @@ -73,16 +73,17 @@ public class InputMethodServiceCompatWrapper extends InputMethodService { // This call is required to let LatinIME itself know a subtype changed // event when the API level is 10 or previous. @SuppressWarnings("unused") - public void notifyOnCurrentInputMethodSubtypeChanged(InputMethodSubtypeCompatWrapper subtype) { + public void notifyOnCurrentInputMethodSubtypeChanged( + InputMethodSubtypeCompatWrapper newSubtype) { // Do nothing when the API level is 11 or later // and FORCE_ENABLE_VOICE_EVEN_WITH_NO_VOICE_SUBTYPES is not true if (CAN_HANDLE_ON_CURRENT_INPUT_METHOD_SUBTYPE_CHANGED && !InputMethodManagerCompatWrapper. FORCE_ENABLE_VOICE_EVEN_WITH_NO_VOICE_SUBTYPES) { return; } - if (subtype == null) { - subtype = mImm.getCurrentInputMethodSubtype(); - } + final InputMethodSubtypeCompatWrapper subtype = (newSubtype == null) + ? mImm.getCurrentInputMethodSubtype() + : newSubtype; if (subtype != null) { if (!InputMethodManagerCompatWrapper.FORCE_ENABLE_VOICE_EVEN_WITH_NO_VOICE_SUBTYPES && !subtype.isDummy()) return; diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index 8baf3f7d1..b919bcfc4 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -30,7 +30,7 @@ import com.android.inputmethod.keyboard.internal.KeyboardBuilder; import com.android.inputmethod.keyboard.internal.KeyboardBuilder.ParseException; import com.android.inputmethod.keyboard.internal.KeyboardIconsSet; import com.android.inputmethod.keyboard.internal.KeyboardParams; -import com.android.inputmethod.keyboard.internal.PopupCharactersParser; +import com.android.inputmethod.keyboard.internal.MoreKeySpecParser; import com.android.inputmethod.keyboard.internal.Row; import com.android.inputmethod.latin.R; @@ -90,10 +90,10 @@ public class Key { public final int mY; /** Text to output when pressed. This can be multiple characters, like ".com" */ public final CharSequence mOutputText; - /** Popup characters */ - public final CharSequence[] mPopupCharacters; - /** Popup keyboard maximum column number */ - public final int mMaxMiniKeyboardColumn; + /** More keys */ + public final CharSequence[] mMoreKeys; + /** More keys maximum column number */ + public final int mMaxMoreKeysColumn; /** * Flags that specify the anchoring to edges of the keyboard for detecting touch events @@ -192,22 +192,22 @@ public class Key { } } - private static int getCode(Resources res, KeyboardParams params, String popupSpec) { + private static int getCode(Resources res, KeyboardParams params, String moreKeySpec) { return getRtlParenthesisCode( - PopupCharactersParser.getCode(res, popupSpec), params.mIsRtlKeyboard); + MoreKeySpecParser.getCode(res, moreKeySpec), params.mIsRtlKeyboard); } - private static Drawable getIcon(KeyboardParams params, String popupSpec) { - return params.mIconsSet.getIcon(PopupCharactersParser.getIconId(popupSpec)); + private static Drawable getIcon(KeyboardParams params, String moreKeySpec) { + return params.mIconsSet.getIcon(MoreKeySpecParser.getIconId(moreKeySpec)); } /** - * This constructor is being used only for key in popup mini keyboard. + * This constructor is being used only for key in more keys keyboard. */ - public Key(Resources res, KeyboardParams params, String popupSpec, + public Key(Resources res, KeyboardParams params, String moreKeySpec, int x, int y, int width, int height, int edgeFlags) { - this(params, PopupCharactersParser.getLabel(popupSpec), null, getIcon(params, popupSpec), - getCode(res, params, popupSpec), PopupCharactersParser.getOutputText(popupSpec), + this(params, MoreKeySpecParser.getLabel(moreKeySpec), null, getIcon(params, moreKeySpec), + getCode(res, params, moreKeySpec), MoreKeySpecParser.getOutputText(moreKeySpec), x, y, width, height, edgeFlags); } @@ -227,8 +227,8 @@ public class Key { mFunctional = false; mSticky = false; mRepeatable = false; - mPopupCharacters = null; - mMaxMiniKeyboardColumn = 0; + mMoreKeys = null; + mMaxMoreKeysColumn = 0; mLabel = label; mOutputText = outputText; mCode = code; @@ -312,19 +312,19 @@ public class Key { mY = y; mWidth = keyWidth - mHorizontalGap; - final CharSequence[] popupCharacters = style.getTextArray( - keyAttr, R.styleable.Keyboard_Key_popupCharacters); - // In Arabic symbol layouts, we'd like to keep digits in popup characters regardless of - // config_digit_popup_characters_enabled. + final CharSequence[] moreKeys = style.getTextArray( + keyAttr, R.styleable.Keyboard_Key_moreKeys); + // 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_popup_characters_enabled)) { - mPopupCharacters = PopupCharactersParser.filterOut( - res, popupCharacters, PopupCharactersParser.DIGIT_FILTER); + R.bool.config_digit_more_keys_enabled)) { + mMoreKeys = MoreKeySpecParser.filterOut( + res, moreKeys, MoreKeySpecParser.DIGIT_FILTER); } else { - mPopupCharacters = popupCharacters; + mMoreKeys = moreKeys; } - mMaxMiniKeyboardColumn = style.getInt(keyboardAttr, - R.styleable.Keyboard_Key_maxMiniKeyboardColumn, + mMaxMoreKeysColumn = style.getInt(keyboardAttr, + R.styleable.Keyboard_Key_maxMoreKeysColumn, params.mMaxMiniKeyboardColumn); mRepeatable = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable, false); diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java index 5dabb93ec..3a8a1d4b8 100644 --- a/java/src/com/android/inputmethod/keyboard/Keyboard.java +++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java @@ -101,8 +101,8 @@ public class Keyboard { public final int mMostCommonKeyWidth; - /** Popup keyboard template */ - public final int mPopupTemplateId; + /** More keys keyboard template */ + public final int mMoreKeysTemplate; /** Maximum column for mini keyboard */ public final int mMaxMiniKeyboardColumn; @@ -130,7 +130,7 @@ public class Keyboard { mWidth = params.mWidth; mMostCommonKeyWidth = params.mMostCommonKeyWidth; mIsRtlKeyboard = params.mIsRtlKeyboard; - mPopupTemplateId = params.mPopupTemplateId; + mMoreKeysTemplate = params.mMoreKeysTemplate; mMaxMiniKeyboardColumn = params.mMaxMiniKeyboardColumn; mDefaultRowHeight = params.mDefaultRowHeight; diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index 4c5c2bc10..ceadc919c 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -79,7 +79,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { // XML attributes protected final float mVerticalCorrection; - protected final int mPopupLayout; + protected final int mMoreKeysLayout; private final float mBackgroundDimAmount; // HORIZONTAL ELLIPSIS "...", character for popup hint. @@ -343,7 +343,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { } mVerticalCorrection = a.getDimensionPixelOffset( R.styleable.KeyboardView_verticalCorrection, 0); - mPopupLayout = a.getResourceId(R.styleable.KeyboardView_popupLayout, 0); + mMoreKeysLayout = a.getResourceId(R.styleable.KeyboardView_moreKeysLayout, 0); mBackgroundDimAmount = a.getFloat(R.styleable.KeyboardView_backgroundDimAmount, 0.5f); a.recycle(); @@ -679,7 +679,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { } // Draw popup hint "..." at the bottom right corner of the key. - if ((key.hasPopupHint() && key.mPopupCharacters != null && key.mPopupCharacters.length > 0) + if ((key.hasPopupHint() && key.mMoreKeys != null && key.mMoreKeys.length > 0) || key.needsSpecialPopupHint()) { paint.setTextSize(params.mKeyHintLetterSize); paint.setColor(params.mKeyHintLabelColor); @@ -880,7 +880,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { // Set the preview background state previewText.getBackground().setState( - key.mPopupCharacters != null ? LONG_PRESSABLE_STATE_SET : EMPTY_STATE_SET); + key.mMoreKeys != null ? LONG_PRESSABLE_STATE_SET : EMPTY_STATE_SET); previewText.setTextColor(params.mPreviewTextColor); FrameLayoutCompatUtils.placeViewAt( previewText, previewX, previewY, previewWidth, previewHeight); @@ -928,7 +928,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { } @Override - public boolean dismissPopupPanel() { + public boolean dismissMoreKeysPanel() { return false; } diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java index 1e7ec9ead..777bae3b0 100644 --- a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java @@ -64,11 +64,11 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke private final int mKeyRepeatInterval; // Mini keyboard - private PopupWindow mPopupWindow; - private PopupPanel mPopupPanel; - private int mPopupPanelPointerTrackerId; - private final WeakHashMap<Key, PopupPanel> mPopupPanelCache = - new WeakHashMap<Key, PopupPanel>(); + private PopupWindow mMoreKeysWindow; + private MoreKeysPanel mMoreKeysPanel; + private int mMoreKeysPanelPointerTrackerId; + private final WeakHashMap<Key, MoreKeysPanel> mMoreKeysPanelCache = + new WeakHashMap<Key, MoreKeysPanel>(); /** Listener for {@link KeyboardActionListener}. */ private KeyboardActionListener mKeyboardActionListener; @@ -297,7 +297,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke mKeyDetector.setProximityThreshold(keyboard.mMostCommonKeyWidth); PointerTracker.setKeyDetector(mKeyDetector); mTouchScreenRegulator.setKeyboard(keyboard); - mPopupPanelCache.clear(); + mMoreKeysPanelCache.clear(); } /** @@ -333,12 +333,12 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke private boolean openMiniKeyboardIfRequired(int keyIndex, PointerTracker tracker) { // Check if we have a popup layout specified first. - if (mPopupLayout == 0) { + if (mMoreKeysLayout == 0) { return false; } // Check if we are already displaying popup panel. - if (mPopupPanel != null) + if (mMoreKeysPanel != null) return false; final Key parentKey = tracker.getKey(keyIndex); if (parentKey == null) @@ -353,12 +353,12 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke mKeyboardActionListener.onCodeInput(Keyboard.CODE_CAPSLOCK, null, 0, 0); } - // This default implementation returns a popup mini keyboard panel. - protected PopupPanel onCreatePopupPanel(Key parentKey) { - if (parentKey.mPopupCharacters == null) + // This default implementation returns a more keys panel. + protected MoreKeysPanel onCreateMoreKeysPanel(Key parentKey) { + if (parentKey.mMoreKeys == null) return null; - final View container = LayoutInflater.from(getContext()).inflate(mPopupLayout, null); + final View container = LayoutInflater.from(getContext()).inflate(mMoreKeysLayout, null); if (container == null) throw new NullPointerException(); @@ -366,7 +366,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke (MiniKeyboardView)container.findViewById(R.id.mini_keyboard_view); final Keyboard parentKeyboard = getKeyboard(); final Keyboard miniKeyboard = new MiniKeyboard.Builder( - this, parentKeyboard.mPopupTemplateId, parentKey, parentKeyboard).build(); + this, parentKeyboard.mMoreKeysTemplate, parentKey, parentKeyboard).build(); miniKeyboardView.setKeyboard(miniKeyboard); container.measure(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); @@ -375,7 +375,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke @Override protected boolean needsToDimKeyboard() { - return mPopupPanel != null; + return mMoreKeysPanel != null; } public void setSpacebarTextFadeFactor(float fadeFactor, LatinKeyboard oldKeyboard) { @@ -417,10 +417,10 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke tracker.onLongPressed(); return true; } else { - return openPopupPanel(parentKey, tracker); + return openMoreKeysPanel(parentKey, tracker); } } else { - return openPopupPanel(parentKey, tracker); + return openMoreKeysPanel(parentKey, tracker); } } @@ -431,34 +431,35 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke return true; } - private boolean openPopupPanel(Key parentKey, PointerTracker tracker) { - PopupPanel popupPanel = mPopupPanelCache.get(parentKey); - if (popupPanel == null) { - popupPanel = onCreatePopupPanel(parentKey); - if (popupPanel == null) + private boolean openMoreKeysPanel(Key parentKey, PointerTracker tracker) { + MoreKeysPanel moreKeysPanel = mMoreKeysPanelCache.get(parentKey); + if (moreKeysPanel == null) { + moreKeysPanel = onCreateMoreKeysPanel(parentKey); + if (moreKeysPanel == null) return false; - mPopupPanelCache.put(parentKey, popupPanel); + mMoreKeysPanelCache.put(parentKey, moreKeysPanel); } - if (mPopupWindow == null) { - mPopupWindow = new PopupWindow(getContext()); - mPopupWindow.setBackgroundDrawable(null); - mPopupWindow.setAnimationStyle(R.style.MiniKeyboardAnimation); + if (mMoreKeysWindow == null) { + mMoreKeysWindow = new PopupWindow(getContext()); + mMoreKeysWindow.setBackgroundDrawable(null); + mMoreKeysWindow.setAnimationStyle(R.style.MiniKeyboardAnimation); // Allow popup window to be drawn off the screen. - mPopupWindow.setClippingEnabled(false); + mMoreKeysWindow.setClippingEnabled(false); } - mPopupPanel = popupPanel; - mPopupPanelPointerTrackerId = tracker.mPointerId; + mMoreKeysPanel = moreKeysPanel; + mMoreKeysPanelPointerTrackerId = tracker.mPointerId; final Keyboard keyboard = getKeyboard(); - popupPanel.setShifted(keyboard.isShiftedOrShiftLocked()); + moreKeysPanel.setShifted(keyboard.isShiftedOrShiftLocked()); final int pointX = (mConfigShowMiniKeyboardAtTouchedPoint) ? tracker.getLastX() : parentKey.mX + parentKey.mWidth / 2; final int pointY = parentKey.mY - keyboard.mVerticalGap; - popupPanel.showPopupPanel( - this, this, pointX, pointY, mPopupWindow, getKeyboardActionListener()); - final int translatedX = popupPanel.translateX(tracker.getLastX()); - final int translatedY = popupPanel.translateY(tracker.getLastY()); - tracker.onShowPopupPanel(translatedX, translatedY, SystemClock.uptimeMillis(), popupPanel); + moreKeysPanel.showMoreKeysPanel( + this, this, pointX, pointY, mMoreKeysWindow, getKeyboardActionListener()); + final int translatedX = moreKeysPanel.translateX(tracker.getLastX()); + final int translatedY = moreKeysPanel.translateY(tracker.getLastY()); + tracker.onShowMoreKeysPanel( + translatedX, translatedY, SystemClock.uptimeMillis(), moreKeysPanel); invalidateAllKeys(); return true; @@ -469,7 +470,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke } public boolean isInSlidingKeyInput() { - if (mPopupPanel != null) { + if (mMoreKeysPanel != null) { return true; } else { return PointerTracker.isAnyInSlidingKeyInput(); @@ -504,7 +505,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke } // Gesture detector must be enabled only when mini-keyboard is not on the screen. - if (mPopupPanel == null && mGestureDetector != null + if (mMoreKeysPanel == null && mGestureDetector != null && mGestureDetector.onTouchEvent(me)) { PointerTracker.dismissAllKeyPreviews(); mKeyTimerHandler.cancelKeyTimers(); @@ -515,9 +516,9 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke final int index = me.getActionIndex(); final int id = me.getPointerId(index); final int x, y; - if (mPopupPanel != null && id == mPopupPanelPointerTrackerId) { - x = mPopupPanel.translateX((int)me.getX(index)); - y = mPopupPanel.translateY((int)me.getY(index)); + if (mMoreKeysPanel != null && id == mMoreKeysPanelPointerTrackerId) { + x = mMoreKeysPanel.translateX((int)me.getX(index)); + y = mMoreKeysPanel.translateY((int)me.getY(index)); } else { x = (int)me.getX(index); y = (int)me.getY(index); @@ -569,9 +570,10 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke for (int i = 0; i < pointerCount; i++) { final PointerTracker tracker = getPointerTracker(me.getPointerId(i)); final int px, py; - if (mPopupPanel != null && tracker.mPointerId == mPopupPanelPointerTrackerId) { - px = mPopupPanel.translateX((int)me.getX(i)); - py = mPopupPanel.translateY((int)me.getY(i)); + if (mMoreKeysPanel != null + && tracker.mPointerId == mMoreKeysPanelPointerTrackerId) { + px = mMoreKeysPanel.translateX((int)me.getX(i)); + py = mMoreKeysPanel.translateY((int)me.getY(i)); } else { px = (int)me.getX(i); py = (int)me.getY(i); @@ -608,16 +610,16 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke @Override public void closing() { super.closing(); - dismissPopupPanel(); - mPopupPanelCache.clear(); + dismissMoreKeysPanel(); + mMoreKeysPanelCache.clear(); } @Override - public boolean dismissPopupPanel() { - if (mPopupWindow != null && mPopupWindow.isShowing()) { - mPopupWindow.dismiss(); - mPopupPanel = null; - mPopupPanelPointerTrackerId = -1; + public boolean dismissMoreKeysPanel() { + if (mMoreKeysWindow != null && mMoreKeysWindow.isShowing()) { + mMoreKeysWindow.dismiss(); + mMoreKeysPanel = null; + mMoreKeysPanelPointerTrackerId = -1; invalidateAllKeys(); return true; } @@ -625,7 +627,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke } public boolean handleBack() { - return dismissPopupPanel(); + return dismissMoreKeysPanel(); } @Override diff --git a/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java b/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java index 6119fa232..da91b62d9 100644 --- a/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java +++ b/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java @@ -20,7 +20,7 @@ import android.graphics.Paint; import com.android.inputmethod.keyboard.internal.KeyboardBuilder; import com.android.inputmethod.keyboard.internal.KeyboardParams; -import com.android.inputmethod.keyboard.internal.PopupCharactersParser; +import com.android.inputmethod.keyboard.internal.MoreKeySpecParser; import com.android.inputmethod.latin.R; public class MiniKeyboard extends Keyboard { @@ -36,7 +36,7 @@ public class MiniKeyboard extends Keyboard { } public static class Builder extends KeyboardBuilder<Builder.MiniKeyboardParams> { - private final CharSequence[] mPopupCharacters; + private final CharSequence[] mMoreKeys; public static class MiniKeyboardParams extends KeyboardParams { /* package */int mTopRowAdjustment; @@ -224,22 +224,22 @@ public class MiniKeyboard extends Keyboard { // mParams.mVerticalGap = parentKeyboard.mVerticalGap; mParams.mIsRtlKeyboard = parentKeyboard.mIsRtlKeyboard; - mPopupCharacters = parentKey.mPopupCharacters; + mMoreKeys = parentKey.mMoreKeys; - final int keyWidth = getMaxKeyWidth(view, mPopupCharacters, mParams.mDefaultKeyWidth); - mParams.setParameters(mPopupCharacters.length, parentKey.mMaxMiniKeyboardColumn, + final int keyWidth = getMaxKeyWidth(view, mMoreKeys, mParams.mDefaultKeyWidth); + mParams.setParameters(mMoreKeys.length, parentKey.mMaxMoreKeysColumn, keyWidth, parentKeyboard.mDefaultRowHeight, parentKey.mX + (mParams.mDefaultKeyWidth - keyWidth) / 2, view.getMeasuredWidth()); } - private static int getMaxKeyWidth(KeyboardView view, CharSequence[] popupCharacters, + private static int getMaxKeyWidth(KeyboardView view, CharSequence[] moreKeys, int minKeyWidth) { final int padding = (int) view.getContext().getResources() .getDimension(R.dimen.mini_keyboard_key_horizontal_padding); Paint paint = null; int maxWidth = minKeyWidth; - for (CharSequence popupSpec : popupCharacters) { - final CharSequence label = PopupCharactersParser.getLabel(popupSpec.toString()); + for (CharSequence moreKeySpec : moreKeys) { + final CharSequence label = MoreKeySpecParser.getLabel(moreKeySpec.toString()); // If the label is single letter, minKeyWidth is enough to hold // the label. if (label != null && label.length() > 1) { @@ -259,10 +259,10 @@ public class MiniKeyboard extends Keyboard { @Override public MiniKeyboard build() { final MiniKeyboardParams params = mParams; - for (int n = 0; n < mPopupCharacters.length; n++) { - final String popupSpec = mPopupCharacters[n].toString(); + for (int n = 0; n < mMoreKeys.length; n++) { + final String moreKeySpec = mMoreKeys[n].toString(); final int row = n / params.mNumColumns; - final Key key = new Key(mResources, params, popupSpec, params.getX(n, row), + final Key key = new Key(mResources, params, moreKeySpec, params.getX(n, row), params.getY(row), params.mDefaultKeyWidth, params.mDefaultRowHeight, params.getRowFlags(row)); params.onAddKey(key); diff --git a/java/src/com/android/inputmethod/keyboard/MiniKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MiniKeyboardView.java index 7a0f73fd1..f331662d7 100644 --- a/java/src/com/android/inputmethod/keyboard/MiniKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/MiniKeyboardView.java @@ -33,7 +33,7 @@ import java.util.List; * A view that renders a virtual {@link MiniKeyboard}. It handles rendering of keys and detecting * key presses and touch movements. */ -public class MiniKeyboardView extends KeyboardView implements PopupPanel { +public class MiniKeyboardView extends KeyboardView implements MoreKeysPanel { private final int[] mCoordinates = new int[2]; private final KeyDetector mKeyDetector; @@ -88,16 +88,7 @@ public class MiniKeyboardView extends KeyboardView implements PopupPanel { } } - private static final TimerProxy EMPTY_TIMER_PROXY = new TimerProxy() { - @Override - public void startKeyRepeatTimer(long delay, int keyIndex, PointerTracker tracker) {} - @Override - public void startLongPressTimer(long delay, int keyIndex, PointerTracker tracker) {} - @Override - public void cancelLongPressTimer() {} - @Override - public void cancelKeyTimers() {} - }; + private static final TimerProxy EMPTY_TIMER_PROXY = new TimerProxy.Adapter(); private final KeyboardActionListener mMiniKeyboardListener = new KeyboardActionListener.Adapter() { @@ -196,7 +187,7 @@ public class MiniKeyboardView extends KeyboardView implements PopupPanel { } @Override - public void showPopupPanel(View parentView, Controller controller, int pointX, int pointY, + public void showMoreKeysPanel(View parentView, Controller controller, int pointX, int pointY, PopupWindow window, KeyboardActionListener listener) { mController = controller; mListener = listener; @@ -232,8 +223,8 @@ public class MiniKeyboardView extends KeyboardView implements PopupPanel { } @Override - public boolean dismissPopupPanel() { - return mController.dismissPopupPanel(); + public boolean dismissMoreKeysPanel() { + return mController.dismissMoreKeysPanel(); } @Override diff --git a/java/src/com/android/inputmethod/keyboard/PopupPanel.java b/java/src/com/android/inputmethod/keyboard/MoreKeysPanel.java index 5e51fd54a..6314a99db 100644 --- a/java/src/com/android/inputmethod/keyboard/PopupPanel.java +++ b/java/src/com/android/inputmethod/keyboard/MoreKeysPanel.java @@ -19,36 +19,41 @@ package com.android.inputmethod.keyboard; import android.view.View; import android.widget.PopupWindow; -public interface PopupPanel extends PointerTracker.KeyEventHandler { +public interface MoreKeysPanel extends PointerTracker.KeyEventHandler { public interface Controller { - public boolean dismissPopupPanel(); + public boolean dismissMoreKeysPanel(); } public void setShifted(boolean shifted); /** - * Show popup panel. - * @param parentView the parent view of this popup panel - * @param controller the controller that can dismiss this popup panel - * @param pointX x coordinate of this popup panel - * @param pointY y coordinate of this popup panel - * @param window PopupWindow to be used to show this popup panel - * @param listener the listener that will receive keyboard action from this popup panel. + * Show more keys panel. + * + * @param parentView the parent view of this more keys panel + * @param controller the controller that can dismiss this more keys panel + * @param pointX x coordinate of this more keys panel + * @param pointY y coordinate of this more keys panel + * @param window PopupWindow to be used to show this more keys panel + * @param listener the listener that will receive keyboard action from this more keys panel. */ - public void showPopupPanel(View parentView, Controller controller, int pointX, int pointY, + public void showMoreKeysPanel(View parentView, Controller controller, int pointX, int pointY, PopupWindow window, KeyboardActionListener listener); /** - * Translate X-coordinate of touch event to the local X-coordinate of this PopupPanel. + * Translate X-coordinate of touch event to the local X-coordinate of this + * {@link MoreKeysPanel}. + * * @param x the global X-coordinate - * @return the local X-coordinate to this PopupPanel + * @return the local X-coordinate to this {@link MoreKeysPanel} */ public int translateX(int x); /** - * Translate Y-coordinate of touch event to the local Y-coordinate of this PopupPanel. + * Translate Y-coordinate of touch event to the local Y-coordinate of this + * {@link MoreKeysPanel}. + * * @param y the global Y-coordinate - * @return the local Y-coordinate to this PopupPanel + * @return the local Y-coordinate to this {@link MoreKeysPanel} */ public int translateY(int y); } diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java index 7ae62200d..0314867b3 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -63,7 +63,7 @@ public class PointerTracker { public TimerProxy getTimerProxy(); } - public interface DrawingProxy extends PopupPanel.Controller { + public interface DrawingProxy extends MoreKeysPanel.Controller { public void invalidateKey(Key key); public TextView inflateKeyPreviewText(); public void showKeyPreview(int keyIndex, PointerTracker tracker); @@ -76,6 +76,17 @@ public class PointerTracker { public void startLongPressTimer(long delay, int keyIndex, PointerTracker tracker); public void cancelLongPressTimer(); public void cancelKeyTimers(); + + public static class Adapter implements TimerProxy { + @Override + public void startKeyRepeatTimer(long delay, int keyIndex, PointerTracker tracker) {} + @Override + public void startLongPressTimer(long delay, int keyIndex, PointerTracker tracker) {} + @Override + public void cancelLongPressTimer() {} + @Override + public void cancelKeyTimers() {} + } } private static KeyboardSwitcher sKeyboardSwitcher; @@ -123,8 +134,8 @@ public class PointerTracker { // true if event is already translated to a key action. private boolean mKeyAlreadyProcessed; - // true if this pointer has been long-pressed and is showing a popup panel. - private boolean mIsShowingPopupPanel; + // true if this pointer has been long-pressed and is showing a more keys panel. + private boolean mIsShowingMoreKeysPanel; // true if this pointer is repeatable key private boolean mIsRepeatableKey; @@ -572,9 +583,9 @@ public class PointerTracker { } final int keyIndex = onUpKey(keyX, keyY, eventTime); setReleasedKeyGraphics(keyIndex); - if (mIsShowingPopupPanel) { - mDrawingProxy.dismissPopupPanel(); - mIsShowingPopupPanel = false; + if (mIsShowingMoreKeysPanel) { + mDrawingProxy.dismissMoreKeysPanel(); + mIsShowingMoreKeysPanel = false; } if (mKeyAlreadyProcessed) return; @@ -583,10 +594,10 @@ public class PointerTracker { } } - public void onShowPopupPanel(int x, int y, long eventTime, KeyEventHandler handler) { + public void onShowMoreKeysPanel(int x, int y, long eventTime, KeyEventHandler handler) { onLongPressed(); onDownEvent(x, y, eventTime, handler); - mIsShowingPopupPanel = true; + mIsShowingMoreKeysPanel = true; } public void onLongPressed() { @@ -615,9 +626,9 @@ public class PointerTracker { mDrawingProxy.cancelShowKeyPreview(this); setReleasedKeyGraphics(mKeyIndex); mIsInSlidingKeyInput = false; - if (mIsShowingPopupPanel) { - mDrawingProxy.dismissPopupPanel(); - mIsShowingPopupPanel = false; + if (mIsShowingMoreKeysPanel) { + mDrawingProxy.dismissMoreKeysPanel(); + mIsShowingMoreKeysPanel = false; } } diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java index 66dde0512..6d78e8533 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java @@ -166,12 +166,12 @@ public class KeyStyles { readText(keyAttr, R.styleable.Keyboard_Key_keyLabel); readText(keyAttr, R.styleable.Keyboard_Key_keyOutputText); readText(keyAttr, R.styleable.Keyboard_Key_keyHintLabel); - readTextArray(keyAttr, R.styleable.Keyboard_Key_popupCharacters); + readTextArray(keyAttr, R.styleable.Keyboard_Key_moreKeys); readFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelOption); readInt(keyAttr, R.styleable.Keyboard_Key_keyIcon); readInt(keyAttr, R.styleable.Keyboard_Key_keyIconPreview); readInt(keyAttr, R.styleable.Keyboard_Key_keyIconShifted); - readInt(keyAttr, R.styleable.Keyboard_Key_maxMiniKeyboardColumn); + readInt(keyAttr, R.styleable.Keyboard_Key_maxMoreKeysColumn); readBoolean(keyAttr, R.styleable.Keyboard_Key_isFunctional); readBoolean(keyAttr, R.styleable.Keyboard_Key_isSticky); readBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable); diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java index 5c76facec..c605debab 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java @@ -255,10 +255,10 @@ public class KeyboardBuilder<KP extends KeyboardParams> { mParams.mIsRtlKeyboard = keyboardAttr.getBoolean( R.styleable.Keyboard_isRtlKeyboard, false); - mParams.mPopupTemplateId = keyboardAttr.getResourceId( - R.styleable.Keyboard_popupTemplate, 0); + mParams.mMoreKeysTemplate = keyboardAttr.getResourceId( + R.styleable.Keyboard_moreKeysTemplate, 0); mParams.mMaxMiniKeyboardColumn = keyAttr.getInt( - R.styleable.Keyboard_Key_maxMiniKeyboardColumn, 5); + R.styleable.Keyboard_Key_maxMoreKeysColumn, 5); mParams.mIconsSet.loadIcons(keyboardAttr); } finally { @@ -365,9 +365,9 @@ public class KeyboardBuilder<KP extends KeyboardParams> { checkEndTag(TAG_KEY, parser); } else { Key key = new Key(mResources, mParams, row, mCurrentX, mCurrentY, parser, mKeyStyles); - if (DEBUG) Log.d(TAG, String.format("<%s%s keyLabel=%s code=%d popupCharacters=%s />", + if (DEBUG) Log.d(TAG, String.format("<%s%s keyLabel=%s code=%d moreKeys=%s />", TAG_KEY, (key.isEnabled() ? "" : " disabled"), key.mLabel, key.mCode, - Arrays.toString(key.mPopupCharacters))); + Arrays.toString(key.mMoreKeys))); checkEndTag(TAG_KEY, parser); mParams.onAddKey(key); endKey(key); diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java index e748dbb94..4432ee121 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java @@ -49,7 +49,7 @@ public class KeyboardParams { public int mVerticalGap; public boolean mIsRtlKeyboard; - public int mPopupTemplateId; + public int mMoreKeysTemplate; public int mMaxMiniKeyboardColumn; public int GRID_WIDTH; diff --git a/java/src/com/android/inputmethod/keyboard/internal/PopupCharactersParser.java b/java/src/com/android/inputmethod/keyboard/internal/MoreKeySpecParser.java index 7c5abe32a..a490b0ad6 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/PopupCharactersParser.java +++ b/java/src/com/android/inputmethod/keyboard/internal/MoreKeySpecParser.java @@ -26,9 +26,9 @@ import com.android.inputmethod.latin.R; import java.util.ArrayList; /** - * String parser of popupCharacters attribute of Key. - * The string is comma separated texts each of which represents one popup key. - * Each popup key text is one of the following: + * String parser of moreKeys attribute of Key. + * The string is comma separated texts each of which represents one "more key". + * Each "more key" specification is one of the following: * - A single letter (Letter) * - Label optionally followed by keyOutputText or code (keyLabel|keyOutputText). * - Icon followed by keyOutputText or code (@icon/icon_number|@integer/key_code) @@ -37,8 +37,8 @@ import java.util.ArrayList; * Note that the character '@' and '\' are also parsed by XML parser and CSV parser as well. * See {@link KeyboardIconsSet} about icon_number. */ -public class PopupCharactersParser { - private static final String TAG = PopupCharactersParser.class.getSimpleName(); +public class MoreKeySpecParser { + private static final String TAG = MoreKeySpecParser.class.getSimpleName(); private static final char ESCAPE = '\\'; private static final String LABEL_END = "|"; @@ -46,24 +46,24 @@ public class PopupCharactersParser { private static final String PREFIX_ICON = PREFIX_AT + "icon/"; private static final String PREFIX_CODE = PREFIX_AT + "integer/"; - private PopupCharactersParser() { + private MoreKeySpecParser() { // Intentional empty constructor for utility class. } - private static boolean hasIcon(String popupSpec) { - if (popupSpec.startsWith(PREFIX_ICON)) { - final int end = indexOfLabelEnd(popupSpec, 0); + private static boolean hasIcon(String moreKeySpec) { + if (moreKeySpec.startsWith(PREFIX_ICON)) { + final int end = indexOfLabelEnd(moreKeySpec, 0); if (end > 0) return true; - throw new PopupCharactersParserError("outputText or code not specified: " + popupSpec); + throw new MoreKeySpecParserError("outputText or code not specified: " + moreKeySpec); } return false; } - private static boolean hasCode(String popupSpec) { - final int end = indexOfLabelEnd(popupSpec, 0); - if (end > 0 && end + 1 < popupSpec.length() - && popupSpec.substring(end + 1).startsWith(PREFIX_CODE)) { + private static boolean hasCode(String moreKeySpec) { + final int end = indexOfLabelEnd(moreKeySpec, 0); + if (end > 0 && end + 1 < moreKeySpec.length() + && moreKeySpec.substring(end + 1).startsWith(PREFIX_CODE)) { return true; } return false; @@ -85,81 +85,81 @@ public class PopupCharactersParser { return sb.toString(); } - private static int indexOfLabelEnd(String popupSpec, int start) { - if (popupSpec.indexOf(ESCAPE, start) < 0) { - final int end = popupSpec.indexOf(LABEL_END, start); + private static int indexOfLabelEnd(String moreKeySpec, int start) { + if (moreKeySpec.indexOf(ESCAPE, start) < 0) { + final int end = moreKeySpec.indexOf(LABEL_END, start); if (end == 0) - throw new PopupCharactersParserError(LABEL_END + " at " + start + ": " + popupSpec); + throw new MoreKeySpecParserError(LABEL_END + " at " + start + ": " + moreKeySpec); return end; } - final int length = popupSpec.length(); + final int length = moreKeySpec.length(); for (int pos = start; pos < length; pos++) { - final char c = popupSpec.charAt(pos); + final char c = moreKeySpec.charAt(pos); if (c == ESCAPE && pos + 1 < length) { pos++; - } else if (popupSpec.startsWith(LABEL_END, pos)) { + } else if (moreKeySpec.startsWith(LABEL_END, pos)) { return pos; } } return -1; } - public static String getLabel(String popupSpec) { - if (hasIcon(popupSpec)) + public static String getLabel(String moreKeySpec) { + if (hasIcon(moreKeySpec)) return null; - final int end = indexOfLabelEnd(popupSpec, 0); - final String label = (end > 0) ? parseEscape(popupSpec.substring(0, end)) - : parseEscape(popupSpec); + final int end = indexOfLabelEnd(moreKeySpec, 0); + final String label = (end > 0) ? parseEscape(moreKeySpec.substring(0, end)) + : parseEscape(moreKeySpec); if (TextUtils.isEmpty(label)) - throw new PopupCharactersParserError("Empty label: " + popupSpec); + throw new MoreKeySpecParserError("Empty label: " + moreKeySpec); return label; } - public static String getOutputText(String popupSpec) { - if (hasCode(popupSpec)) + public static String getOutputText(String moreKeySpec) { + if (hasCode(moreKeySpec)) return null; - final int end = indexOfLabelEnd(popupSpec, 0); + final int end = indexOfLabelEnd(moreKeySpec, 0); if (end > 0) { - if (indexOfLabelEnd(popupSpec, end + 1) >= 0) - throw new PopupCharactersParserError("Multiple " + LABEL_END + ": " - + popupSpec); - final String outputText = parseEscape(popupSpec.substring(end + LABEL_END.length())); + if (indexOfLabelEnd(moreKeySpec, end + 1) >= 0) + throw new MoreKeySpecParserError("Multiple " + LABEL_END + ": " + + moreKeySpec); + final String outputText = parseEscape(moreKeySpec.substring(end + LABEL_END.length())); if (!TextUtils.isEmpty(outputText)) return outputText; - throw new PopupCharactersParserError("Empty outputText: " + popupSpec); + throw new MoreKeySpecParserError("Empty outputText: " + moreKeySpec); } - final String label = getLabel(popupSpec); + final String label = getLabel(moreKeySpec); if (label == null) - throw new PopupCharactersParserError("Empty label: " + popupSpec); + throw new MoreKeySpecParserError("Empty label: " + moreKeySpec); // Code is automatically generated for one letter label. See {@link getCode()}. if (label.length() == 1) return null; return label; } - public static int getCode(Resources res, String popupSpec) { - if (hasCode(popupSpec)) { - final int end = indexOfLabelEnd(popupSpec, 0); - if (indexOfLabelEnd(popupSpec, end + 1) >= 0) - throw new PopupCharactersParserError("Multiple " + LABEL_END + ": " + popupSpec); + public static int getCode(Resources res, String moreKeySpec) { + if (hasCode(moreKeySpec)) { + final int end = indexOfLabelEnd(moreKeySpec, 0); + if (indexOfLabelEnd(moreKeySpec, end + 1) >= 0) + throw new MoreKeySpecParserError("Multiple " + LABEL_END + ": " + moreKeySpec); final int resId = getResourceId(res, - popupSpec.substring(end + LABEL_END.length() + PREFIX_AT.length())); + moreKeySpec.substring(end + LABEL_END.length() + PREFIX_AT.length())); final int code = res.getInteger(resId); return code; } - if (indexOfLabelEnd(popupSpec, 0) > 0) + if (indexOfLabelEnd(moreKeySpec, 0) > 0) return Keyboard.CODE_DUMMY; - final String label = getLabel(popupSpec); + final String label = getLabel(moreKeySpec); // Code is automatically generated for one letter label. if (label != null && label.length() == 1) return label.charAt(0); return Keyboard.CODE_DUMMY; } - public static int getIconId(String popupSpec) { - if (hasIcon(popupSpec)) { - int end = popupSpec.indexOf(LABEL_END, PREFIX_ICON.length() + 1); - final String iconId = popupSpec.substring(PREFIX_ICON.length(), end); + public static int getIconId(String moreKeySpec) { + if (hasIcon(moreKeySpec)) { + int end = moreKeySpec.indexOf(LABEL_END, PREFIX_ICON.length() + 1); + final String iconId = moreKeySpec.substring(PREFIX_ICON.length(), end); try { return Integer.valueOf(iconId); } catch (NumberFormatException e) { @@ -174,13 +174,13 @@ public class PopupCharactersParser { String packageName = res.getResourcePackageName(R.string.english_ime_name); int resId = res.getIdentifier(name, null, packageName); if (resId == 0) - throw new PopupCharactersParserError("Unknown resource: " + name); + throw new MoreKeySpecParserError("Unknown resource: " + name); return resId; } @SuppressWarnings("serial") - public static class PopupCharactersParserError extends RuntimeException { - public PopupCharactersParserError(String message) { + public static class MoreKeySpecParserError extends RuntimeException { + public MoreKeySpecParserError(String message) { super(message); } } @@ -196,31 +196,31 @@ public class PopupCharactersParser { } }; - public static CharSequence[] filterOut(Resources res, CharSequence[] popupCharacters, + public static CharSequence[] filterOut(Resources res, CharSequence[] moreKeys, CodeFilter filter) { - if (popupCharacters == null || popupCharacters.length < 1) { + if (moreKeys == null || moreKeys.length < 1) { return null; } - if (popupCharacters.length == 1 - && filter.shouldFilterOut(getCode(res, popupCharacters[0].toString()))) { + if (moreKeys.length == 1 + && filter.shouldFilterOut(getCode(res, moreKeys[0].toString()))) { return null; } ArrayList<CharSequence> filtered = null; - for (int i = 0; i < popupCharacters.length; i++) { - final CharSequence popupSpec = popupCharacters[i]; - if (filter.shouldFilterOut(getCode(res, popupSpec.toString()))) { + for (int i = 0; i < moreKeys.length; i++) { + final CharSequence moreKeySpec = moreKeys[i]; + if (filter.shouldFilterOut(getCode(res, moreKeySpec.toString()))) { if (filtered == null) { filtered = new ArrayList<CharSequence>(); for (int j = 0; j < i; j++) { - filtered.add(popupCharacters[j]); + filtered.add(moreKeys[j]); } } } else if (filtered != null) { - filtered.add(popupSpec); + filtered.add(moreKeySpec); } } if (filtered == null) { - return popupCharacters; + return moreKeys; } if (filtered.size() == 0) { return null; diff --git a/java/src/com/android/inputmethod/latin/CandidateView.java b/java/src/com/android/inputmethod/latin/CandidateView.java index b9ded31cb..fe48f0bc1 100644 --- a/java/src/com/android/inputmethod/latin/CandidateView.java +++ b/java/src/com/android/inputmethod/latin/CandidateView.java @@ -23,6 +23,7 @@ import android.graphics.Color; import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.os.Message; +import android.os.SystemClock; import android.text.Spannable; import android.text.SpannableString; import android.text.Spanned; @@ -34,8 +35,10 @@ import android.text.style.ForegroundColorSpan; import android.text.style.StyleSpan; import android.text.style.UnderlineSpan; import android.util.AttributeSet; +import android.util.DisplayMetrics; import android.view.Gravity; import android.view.LayoutInflater; +import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnLongClickListener; @@ -46,6 +49,9 @@ import android.widget.TextView; import com.android.inputmethod.compat.FrameLayoutCompatUtils; import com.android.inputmethod.compat.LinearLayoutCompatUtils; +import com.android.inputmethod.keyboard.KeyboardActionListener; +import com.android.inputmethod.keyboard.MoreKeysPanel; +import com.android.inputmethod.keyboard.PointerTracker; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import java.util.ArrayList; @@ -58,16 +64,19 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo } // The maximum number of suggestions available. See {@link Suggest#mPrefMaxSuggestions}. - private static final int MAX_SUGGESTIONS = 18; + public static final int MAX_SUGGESTIONS = 18; private static final boolean DBG = LatinImeLogger.sDBG; private final ViewGroup mCandidatesPlacer; private final ViewGroup mCandidatesStrip; - private ViewGroup mCandidatesPane; - private ViewGroup mCandidatesPaneContainer; private View mKeyboardView; + private final View mMoreSuggestionsContainer; + private final MoreSuggestionsView mMoreSuggestionsView; + private final MoreSuggestions.Builder mMoreSuggestionsBuilder; + private final PopupWindow mMoreSuggestionsWindow; + private final ArrayList<TextView> mWords = new ArrayList<TextView>(); private final ArrayList<TextView> mInfos = new ArrayList<TextView>(); private final ArrayList<View> mDividers = new ArrayList<View>(); @@ -80,7 +89,6 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo private boolean mShowingAutoCorrectionInverted; private final SuggestionsStripParams mStripParams; - private final SuggestionsPaneParams mPaneParams; private static final float MIN_TEXT_XSCALE = 0.70f; private final UiHandler mHandler = new UiHandler(this); @@ -137,7 +145,6 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo private static class CandidateViewParams { public final int mPadding; public final int mDividerWidth; - public final int mDividerHeight; public final int mCandidateStripHeight; protected final List<TextView> mWords; @@ -156,96 +163,9 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo divider.measure( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); mDividerWidth = divider.getMeasuredWidth(); - mDividerHeight = divider.getMeasuredHeight(); final Resources res = word.getResources(); - mCandidateStripHeight = res.getDimensionPixelOffset(R.dimen.candidate_strip_height); - } - } - - private static class SuggestionsPaneParams extends CandidateViewParams { - public SuggestionsPaneParams(List<TextView> words, List<View> dividers, - List<TextView> infos) { - super(words, dividers, infos); - } - - public int layout(SuggestedWords suggestions, ViewGroup paneView, int from, int textColor, - int paneWidth) { - final int count = Math.min(mWords.size(), suggestions.size()); - View centeringFrom = null, lastView = null; - int x = 0, y = 0; - for (int index = from; index < count; index++) { - final int pos = index; - final TextView word = mWords.get(pos); - final View divider = mDividers.get(pos); - final TextPaint paint = word.getPaint(); - word.setTextColor(textColor); - final CharSequence styled = suggestions.getWord(pos); - - final TextView info; - if (DBG) { - final CharSequence debugInfo = getDebugInfo(suggestions, index); - if (debugInfo != null) { - info = mInfos.get(index); - info.setText(debugInfo); - } else { - info = null; - } - } else { - info = null; - } - - final CharSequence text; - final float scaleX; - paint.setTextScaleX(1.0f); - final int textWidth = getTextWidth(styled, paint); - int available = paneWidth - x - mPadding; - if (textWidth >= available) { - // Needs new row, centering previous row. - centeringCandidates(paneView, centeringFrom, lastView, x, paneWidth); - x = 0; - y += mCandidateStripHeight; - } - if (x != 0) { - // Add divider if this isn't the left most suggestion in current row. - paneView.addView(divider); - FrameLayoutCompatUtils.placeViewAt(divider, x, y - + (mCandidateStripHeight - mDividerHeight) / 2, mDividerWidth, - mDividerHeight); - x += mDividerWidth; - } - available = paneWidth - x - mPadding; - text = getEllipsizedText(styled, available, paint); - scaleX = paint.getTextScaleX(); - word.setText(text); - word.setTextScaleX(scaleX); - paneView.addView(word); - lastView = word; - if (x == 0) - centeringFrom = word; - word.measure(ViewGroup.LayoutParams.WRAP_CONTENT, - MeasureSpec.makeMeasureSpec(mCandidateStripHeight, MeasureSpec.EXACTLY)); - final int width = word.getMeasuredWidth(); - final int height = word.getMeasuredHeight(); - FrameLayoutCompatUtils.placeViewAt(word, x, y + (mCandidateStripHeight - height) - / 2, width, height); - x += width; - if (info != null) { - paneView.addView(info); - lastView = info; - info.measure(ViewGroup.LayoutParams.WRAP_CONTENT, - ViewGroup.LayoutParams.WRAP_CONTENT); - final int infoWidth = info.getMeasuredWidth(); - FrameLayoutCompatUtils.placeViewAt( - info, x - infoWidth, y, infoWidth, info.getMeasuredHeight()); - } - } - if (x != 0) { - // Centering last candidates row. - centeringCandidates(paneView, centeringFrom, lastView, x, paneWidth); - } - - return count - from; + mCandidateStripHeight = res.getDimensionPixelSize(R.dimen.candidate_strip_height); } } @@ -257,7 +177,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo private final int mColorTypedWord; private final int mColorAutoCorrect; private final int mColorSuggestedCandidate; - private final int mCandidateCountInStrip; + public final int mCandidateCountInStrip; private final float mCenterCandidateWeight; private final int mCenterCandidateIndex; private final Drawable mMoreCandidateHint; @@ -311,10 +231,6 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo mHintToSaveText = context.getText(R.string.hint_add_to_dictionary); } - public int getTextColor() { - return mColorTypedWord; - } - private CharSequence getStyledCandidateWord(SuggestedWords suggestions, int pos) { final CharSequence word = suggestions.getWord(pos); final boolean isAutoCorrect = pos == 1 && willAutoCorrect(suggestions); @@ -389,10 +305,11 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo return word; } - public int layout(SuggestedWords suggestions, ViewGroup stripView, ViewGroup placer, + public void layout(SuggestedWords suggestions, ViewGroup stripView, ViewGroup placer, int stripWidth) { if (suggestions.isPunctuationSuggestions()) { - return layoutPunctuationSuggestions(suggestions, stripView); + layoutPunctuationSuggestions(suggestions, stripView); + return; } final int countInStrip = mCandidateCountInStrip; @@ -449,8 +366,6 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo } } } - - return countInStrip; } private int getCandidateWidth(int index, int maxWidth) { @@ -482,7 +397,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo } } - private int layoutPunctuationSuggestions(SuggestedWords suggestions, ViewGroup stripView) { + private void layoutPunctuationSuggestions(SuggestedWords suggestions, ViewGroup stripView) { final int countInStrip = Math.min(suggestions.size(), PUNCTUATIONS_IN_STRIP); for (int index = 0; index < countInStrip; index++) { if (index != 0) { @@ -501,7 +416,6 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo setLayoutWeight(word, 1.0f, mCandidateStripHeight); } mMoreSuggestionsAvailable = false; - return countInStrip; } public void layoutAddToDictionaryHint(CharSequence word, ViewGroup stripView, @@ -583,8 +497,16 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo mStripParams = new SuggestionsStripParams(context, attrs, defStyle, mWords, mDividers, mInfos); - mPaneParams = new SuggestionsPaneParams(mWords, mDividers, mInfos); mStripParams.mWordToSaveView.setOnClickListener(this); + + mMoreSuggestionsContainer = inflater.inflate(R.layout.more_suggestions, null); + mMoreSuggestionsView = (MoreSuggestionsView)mMoreSuggestionsContainer + .findViewById(R.id.more_suggestions_view); + mMoreSuggestionsBuilder = new MoreSuggestions.Builder(mMoreSuggestionsView); + mMoreSuggestionsWindow = new PopupWindow(context); + mMoreSuggestionsWindow.setWindowLayoutMode( + ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); + mMoreSuggestionsWindow.setBackgroundDrawable(null); } /** @@ -594,11 +516,6 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo public void setListener(Listener listener, View inputView) { mListener = listener; mKeyboardView = inputView.findViewById(R.id.keyboard_view); - mCandidatesPane = FrameLayoutCompatUtils.getPlacer( - (ViewGroup)inputView.findViewById(R.id.candidates_pane)); - mCandidatesPane.setOnClickListener(this); - mCandidatesPaneContainer = (ViewGroup)inputView.findViewById( - R.id.candidates_pane_container); } public void setSuggestions(SuggestedWords suggestions) { @@ -614,15 +531,10 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo private void updateSuggestions() { clear(); - closeCandidatesPane(); if (mSuggestions.size() == 0) return; - final int width = getWidth(); - final int countInStrip = mStripParams.layout( - mSuggestions, mCandidatesStrip, mCandidatesPlacer, width); - mPaneParams.layout( - mSuggestions, mCandidatesPane, countInStrip, mStripParams.getTextColor(), width); + mStripParams.layout(mSuggestions, mCandidatesStrip, mCandidatesPlacer, getWidth()); } private static CharSequence getDebugInfo(SuggestedWords suggestions, int pos) { @@ -648,26 +560,6 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo } } - private static void centeringCandidates(ViewGroup parent, View from, View to, int width, - int parentWidth) { - final int fromIndex = parent.indexOfChild(from); - final int toIndex = parent.indexOfChild(to); - final int offset = (parentWidth - width) / 2; - for (int index = fromIndex; index <= toIndex; index++) { - offsetMargin(parent.getChildAt(index), offset, 0); - } - } - - private static void offsetMargin(View v, int dx, int dy) { - if (v == null) - return; - final ViewGroup.LayoutParams lp = v.getLayoutParams(); - if (lp instanceof ViewGroup.MarginLayoutParams) { - final ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams)lp; - mlp.setMargins(mlp.leftMargin + dx, mlp.topMargin + dy, 0, 0); - } - } - private static float getTextScaleX(CharSequence text, int maxWidth, TextPaint paint) { paint.setTextScaleX(1.0f); final int width = getTextWidth(text, paint); @@ -730,25 +622,6 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo } } - private void expandCandidatesPane() { - mCandidatesPaneContainer.setMinimumHeight(mKeyboardView.getMeasuredHeight()); - mCandidatesPaneContainer.setVisibility(VISIBLE); - mKeyboardView.setVisibility(GONE); - } - - private void closeCandidatesPane() { - mCandidatesPaneContainer.setVisibility(GONE); - mKeyboardView.setVisibility(VISIBLE); - } - - private void toggleCandidatesPane() { - if (mCandidatesPaneContainer.getVisibility() == VISIBLE) { - closeCandidatesPane(); - } else { - expandCandidatesPane(); - } - } - public void onAutoCorrectionInverted(CharSequence autoCorrectedWord) { final CharSequence inverted = mStripParams.getInvertedText(autoCorrectedWord); if (inverted == null) @@ -785,8 +658,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo mCandidatesPlacer.removeAllViews(); mCandidatesPlacer.addView(mCandidatesStrip); mCandidatesStrip.removeAllViews(); - mCandidatesPane.removeAllViews(); - closeCandidatesPane(); + mMoreSuggestionsWindow.dismiss(); } private void hidePreview() { @@ -823,16 +695,103 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo } } + private final KeyboardActionListener mMoreSuggestionsListener = + new KeyboardActionListener.Adapter() { + @Override + public boolean onCustomRequest(int requestCode) { + final int index = requestCode; + final CharSequence word = mSuggestions.getWord(index); + mListener.pickSuggestionManually(index, word); + mMoreSuggestionsView.dismissMoreKeysPanel(); + return true; + } + + @Override + public void onCancelInput() { + mMoreSuggestionsView.dismissMoreKeysPanel(); + } + }; + + private final MoreKeysPanel.Controller mMoreSuggestionsController = + new MoreKeysPanel.Controller() { + @Override + public boolean dismissMoreKeysPanel() { + if (mMoreSuggestionsWindow.isShowing()) { + mMoreSuggestionsWindow.dismiss(); + return true; + } + return false; + } + }; + @Override public boolean onLongClick(View view) { - if (mStripParams.mMoreSuggestionsAvailable) { - toggleCandidatesPane(); + final SuggestionsStripParams params = mStripParams; + if (params.mMoreSuggestionsAvailable) { + final int stripWidth = getWidth(); + final View container = mMoreSuggestionsContainer; + final int maxWidth = stripWidth - container.getPaddingLeft() + - container.getPaddingRight(); + final DisplayMetrics dm = getContext().getResources().getDisplayMetrics(); + // TODO: Revise how we determine the height + final int maxHeight = dm.heightPixels - mKeyboardView.getHeight() - getHeight() * 3; + final MoreSuggestions.Builder builder = mMoreSuggestionsBuilder; + builder.layout(mSuggestions, params.mCandidateCountInStrip, maxWidth, maxHeight); + mMoreSuggestionsView.setKeyboard(builder.build()); + container.measure( + ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); + + final MoreKeysPanel moreKeysPanel = mMoreSuggestionsView; + final int pointX = stripWidth / 2; + final int pointY = 0; + moreKeysPanel.showMoreKeysPanel( + this, mMoreSuggestionsController, pointX, pointY, + mMoreSuggestionsWindow, mMoreSuggestionsListener); + // TODO: Should figure out how to select the pointer tracker correctly. + final PointerTracker tracker = PointerTracker.getPointerTracker(0, moreKeysPanel); + final int translatedX = moreKeysPanel.translateX(tracker.getLastX()); + final int translatedY = moreKeysPanel.translateY(tracker.getLastY()); + tracker.onShowMoreKeysPanel( + translatedX, translatedY, SystemClock.uptimeMillis(), moreKeysPanel); + view.setPressed(false); + // TODO: Should gray out the keyboard here as well? return true; } return false; } @Override + public boolean dispatchTouchEvent(MotionEvent me) { + if (!mMoreSuggestionsWindow.isShowing()) { + return super.dispatchTouchEvent(me); + } + final int action = me.getAction(); + final long eventTime = me.getEventTime(); + final int index = me.getActionIndex(); + final int id = me.getPointerId(index); + final PointerTracker tracker = PointerTracker.getPointerTracker(id, mMoreSuggestionsView); + final int x = mMoreSuggestionsView.translateX((int)me.getX(index)); + final int y = mMoreSuggestionsView.translateY((int)me.getY(index)); + switch (action) { + case MotionEvent.ACTION_DOWN: + case MotionEvent.ACTION_POINTER_DOWN: + tracker.onDownEvent(x, y, eventTime, mMoreSuggestionsView); + break; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_POINTER_UP: + tracker.onUpEvent(x, y, eventTime); + break; + case MotionEvent.ACTION_MOVE: + tracker.onMoveEvent(x, y, eventTime); + break; + case MotionEvent.ACTION_CANCEL: + tracker.onCancelEvent(x, y, eventTime); + break; + } + return true; + } + + @Override public void onClick(View view) { if (view == mStripParams.mWordToSaveView) { addToDictionary((CharSequence)view.getTag()); @@ -840,11 +799,6 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo return; } - if (view == mCandidatesPane) { - closeCandidatesPane(); - return; - } - final Object tag = view.getTag(); if (!(tag instanceof Integer)) return; @@ -854,9 +808,6 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo final CharSequence word = mSuggestions.getWord(index); mListener.pickSuggestionManually(index, word); - // Because some punctuation letters are not treated as word separator depending on locale, - // {@link #setSuggestions} might not be called and candidates pane left opened. - closeCandidatesPane(); } @Override diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 7559108f3..da6c22107 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -118,6 +118,12 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar */ public static final String SUBTYPE_EXTRA_VALUE_ASCII_CAPABLE = "AsciiCapable"; + /** + * The subtype extra value used to indicate that the subtype keyboard layout should be loaded + * from the specified locale. + */ + public static final String SUBTYPE_EXTRA_VALUE_KEYBOARD_LOCALE = "KeyboardLocale"; + private static final int EXTENDED_TOUCHABLE_REGION_HEIGHT = 100; // How many continuous deletes at which to start deleting at a higher speed. diff --git a/java/src/com/android/inputmethod/latin/MoreSuggestions.java b/java/src/com/android/inputmethod/latin/MoreSuggestions.java new file mode 100644 index 000000000..0446fb2a8 --- /dev/null +++ b/java/src/com/android/inputmethod/latin/MoreSuggestions.java @@ -0,0 +1,203 @@ +/* + * Copyright (C) 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. + */ + +package com.android.inputmethod.latin; + +import android.graphics.Paint; +import android.text.TextUtils; + +import com.android.inputmethod.keyboard.Key; +import com.android.inputmethod.keyboard.Keyboard; +import com.android.inputmethod.keyboard.KeyboardSwitcher; +import com.android.inputmethod.keyboard.KeyboardView; +import com.android.inputmethod.keyboard.internal.KeyboardBuilder; +import com.android.inputmethod.keyboard.internal.KeyboardParams; +import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; + +public class MoreSuggestions extends Keyboard { + private static final boolean DBG = LatinImeLogger.sDBG; + + public static final int SUGGESTION_CODE_BASE = 1024; + + private MoreSuggestions(Builder.MoreSuggestionsParam params) { + super(params); + } + + public static class Builder extends KeyboardBuilder<Builder.MoreSuggestionsParam> { + private final MoreSuggestionsView mPaneView; + private SuggestedWords mSuggestions; + private int mFromPos; + private int mToPos; + + public static class MoreSuggestionsParam extends KeyboardParams { + private final int[] mWidths = new int[CandidateView.MAX_SUGGESTIONS]; + private final int[] mRowNumbers = new int[CandidateView.MAX_SUGGESTIONS]; + private final int[] mColumnOrders = new int[CandidateView.MAX_SUGGESTIONS]; + private final int[] mNumColumnsInRow = new int[CandidateView.MAX_SUGGESTIONS]; + private static final int MAX_COLUMNS_IN_ROW = 3; + private int mNumRows; + + public int layout(SuggestedWords suggestions, int fromPos, int maxWidth, int maxHeight, + KeyboardView view) { + clearKeys(); + final Paint paint = new Paint(); + paint.setAntiAlias(true); + final int padding = (int) view.getContext().getResources() + .getDimension(R.dimen.more_suggestions_key_horizontal_padding); + + int row = 0; + int pos = fromPos, rowStartPos = fromPos; + final int size = Math.min(suggestions.size(), CandidateView.MAX_SUGGESTIONS); + while (pos < size) { + final CharSequence word = suggestions.getWord(pos); + // TODO: Should take care of text x-scaling. + mWidths[pos] = (int)view.getDefaultLabelWidth(word, paint) + padding; + final int numColumn = pos - rowStartPos + 1; + if (numColumn > MAX_COLUMNS_IN_ROW + || !fitInWidth(rowStartPos, pos + 1, maxWidth / numColumn)) { + if ((row + 1) * mDefaultRowHeight > maxHeight) { + break; + } + mNumColumnsInRow[row] = pos - rowStartPos; + rowStartPos = pos; + row++; + } + mColumnOrders[pos] = pos - rowStartPos; + mRowNumbers[pos] = row; + pos++; + } + mNumColumnsInRow[row] = pos - rowStartPos; + mNumRows = row + 1; + mWidth = mOccupiedWidth = calcurateMaxRowWidth(fromPos, pos); + mHeight = mOccupiedHeight = mNumRows * mDefaultRowHeight + mVerticalGap; + return pos - fromPos; + } + + private boolean fitInWidth(int startPos, int endPos, int width) { + for (int pos = startPos; pos < endPos; pos++) { + if (mWidths[pos] > width) + return false; + } + return true; + } + + private int calcurateMaxRowWidth(int startPos, int endPos) { + int maxRowWidth = 0; + int pos = startPos; + for (int row = 0; row < mNumRows; row++) { + final int numColumn = mNumColumnsInRow[row]; + int maxKeyWidth = 0; + while (pos < endPos && mRowNumbers[pos] == row) { + maxKeyWidth = Math.max(maxKeyWidth, mWidths[pos]); + pos++; + } + maxRowWidth = Math.max(maxRowWidth, maxKeyWidth * numColumn); + } + return maxRowWidth; + } + + private static final int[][] COLUMN_ORDER_TO_NUMBER = { + { 0, }, + { 1, 0, }, + { 2, 0, 1}, + }; + + private int getColumnNumber(int pos) { + final int columnOrder = mColumnOrders[pos]; + final int numColumn = mNumColumnsInRow[mRowNumbers[pos]]; + return COLUMN_ORDER_TO_NUMBER[numColumn - 1][columnOrder]; + } + + public int getX(int pos) { + final int columnNumber = getColumnNumber(pos); + return columnNumber * getWidth(pos); + } + + public int getY(int pos) { + final int row = mRowNumbers[pos]; + return (mNumRows -1 - row) * mDefaultRowHeight + mTopPadding; + } + + public int getWidth(int pos) { + final int row = mRowNumbers[pos]; + final int numColumn = mNumColumnsInRow[row]; + return mWidth / numColumn; + } + + public int getFlags(int pos) { + int rowFlags = 0; + + final int row = mRowNumbers[pos]; + if (row == 0) + rowFlags |= Keyboard.EDGE_BOTTOM; + if (row == mNumRows - 1) + rowFlags |= Keyboard.EDGE_TOP; + + final int numColumn = mNumColumnsInRow[row]; + final int column = getColumnNumber(pos); + if (column == 0) + rowFlags |= Keyboard.EDGE_LEFT; + if (column == numColumn - 1) + rowFlags |= Keyboard.EDGE_RIGHT; + + return rowFlags; + } + } + + public Builder(MoreSuggestionsView paneView) { + super(paneView.getContext(), new MoreSuggestionsParam()); + mPaneView = paneView; + } + + public Builder layout(SuggestedWords suggestions, int fromPos, int maxWidth, + int maxHeight) { + final Keyboard keyboard = KeyboardSwitcher.getInstance().getLatinKeyboard(); + final int xmlId = R.xml.kbd_suggestions_pane_template; + load(keyboard.mId.cloneWithNewXml(mResources.getResourceEntryName(xmlId), xmlId)); + mParams.mVerticalGap = mParams.mTopPadding = keyboard.mVerticalGap / 2; + + final int count = mParams.layout(suggestions, fromPos, maxWidth, maxHeight, mPaneView); + mFromPos = fromPos; + mToPos = fromPos + count; + mSuggestions = suggestions; + return this; + } + + private static String getDebugInfo(SuggestedWords suggestions, int pos) { + if (!DBG) return null; + final SuggestedWordInfo wordInfo = suggestions.getInfo(pos); + if (wordInfo == null) return null; + final String info = wordInfo.getDebugString(); + if (TextUtils.isEmpty(info)) return null; + return info; + } + + @Override + public MoreSuggestions build() { + final MoreSuggestionsParam params = mParams; + for (int pos = mFromPos; pos < mToPos; pos++) { + final String word = mSuggestions.getWord(pos).toString(); + final String info = getDebugInfo(mSuggestions, pos); + final int index = pos + SUGGESTION_CODE_BASE; + final Key key = new Key( + params, word, info, null, index, null, params.getX(pos), params.getY(pos), + params.getWidth(pos), params.mDefaultRowHeight, params.getFlags(pos)); + params.onAddKey(key); + } + return new MoreSuggestions(params); + } + } +} diff --git a/java/src/com/android/inputmethod/latin/MoreSuggestionsView.java b/java/src/com/android/inputmethod/latin/MoreSuggestionsView.java new file mode 100644 index 000000000..828490112 --- /dev/null +++ b/java/src/com/android/inputmethod/latin/MoreSuggestionsView.java @@ -0,0 +1,237 @@ +/* + * Copyright (C) 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. + */ + +package com.android.inputmethod.latin; + +import android.content.Context; +import android.content.res.Resources; +import android.util.AttributeSet; +import android.view.Gravity; +import android.view.View; +import android.widget.PopupWindow; + +import com.android.inputmethod.keyboard.Key; +import com.android.inputmethod.keyboard.KeyDetector; +import com.android.inputmethod.keyboard.Keyboard; +import com.android.inputmethod.keyboard.KeyboardActionListener; +import com.android.inputmethod.keyboard.KeyboardView; +import com.android.inputmethod.keyboard.MoreKeysPanel; +import com.android.inputmethod.keyboard.PointerTracker; +import com.android.inputmethod.keyboard.PointerTracker.DrawingProxy; +import com.android.inputmethod.keyboard.PointerTracker.TimerProxy; + +import java.util.List; + +/** + * A view that renders a virtual {@link MoreSuggestions}. It handles rendering of keys and detecting + * key presses and touch movements. + */ +public class MoreSuggestionsView extends KeyboardView implements MoreKeysPanel { + private final int[] mCoordinates = new int[2]; + + private final KeyDetector mKeyDetector; + + private Controller mController; + private KeyboardActionListener mListener; + private int mOriginX; + private int mOriginY; + + private static class SuggestionsPaneKeyDetector extends KeyDetector { + private final int mSlideAllowanceSquare; + private final int mSlideAllowanceSquareTop; + + public SuggestionsPaneKeyDetector(float slideAllowance) { + super(/* keyHysteresisDistance */0); + mSlideAllowanceSquare = (int)(slideAllowance * slideAllowance); + // Top slide allowance is slightly longer (sqrt(2) times) than other edges. + mSlideAllowanceSquareTop = mSlideAllowanceSquare * 2; + } + + @Override + public boolean alwaysAllowsSlidingInput() { + return true; + } + + @Override + protected int getMaxNearbyKeys() { + // No nearby key will be returned. + return 1; + } + + @Override + public int getKeyIndexAndNearbyCodes(int x, int y, final int[] allCodes) { + final List<Key> keys = getKeyboard().mKeys; + final int touchX = getTouchX(x); + final int touchY = getTouchY(y); + + int nearestIndex = NOT_A_KEY; + int nearestDist = (y < 0) ? mSlideAllowanceSquareTop : mSlideAllowanceSquare; + final int keyCount = keys.size(); + for (int index = 0; index < keyCount; index++) { + final int dist = keys.get(index).squaredDistanceToEdge(touchX, touchY); + if (dist < nearestDist) { + nearestIndex = index; + nearestDist = dist; + } + } + + if (allCodes != null && nearestIndex != NOT_A_KEY) + allCodes[0] = keys.get(nearestIndex).mCode; + return nearestIndex; + } + } + + private static final TimerProxy EMPTY_TIMER_PROXY = new TimerProxy.Adapter(); + + private final KeyboardActionListener mSuggestionsPaneListener = + new KeyboardActionListener.Adapter() { + @Override + public void onPress(int primaryCode, boolean withSliding) { + mListener.onPress(primaryCode, withSliding); + } + + @Override + public void onRelease(int primaryCode, boolean withSliding) { + mListener.onRelease(primaryCode, withSliding); + } + + @Override + public void onCodeInput(int primaryCode, int[] keyCodes, int x, int y) { + mListener.onCustomRequest(primaryCode - MoreSuggestions.SUGGESTION_CODE_BASE); + } + + @Override + public void onCancelInput() { + mListener.onCancelInput(); + } + }; + + public MoreSuggestionsView(Context context, AttributeSet attrs) { + this(context, attrs, R.attr.suggestionsPaneViewStyle); + } + + public MoreSuggestionsView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + + final Resources res = context.getResources(); + // Override default ProximityKeyDetector. + mKeyDetector = new SuggestionsPaneKeyDetector(res.getDimension( + R.dimen.more_suggestions_slide_allowance)); + // Remove gesture detector on suggestions pane + setKeyPreviewPopupEnabled(false, 0); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + final Keyboard keyboard = getKeyboard(); + if (keyboard != null) { + final int width = keyboard.mOccupiedWidth + getPaddingLeft() + getPaddingRight(); + final int height = keyboard.mOccupiedHeight + getPaddingTop() + getPaddingBottom(); + setMeasuredDimension(width, height); + } else { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + } + + @Override + public void setKeyboard(Keyboard keyboard) { + super.setKeyboard(keyboard); + mKeyDetector.setKeyboard(keyboard, -getPaddingLeft(), + -getPaddingTop() + mVerticalCorrection); + } + + @Override + public KeyDetector getKeyDetector() { + return mKeyDetector; + } + + @Override + public KeyboardActionListener getKeyboardActionListener() { + return mSuggestionsPaneListener; + } + + @Override + public DrawingProxy getDrawingProxy() { + return this; + } + + @Override + public TimerProxy getTimerProxy() { + return EMPTY_TIMER_PROXY; + } + + @Override + public void setKeyPreviewPopupEnabled(boolean previewEnabled, int delay) { + // Suggestions pane needs no pop-up key preview displayed, so we pass always false with a + // delay of 0. The delay does not matter actually since the popup is not shown anyway. + super.setKeyPreviewPopupEnabled(false, 0); + } + + @Override + public void setShifted(boolean shifted) { + // Nothing to do with. + } + + @Override + public void showMoreKeysPanel(View parentView, Controller controller, int pointX, int pointY, + PopupWindow window, KeyboardActionListener listener) { + mController = controller; + mListener = listener; + final View container = (View)getParent(); + final MoreSuggestions pane = (MoreSuggestions)getKeyboard(); + + parentView.getLocationInWindow(mCoordinates); + final int paneLeft = pointX - (pane.mOccupiedWidth / 2) + parentView.getPaddingLeft(); + final int x = wrapUp(Math.max(0, Math.min(paneLeft, + parentView.getWidth() - pane.mOccupiedWidth)) + - container.getPaddingLeft() + mCoordinates[0], + container.getMeasuredWidth(), 0, parentView.getWidth()); + final int y = pointY + - (container.getMeasuredHeight() - container.getPaddingBottom()) + + parentView.getPaddingTop() + mCoordinates[1]; + + window.setContentView(container); + window.setWidth(container.getMeasuredWidth()); + window.setHeight(container.getMeasuredHeight()); + window.showAtLocation(parentView, Gravity.NO_GRAVITY, x, y); + + mOriginX = x + container.getPaddingLeft() - mCoordinates[0]; + mOriginY = y + container.getPaddingTop() - mCoordinates[1]; + } + + private static int wrapUp(int x, int width, int left, int right) { + if (x < left) + return left; + if (x + width > right) + return right - width; + return x; + } + + @Override + public boolean dismissMoreKeysPanel() { + return mController.dismissMoreKeysPanel(); + } + + @Override + public int translateX(int x) { + return x - mOriginX; + } + + @Override + public int translateY(int y) { + return y - mOriginY; + } +} diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java index b79c441d7..1e2ef4824 100644 --- a/java/src/com/android/inputmethod/latin/Settings.java +++ b/java/src/com/android/inputmethod/latin/Settings.java @@ -336,7 +336,9 @@ public class Settings extends InputMethodSettingsActivity R.string.auto_correction_threshold_mode_index_off); final String currentSetting = mAutoCorrectionThresholdPreference.getValue(); mBigramSuggestion.setEnabled(!currentSetting.equals(autoCorrectionOff)); - mBigramPrediction.setEnabled(!currentSetting.equals(autoCorrectionOff)); + if (null != mBigramPrediction) { + mBigramPrediction.setEnabled(!currentSetting.equals(autoCorrectionOff)); + } } public Activity getActivityInternal() { diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java index 87d854940..a60f444fb 100644 --- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java +++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java @@ -138,7 +138,7 @@ public class SubtypeSwitcher { mEnabledLanguagesOfCurrentInputMethod.clear(); mEnabledKeyboardSubtypesOfCurrentInputMethod.clear(); for (InputMethodSubtypeCompatWrapper ims : mAllEnabledSubtypesOfCurrentInputMethod) { - final String locale = ims.getLocale(); + final String locale = getSubtypeLocale(ims); final String mode = ims.getMode(); mLocaleSplitter.setString(locale); if (mLocaleSplitter.hasNext()) { @@ -167,7 +167,7 @@ public class SubtypeSwitcher { Log.d(TAG, "Update shortcut IME from : " + (mShortcutInputMethodInfo == null ? "<null>" : mShortcutInputMethodInfo.getId()) + ", " - + (mShortcutSubtype == null ? "<null>" : (mShortcutSubtype.getLocale() + + (mShortcutSubtype == null ? "<null>" : (getSubtypeLocale(mShortcutSubtype) + ", " + mShortcutSubtype.getMode()))); } // TODO: Update an icon for shortcut IME @@ -189,11 +189,17 @@ public class SubtypeSwitcher { Log.d(TAG, "Update shortcut IME to : " + (mShortcutInputMethodInfo == null ? "<null>" : mShortcutInputMethodInfo.getId()) + ", " - + (mShortcutSubtype == null ? "<null>" : (mShortcutSubtype.getLocale() + + (mShortcutSubtype == null ? "<null>" : (getSubtypeLocale(mShortcutSubtype) + ", " + mShortcutSubtype.getMode()))); } } + private static String getSubtypeLocale(InputMethodSubtypeCompatWrapper subtype) { + final String keyboardLocale = subtype.getExtraValueOf( + LatinIME.SUBTYPE_EXTRA_VALUE_KEYBOARD_LOCALE); + return keyboardLocale != null ? keyboardLocale : subtype.getLocale(); + } + // Update the current subtype. LatinIME.onCurrentInputMethodSubtypeChanged calls this function. public void updateSubtype(InputMethodSubtypeCompatWrapper newSubtype) { final String newLocale; @@ -206,7 +212,7 @@ public class SubtypeSwitcher { newLocale = "en_US"; newMode = KEYBOARD_MODE; } else { - newLocale = newSubtype.getLocale(); + newLocale = getSubtypeLocale(newSubtype); newMode = newSubtype.getMode(); } if (DBG) { @@ -332,7 +338,7 @@ public class SubtypeSwitcher { final String imiPackageName = imi.getPackageName(); if (DBG) { Log.d(TAG, "Update icons of IME: " + imiPackageName + "," - + subtype.getLocale() + "," + subtype.getMode()); + + getSubtypeLocale(subtype) + "," + subtype.getMode()); } if (subtype != null) { return pm.getDrawable(imiPackageName, subtype.getIconResId(), |