aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/color/emoji_tab_label_color_gb.xml33
-rw-r--r--java/res/drawable-hdpi/keyboard_background_gb.9.pngbin210 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_popup_panel_background_gb.9.pngbin1204 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/keyboard_suggest_strip_gb.9.pngbin248 -> 0 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_space_led_gb.9.pngbin557 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_background_gb.9.pngbin196 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_popup_panel_background_gb.9.pngbin1726 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_suggest_strip_gb.9.pngbin205 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_space_led_gb.9.pngbin365 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_background_gb.9.pngbin241 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_popup_panel_background_gb.9.pngbin1365 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/keyboard_suggest_strip_gb.9.pngbin289 -> 0 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_space_led_gb.9.pngbin617 -> 0 bytes
-rw-r--r--java/res/drawable/btn_keyboard_key_functional_gb.xml22
-rw-r--r--java/res/drawable/btn_keyboard_key_gb.xml48
-rw-r--r--java/res/drawable/btn_keyboard_key_popup_gb.xml21
-rw-r--r--java/res/drawable/btn_keyboard_spacebar_gb.xml21
-rw-r--r--java/res/drawable/btn_suggestion_gb.xml27
-rw-r--r--java/res/drawable/keyboard_key_feedback_gb.xml24
-rw-r--r--java/res/values-in/strings.xml2
-rw-r--r--java/res/values-ja/strings.xml2
-rw-r--r--java/res/values-land/config.xml8
-rw-r--r--java/res/values-ms-rMY/strings.xml3
-rw-r--r--java/res/values-nb/strings.xml2
-rw-r--r--java/res/values-ne-rNP/strings.xml2
-rw-r--r--java/res/values-ro/strings.xml3
-rw-r--r--java/res/values-sw600dp-land/config.xml5
-rw-r--r--java/res/values-sw600dp/config.xml8
-rw-r--r--java/res/values-sw600dp/touch-position-correction.xml11
-rw-r--r--java/res/values-sw768dp-land/config.xml5
-rw-r--r--java/res/values-sw768dp/config.xml8
-rw-r--r--java/res/values-zu/strings.xml2
-rw-r--r--java/res/values/colors.xml14
-rw-r--r--java/res/values/config-common.xml4
-rw-r--r--java/res/values/config.xml8
-rw-r--r--java/res/values/donottranslate.xml24
-rw-r--r--java/res/values/themes-gb.xml150
-rw-r--r--java/res/values/touch-position-correction.xml20
-rw-r--r--java/res/xml-sw600dp/rows_myanmar.xml22
-rw-r--r--java/res/xml/method.xml6
-rw-r--r--java/res/xml/prefs.xml6
-rw-r--r--java/res/xml/prefs_for_debug.xml8
-rw-r--r--java/res/xml/rowkeys_myanmar1.xml53
-rw-r--r--java/res/xml/rowkeys_myanmar2.xml48
-rw-r--r--java/res/xml/rowkeys_myanmar3.xml75
-rw-r--r--java/res/xml/rowkeys_myanmar4.xml58
-rw-r--r--java/res/xml/rows_myanmar.xml9
-rw-r--r--java/src/com/android/inputmethod/compat/InputMethodServiceCompatUtils.java29
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java40
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardTheme.java81
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java432
-rw-r--r--java/src/com/android/inputmethod/latin/ImportantNoticeDialog.java23
-rw-r--r--java/src/com/android/inputmethod/latin/LastComposedWord.java6
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java29
-rw-r--r--java/src/com/android/inputmethod/latin/WordComposer.java60
-rw-r--r--java/src/com/android/inputmethod/latin/settings/Settings.java37
56 files changed, 534 insertions, 965 deletions
diff --git a/java/res/color/emoji_tab_label_color_gb.xml b/java/res/color/emoji_tab_label_color_gb.xml
deleted file mode 100644
index e1d2f715e..000000000
--- a/java/res/color/emoji_tab_label_color_gb.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2013, 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.
-*/
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item
- android:state_focused="true"
- android:color="@color/key_text_color_gb" />
- <item
- android:state_pressed="true"
- android:color="@color/key_text_color_gb" />
- <item
- android:state_selected="true"
- android:color="@color/key_text_color_gb" />
- <item
- android:color="@color/key_text_inactivated_color_gb" />
-</selector>
diff --git a/java/res/drawable-hdpi/keyboard_background_gb.9.png b/java/res/drawable-hdpi/keyboard_background_gb.9.png
deleted file mode 100644
index fa3d449f7..000000000
--- a/java/res/drawable-hdpi/keyboard_background_gb.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_popup_panel_background_gb.9.png b/java/res/drawable-hdpi/keyboard_popup_panel_background_gb.9.png
deleted file mode 100644
index baff80950..000000000
--- a/java/res/drawable-hdpi/keyboard_popup_panel_background_gb.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/keyboard_suggest_strip_gb.9.png b/java/res/drawable-hdpi/keyboard_suggest_strip_gb.9.png
deleted file mode 100644
index 7cab5a899..000000000
--- a/java/res/drawable-hdpi/keyboard_suggest_strip_gb.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_space_led_gb.9.png b/java/res/drawable-hdpi/sym_keyboard_space_led_gb.9.png
deleted file mode 100644
index c76f64b94..000000000
--- a/java/res/drawable-hdpi/sym_keyboard_space_led_gb.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_background_gb.9.png b/java/res/drawable-mdpi/keyboard_background_gb.9.png
deleted file mode 100644
index 4f81704c4..000000000
--- a/java/res/drawable-mdpi/keyboard_background_gb.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_popup_panel_background_gb.9.png b/java/res/drawable-mdpi/keyboard_popup_panel_background_gb.9.png
deleted file mode 100644
index 0d9ab97f0..000000000
--- a/java/res/drawable-mdpi/keyboard_popup_panel_background_gb.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_suggest_strip_gb.9.png b/java/res/drawable-mdpi/keyboard_suggest_strip_gb.9.png
deleted file mode 100644
index fa6c0feff..000000000
--- a/java/res/drawable-mdpi/keyboard_suggest_strip_gb.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_space_led_gb.9.png b/java/res/drawable-mdpi/sym_keyboard_space_led_gb.9.png
deleted file mode 100644
index 1c1ca2cc7..000000000
--- a/java/res/drawable-mdpi/sym_keyboard_space_led_gb.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_background_gb.9.png b/java/res/drawable-xhdpi/keyboard_background_gb.9.png
deleted file mode 100644
index 27b7a108c..000000000
--- a/java/res/drawable-xhdpi/keyboard_background_gb.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_popup_panel_background_gb.9.png b/java/res/drawable-xhdpi/keyboard_popup_panel_background_gb.9.png
deleted file mode 100644
index 79f7ab00a..000000000
--- a/java/res/drawable-xhdpi/keyboard_popup_panel_background_gb.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/keyboard_suggest_strip_gb.9.png b/java/res/drawable-xhdpi/keyboard_suggest_strip_gb.9.png
deleted file mode 100644
index 1b568df03..000000000
--- a/java/res/drawable-xhdpi/keyboard_suggest_strip_gb.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_space_led_gb.9.png b/java/res/drawable-xhdpi/sym_keyboard_space_led_gb.9.png
deleted file mode 100644
index 6525fefab..000000000
--- a/java/res/drawable-xhdpi/sym_keyboard_space_led_gb.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable/btn_keyboard_key_functional_gb.xml b/java/res/drawable/btn_keyboard_key_functional_gb.xml
deleted file mode 100644
index 431359c20..000000000
--- a/java/res/drawable/btn_keyboard_key_functional_gb.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 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.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <!-- Functional keys. -->
- <item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed" />
- <item android:drawable="@drawable/btn_keyboard_key_dark_normal" />
-</selector>
diff --git a/java/res/drawable/btn_keyboard_key_gb.xml b/java/res/drawable/btn_keyboard_key_gb.xml
deleted file mode 100644
index 3fc253e85..000000000
--- a/java/res/drawable/btn_keyboard_key_gb.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 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.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <!-- Functional keys. -->
- <item android:state_single="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed" />
- <item android:state_single="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal" />
-
- <!-- Action keys. -->
- <item android:state_active="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed" />
- <item android:state_active="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal" />
-
- <!-- Toggle keys. Use checkable/checked state. -->
- <item android:state_checkable="true" android:state_checked="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_on" />
- <item android:state_checkable="true" android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_dark_pressed_off" />
- <item android:state_checkable="true" android:state_checked="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal_on" />
- <item android:state_checkable="true"
- android:drawable="@drawable/btn_keyboard_key_dark_normal_off" />
-
- <!-- Empty background keys. -->
- <item android:state_empty="true"
- android:drawable="@drawable/transparent" />
-
- <!-- Normal keys. -->
- <item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_light_pressed" />
- <item android:drawable="@drawable/btn_keyboard_key_light_normal" />
-</selector>
diff --git a/java/res/drawable/btn_keyboard_key_popup_gb.xml b/java/res/drawable/btn_keyboard_key_popup_gb.xml
deleted file mode 100644
index 9e3670d22..000000000
--- a/java/res/drawable/btn_keyboard_key_popup_gb.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_light_popup_selected" />
- <item android:drawable="@drawable/transparent" />
-</selector>
diff --git a/java/res/drawable/btn_keyboard_spacebar_gb.xml b/java/res/drawable/btn_keyboard_spacebar_gb.xml
deleted file mode 100644
index 4d51f3c9c..000000000
--- a/java/res/drawable/btn_keyboard_spacebar_gb.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 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.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true"
- android:drawable="@drawable/btn_keyboard_key_light_pressed" />
- <item android:drawable="@drawable/btn_keyboard_key_light_normal" />
-</selector>
diff --git a/java/res/drawable/btn_suggestion_gb.xml b/java/res/drawable/btn_suggestion_gb.xml
deleted file mode 100644
index cde12fe55..000000000
--- a/java/res/drawable/btn_suggestion_gb.xml
+++ /dev/null
@@ -1,27 +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.
-*/
--->
-
-<selector
- xmlns:android="http://schemas.android.com/apk/res/android"
->
- <item
- android:state_pressed="true"
- android:drawable="@drawable/btn_suggestion_pressed" />
-</selector>
diff --git a/java/res/drawable/keyboard_key_feedback_gb.xml b/java/res/drawable/keyboard_key_feedback_gb.xml
deleted file mode 100644
index 397e948d8..000000000
--- a/java/res/drawable/keyboard_key_feedback_gb.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 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.
--->
-
-<selector
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <item latin:state_has_morekeys="true"
- android:drawable="@drawable/keyboard_key_feedback_more_background" />
- <item android:drawable="@drawable/keyboard_key_feedback_background" />
-</selector>
diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml
index 3b5cf9192..c5f0fc3b0 100644
--- a/java/res/values-in/strings.xml
+++ b/java/res/values-in/strings.xml
@@ -194,7 +194,7 @@
<string name="dictionary_provider_name" msgid="3027315045397363079">"Penyedia Kamus"</string>
<string name="dictionary_service_name" msgid="6237472350693511448">"Layanan Kamus"</string>
<string name="download_description" msgid="6014835283119198591">"Informasi pembaruan kamus"</string>
- <string name="dictionary_settings_title" msgid="8091417676045693313">"Kamus add-on"</string>
+ <string name="dictionary_settings_title" msgid="8091417676045693313">"Kamus pengaya"</string>
<string name="dictionary_install_over_metered_network_prompt" msgid="3587517870006332980">"Kamus yang tersedia"</string>
<string name="dictionary_settings_summary" msgid="5305694987799824349">"Setelan untuk kamus"</string>
<string name="user_dictionaries" msgid="3582332055892252845">"Kamus pengguna"</string>
diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml
index 4567ec925..c4b185225 100644
--- a/java/res/values-ja/strings.xml
+++ b/java/res/values-ja/strings.xml
@@ -135,7 +135,7 @@
<string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"英語(英国)(<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_with_layout_en_US" msgid="8809311287529805422">"英語(米国)(<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_with_layout_es_US" msgid="510930471167541338">"スペイン語(米国)(<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_generic_traditional" msgid="8584594350973800586">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g>(繁体)"</string>
+ <string name="subtype_generic_traditional" msgid="8584594350973800586">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g>(伝統言語)"</string>
<string name="subtype_no_language" msgid="7137390094240139495">"言語なし(アルファベット)"</string>
<string name="subtype_no_language_qwerty" msgid="244337630616742604">"アルファベット(QWERTY)"</string>
<string name="subtype_no_language_qwertz" msgid="443066912507547976">"アルファベット(QWERTZ)"</string>
diff --git a/java/res/values-land/config.xml b/java/res/values-land/config.xml
index ade7d002c..43ae068f2 100644
--- a/java/res/values-land/config.xml
+++ b/java/res/values-land/config.xml
@@ -33,14 +33,6 @@
<!-- config_more_keys_keyboard_key_height x 1.2 -->
<dimen name="config_more_keys_keyboard_slide_allowance">53.76dp</dimen>
- <fraction name="config_keyboard_top_padding_gb">1.818%p</fraction>
- <fraction name="config_keyboard_bottom_padding_gb">0.0%p</fraction>
- <fraction name="config_key_vertical_gap_gb">5.941%p</fraction>
- <fraction name="config_key_horizontal_gap_gb">0.997%p</fraction>
- <!-- config_more_keys_keyboard_key_height x -1.0 -->
- <dimen name="config_more_keys_keyboard_vertical_correction_gb">-44.8dp</dimen>
- <dimen name="config_key_preview_offset_gb">0.0dp</dimen>
-
<fraction name="config_keyboard_top_padding_holo">2.727%p</fraction>
<fraction name="config_keyboard_bottom_padding_holo">0.0%p</fraction>
<fraction name="config_key_vertical_gap_holo">5.368%p</fraction>
diff --git a/java/res/values-ms-rMY/strings.xml b/java/res/values-ms-rMY/strings.xml
index 96735c0b4..294dd7f4f 100644
--- a/java/res/values-ms-rMY/strings.xml
+++ b/java/res/values-ms-rMY/strings.xml
@@ -135,8 +135,7 @@
<string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"Bahasa Inggeris (UK) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_with_layout_en_US" msgid="8809311287529805422">"Bahasa Inggeris (AS) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_with_layout_es_US" msgid="510930471167541338">"Bahasa Sepanyol (AS) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
- <!-- no translation found for subtype_generic_traditional (8584594350973800586) -->
- <skip />
+ <string name="subtype_generic_traditional" msgid="8584594350973800586">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Tradisional)"</string>
<string name="subtype_no_language" msgid="7137390094240139495">"Tiada bahasa (Abjad)"</string>
<string name="subtype_no_language_qwerty" msgid="244337630616742604">"Abjad (QWERTY)"</string>
<string name="subtype_no_language_qwertz" msgid="443066912507547976">"Abjad (QWERTZ)"</string>
diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml
index fe38a863f..02cc7deb6 100644
--- a/java/res/values-nb/strings.xml
+++ b/java/res/values-nb/strings.xml
@@ -135,7 +135,7 @@
<string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"Engelsk (Storbritannia) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_with_layout_en_US" msgid="8809311287529805422">"Engelsk (USA) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_with_layout_es_US" msgid="510930471167541338">"Spansk (USA) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
- <string name="subtype_generic_traditional" msgid="8584594350973800586">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (tradisjonell)"</string>
+ <string name="subtype_generic_traditional" msgid="8584594350973800586">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (tradisjonelt)"</string>
<string name="subtype_no_language" msgid="7137390094240139495">"Ingen språk (alfabet)"</string>
<string name="subtype_no_language_qwerty" msgid="244337630616742604">"Alfabet (QWERTY)"</string>
<string name="subtype_no_language_qwertz" msgid="443066912507547976">"Alfabet (QWERTZ)"</string>
diff --git a/java/res/values-ne-rNP/strings.xml b/java/res/values-ne-rNP/strings.xml
index 2bf1fb70d..055d16ccf 100644
--- a/java/res/values-ne-rNP/strings.xml
+++ b/java/res/values-ne-rNP/strings.xml
@@ -167,7 +167,7 @@
<string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"स्थापना गर्न कुनै शब्दकोश फाइल चयन गर्नुहोस्"</string>
<string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"वास्तवमै <xliff:g id="LANGUAGE_NAME">%s</xliff:g> को लागि यो फाइल स्थापना गर्नुहुन्छ?"</string>
<string name="error" msgid="8940763624668513648">"कुनै त्रुटि भयो"</string>
- <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"सम्पर्क शब्दकोश डम्प गर्नुहोस्"</string>
+ <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"सम्पर्क शब्दकोश भेला गर्नुहोस्"</string>
<string name="prefs_dump_user_dict" msgid="294870685041741951">"व्यक्तिगत शब्दकोश डम्प गर्नुहोस्"</string>
<string name="prefs_dump_user_history_dict" msgid="6821075152449554628">"प्रयोगकर्ता इतिहास शब्दकोश डम्प गर"</string>
<string name="prefs_dump_personalization_dict" msgid="7558387996151745284">"निजीकरण शब्दकोश डम्प गर्नुहोस्"</string>
diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml
index 2d5fd1f18..96a774449 100644
--- a/java/res/values-ro/strings.xml
+++ b/java/res/values-ro/strings.xml
@@ -135,8 +135,7 @@
<string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"Engleză (Regatul Unit) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_with_layout_en_US" msgid="8809311287529805422">"Engleză (S.U.A.) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
<string name="subtype_with_layout_es_US" msgid="510930471167541338">"Spaniolă (S.U.A.) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string>
- <!-- no translation found for subtype_generic_traditional (8584594350973800586) -->
- <skip />
+ <string name="subtype_generic_traditional" msgid="8584594350973800586">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (tradițională)"</string>
<string name="subtype_no_language" msgid="7137390094240139495">"Nicio limbă (alfabet)"</string>
<string name="subtype_no_language_qwerty" msgid="244337630616742604">"Alfabet (QWERTY)"</string>
<string name="subtype_no_language_qwertz" msgid="443066912507547976">"Alfabet (QWERTZ)"</string>
diff --git a/java/res/values-sw600dp-land/config.xml b/java/res/values-sw600dp-land/config.xml
index bd123c499..00edde161 100644
--- a/java/res/values-sw600dp-land/config.xml
+++ b/java/res/values-sw600dp-land/config.xml
@@ -27,11 +27,6 @@
<dimen name="config_more_keys_keyboard_key_height">81.9dp</dimen>
- <fraction name="config_keyboard_top_padding_gb">2.444%p</fraction>
- <fraction name="config_keyboard_bottom_padding_gb">0.0%p</fraction>
- <fraction name="config_key_vertical_gap_gb">5.200%p</fraction>
- <fraction name="config_key_horizontal_gap_gb">1.447%p</fraction>
-
<fraction name="config_keyboard_top_padding_holo">2.727%p</fraction>
<fraction name="config_keyboard_bottom_padding_holo">0.0%p</fraction>
<fraction name="config_key_vertical_gap_holo">4.5%p</fraction>
diff --git a/java/res/values-sw600dp/config.xml b/java/res/values-sw600dp/config.xml
index 700350c36..3bd843928 100644
--- a/java/res/values-sw600dp/config.xml
+++ b/java/res/values-sw600dp/config.xml
@@ -34,14 +34,6 @@
<!-- config_more_keys_keyboard_key_height x 1.2 -->
<dimen name="config_more_keys_keyboard_slide_allowance">98.3dp</dimen>
- <fraction name="config_keyboard_top_padding_gb">2.291%p</fraction>
- <fraction name="config_keyboard_bottom_padding_gb">0.0%p</fraction>
- <fraction name="config_key_vertical_gap_gb">4.625%p</fraction>
- <fraction name="config_key_horizontal_gap_gb">2.113%p</fraction>
- <!-- config_more_keys_keyboard_key_height x -1.0 -->
- <dimen name="config_more_keys_keyboard_vertical_correction_gb">-81.9dp</dimen>
- <dimen name="config_key_preview_offset_gb">16.0dp</dimen>
-
<fraction name="config_keyboard_top_padding_holo">2.335%p</fraction>
<fraction name="config_keyboard_bottom_padding_holo">4.0%p</fraction>
<fraction name="config_key_vertical_gap_holo">4.5%p</fraction>
diff --git a/java/res/values-sw600dp/touch-position-correction.xml b/java/res/values-sw600dp/touch-position-correction.xml
index 932b8fc72..6aaa605a6 100644
--- a/java/res/values-sw600dp/touch-position-correction.xml
+++ b/java/res/values-sw600dp/touch-position-correction.xml
@@ -37,17 +37,6 @@
</string-array>
<string-array
- name="touch_position_correction_data_gb"
- translatable="false"
- >
- <!-- The default touch position data (See com.android.inputmethod.keyboard.ProximityInfo)
- correctionX = 0.0f
- correctionY = 0.0f
- correctionR = DEFAULT_TOUCH_POSITION_CORRECTION_RADIUS
- -->
- </string-array>
-
- <string-array
name="touch_position_correction_data_holo"
translatable="false"
>
diff --git a/java/res/values-sw768dp-land/config.xml b/java/res/values-sw768dp-land/config.xml
index 4040e29f7..3878a9e84 100644
--- a/java/res/values-sw768dp-land/config.xml
+++ b/java/res/values-sw768dp-land/config.xml
@@ -25,11 +25,6 @@
<dimen name="config_default_keyboard_height">365.4dp</dimen>
<fraction name="config_min_keyboard_height">45%p</fraction>
- <fraction name="config_keyboard_top_padding_gb">1.896%p</fraction>
- <fraction name="config_keyboard_bottom_padding_gb">0.0%p</fraction>
- <fraction name="config_key_vertical_gap_gb">3.896%p</fraction>
- <fraction name="config_key_horizontal_gap_gb">1.195%p</fraction>
-
<fraction name="config_keyboard_top_padding_holo">1.896%p</fraction>
<fraction name="config_keyboard_bottom_padding_holo">0.0%p</fraction>
<fraction name="config_key_vertical_gap_holo">3.690%p</fraction>
diff --git a/java/res/values-sw768dp/config.xml b/java/res/values-sw768dp/config.xml
index 33286c686..34eec38b8 100644
--- a/java/res/values-sw768dp/config.xml
+++ b/java/res/values-sw768dp/config.xml
@@ -26,14 +26,6 @@
<fraction name="config_max_keyboard_height">46%p</fraction>
<fraction name="config_min_keyboard_height">-35.0%p</fraction>
- <fraction name="config_keyboard_top_padding_gb">2.291%p</fraction>
- <fraction name="config_keyboard_bottom_padding_gb">0.0%p</fraction>
- <fraction name="config_key_vertical_gap_gb">4.687%p</fraction>
- <fraction name="config_key_horizontal_gap_gb">1.272%p</fraction>
- <!-- config_more_keys_keyboard_key_height x -1.0 -->
- <dimen name="config_more_keys_keyboard_vertical_correction_gb">-81.9dp</dimen>
- <dimen name="config_key_preview_offset_gb">16.0dp</dimen>
-
<fraction name="config_keyboard_top_padding_holo">2.335%p</fraction>
<fraction name="config_keyboard_bottom_padding_holo">0.0%p</fraction>
<fraction name="config_key_vertical_gap_holo">3.312%p</fraction>
diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml
index e499bd902..1fd1e0363 100644
--- a/java/res/values-zu/strings.xml
+++ b/java/res/values-zu/strings.xml
@@ -135,7 +135,7 @@
<string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"I-English (UK) ( <xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g> )"</string>
<string name="subtype_with_layout_en_US" msgid="8809311287529805422">"I-English (US) ( <xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g> )"</string>
<string name="subtype_with_layout_es_US" msgid="510930471167541338">"Isi-Spanish (US) ( <xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g> )"</string>
- <string name="subtype_generic_traditional" msgid="8584594350973800586">"Isi-<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Eyosiko)"</string>
+ <string name="subtype_generic_traditional" msgid="8584594350973800586">"Isi-<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Tradition)"</string>
<string name="subtype_no_language" msgid="7137390094240139495">"Alikho ulimi (Alfabhethi)"</string>
<string name="subtype_no_language_qwerty" msgid="244337630616742604">"Alfabhethi (QWERTY)"</string>
<string name="subtype_no_language_qwertz" msgid="443066912507547976">"Alfabhethi (QWERTZ)"</string>
diff --git a/java/res/values/colors.xml b/java/res/values/colors.xml
index 517174495..824928c6b 100644
--- a/java/res/values/colors.xml
+++ b/java/res/values/colors.xml
@@ -19,20 +19,6 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <!-- Color resources for Gingerbread theme. -->
- <color name="highlight_color_gb">#FFFCAE00</color>
- <color name="typed_word_color_gb">@android:color/white</color>
- <color name="highlight_translucent_color_gb">#99FCAE00</color>
- <color name="key_text_color_gb">@android:color/white</color>
- <color name="key_text_shadow_color_gb">#BB000000</color>
- <color name="key_text_inactivated_color_gb">#66E0E4E5</color>
- <color name="key_hint_letter_color_gb">#80000000</color>
- <color name="key_hint_label_color_gb">#E0E0E4E5</color>
- <color name="key_shifted_letter_hint_inactivated_color_gb">#66E0E4E5</color>
- <color name="key_shifted_letter_hint_activated_color_gb">#CCE0E4E5</color>
- <color name="spacebar_text_color_gb">#FFC0C0C0</color>
- <color name="spacebar_text_shadow_color_gb">#80000000</color>
- <color name="gesture_floating_preview_color_gb">#C0000000</color>
<!-- Color resources for IceCreamSandwich theme. Base color = 33B5E5 -->
<!-- android:color/holo_blue_light value is #FF33B5E5 -->
<color name="highlight_color_ics">#FF33B5E5</color>
diff --git a/java/res/values/config-common.xml b/java/res/values/config-common.xml
index 20d5860e3..3fe4b947c 100644
--- a/java/res/values/config-common.xml
+++ b/java/res/values/config-common.xml
@@ -24,8 +24,8 @@
at input history to suggest a hopefully helpful suggestions for the next word? -->
<bool name="config_default_next_word_prediction">true</bool>
- <!-- This configuration is an index of {@link KeyboardSwitcher#KEYBOARD_THEMES[]}. -->
- <string name="config_default_keyboard_theme_index" translatable="false">2</string>
+ <!-- This configuration must be aligned with {@link KeyboardTheme#DEFAULT_THEME_ID}. -->
+ <string name="config_default_keyboard_theme_id" translatable="false">2</string>
<integer name="config_delay_update_shift_state">100</integer>
<integer name="config_double_space_period_timeout">1100</integer>
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index e64b4b192..45ea48392 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -36,14 +36,6 @@
<dimen name="config_more_keys_keyboard_slide_allowance">63.36dp</dimen>
<dimen name="config_more_keys_keyboard_key_horizontal_padding">8dp</dimen>
- <fraction name="config_keyboard_top_padding_gb">1.556%p</fraction>
- <fraction name="config_keyboard_bottom_padding_gb">4.669%p</fraction>
- <fraction name="config_key_vertical_gap_gb">6.495%p</fraction>
- <fraction name="config_key_horizontal_gap_gb">1.971%p</fraction>
- <!-- config_more_keys_keyboard_key_height x -1.0 -->
- <dimen name="config_more_keys_keyboard_vertical_correction_gb">-52.8dp</dimen>
- <dimen name="config_key_preview_offset_gb">-8.0dp</dimen>
-
<fraction name="config_keyboard_top_padding_holo">2.335%p</fraction>
<fraction name="config_keyboard_bottom_padding_holo">4.669%p</fraction>
<fraction name="config_key_vertical_gap_holo">6.127%p</fraction>
diff --git a/java/res/values/donottranslate.xml b/java/res/values/donottranslate.xml
index 4be5863f2..9a610a0d0 100644
--- a/java/res/values/donottranslate.xml
+++ b/java/res/values/donottranslate.xml
@@ -47,31 +47,13 @@
<string name="prefs_debug_mode">Debug Mode</string>
<string name="prefs_force_non_distinct_multitouch">Force non-distinct multitouch</string>
- <!-- Keyboard theme names -->
- <string name="layout_gingerbread">Gingerbread</string>
- <string name="layout_ics">IceCreamSandwich</string>
- <string name="layout_klp">KeyLimePie</string>
-
- <!-- For keyboard theme switcher dialog -->
- <string-array name="keyboard_layout_modes">
- <item>@string/layout_ics</item>
- <item>@string/layout_gingerbread</item>
- <item>@string/layout_klp</item>
- </string-array>
- <!-- An element must be an index of {@link KeyboardSwitcher#KEYBOARD_THEMES[]}. -->
- <string-array name="keyboard_layout_modes_values">
- <item>0</item>
- <item>1</item>
- <item>2</item>
- </string-array>
-
<!-- For keyboard color scheme option dialog. -->
- <string-array name="keyboard_color_schemes">
+ <string-array name="keyboard_theme_names">
<item>@string/keyboard_color_scheme_white</item>
<item>@string/keyboard_color_scheme_blue</item>
</string-array>
- <!-- An element must be an index of {@link KeyboardSwitcher#KEYBOARD_THEMES[]}. -->
- <string-array name="keyboard_color_schemes_values">
+ <!-- An element must be a keyboard theme id of {@link KeyboardTheme#THEME_ID_*}. -->
+ <string-array name="keyboard_theme_ids">
<item>2</item>
<item>0</item>
</string-array>
diff --git a/java/res/values/themes-gb.xml b/java/res/values/themes-gb.xml
deleted file mode 100644
index c189da383..000000000
--- a/java/res/values/themes-gb.xml
+++ /dev/null
@@ -1,150 +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>
- <style name="KeyboardTheme.GB" parent="KeyboardIcons.GB">
- <item name="keyboardStyle">@style/Keyboard.GB</item>
- <item name="keyboardViewStyle">@style/KeyboardView.GB</item>
- <item name="mainKeyboardViewStyle">@style/MainKeyboardView.GB</item>
- <item name="keyPreviewTextViewStyle">@style/KeyPreviewTextView.GB</item>
- <item name="emojiPalettesViewStyle">@style/EmojiPalettesView.GB</item>
- <item name="moreKeysKeyboardStyle">@style/MoreKeysKeyboard.GB</item>
- <item name="moreKeysKeyboardViewStyle">@style/MoreKeysKeyboardView.GB</item>
- <item name="suggestionStripViewStyle">@style/SuggestionStripView.GB</item>
- <item name="suggestionWordStyle">@style/SuggestionWord.GB</item>
- </style>
- <style name="KeyboardIcons.GB">
- <!-- Keyboard icons -->
- <item name="iconShiftKey">@drawable/sym_keyboard_shift_holo_dark</item>
- <item name="iconDeleteKey">@drawable/sym_keyboard_delete_holo_dark</item>
- <item name="iconSettingsKey">@drawable/sym_keyboard_settings_holo_dark</item>
- <item name="iconSpaceKey">@drawable/sym_keyboard_space_holo_dark</item>
- <item name="iconEnterKey">@drawable/sym_keyboard_return_holo_dark</item>
- <item name="iconSearchKey">@drawable/sym_keyboard_search_holo_dark</item>
- <item name="iconTabKey">@drawable/sym_keyboard_tab_holo_dark</item>
- <item name="iconShortcutKey">@drawable/sym_keyboard_mic_holo_dark</item>
- <item name="iconSpaceKeyForNumberLayout">@drawable/sym_keyboard_space</item>
- <item name="iconShiftKeyShifted">@drawable/sym_keyboard_shift_locked_holo_dark</item>
- <!-- TODO: Needs non-holo disabled shortcut icon drawable -->
- <item name="iconShortcutKeyDisabled">@drawable/sym_keyboard_voice_off_holo_dark</item>
- <item name="iconTabKeyPreview">@drawable/sym_keyboard_feedback_tab</item>
- <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch_dark</item>
- <!-- TODO: Needs dedicated black theme ZWNJ and ZWJ icons -->
- <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_holo_dark</item>
- <item name="iconZwjKey">@drawable/sym_keyboard_zwj_holo_dark</item>
- <item name="iconEmojiKey">@drawable/sym_keyboard_smiley_holo_dark</item>
- </style>
- <style
- name="Keyboard.GB"
- parent="Keyboard"
- >
- <!-- This should be aligned with KeyboardSwitcher.KEYBOARD_THEMES[] -->
- <item name="themeId">1</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_gb</item>
- <item name="keyboardTopPadding">@fraction/config_keyboard_top_padding_gb</item>
- <item name="keyboardBottomPadding">@fraction/config_keyboard_bottom_padding_gb</item>
- <item name="horizontalGap">@fraction/config_key_horizontal_gap_gb</item>
- <item name="verticalGap">@fraction/config_key_vertical_gap_gb</item>
- </style>
- <style
- name="KeyboardView.GB"
- parent="KeyboardView"
- >
- <item name="android:background">@drawable/keyboard_background_gb</item>
- <item name="keyBackground">@drawable/btn_keyboard_key_gb</item>
- <item name="keyTypeface">bold</item>
- <item name="keyTextColor">@color/key_text_color_gb</item>
- <item name="keyTextInactivatedColor">@color/key_text_inactivated_color_gb</item>
- <item name="keyHintLetterColor">@color/key_hint_letter_color_gb</item>
- <item name="keyHintLabelColor">@color/key_hint_label_color_gb</item>
- <item name="keyShiftedLetterHintInactivatedColor">@color/key_shifted_letter_hint_inactivated_color_gb</item>
- <item name="keyShiftedLetterHintActivatedColor">@color/key_shifted_letter_hint_activated_color_gb</item>
- <item name="keyPreviewTextColor">@color/key_text_color_gb</item>
- <item name="keyTextShadowColor">@color/key_text_shadow_color_gb</item>
- <item name="keyTextShadowRadius">2.75</item>
- </style>
- <style
- name="MainKeyboardView.GB"
- parent="KeyboardView.GB"
- >
- <item name="keyPreviewOffset">@dimen/config_key_preview_offset_gb</item>
- <item name="gestureFloatingPreviewTextColor">@color/highlight_color_gb</item>
- <item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_gb</item>
- <item name="gestureTrailColor">@color/highlight_color_gb</item>
- <item name="slidingKeyInputPreviewColor">@color/highlight_translucent_color_gb</item>
- <item name="autoCorrectionSpacebarLedEnabled">true</item>
- <item name="autoCorrectionSpacebarLedIcon">@drawable/sym_keyboard_space_led_gb</item>
- <item name="languageOnSpacebarTextColor">@color/spacebar_text_color_gb</item>
- <item name="languageOnSpacebarTextShadowColor">@color/spacebar_text_shadow_color_gb</item>
- <item name="spacebarBackground">@drawable/btn_keyboard_spacebar_gb</item>
- </style>
- <style
- name="KeyPreviewTextView.GB"
- parent="KeyPreviewTextView"
- >
- <item name="android:background">@drawable/keyboard_key_feedback_gb</item>
- </style>
- <!-- Though {@link EmojiPalettesView} doesn't extend {@link KeyboardView}, some views inside it,
- for instance delete button, need themed {@link KeyboardView} attributes. -->
- <style
- name="EmojiPalettesView.GB"
- parent="KeyboardView.GB"
- >
- <item name="keyBackground">@drawable/btn_keyboard_key_functional_gb</item>
- <item name="emojiTabLabelColor">@color/emoji_tab_label_color_gb</item>
- </style>
- <style
- name="MoreKeysKeyboard.GB"
- parent="Keyboard.GB"
- >
- <item name="keyboardTopPadding">0%p</item>
- <item name="keyboardBottomPadding">0%p</item>
- <item name="horizontalGap">0%p</item>
- <item name="touchPositionCorrectionData">@null</item>
- </style>
- <style
- name="MoreKeysKeyboardView.GB"
- parent="KeyboardView.GB"
- >
- <item name="android:background">@drawable/keyboard_popup_panel_background_gb</item>
- <item name="keyBackground">@drawable/btn_keyboard_key_popup_gb</item>
- <item name="keyTypeface">normal</item>
- <item name="verticalCorrection">@dimen/config_more_keys_keyboard_vertical_correction_gb</item>
- </style>
- <style
- name="SuggestionStripView.GB"
- parent="SuggestionStripView"
- >
- <item name="android:background">@drawable/keyboard_suggest_strip_gb</item>
- <item name="suggestionStripOptions">autoCorrectBold|validTypedWordBold</item>
- <item name="colorValidTypedWord">@color/highlight_color_gb</item>
- <item name="colorTypedWord">@color/typed_word_color_gb</item>
- <item name="colorAutoCorrect">@color/highlight_color_gb</item>
- <item name="colorSuggested">@color/highlight_color_gb</item>
- <item name="alphaObsoleted">50%</item>
- </style>
- <style
- name="SuggestionWord.GB"
- parent="SuggestionWord"
- >
- <item name="android:background">@drawable/btn_suggestion_gb</item>
- <item name="android:textColor">@color/highlight_color_gb</item>
- </style>
-</resources>
diff --git a/java/res/values/touch-position-correction.xml b/java/res/values/touch-position-correction.xml
index becec0e0a..e090d106b 100644
--- a/java/res/values/touch-position-correction.xml
+++ b/java/res/values/touch-position-correction.xml
@@ -37,26 +37,6 @@
</string-array>
<string-array
- name="touch_position_correction_data_gb"
- translatable="false"
- >
- <!-- First row -->
- <item>0.0091285</item>
- <item>0.1193203</item>
- <item>0.1622607</item>
-
- <!-- Second row -->
- <item>-0.0233128</item>
- <item>0.1379798</item>
- <item>0.1585229</item>
-
- <!-- Third row -->
- <item>-0.0080185</item>
- <item>0.1911477</item>
- <item>0.1570948</item>
- </string-array>
-
- <string-array
name="touch_position_correction_data_holo"
translatable="false"
>
diff --git a/java/res/xml-sw600dp/rows_myanmar.xml b/java/res/xml-sw600dp/rows_myanmar.xml
index 778b330af..8eedf9d2f 100644
--- a/java/res/xml-sw600dp/rows_myanmar.xml
+++ b/java/res/xml-sw600dp/rows_myanmar.xml
@@ -24,7 +24,7 @@
<include
latin:keyboardLayout="@xml/key_styles_common" />
<Row
- latin:keyWidth="8.1818%p"
+ latin:keyWidth="9.0%p"
>
<include
latin:keyboardLayout="@xml/rowkeys_myanmar1" />
@@ -33,40 +33,30 @@
latin:keyWidth="fillRight" />
</Row>
<Row
- latin:keyWidth="8.1818%p"
+ latin:keyWidth="9.0%p"
>
<include
latin:keyboardLayout="@xml/rowkeys_myanmar2" />
</Row>
<Row
- latin:keyWidth="8.1818%p"
+ latin:keyWidth="9.0%p"
>
<include
- latin:keyXPos="4.0909%p"
latin:keyboardLayout="@xml/rowkeys_myanmar3" />
<Key
latin:keyStyle="enterKeyStyle"
latin:keyWidth="fillRight" />
</Row>
<Row
- latin:keyWidth="8.1818%p"
+ latin:keyWidth="9.0%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
latin:keyWidth="10.0%p" />
<include
latin:keyboardLayout="@xml/rowkeys_myanmar4" />
- <switch>
- <case
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
- >
- <Spacer />
- </case>
- <default>
- <include
- latin:keyboardLayout="@xml/keys_exclamation_question" />
- </default>
- </switch>
+ <include
+ latin:keyboardLayout="@xml/keys_exclamation_question" />
</Row>
<include
latin:keyboardLayout="@xml/row_qwerty4" />
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index 594378fb4..28eceb8db 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -329,6 +329,8 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=hindi,EmojiCapable"
android:isAsciiCapable="false"
/>
+ <!-- TODO: This hindi_compact keyboard is a preliminary layout.
+ This isn't based on the final specification. -->
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic_compact"
android:subtypeId="0xe49c89a1"
@@ -475,8 +477,6 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=mongolian,EmojiCapable"
android:isAsciiCapable="false"
/>
- <!-- TODO: This Myanmar keyboard is a preliminary layout.
- This isn't based on the final specification. -->
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0x84c87c61"
@@ -485,6 +485,8 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable"
android:isAsciiCapable="true"
/>
+ <!-- TODO: This Myanmar keyboard is a preliminary layout.
+ This isn't based on the final specification. -->
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0xea266ea4"
diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml
index a39ce4ae8..3e3bedf15 100644
--- a/java/res/xml/prefs.xml
+++ b/java/res/xml/prefs.xml
@@ -168,9 +168,9 @@
android:key="pref_keyboard_layout_20110916"
android:title="@string/keyboard_color_scheme"
android:persistent="true"
- android:entryValues="@array/keyboard_color_schemes_values"
- android:entries="@array/keyboard_color_schemes"
- android:defaultValue="@string/config_default_keyboard_theme_index" />
+ android:entryValues="@array/keyboard_theme_ids"
+ android:entries="@array/keyboard_theme_names"
+ android:defaultValue="@string/config_default_keyboard_theme_id" />
<PreferenceScreen
android:fragment="com.android.inputmethod.latin.settings.AdditionalSubtypeSettings"
android:key="custom_input_styles"
diff --git a/java/res/xml/prefs_for_debug.xml b/java/res/xml/prefs_for_debug.xml
index 7b2b8eab4..bb6a64118 100644
--- a/java/res/xml/prefs_for_debug.xml
+++ b/java/res/xml/prefs_for_debug.xml
@@ -26,14 +26,6 @@
android:summary="@string/prefs_description_log"
android:persistent="true"
android:defaultValue="false" />
- <ListPreference
- android:key="pref_keyboard_layout_20110916"
- android:title="@string/keyboard_layout"
- android:summary="%s"
- android:persistent="true"
- android:entryValues="@array/keyboard_layout_modes_values"
- android:entries="@array/keyboard_layout_modes"
- android:defaultValue="@string/config_default_keyboard_theme_index" />
<CheckBoxPreference
android:key="debug_mode"
android:title="@string/prefs_debug_mode"
diff --git a/java/res/xml/rowkeys_myanmar1.xml b/java/res/xml/rowkeys_myanmar1.xml
index 6460af565..b7c820922 100644
--- a/java/res/xml/rowkeys_myanmar1.xml
+++ b/java/res/xml/rowkeys_myanmar1.xml
@@ -25,50 +25,49 @@
<case
latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
- <!-- U+100E: "ဎ" MYANMAR LETTER DDHA -->
+ <!-- U+1027: "ဧ" MYANMAR LETTER E -->
<Key
- latin:keySpec="&#x100E;"
+ latin:keySpec="&#x1027;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+100D: "ဍ" MYANMAR LETTER DDA -->
+ <!-- U+104F: "၏" MYANMAR SYMBOL GENITIVE -->
<Key
- latin:keySpec="&#x100D;"
+ latin:keySpec="&#x104F;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1052: "ၒ" MYANMAR LETTER VOCALIC R -->
+ <!-- U+1024: "ဤ" MYANMAR LETTER II -->
<Key
- latin:keySpec="&#x1052;"
+ latin:keySpec="&#x1024;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+100B: "ဋ" MYANMAR LETTER TTA -->
+ <!-- U+1023: "ဣ" MYANMAR LETTER I -->
<Key
- latin:keySpec="&#x100B;"
+ latin:keySpec="&#x1023;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1053: "ၓ" MYANMAR LETTER VOCALIC RR -->
+ <!-- U+104E: "၎" MYANMAR SYMBOL AFOREMENTIONED -->
<Key
- latin:keySpec="&#x1053;"
+ latin:keySpec="&#x104E;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1054: "ၔ" MYANMAR LETTER VOCALIC L -->
+ <!-- U+1000/U+103B/U+1015/U+103A: "ကျပ်"
+ MYANMAR LETTER KA/MYANMAR CONSONANT SIGN MEDIAL YA/MYANMAR LETTER PA/MYANMAR SIGN ASAT -->
<Key
- latin:keySpec="&#x1054;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+1055: "ၕ" MYANMAR LETTER VOCALIC LL -->
- <Key
- latin:keySpec="&#x1055;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+101B: "ရ" MYANMAR LETTER RA -->
+ latin:keySpec="&#x1000;&#x103B;&#x1015;&#x103A;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio|autoScale" />
+ <!-- U+1029: "ဩ" MYANMAR LETTER O -->
<Key
- latin:keySpec="&#x101B;"
- latin:keyLabelFlags="fontNormal" />
+ latin:keySpec="&#x1029;"
+ latin:keyLabelFlags="fontNormal|autoScale" />
+ <!-- U+102A: "ဪ" MYANMAR LETTER AU -->
<Key
- latin:keySpec="*" />
+ latin:keySpec="&#x102A;"
+ latin:keyLabelFlags="fontNormal|autoScale" />
+ <!-- U+104D: "၍" MYANMAR SYMBOL COMPLETED -->
<Key
- latin:keySpec="(" />
+ latin:keySpec="&#x104D;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+104C: "၌" MYANMAR SYMBOL LOCATIVE -->
<Key
- latin:keySpec=")" />
+ latin:keySpec="&#x104C;"
+ latin:keyLabelFlags="fontNormal" />
</case>
<default>
- <!-- U+1050: "ၐ" MYANMAR LETTER SHA -->
- <Key
- latin:keySpec="&#x1050;"
- latin:keyLabelFlags="fontNormal" />
<!-- U+1041: "၁" MYANMAR DIGIT ONE -->
<Key
latin:keySpec="&#x1041;"
diff --git a/java/res/xml/rowkeys_myanmar2.xml b/java/res/xml/rowkeys_myanmar2.xml
index 558c38d4d..5f0115f39 100644
--- a/java/res/xml/rowkeys_myanmar2.xml
+++ b/java/res/xml/rowkeys_myanmar2.xml
@@ -25,49 +25,45 @@
<case
latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
- <!-- U+1008: "ဈ" MYANMAR LETTER JHA -->
+ <!-- U+1017: "ဗ" MYANMAR LETTER BA -->
<Key
- latin:keySpec="&#x1008;"
+ latin:keySpec="&#x1017;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+101D: "ဝ" MYANMAR LETTER WA -->
+ <!-- U+1012: "ဒ" MYANMAR LETTER DA -->
<Key
- latin:keySpec="&#x101D;"
+ latin:keySpec="&#x1012;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1023: "ဣ" MYANMAR LETTER I -->
+ <!-- U+1013: "ဓ" MYANMAR LETTER DHA -->
<Key
- latin:keySpec="&#x1023;"
+ latin:keySpec="&#x1013;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+104E: "၎" MYANMAR SYMBOL AFOREMENTIONED -->
+ <!-- U+1003: "ဃ" MYANMAR LETTER GHA -->
<Key
- latin:keySpec="&#x104E;"
+ latin:keySpec="&#x1003;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1024: "ဤ" MYANMAR LETTER II -->
+ <!-- U+100E: "ဎ" MYANMAR LETTER DDHA -->
<Key
- latin:keySpec="&#x1024;"
+ latin:keySpec="&#x100E;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+104C: "၌" MYANMAR SYMBOL LOCATIVE -->
+ <!-- U+103F: "ဿ" MYANMAR LETTER GREAT SA -->
<Key
- latin:keySpec="&#x104C;"
+ latin:keySpec="&#x103F;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1025: "ဥ" MYANMAR LETTER U -->
+ <!-- U+100F: "ဏ" MYANMAR LETTER NNA -->
<Key
- latin:keySpec="&#x1025;"
+ latin:keySpec="&#x100F;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+104D: "၍" MYANMAR SYMBOL COMPLETED -->
+ <!-- U+1008: "ဈ" MYANMAR LETTER JHA -->
<Key
- latin:keySpec="&#x104D;"
+ latin:keySpec="&#x1008;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+103F: "ဿ" MYANMAR LETTER GREAT SA -->
- <Key
- latin:keySpec="&#x103F;"
- latin:keyLabelFlags="fontNormal|autoXScale" />
- <!-- U+100F: "ဏ" MYANMAR LETTER NNA -->
+ <!-- U+1007: "ဇ" MYANMAR LETTER JA -->
<Key
- latin:keySpec="&#x100F;"
+ latin:keySpec="&#x1007;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1027: "ဧ" MYANMAR LETTER E -->
+ <!-- U+1002: "ဂ" MYANMAR LETTER GA -->
<Key
- latin:keySpec="&#x1027;"
+ latin:keySpec="&#x1002;"
latin:keyLabelFlags="fontNormal" />
</case>
<default>
@@ -111,10 +107,6 @@
<Key
latin:keySpec="&#x1005;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+101F: "ဟ" MYANMAR LETTER HA -->
- <Key
- latin:keySpec="&#x101F;"
- latin:keyLabelFlags="fontNormal" />
</default>
</switch>
</merge>
diff --git a/java/res/xml/rowkeys_myanmar3.xml b/java/res/xml/rowkeys_myanmar3.xml
index 2d0d48cc7..612bcd31b 100644
--- a/java/res/xml/rowkeys_myanmar3.xml
+++ b/java/res/xml/rowkeys_myanmar3.xml
@@ -25,10 +25,18 @@
<case
latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
- <!-- U+1017: "ဗ" MYANMAR LETTER BA -->
+ <!-- U+101A: "ယ" MYANMAR LETTER YA -->
<Key
- latin:keySpec="&#x1017;"
+ latin:keySpec="&#x101A;"
latin:keyLabelFlags="fontNormal" />
+ <!-- U+1039: "္" MYANMAR SIGN VIRAMA -->
+ <Key
+ latin:keySpec="&#x1039;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1004/U+103A/U+1039: "င်္င" MYANMAR LETTER NGA/MYANMAR SIGN ASAT/MYANMAR SIGN VIRAMA -->
+ <Key
+ latin:keySpec="&#x1004;&#x103A;&#x1039;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
<!-- U+103E: "ှ" MYANMAR CONSONANT SIGN MEDIAL HA -->
<Key
latin:keySpec="&#x103E;"
@@ -37,33 +45,25 @@
<Key
latin:keySpec="&#x102E;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1039: "္" MYANMAR SIGN VIRAMA -->
- <Key
- latin:keySpec="&#x1039;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+103D: "ွ" MYANMAR CONSONANT SIGN MEDIAL WA -->
+ <!-- U+1030: "ူ" MYANMAR VOWEL SIGN UU -->
<Key
- latin:keySpec="&#x103D;"
+ latin:keySpec="&#x1030;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1036: "ံ" MYANMAR SIGN ANUSVARA -->
+ <!-- U+102B: "ါ" MYANMAR VOWEL SIGN TALL AA -->
<Key
- latin:keySpec="&#x1036;"
+ latin:keySpec="&#x102B;"
latin:keyLabelFlags="fontNormal" />
<!-- U+1032: "ဲ" MYANMAR VOWEL SIGN AI -->
<Key
latin:keySpec="&#x1032;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1012: "ဒ" MYANMAR LETTER DA -->
- <Key
- latin:keySpec="&#x1012;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+1013: "ဓ" MYANMAR LETTER DHA -->
+ <!-- U+1036: "ံ" MYANMAR SIGN ANUSVARA -->
<Key
- latin:keySpec="&#x1013;"
+ latin:keySpec="&#x1036;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1002: "ဂ" MYANMAR LETTER GA -->
+ <!-- U+101F: "ဟ" MYANMAR LETTER HA -->
<Key
- latin:keySpec="&#x1002;"
+ latin:keySpec="&#x101F;"
latin:keyLabelFlags="fontNormal" />
</case>
<default>
@@ -75,33 +75,44 @@
<Key
latin:keySpec="&#x103B;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+102D: "ိ" MYANMAR VOWEL SIGN I -->
+ <!-- U+103C: "ြ" MYANMAR CONSONANT SIGN MEDIAL RA -->
<Key
- latin:keySpec="&#x102D;"
+ latin:keySpec="&#x103C;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+103A: "်" MYANMAR SIGN ASAT -->
+ <!-- U+103D: "ွ" MYANMAR CONSONANT SIGN MEDIAL WA
+ U+103E: "ှ" MYANMAR CONSONANT SIGN MEDIAL HA
+ U+103D/U+103E: "ွှ" MYANMAR CONSONANT SIGN MEDIAL WA/MYANMAR CONSONANT SIGN MEDIAL HA -->
<Key
- latin:keySpec="&#x103A;"
+ latin:keySpec="&#x103D;"
+ latin:moreKeys="&#x103E;,&#x103D;&#x103E;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+102B: "ါ" MYANMAR VOWEL SIGN TALL AA -->
+ <!-- U+102D: "ိ" MYANMAR VOWEL SIGN I
+ U+102E: "ီ" MYANMAR VOWEL SIGN II -->
<Key
- latin:keySpec="&#x102B;"
+ latin:keySpec="&#x102D;"
+ latin:moreKeys="&#x102E;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1037: "့" MYANMAR SIGN DOT BELOW -->
+ <!-- U+102F: "ု" MYANMAR VOWEL SIGN U
+ U+1030: "ူ" MYANMAR VOWEL SIGN UU -->
<Key
- latin:keySpec="&#x1037;"
+ latin:keySpec="&#x102F;"
+ latin:moreKeys="&#x1030;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+103C: "ြ" MYANMAR CONSONANT SIGN MEDIAL RA -->
+ <!-- U+102C: "ာ" MYANMAR VOWEL SIGN AA -->
<Key
- latin:keySpec="&#x103C;"
+ latin:keySpec="&#x102C;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+102F: "ု" MYANMAR VOWEL SIGN U -->
+ <!-- U+103A: "်" MYANMAR SIGN ASAT
+ U+1032: "ဲ" MYANMAR VOWEL SIGN AI -->
<Key
- latin:keySpec="&#x102F;"
+ latin:keySpec="&#x103A;"
+ latin:moreKeys="&#x1032;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1030: "ူ" MYANMAR VOWEL SIGN UU -->
+ <!-- U+1037: "့" MYANMAR SIGN DOT BELOW
+ U+1036: "ံ" MYANMAR SIGN ANUSVARA -->
<Key
- latin:keySpec="&#x1030;"
+ latin:keySpec="&#x1037;"
+ latin:moreKeys="&#x1036;"
latin:keyLabelFlags="fontNormal" />
<!-- U+1038: "း" MYANMAR SIGN VISARGA -->
<Key
diff --git a/java/res/xml/rowkeys_myanmar4.xml b/java/res/xml/rowkeys_myanmar4.xml
index cfd11123c..57466c565 100644
--- a/java/res/xml/rowkeys_myanmar4.xml
+++ b/java/res/xml/rowkeys_myanmar4.xml
@@ -25,42 +25,40 @@
<case
latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
>
- <!-- U+1007: "ဇ" MYANMAR LETTER JA -->
+ <!-- U+1025: "ဥ" MYANMAR LETTER U -->
<Key
- latin:keySpec="&#x1007;"
+ latin:keySpec="&#x1025;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+100C: "ဌ" MYANMAR LETTER TTHA -->
- <Key
- latin:keySpec="&#x100C;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+1003: "ဃ" MYANMAR LETTER GHA -->
+ <!-- U+1026: "ဦ" MYANMAR LETTER UU -->
<Key
- latin:keySpec="&#x1003;"
+ latin:keySpec="&#x1026;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1020: "ဠ" MYANMAR LETTER LLA -->
+ <!-- U+100C: "ဌ" MYANMAR LETTER TTHA -->
<Key
- latin:keySpec="&#x1020;"
+ latin:keySpec="&#x100C;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+101A: "ယ" MYANMAR LETTER YA -->
+ <!-- U+100B: "ဋ" MYANMAR LETTER TTA -->
<Key
- latin:keySpec="&#x101A;"
+ latin:keySpec="&#x100B;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1009: "ဉ" MYANMAR LETTER NYA -->
+ <!-- U+100D: "ဍ" MYANMAR LETTER DDA -->
<Key
- latin:keySpec="&#x1009;"
+ latin:keySpec="&#x100D;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+1026: "ဦ" MYANMAR LETTER UU -->
+ <!-- U+1020: "ဠ" MYANMAR LETTER LLA -->
<Key
- latin:keySpec="&#x1026;"
+ latin:keySpec="&#x1020;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+102A: "ဪ" MYANMAR LETTER AU -->
+ <!-- U+100B/U+1039/U+100C: "ဋ္ဌ" MYANMAR LETTER TTA/MYANMAR SIGN VIRAMA/MYANMAR LETTER TTHA -->
<Key
- latin:keySpec="&#x102A;"
- latin:keyLabelFlags="fontNormal|autoXScale" />
- <!-- U+1051: "ၑ" MYANMAR LETTER SSA -->
+ latin:keySpec="&#x100B;&#x1039;&#x100C;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+100F/U+1039/U+100D: "ဏ္ဍ" MYANMAR LETTER NNA/MYANMAR SIGN VIRAMA/MYANMAR LETTER DDA
+ U+100F/U+1039/U+100C: "ဏ္ဌ" MYANMAR LETTER NNA/MYANMAR SIGN VIRAMA/MYANMAR LETTER TTHA -->
<Key
- latin:keySpec="&#x1051;"
- latin:keyLabelFlags="fontNormal" />
+ latin:keySpec="&#x100F;&#x1039;&#x100D;"
+ latin:moreKeys="&#x100F;&#x1039;&#x100C;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
</case>
<default>
<!-- U+1016: "ဖ" MYANMAR LETTER PHA -->
@@ -83,21 +81,19 @@
<Key
latin:keySpec="&#x1018;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+100A: "ည" MYANMAR LETTER NNYA -->
+ <!-- U+100A: "ည" MYANMAR LETTER NNYA
+ U+1009: "ဉ" MYANMAR LETTER NYA -->
<Key
latin:keySpec="&#x100A;"
+ latin:moreKeys="&#x1009;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+102C: "ာ" MYANMAR VOWEL SIGN AA -->
- <Key
- latin:keySpec="&#x102C;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+1029: "ဩ" MYANMAR LETTER O -->
+ <!-- U+101B: "ရ" MYANMAR LETTER RA -->
<Key
- latin:keySpec="&#x1029;"
+ latin:keySpec="&#x101B;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+104F: "၏" MYANMAR SYMBOL GENITIVE -->
+ <!-- U+101D: "ဝ" MYANMAR LETTER WA -->
<Key
- latin:keySpec="&#x104F;"
+ latin:keySpec="&#x101D;"
latin:keyLabelFlags="fontNormal" />
</default>
</switch>
diff --git a/java/res/xml/rows_myanmar.xml b/java/res/xml/rows_myanmar.xml
index 32c923dec..5de47f7b8 100644
--- a/java/res/xml/rows_myanmar.xml
+++ b/java/res/xml/rows_myanmar.xml
@@ -24,26 +24,25 @@
<include
latin:keyboardLayout="@xml/key_styles_common" />
<Row
- latin:keyWidth="9.0909%p"
+ latin:keyWidth="10.0%p"
>
<include
latin:keyboardLayout="@xml/rowkeys_myanmar1" />
</Row>
<Row
- latin:keyWidth="9.0909%p"
+ latin:keyWidth="10.0%p"
>
<include
latin:keyboardLayout="@xml/rowkeys_myanmar2" />
</Row>
<Row
- latin:keyWidth="9.0909%p"
+ latin:keyWidth="10.0%p"
>
<include
- latin:keyXPos="4.5454%p"
latin:keyboardLayout="@xml/rowkeys_myanmar3" />
</Row>
<Row
- latin:keyWidth="9.0909%p"
+ latin:keyWidth="10.0%p"
>
<Key
latin:keyStyle="shiftKeyStyle" />
diff --git a/java/src/com/android/inputmethod/compat/InputMethodServiceCompatUtils.java b/java/src/com/android/inputmethod/compat/InputMethodServiceCompatUtils.java
index 14ee654f3..81df17127 100644
--- a/java/src/com/android/inputmethod/compat/InputMethodServiceCompatUtils.java
+++ b/java/src/com/android/inputmethod/compat/InputMethodServiceCompatUtils.java
@@ -17,11 +17,12 @@
package com.android.inputmethod.compat;
import android.inputmethodservice.InputMethodService;
+import com.android.inputmethod.latin.define.ProductionFlag;
import java.lang.reflect.Method;
public final class InputMethodServiceCompatUtils {
- // Note that InputMethodService.enableHardwareAcceleration() has been introduced
+ // Note that {@link InputMethodService#enableHardwareAcceleration} has been introduced
// in API level 17 (Build.VERSION_CODES.JELLY_BEAN_MR1).
private static final Method METHOD_enableHardwareAcceleration =
CompatUtils.getMethod(InputMethodService.class, "enableHardwareAcceleration");
@@ -34,4 +35,30 @@ public final class InputMethodServiceCompatUtils {
return (Boolean)CompatUtils.invoke(ims, false /* defaultValue */,
METHOD_enableHardwareAcceleration);
}
+
+ public static void setCursorAnchorMonitorMode(final InputMethodService ims, final int mode) {
+ if (ProductionFlag.USES_CURSOR_ANCHOR_MONITOR) {
+ ExperimentalAPIUtils.setCursorAnchorMonitorMode(ims, mode);
+ }
+ }
+
+ /*
+ * For unreleased APIs. ProGuard will strip this class entirely, unless used explicitly.
+ */
+ private static final class ExperimentalAPIUtils {
+ // Note that {@link InputMethodManager#setCursorAnchorMonitorMode} is not yet available as
+ // an official API as of API level 19 (Build.VERSION_CODES.KITKAT).
+ private static final Method METHOD_setCursorAnchorMonitorMode = CompatUtils.getMethod(
+ InputMethodService.class, "setCursorAnchorMonitorMode", int.class);
+
+ private ExperimentalAPIUtils() {
+ // This utility class is not publicly instantiable.
+ }
+
+ public static void setCursorAnchorMonitorMode(final InputMethodService ims,
+ final int mode) {
+ CompatUtils.invoke(ims, null /* defaultValue */,
+ METHOD_setCursorAnchorMonitorMode, mode);
+ }
+ }
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index 949f03794..6131a9b17 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -38,35 +38,12 @@ import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.RichInputMethodManager;
import com.android.inputmethod.latin.SubtypeSwitcher;
import com.android.inputmethod.latin.WordComposer;
-import com.android.inputmethod.latin.settings.Settings;
import com.android.inputmethod.latin.settings.SettingsValues;
import com.android.inputmethod.latin.utils.ResourceUtils;
public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
private static final String TAG = KeyboardSwitcher.class.getSimpleName();
- public static final class KeyboardTheme {
- public final int mThemeId;
- public final int mStyleId;
-
- // Note: The themeId should be aligned with "themeId" attribute of Keyboard style
- // in values/style.xml.
- public KeyboardTheme(final int themeId, final int styleId) {
- mThemeId = themeId;
- mStyleId = styleId;
- }
- }
-
- public static final int THEME_INDEX_ICS = 0;
- public static final int THEME_INDEX_GB = 1;
- public static final int THEME_INDEX_KLP = 2;
- public static final int DEFAULT_THEME_INDEX = THEME_INDEX_KLP;
- public static final KeyboardTheme[] KEYBOARD_THEMES = {
- new KeyboardTheme(THEME_INDEX_ICS, R.style.KeyboardTheme_ICS),
- new KeyboardTheme(THEME_INDEX_GB, R.style.KeyboardTheme_GB),
- new KeyboardTheme(THEME_INDEX_KLP, R.style.KeyboardTheme_KLP),
- };
-
private SubtypeSwitcher mSubtypeSwitcher;
private SharedPreferences mPrefs;
@@ -88,7 +65,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
* what user actually typed. */
private boolean mIsAutoCorrectionActive;
- private KeyboardTheme mKeyboardTheme = KEYBOARD_THEMES[DEFAULT_THEME_INDEX];
+ private KeyboardTheme mKeyboardTheme = KeyboardTheme.getDefaultKeyboardTheme();
private Context mThemeContext;
private static final KeyboardSwitcher sInstance = new KeyboardSwitcher();
@@ -117,25 +94,12 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
public void updateKeyboardTheme() {
final boolean themeUpdated = updateKeyboardThemeAndContextThemeWrapper(
- mLatinIME, getKeyboardTheme(mLatinIME, mPrefs));
+ mLatinIME, KeyboardTheme.getKeyboardTheme(mPrefs));
if (themeUpdated && mKeyboardView != null) {
mLatinIME.setInputView(onCreateInputView(mIsHardwareAcceleratedDrawingEnabled));
}
}
- private static KeyboardTheme getKeyboardTheme(final Context context,
- final SharedPreferences prefs) {
- final Resources res = context.getResources();
- final int index = Settings.readKeyboardThemeIndex(prefs, res);
- if (index >= 0 && index < KEYBOARD_THEMES.length) {
- return KEYBOARD_THEMES[index];
- }
- final int defaultThemeIndex = Settings.resetAndGetDefaultKeyboardThemeIndex(prefs, res);
- Log.w(TAG, "Illegal keyboard theme in preference: " + index + ", default to "
- + defaultThemeIndex);
- return KEYBOARD_THEMES[defaultThemeIndex];
- }
-
private boolean updateKeyboardThemeAndContextThemeWrapper(final Context context,
final KeyboardTheme keyboardTheme) {
if (mThemeContext == null || mKeyboardTheme.mThemeId != keyboardTheme.mThemeId) {
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardTheme.java b/java/src/com/android/inputmethod/keyboard/KeyboardTheme.java
new file mode 100644
index 000000000..4db72ad4d
--- /dev/null
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardTheme.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.inputmethod.keyboard;
+
+import android.content.SharedPreferences;
+import android.util.Log;
+
+import com.android.inputmethod.latin.R;
+import com.android.inputmethod.latin.settings.Settings;
+
+public final class KeyboardTheme {
+ private static final String TAG = KeyboardTheme.class.getSimpleName();
+
+ public static final int THEME_ID_ICS = 0;
+ public static final int THEME_ID_KLP = 2;
+ private static final int DEFAULT_THEME_ID = THEME_ID_KLP;
+
+ private static final KeyboardTheme[] KEYBOARD_THEMES = {
+ new KeyboardTheme(THEME_ID_ICS, R.style.KeyboardTheme_ICS),
+ new KeyboardTheme(THEME_ID_KLP, R.style.KeyboardTheme_KLP),
+ };
+
+ public final int mThemeId;
+ public final int mStyleId;
+
+ // Note: The themeId should be aligned with "themeId" attribute of Keyboard style
+ // in values/style.xml.
+ public KeyboardTheme(final int themeId, final int styleId) {
+ mThemeId = themeId;
+ mStyleId = styleId;
+ }
+
+ private static KeyboardTheme searchKeyboardTheme(final int themeId) {
+ // TODO: This search algorithm isn't optimal if there are many themes.
+ for (final KeyboardTheme theme : KEYBOARD_THEMES) {
+ if (theme.mThemeId == themeId) {
+ return theme;
+ }
+ }
+ return null;
+ }
+
+ public static KeyboardTheme getDefaultKeyboardTheme() {
+ return searchKeyboardTheme(DEFAULT_THEME_ID);
+ }
+
+ public static KeyboardTheme getKeyboardTheme(final SharedPreferences prefs) {
+ final String themeIdString = prefs.getString(Settings.PREF_KEYBOARD_LAYOUT, null);
+ if (themeIdString == null) {
+ return getDefaultKeyboardTheme();
+ }
+ try {
+ final int themeId = Integer.parseInt(themeIdString);
+ final KeyboardTheme theme = searchKeyboardTheme(themeId);
+ if (theme != null) {
+ return theme;
+ }
+ Log.w(TAG, "Unknown keyboard theme in preference: " + themeIdString);
+ } catch (final NumberFormatException e) {
+ Log.w(TAG, "Illegal keyboard theme in preference: " + themeIdString);
+ }
+ // Reset preference to default value.
+ final String defaultThemeIdString = Integer.toString(DEFAULT_THEME_ID);
+ prefs.edit().putString(Settings.PREF_KEYBOARD_LAYOUT, defaultThemeIdString).apply();
+ return getDefaultKeyboardTheme();
+ }
+}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
index 37514be91..14fa76744 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
@@ -120,98 +120,98 @@ public final class KeyboardTextsTable {
/* 30: 5 */ "keyspec_east_slavic_row3_5",
/* 31: 5 */ "morekeys_cyrillic_soft_sign",
/* 32: 4 */ "morekeys_nordic_row2_11",
- /* 33: 4 */ "keyspec_symbols_1",
- /* 34: 4 */ "keyspec_symbols_2",
- /* 35: 4 */ "keyspec_symbols_3",
- /* 36: 4 */ "keyspec_symbols_4",
- /* 37: 4 */ "keyspec_symbols_5",
- /* 38: 4 */ "keyspec_symbols_6",
- /* 39: 4 */ "keyspec_symbols_7",
- /* 40: 4 */ "keyspec_symbols_8",
- /* 41: 4 */ "keyspec_symbols_9",
- /* 42: 4 */ "keyspec_symbols_0",
- /* 43: 4 */ "keylabel_to_symbol",
- /* 44: 4 */ "additional_morekeys_symbols_1",
- /* 45: 4 */ "additional_morekeys_symbols_2",
- /* 46: 4 */ "additional_morekeys_symbols_3",
- /* 47: 4 */ "additional_morekeys_symbols_4",
- /* 48: 4 */ "additional_morekeys_symbols_5",
- /* 49: 4 */ "additional_morekeys_symbols_6",
- /* 50: 4 */ "additional_morekeys_symbols_7",
- /* 51: 4 */ "additional_morekeys_symbols_8",
- /* 52: 4 */ "additional_morekeys_symbols_9",
- /* 53: 4 */ "additional_morekeys_symbols_0",
- /* 54: 3 */ "keyspec_swiss_row1_11",
- /* 55: 3 */ "keyspec_swiss_row2_10",
- /* 56: 3 */ "keyspec_swiss_row2_11",
- /* 57: 3 */ "morekeys_swiss_row1_11",
- /* 58: 3 */ "morekeys_swiss_row2_10",
- /* 59: 3 */ "morekeys_swiss_row2_11",
- /* 60: 3 */ "morekeys_punctuation",
- /* 61: 3 */ "morekeys_star",
- /* 62: 3 */ "keyspec_left_parenthesis",
- /* 63: 3 */ "keyspec_right_parenthesis",
- /* 64: 3 */ "keyspec_left_square_bracket",
- /* 65: 3 */ "keyspec_right_square_bracket",
- /* 66: 3 */ "keyspec_left_curly_bracket",
- /* 67: 3 */ "keyspec_right_curly_bracket",
- /* 68: 3 */ "keyspec_less_than",
- /* 69: 3 */ "keyspec_greater_than",
- /* 70: 3 */ "keyspec_less_than_equal",
- /* 71: 3 */ "keyspec_greater_than_equal",
- /* 72: 3 */ "keyspec_left_double_angle_quote",
- /* 73: 3 */ "keyspec_right_double_angle_quote",
- /* 74: 3 */ "keyspec_left_single_angle_quote",
- /* 75: 3 */ "keyspec_right_single_angle_quote",
- /* 76: 3 */ "keyspec_tablet_comma",
- /* 77: 3 */ "morekeys_tablet_period",
- /* 78: 3 */ "morekeys_question",
- /* 79: 2 */ "morekeys_h",
- /* 80: 2 */ "morekeys_w",
- /* 81: 2 */ "morekeys_east_slavic_row2_2",
- /* 82: 2 */ "morekeys_cyrillic_u",
- /* 83: 2 */ "morekeys_cyrillic_en",
- /* 84: 2 */ "morekeys_cyrillic_ghe",
- /* 85: 2 */ "morekeys_cyrillic_o",
- /* 86: 2 */ "morekeys_cyrillic_i",
- /* 87: 2 */ "keyspec_south_slavic_row1_6",
- /* 88: 2 */ "keyspec_south_slavic_row2_11",
- /* 89: 2 */ "keyspec_south_slavic_row3_1",
- /* 90: 2 */ "keyspec_south_slavic_row3_8",
- /* 91: 2 */ "keyspec_spanish_row2_10",
- /* 92: 2 */ "morekeys_bullet",
- /* 93: 2 */ "morekeys_left_parenthesis",
- /* 94: 2 */ "morekeys_right_parenthesis",
- /* 95: 2 */ "morekeys_arabic_diacritics",
- /* 96: 2 */ "keyspec_comma",
- /* 97: 2 */ "keyhintlabel_tablet_comma",
- /* 98: 2 */ "morekeys_tablet_comma",
- /* 99: 2 */ "keyhintlabel_period",
- /* 100: 2 */ "morekeys_period",
- /* 101: 2 */ "keyhintlabel_tablet_period",
- /* 102: 2 */ "keyspec_symbols_question",
- /* 103: 2 */ "keyspec_symbols_semicolon",
- /* 104: 2 */ "keyspec_symbols_percent",
- /* 105: 2 */ "morekeys_symbols_semicolon",
- /* 106: 2 */ "morekeys_symbols_percent",
- /* 107: 1 */ "morekeys_v",
- /* 108: 1 */ "morekeys_j",
- /* 109: 1 */ "morekeys_q",
- /* 110: 1 */ "morekeys_x",
- /* 111: 1 */ "keyspec_q",
- /* 112: 1 */ "keyspec_w",
- /* 113: 1 */ "keyspec_y",
- /* 114: 1 */ "keyspec_x",
- /* 115: 1 */ "morekeys_east_slavic_row2_11",
- /* 116: 1 */ "morekeys_cyrillic_ka",
- /* 117: 1 */ "morekeys_cyrillic_a",
- /* 118: 1 */ "morekeys_currency_dollar",
- /* 119: 1 */ "morekeys_tablet_punctuation",
- /* 120: 1 */ "morekeys_plus",
- /* 121: 1 */ "morekeys_less_than",
- /* 122: 1 */ "morekeys_greater_than",
- /* 123: 1 */ "keyspec_period",
- /* 124: 1 */ "keyspec_tablet_period",
+ /* 33: 4 */ "morekeys_punctuation",
+ /* 34: 4 */ "keyspec_symbols_1",
+ /* 35: 4 */ "keyspec_symbols_2",
+ /* 36: 4 */ "keyspec_symbols_3",
+ /* 37: 4 */ "keyspec_symbols_4",
+ /* 38: 4 */ "keyspec_symbols_5",
+ /* 39: 4 */ "keyspec_symbols_6",
+ /* 40: 4 */ "keyspec_symbols_7",
+ /* 41: 4 */ "keyspec_symbols_8",
+ /* 42: 4 */ "keyspec_symbols_9",
+ /* 43: 4 */ "keyspec_symbols_0",
+ /* 44: 4 */ "keylabel_to_symbol",
+ /* 45: 4 */ "additional_morekeys_symbols_1",
+ /* 46: 4 */ "additional_morekeys_symbols_2",
+ /* 47: 4 */ "additional_morekeys_symbols_3",
+ /* 48: 4 */ "additional_morekeys_symbols_4",
+ /* 49: 4 */ "additional_morekeys_symbols_5",
+ /* 50: 4 */ "additional_morekeys_symbols_6",
+ /* 51: 4 */ "additional_morekeys_symbols_7",
+ /* 52: 4 */ "additional_morekeys_symbols_8",
+ /* 53: 4 */ "additional_morekeys_symbols_9",
+ /* 54: 4 */ "additional_morekeys_symbols_0",
+ /* 55: 4 */ "keyspec_tablet_comma",
+ /* 56: 3 */ "keyspec_swiss_row1_11",
+ /* 57: 3 */ "keyspec_swiss_row2_10",
+ /* 58: 3 */ "keyspec_swiss_row2_11",
+ /* 59: 3 */ "morekeys_swiss_row1_11",
+ /* 60: 3 */ "morekeys_swiss_row2_10",
+ /* 61: 3 */ "morekeys_swiss_row2_11",
+ /* 62: 3 */ "morekeys_star",
+ /* 63: 3 */ "keyspec_left_parenthesis",
+ /* 64: 3 */ "keyspec_right_parenthesis",
+ /* 65: 3 */ "keyspec_left_square_bracket",
+ /* 66: 3 */ "keyspec_right_square_bracket",
+ /* 67: 3 */ "keyspec_left_curly_bracket",
+ /* 68: 3 */ "keyspec_right_curly_bracket",
+ /* 69: 3 */ "keyspec_less_than",
+ /* 70: 3 */ "keyspec_greater_than",
+ /* 71: 3 */ "keyspec_less_than_equal",
+ /* 72: 3 */ "keyspec_greater_than_equal",
+ /* 73: 3 */ "keyspec_left_double_angle_quote",
+ /* 74: 3 */ "keyspec_right_double_angle_quote",
+ /* 75: 3 */ "keyspec_left_single_angle_quote",
+ /* 76: 3 */ "keyspec_right_single_angle_quote",
+ /* 77: 3 */ "morekeys_tablet_comma",
+ /* 78: 3 */ "keyhintlabel_period",
+ /* 79: 3 */ "morekeys_tablet_period",
+ /* 80: 3 */ "morekeys_question",
+ /* 81: 2 */ "morekeys_h",
+ /* 82: 2 */ "morekeys_w",
+ /* 83: 2 */ "morekeys_east_slavic_row2_2",
+ /* 84: 2 */ "morekeys_cyrillic_u",
+ /* 85: 2 */ "morekeys_cyrillic_en",
+ /* 86: 2 */ "morekeys_cyrillic_ghe",
+ /* 87: 2 */ "morekeys_cyrillic_o",
+ /* 88: 2 */ "morekeys_cyrillic_i",
+ /* 89: 2 */ "keyspec_south_slavic_row1_6",
+ /* 90: 2 */ "keyspec_south_slavic_row2_11",
+ /* 91: 2 */ "keyspec_south_slavic_row3_1",
+ /* 92: 2 */ "keyspec_south_slavic_row3_8",
+ /* 93: 2 */ "morekeys_tablet_punctuation",
+ /* 94: 2 */ "keyspec_spanish_row2_10",
+ /* 95: 2 */ "morekeys_bullet",
+ /* 96: 2 */ "morekeys_left_parenthesis",
+ /* 97: 2 */ "morekeys_right_parenthesis",
+ /* 98: 2 */ "morekeys_arabic_diacritics",
+ /* 99: 2 */ "keyspec_comma",
+ /* 100: 2 */ "keyhintlabel_tablet_comma",
+ /* 101: 2 */ "keyspec_period",
+ /* 102: 2 */ "morekeys_period",
+ /* 103: 2 */ "keyspec_tablet_period",
+ /* 104: 2 */ "keyhintlabel_tablet_period",
+ /* 105: 2 */ "keyspec_symbols_question",
+ /* 106: 2 */ "keyspec_symbols_semicolon",
+ /* 107: 2 */ "keyspec_symbols_percent",
+ /* 108: 2 */ "morekeys_symbols_semicolon",
+ /* 109: 2 */ "morekeys_symbols_percent",
+ /* 110: 1 */ "morekeys_v",
+ /* 111: 1 */ "morekeys_j",
+ /* 112: 1 */ "morekeys_q",
+ /* 113: 1 */ "morekeys_x",
+ /* 114: 1 */ "keyspec_q",
+ /* 115: 1 */ "keyspec_w",
+ /* 116: 1 */ "keyspec_y",
+ /* 117: 1 */ "keyspec_x",
+ /* 118: 1 */ "morekeys_east_slavic_row2_11",
+ /* 119: 1 */ "morekeys_cyrillic_ka",
+ /* 120: 1 */ "morekeys_cyrillic_a",
+ /* 121: 1 */ "morekeys_currency_dollar",
+ /* 122: 1 */ "morekeys_plus",
+ /* 123: 1 */ "morekeys_less_than",
+ /* 124: 1 */ "morekeys_greater_than",
/* 125: 1 */ "morekeys_exclamation",
/* 126: 0 */ "morekeys_currency",
/* 127: 0 */ "morekeys_symbols_1",
@@ -278,6 +278,7 @@ public final class KeyboardTextsTable {
/* morekeys_r ~ */
EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
/* ~ morekeys_nordic_row2_11 */
+ /* morekeys_punctuation */ "!autoColumnOrder!8,\\,,?,!,#,!text/keyspec_right_parenthesis,!text/keyspec_left_parenthesis,/,;,',@,:,-,\",+,\\%,&",
/* keyspec_symbols_1 */ "1",
/* keyspec_symbols_2 */ "2",
/* keyspec_symbols_3 */ "3",
@@ -291,10 +292,12 @@ public final class KeyboardTextsTable {
// Label for "switch to symbols" key.
/* keylabel_to_symbol */ "?123",
/* additional_morekeys_symbols_1 ~ */
- EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
- EMPTY, EMPTY, EMPTY,
+ EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
+ /* ~ additional_morekeys_symbols_0 */
+ /* keyspec_tablet_comma */ ",",
+ /* keyspec_swiss_row1_11 ~ */
+ EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
/* ~ morekeys_swiss_row2_11 */
- /* morekeys_punctuation */ "!autoColumnOrder!8,\\,,?,!,#,!text/keyspec_right_parenthesis,!text/keyspec_left_parenthesis,/,;,',@,:,-,\",+,\\%,&",
// U+2020: "†" DAGGER
// U+2021: "‡" DOUBLE DAGGER
// U+2605: "★" BLACK STAR
@@ -321,13 +324,15 @@ public final class KeyboardTextsTable {
/* keyspec_right_double_angle_quote */ "\u00BB",
/* keyspec_left_single_angle_quote */ "\u2039",
/* keyspec_right_single_angle_quote */ "\u203A",
- /* keyspec_tablet_comma */ ",",
+ /* morekeys_tablet_comma */ EMPTY,
+ /* keyhintlabel_period */ EMPTY,
/* morekeys_tablet_period */ "!text/morekeys_tablet_punctuation",
// U+00BF: "¿" INVERTED QUESTION MARK
/* morekeys_question */ "\u00BF",
/* morekeys_h ~ */
EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
/* ~ keyspec_south_slavic_row3_8 */
+ /* morekeys_tablet_punctuation */ "!autoColumnOrder!7,\\,,',#,!text/keyspec_right_parenthesis,!text/keyspec_left_parenthesis,/,;,@,:,-,\",+,\\%,&",
// U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
/* keyspec_spanish_row2_10 */ "\u00F1",
// U+266A: "♪" EIGHTH NOTE
@@ -341,10 +346,11 @@ public final class KeyboardTextsTable {
/* morekeys_arabic_diacritics */ EMPTY,
// Comma key
/* keyspec_comma */ ",",
- /* keyhintlabel_tablet_comma ~ */
- EMPTY, EMPTY, EMPTY,
- /* ~ keyhintlabel_period */
+ /* keyhintlabel_tablet_comma */ EMPTY,
+ // Period key
+ /* keyspec_period */ ".",
/* morekeys_period */ "!text/morekeys_punctuation",
+ /* keyspec_tablet_period */ ".",
/* keyhintlabel_tablet_period */ EMPTY,
/* keyspec_symbols_question */ "?",
/* keyspec_symbols_semicolon */ ";",
@@ -368,14 +374,10 @@ public final class KeyboardTextsTable {
// U+00A5: "¥" YEN SIGN
// U+20B1: "₱" PESO SIGN
/* morekeys_currency_dollar */ "\u00A2,\u00A3,\u20AC,\u00A5,\u20B1",
- /* morekeys_tablet_punctuation */ "!autoColumnOrder!7,\\,,',#,!text/keyspec_right_parenthesis,!text/keyspec_left_parenthesis,/,;,@,:,-,\",+,\\%,&",
// U+00B1: "±" PLUS-MINUS SIGN
/* morekeys_plus */ "\u00B1",
/* morekeys_less_than */ "!fixedColumnOrder!3,!text/keyspec_left_single_angle_quote,!text/keyspec_less_than_equal,!text/keyspec_left_double_angle_quote",
/* morekeys_greater_than */ "!fixedColumnOrder!3,!text/keyspec_right_single_angle_quote,!text/keyspec_greater_than_equal,!text/keyspec_right_double_angle_quote",
- // Period key
- /* keyspec_period */ ".",
- /* keyspec_tablet_period */ ".",
// U+00A1: "¡" INVERTED EXCLAMATION MARK
/* morekeys_exclamation */ "\u00A1",
/* morekeys_currency */ "$,\u00A2,\u20AC,\u00A3,\u00A5,\u20B1",
@@ -534,8 +536,8 @@ public final class KeyboardTextsTable {
/* keylabel_to_alpha */ "\u0623\u200C\u0628\u200C\u062C",
/* morekeys_s ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null,
- /* ~ morekeys_nordic_row2_11 */
+ null, null, null, null, null, null, null, null, null,
+ /* ~ morekeys_punctuation */
// U+0661: "١" ARABIC-INDIC DIGIT ONE
/* keyspec_symbols_1 */ "\u0661",
// U+0662: "٢" ARABIC-INDIC DIGIT TWO
@@ -571,9 +573,13 @@ public final class KeyboardTextsTable {
// U+066B: "٫" ARABIC DECIMAL SEPARATOR
// U+066C: "٬" ARABIC THOUSANDS SEPARATOR
/* additional_morekeys_symbols_0 */ "0,\u066B,\u066C",
+ // U+061F: "؟" ARABIC QUESTION MARK
+ // U+060C: "،" ARABIC COMMA
+ // U+061B: "؛" ARABIC SEMICOLON
+ /* keyspec_tablet_comma */ "\u060C",
/* keyspec_swiss_row1_11 ~ */
- null, null, null, null, null, null, null,
- /* ~ morekeys_punctuation */
+ null, null, null, null, null, null,
+ /* ~ morekeys_swiss_row2_11 */
// U+2605: "★" BLACK STAR
// U+066D: "٭" ARABIC FIVE POINTED STAR
/* morekeys_star */ "\u2605,\u066D",
@@ -597,15 +603,14 @@ public final class KeyboardTextsTable {
/* keyspec_right_double_angle_quote */ "\u00BB|\u00AB",
/* keyspec_left_single_angle_quote */ "\u2039|\u203A",
/* keyspec_right_single_angle_quote */ "\u203A|\u2039",
- // U+061F: "؟" ARABIC QUESTION MARK
- // U+060C: "،" ARABIC COMMA
- // U+061B: "؛" ARABIC SEMICOLON
- /* keyspec_tablet_comma */ "\u060C",
+ /* morekeys_tablet_comma */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,/,\",\'",
+ // U+0651: "ّ" ARABIC SHADDA
+ /* keyhintlabel_period */ "\u0651",
/* morekeys_tablet_period */ "!text/morekeys_arabic_diacritics",
// U+00BF: "¿" INVERTED QUESTION MARK
/* morekeys_question */ "?,\u00BF",
/* morekeys_h ~ */
- null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~ keyspec_spanish_row2_10 */
// U+266A: "♪" EIGHTH NOTE
/* morekeys_bullet */ "\u266A",
@@ -635,10 +640,9 @@ public final class KeyboardTextsTable {
// U+060C: "،" ARABIC COMMA
/* keyspec_comma */ "\u060C",
/* keyhintlabel_tablet_comma */ "\u061F",
- /* morekeys_tablet_comma */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,/,\",\'",
- // U+0651: "ّ" ARABIC SHADDA
- /* keyhintlabel_period */ "\u0651",
+ /* keyspec_period */ null,
/* morekeys_period */ "!text/morekeys_arabic_diacritics",
+ /* keyspec_tablet_period */ null,
/* keyhintlabel_tablet_period */ "\u0651",
/* keyspec_symbols_question */ "\u061F",
/* keyspec_symbols_semicolon */ "\u061B",
@@ -806,22 +810,19 @@ public final class KeyboardTextsTable {
/* morekeys_l */ "l\u00B7l,\u0142",
/* morekeys_g ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- /* ~ morekeys_swiss_row2_11 */
+ null, null,
+ /* ~ morekeys_nordic_row2_11 */
// U+00B7: "·" MIDDLE DOT
/* morekeys_punctuation */ "!autoColumnOrder!9,\\,,?,!,\u00B7,#,),(,/,;,',@,:,-,\",+,\\%,&",
- /* morekeys_star ~ */
+ /* keyspec_symbols_1 ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~ keyspec_south_slavic_row3_8 */
+ /* morekeys_tablet_punctuation */ "!autoColumnOrder!8,\\,,',\u00B7,#,),(,/,;,@,:,-,\",+,\\%,&",
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
/* keyspec_spanish_row2_10 */ "\u00E7",
- /* morekeys_bullet ~ */
- null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null,
- /* ~ morekeys_currency_dollar */
- /* morekeys_tablet_punctuation */ "!autoColumnOrder!8,\\,,',\u00B7,#,),(,/,;,@,:,-,\",+,\\%,&",
};
/* Locale cs: Czech */
@@ -1023,8 +1024,8 @@ public final class KeyboardTextsTable {
/* keyspec_currency ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null,
- /* ~ additional_morekeys_symbols_0 */
+ null, null, null, null, null, null, null,
+ /* ~ keyspec_tablet_comma */
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
/* keyspec_swiss_row1_11 */ "\u00FC",
// U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
@@ -1218,7 +1219,7 @@ public final class KeyboardTextsTable {
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~ morekeys_question */
// U+0125: "ĥ" LATIN SMALL LETTER H WITH CIRCUMFLEX
// U+0127: "ħ" LATIN SMALL LETTER H WITH STROKE
@@ -1226,8 +1227,8 @@ public final class KeyboardTextsTable {
// U+0175: "ŵ" LATIN SMALL LETTER W WITH CIRCUMFLEX
/* morekeys_w */ "w,\u0175",
/* morekeys_east_slavic_row2_2 ~ */
- null, null, null, null, null, null, null, null, null, null,
- /* ~ keyspec_south_slavic_row3_8 */
+ null, null, null, null, null, null, null, null, null, null, null,
+ /* ~ morekeys_tablet_punctuation */
// U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX
/* keyspec_spanish_row2_10 */ "\u0135",
/* morekeys_bullet ~ */
@@ -1302,10 +1303,8 @@ public final class KeyboardTextsTable {
/* morekeys_n */ "\u00F1,\u0144",
/* single_quotes ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null,
- /* ~ morekeys_swiss_row2_11 */
+ null, null, null, null, null, null, null, null, null, null,
+ /* ~ morekeys_nordic_row2_11 */
// U+00A1: "¡" INVERTED EXCLAMATION MARK
// U+00BF: "¿" INVERTED QUESTION MARK
/* morekeys_punctuation */ "!autoColumnOrder!9,\\,,?,!,#,),(,/,;,\u00A1,',@,:,-,\",+,\\%,&,\u00BF",
@@ -1485,8 +1484,8 @@ public final class KeyboardTextsTable {
// U+FDFC: "﷼" RIAL SIGN
/* keyspec_currency */ "\uFDFC",
/* morekeys_r ~ */
- null, null, null, null, null, null, null, null, null, null, null, null, null,
- /* ~ morekeys_nordic_row2_11 */
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ /* ~ morekeys_punctuation */
// U+06F1: "۱" EXTENDED ARABIC-INDIC DIGIT ONE
/* keyspec_symbols_1 */ "\u06F1",
// U+06F2: "۲" EXTENDED ARABIC-INDIC DIGIT TWO
@@ -1522,9 +1521,15 @@ public final class KeyboardTextsTable {
// U+066B: "٫" ARABIC DECIMAL SEPARATOR
// U+066C: "٬" ARABIC THOUSANDS SEPARATOR
/* additional_morekeys_symbols_0 */ "0,\u066B,\u066C",
+ // U+060C: "،" ARABIC COMMA
+ // U+061B: "؛" ARABIC SEMICOLON
+ // U+061F: "؟" ARABIC QUESTION MARK
+ // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ /* keyspec_tablet_comma */ "\u060C",
/* keyspec_swiss_row1_11 ~ */
- null, null, null, null, null, null, null,
- /* ~ morekeys_punctuation */
+ null, null, null, null, null, null,
+ /* ~ morekeys_swiss_row2_11 */
// U+2605: "★" BLACK STAR
// U+066D: "٭" ARABIC FIVE POINTED STAR
/* morekeys_star */ "\u2605,\u066D",
@@ -1542,17 +1547,14 @@ public final class KeyboardTextsTable {
/* keyspec_right_double_angle_quote */ "\u00BB|\u00AB",
/* keyspec_left_single_angle_quote */ "\u2039|\u203A",
/* keyspec_right_single_angle_quote */ "\u203A|\u2039",
- // U+060C: "،" ARABIC COMMA
- // U+061B: "؛" ARABIC SEMICOLON
- // U+061F: "؟" ARABIC QUESTION MARK
- // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- /* keyspec_tablet_comma */ "\u060C",
+ /* morekeys_tablet_comma */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,/,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote",
+ // U+064B: "ً" ARABIC FATHATAN
+ /* keyhintlabel_period */ "\u064B",
/* morekeys_tablet_period */ "!text/morekeys_arabic_diacritics",
// U+00BF: "¿" INVERTED QUESTION MARK
/* morekeys_question */ "?,\u00BF",
/* morekeys_h ~ */
- null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~ keyspec_spanish_row2_10 */
// U+266A: "♪" EIGHTH NOTE
/* morekeys_bullet */ "\u266A",
@@ -1582,10 +1584,9 @@ public final class KeyboardTextsTable {
// U+060C: "،" ARABIC COMMA
/* keyspec_comma */ "\u060C",
/* keyhintlabel_tablet_comma */ "\u061F",
- /* morekeys_tablet_comma */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,/,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote",
- // U+064B: "ً" ARABIC FATHATAN
- /* keyhintlabel_period */ "\u064B",
+ /* keyspec_period */ null,
/* morekeys_period */ "!text/morekeys_arabic_diacritics",
+ /* keyspec_tablet_period */ null,
/* keyhintlabel_tablet_period */ "\u064B",
/* keyspec_symbols_question */ "\u061F",
/* keyspec_symbols_semicolon */ "\u061B",
@@ -1595,7 +1596,7 @@ public final class KeyboardTextsTable {
// U+2030: "‰" PER MILLE SIGN
/* morekeys_symbols_percent */ "\\%,\u2030",
/* morekeys_v ~ */
- null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~ morekeys_plus */
// U+2264: "≤" LESS-THAN OR EQUAL TO
// U+2265: "≥" GREATER-THAN EQUAL TO
@@ -1712,8 +1713,8 @@ public final class KeyboardTextsTable {
/* morekeys_d ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null,
- /* ~ additional_morekeys_symbols_0 */
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ /* ~ keyspec_tablet_comma */
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
/* keyspec_swiss_row1_11 */ "\u00E8",
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
@@ -1798,8 +1799,8 @@ public final class KeyboardTextsTable {
// U+20B9: "₹" INDIAN RUPEE SIGN
/* keyspec_currency */ "\u20B9",
/* morekeys_r ~ */
- null, null, null, null, null, null, null, null, null, null, null, null, null,
- /* ~ morekeys_nordic_row2_11 */
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ /* ~ morekeys_punctuation */
// U+0967: "१" DEVANAGARI DIGIT ONE
/* keyspec_symbols_1 */ "\u0967",
// U+0968: "२" DEVANAGARI DIGIT TWO
@@ -1933,10 +1934,8 @@ public final class KeyboardTextsTable {
/* keylabel_to_alpha */ "\u0531\u0532\u0533",
/* morekeys_s ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null,
- /* ~ morekeys_swiss_row2_11 */
+ null, null, null, null, null, null, null, null,
+ /* ~ morekeys_nordic_row2_11 */
// U+055E: "՞" ARMENIAN QUESTION MARK
// U+055C: "՜" ARMENIAN EXCLAMATION MARK
// U+055A: "՚" ARMENIAN APOSTROPHE
@@ -1948,27 +1947,36 @@ public final class KeyboardTextsTable {
// U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
// U+055F: "՟" ARMENIAN ABBREVIATION MARK
/* morekeys_punctuation */ "!autoColumnOrder!8,\\,,\u055E,\u055C,.,\u055A,\u0559,?,!,\u055D,\u055B,\u058A,\u00BB,\u00AB,\u055F,;,:",
- /* morekeys_star ~ */
+ /* keyspec_symbols_1 ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- /* ~ keyspec_right_single_angle_quote */
+ null, null, null, null, null, null,
+ /* ~ additional_morekeys_symbols_0 */
// U+058F: "֏" ARMENIAN DRAM SIGN
// TODO: Enable this when we have glyph for the following letter
// <string name="keyspec_currency">&#x058F;</string>
//
// U+055D: "՝" ARMENIAN COMMA
/* keyspec_tablet_comma */ "\u055D",
+ /* keyspec_swiss_row1_11 ~ */
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null,
+ /* ~ keyhintlabel_period */
/* morekeys_tablet_period */ "!text/morekeys_punctuation",
// U+055E: "՞" ARMENIAN QUESTION MARK
// U+00BF: "¿" INVERTED QUESTION MARK
/* morekeys_question */ "\u055E,\u00BF",
/* morekeys_h ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- /* ~ morekeys_greater_than */
+ null, null, null, null, null,
+ /* ~ keyhintlabel_tablet_comma */
// U+0589: "։" ARMENIAN FULL STOP
/* keyspec_period */ "\u0589",
+ /* morekeys_period */ null,
/* keyspec_tablet_period */ "\u0589",
+ /* keyhintlabel_tablet_period ~ */
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null,
+ /* ~ morekeys_greater_than */
// U+055C: "՜" ARMENIAN EXCLAMATION MARK
// U+00A1: "¡" INVERTED EXCLAMATION MARK
/* morekeys_exclamation */ "\u055C,\u00A1",
@@ -2078,8 +2086,8 @@ public final class KeyboardTextsTable {
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null,
- /* ~ additional_morekeys_symbols_0 */
+ null, null, null, null, null, null,
+ /* ~ keyspec_tablet_comma */
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
/* keyspec_swiss_row1_11 */ "\u00FC",
// U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
@@ -2115,8 +2123,8 @@ public final class KeyboardTextsTable {
/* morekeys_r ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null,
- /* ~ morekeys_punctuation */
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ /* ~ morekeys_swiss_row2_11 */
// U+2605: "★" BLACK STAR
/* morekeys_star */ "\u2605",
// The all letters need to be mirrored are found at
@@ -2141,11 +2149,11 @@ public final class KeyboardTextsTable {
/* keyspec_right_double_angle_quote */ "\u00BB|\u00AB",
/* keyspec_left_single_angle_quote */ "\u2039|\u203A",
/* keyspec_right_single_angle_quote */ "\u203A|\u2039",
- /* keyspec_tablet_comma ~ */
+ /* morekeys_tablet_comma ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- /* ~ morekeys_tablet_punctuation */
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ /* ~ morekeys_currency_dollar */
// U+00B1: "±" PLUS-MINUS SIGN
// U+FB29: "﬩" HEBREW LETTER ALTERNATIVE PLUS SIGN
/* morekeys_plus */ "\u00B1,\uFB29",
@@ -2198,7 +2206,7 @@ public final class KeyboardTextsTable {
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null,
+ null, null, null, null, null, null,
/* ~ morekeys_w */
// U+0456: "і" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
/* morekeys_east_slavic_row2_2 */ "\u0456",
@@ -2213,7 +2221,7 @@ public final class KeyboardTextsTable {
/* morekeys_cyrillic_o */ "\u04E9",
/* morekeys_cyrillic_i ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~ keyspec_x */
// U+04BB: "һ" CYRILLIC SMALL LETTER SHHA
/* morekeys_east_slavic_row2_11 */ "\u04BB",
@@ -2241,7 +2249,7 @@ public final class KeyboardTextsTable {
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null,
+ null, null, null, null, null, null,
/* ~ morekeys_cyrillic_a */
// U+17DB: "៛" KHMER CURRENCY SYMBOL RIEL
/* morekeys_currency_dollar */ "\u17DB,\u00A2,\u00A3,\u20AC,\u00A5,\u20B1",
@@ -2279,7 +2287,7 @@ public final class KeyboardTextsTable {
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null,
+ null, null, null, null, null, null, null,
/* ~ morekeys_east_slavic_row2_2 */
// U+04AF: "ү" CYRILLIC SMALL LETTER STRAIGHT U
/* morekeys_cyrillic_u */ "\u04AF",
@@ -2519,7 +2527,7 @@ public final class KeyboardTextsTable {
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null,
+ null, null, null, null, null,
/* ~ morekeys_cyrillic_o */
// U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE
/* morekeys_cyrillic_i */ "\u045D",
@@ -2560,6 +2568,34 @@ public final class KeyboardTextsTable {
// U+1001: "ခ" MYANMAR LETTER KHA
// U+1002: "ဂ" MYANMAR LETTER GA
/* keylabel_to_alpha */ "\u1000\u1001\u1002",
+ /* morekeys_s ~ */
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null,
+ /* ~ morekeys_nordic_row2_11 */
+ /* morekeys_punctuation */ "!autoColumnOrder!9,\u104A,.,?,!,#,),(,/,;,...,',@,:,-,\",+,\\%,&",
+ /* keyspec_symbols_1 ~ */
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null,
+ /* ~ additional_morekeys_symbols_0 */
+ // U+104A: "၊" MYANMAR SIGN LITTLE SECTION
+ // U+104B: "။" MYANMAR SIGN SECTION
+ /* keyspec_tablet_comma */ "\u104A",
+ /* keyspec_swiss_row1_11 ~ */
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null,
+ /* ~ keyspec_right_single_angle_quote */
+ /* morekeys_tablet_comma */ "\\,",
+ /* keyhintlabel_period */ "\u104A",
+ /* morekeys_tablet_period ~ */
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ /* ~ keyspec_south_slavic_row3_8 */
+ /* morekeys_tablet_punctuation */ "!autoColumnOrder!8,.,',#,),(,/,;,@,...,:,-,\",+,\\%,&",
+ /* keyspec_spanish_row2_10 ~ */
+ null, null, null, null, null, null, null,
+ /* ~ keyhintlabel_tablet_comma */
+ /* keyspec_period */ "\u104B",
+ /* morekeys_period */ null,
+ /* keyspec_tablet_period */ "\u104B",
};
/* Locale nb: Norwegian Bokmål */
@@ -2632,8 +2668,8 @@ public final class KeyboardTextsTable {
// U+0930/U+0941/U+002E "रु." NEPALESE RUPEE SIGN
/* keyspec_currency */ "\u0930\u0941.",
/* morekeys_r ~ */
- null, null, null, null, null, null, null, null, null, null, null, null, null,
- /* ~ morekeys_nordic_row2_11 */
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ /* ~ morekeys_punctuation */
// U+0967: "१" DEVANAGARI DIGIT ONE
/* keyspec_symbols_1 */ "\u0967",
// U+0968: "२" DEVANAGARI DIGIT TWO
@@ -3061,7 +3097,7 @@ public final class KeyboardTextsTable {
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null,
+ null, null, null, null, null,
/* ~ morekeys_cyrillic_o */
// U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE
/* morekeys_cyrillic_i */ "\u045D",
@@ -3386,7 +3422,7 @@ public final class KeyboardTextsTable {
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null,
+ null, null, null, null, null, null,
/* ~ morekeys_w */
// U+0457: "ї" CYRILLIC SMALL LETTER YI
/* morekeys_east_slavic_row2_2 */ "\u0457",
@@ -3656,7 +3692,7 @@ public final class KeyboardTextsTable {
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~ morekeys_question */
// U+0125: "ĥ" LATIN SMALL LETTER H WITH CIRCUMFLEX
/* morekeys_h */ "\u0125",
@@ -3664,7 +3700,7 @@ public final class KeyboardTextsTable {
/* morekeys_w */ "\u0175",
/* morekeys_east_slavic_row2_2 ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~ morekeys_v */
// U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX
/* morekeys_j */ "\u0135",
@@ -3674,43 +3710,43 @@ public final class KeyboardTextsTable {
// "locale", TEXT_ARRAY, /* numberOfNonNullText/lengthOf_TEXT_ARRAY localeName */
"DEFAULT", TEXTS_DEFAULT, /* 168/168 DEFAULT */
"af" , TEXTS_af, /* 7/ 12 Afrikaans */
- "ar" , TEXTS_ar, /* 55/107 Arabic */
+ "ar" , TEXTS_ar, /* 55/110 Arabic */
"az_AZ" , TEXTS_az_AZ, /* 8/ 17 Azerbaijani (Azerbaijan) */
"be_BY" , TEXTS_be_BY, /* 9/ 32 Belarusian (Belarus) */
"bg" , TEXTS_bg, /* 2/ 10 Bulgarian */
- "ca" , TEXTS_ca, /* 11/120 Catalan */
+ "ca" , TEXTS_ca, /* 11/ 95 Catalan */
"cs" , TEXTS_cs, /* 17/ 21 Czech */
"da" , TEXTS_da, /* 19/ 33 Danish */
- "de" , TEXTS_de, /* 16/ 60 German */
+ "de" , TEXTS_de, /* 16/ 62 German */
"el" , TEXTS_el, /* 1/ 10 Greek */
"en" , TEXTS_en, /* 8/ 11 English */
- "eo" , TEXTS_eo, /* 26/115 Esperanto */
- "es" , TEXTS_es, /* 8/ 61 Spanish */
+ "eo" , TEXTS_eo, /* 26/118 Esperanto */
+ "es" , TEXTS_es, /* 8/ 34 Spanish */
"et_EE" , TEXTS_et_EE, /* 22/ 27 Estonian (Estonia) */
"eu_ES" , TEXTS_eu_ES, /* 7/ 8 Basque (Spain) */
- "fa" , TEXTS_fa, /* 58/123 Persian */
+ "fa" , TEXTS_fa, /* 58/125 Persian */
"fi" , TEXTS_fi, /* 10/ 33 Finnish */
- "fr" , TEXTS_fr, /* 13/ 60 French */
+ "fr" , TEXTS_fr, /* 13/ 62 French */
"gl_ES" , TEXTS_gl_ES, /* 7/ 8 Gallegan (Spain) */
- "hi" , TEXTS_hi, /* 23/ 54 Hindi */
+ "hi" , TEXTS_hi, /* 23/ 55 Hindi */
"hr" , TEXTS_hr, /* 9/ 19 Croatian */
"hu" , TEXTS_hu, /* 9/ 19 Hungarian */
"hy_AM" , TEXTS_hy_AM, /* 8/126 Armenian (Armenia) */
"is" , TEXTS_is, /* 10/ 15 Icelandic */
- "it" , TEXTS_it, /* 11/ 60 Italian */
- "iw" , TEXTS_iw, /* 20/121 Hebrew */
+ "it" , TEXTS_it, /* 11/ 62 Italian */
+ "iw" , TEXTS_iw, /* 20/123 Hebrew */
"ka_GE" , TEXTS_ka_GE, /* 3/ 10 Georgian (Georgia) */
- "kk" , TEXTS_kk, /* 15/118 Kazakh */
- "km_KH" , TEXTS_km_KH, /* 2/119 Khmer (Cambodia) */
- "ky" , TEXTS_ky, /* 10/ 86 Kirghiz */
+ "kk" , TEXTS_kk, /* 15/121 Kazakh */
+ "km_KH" , TEXTS_km_KH, /* 2/122 Khmer (Cambodia) */
+ "ky" , TEXTS_ky, /* 10/ 88 Kirghiz */
"lo_LA" , TEXTS_lo_LA, /* 2/ 20 Lao (Laos) */
"lt" , TEXTS_lt, /* 18/ 22 Lithuanian */
"lv" , TEXTS_lv, /* 18/ 22 Latvian */
- "mk" , TEXTS_mk, /* 9/ 91 Macedonian */
+ "mk" , TEXTS_mk, /* 9/ 93 Macedonian */
"mn_MN" , TEXTS_mn_MN, /* 2/ 20 Mongolian (Mongolia) */
- "my_MM" , TEXTS_my_MM, /* 1/ 10 Burmese (Myanmar) */
+ "my_MM" , TEXTS_my_MM, /* 8/104 Burmese (Myanmar) */
"nb" , TEXTS_nb, /* 11/ 33 Norwegian Bokmål */
- "ne_NP" , TEXTS_ne_NP, /* 23/ 54 Nepali (Nepal) */
+ "ne_NP" , TEXTS_ne_NP, /* 23/ 55 Nepali (Nepal) */
"nl" , TEXTS_nl, /* 9/ 12 Dutch */
"pl" , TEXTS_pl, /* 10/ 16 Polish */
"pt" , TEXTS_pt, /* 6/ 6 Portuguese */
@@ -3719,16 +3755,16 @@ public final class KeyboardTextsTable {
"ru" , TEXTS_ru, /* 9/ 32 Russian */
"sk" , TEXTS_sk, /* 20/ 22 Slovak */
"sl" , TEXTS_sl, /* 8/ 19 Slovenian */
- "sr" , TEXTS_sr, /* 11/ 91 Serbian */
+ "sr" , TEXTS_sr, /* 11/ 93 Serbian */
"sv" , TEXTS_sv, /* 21/ 33 Swedish */
"sw" , TEXTS_sw, /* 9/ 17 Swahili */
"th" , TEXTS_th, /* 2/ 20 Thai */
"tl" , TEXTS_tl, /* 7/ 8 Tagalog */
"tr" , TEXTS_tr, /* 7/ 17 Turkish */
- "uk" , TEXTS_uk, /* 11/ 85 Ukrainian */
+ "uk" , TEXTS_uk, /* 11/ 87 Ukrainian */
"vi" , TEXTS_vi, /* 8/ 20 Vietnamese */
"zu" , TEXTS_zu, /* 8/ 11 Zulu */
- "zz" , TEXTS_zz, /* 19/109 Alphabet */
+ "zz" , TEXTS_zz, /* 19/112 Alphabet */
};
static {
diff --git a/java/src/com/android/inputmethod/latin/ImportantNoticeDialog.java b/java/src/com/android/inputmethod/latin/ImportantNoticeDialog.java
index be54b669b..567087c81 100644
--- a/java/src/com/android/inputmethod/latin/ImportantNoticeDialog.java
+++ b/java/src/com/android/inputmethod/latin/ImportantNoticeDialog.java
@@ -20,8 +20,6 @@ import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
-import android.content.DialogInterface.OnDismissListener;
-import android.content.DialogInterface.OnShowListener;
import com.android.inputmethod.latin.utils.DialogUtils;
import com.android.inputmethod.latin.utils.ImportantNoticeUtils;
@@ -29,11 +27,10 @@ import com.android.inputmethod.latin.utils.ImportantNoticeUtils;
/**
* The dialog box that shows the important notice contents.
*/
-public final class ImportantNoticeDialog extends AlertDialog implements OnShowListener,
- OnClickListener, OnDismissListener {
+public final class ImportantNoticeDialog extends AlertDialog implements OnClickListener {
public interface ImportantNoticeDialogListener {
+ public void onUserAcknowledgmentOfImportantNoticeDialog(final int nextVersion);
public void onClickSettingsOfImportantNoticeDialog(final int nextVersion);
- public void onDismissImportantNoticeDialog(final int nextVersion);
}
private final ImportantNoticeDialogListener mListener;
@@ -50,9 +47,9 @@ public final class ImportantNoticeDialog extends AlertDialog implements OnShowLi
if (shouldHaveSettingsButton()) {
setButton(BUTTON_NEGATIVE, context.getString(R.string.go_to_settings), this);
}
- // Set listeners.
- setOnShowListener(this);
- setOnDismissListener(this);
+ // This dialog is cancelable by pressing back key. See {@link #onBackPress()}.
+ setCancelable(true /* cancelable */);
+ setCanceledOnTouchOutside(false /* cancelable */);
}
private boolean shouldHaveSettingsButton() {
@@ -60,9 +57,9 @@ public final class ImportantNoticeDialog extends AlertDialog implements OnShowLi
== ImportantNoticeUtils.VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS;
}
- @Override
- public void onShow(final DialogInterface dialog) {
+ private void userAcknowledged() {
ImportantNoticeUtils.updateLastImportantNoticeVersion(getContext());
+ mListener.onUserAcknowledgmentOfImportantNoticeDialog(mNextImportantNoticeVersion);
}
@Override
@@ -70,10 +67,12 @@ public final class ImportantNoticeDialog extends AlertDialog implements OnShowLi
if (shouldHaveSettingsButton() && which == BUTTON_NEGATIVE) {
mListener.onClickSettingsOfImportantNoticeDialog(mNextImportantNoticeVersion);
}
+ userAcknowledged();
}
@Override
- public void onDismiss(final DialogInterface dialog) {
- mListener.onDismissImportantNoticeDialog(mNextImportantNoticeVersion);
+ public void onBackPressed() {
+ super.onBackPressed();
+ userAcknowledged();
}
}
diff --git a/java/src/com/android/inputmethod/latin/LastComposedWord.java b/java/src/com/android/inputmethod/latin/LastComposedWord.java
index 2a16ab5ab..232bf7407 100644
--- a/java/src/com/android/inputmethod/latin/LastComposedWord.java
+++ b/java/src/com/android/inputmethod/latin/LastComposedWord.java
@@ -44,7 +44,6 @@ public final class LastComposedWord {
public static final String NOT_A_SEPARATOR = "";
- public final int[] mPrimaryKeyCodes;
public final ArrayList<Event> mEvents;
public final String mTypedWord;
public final CharSequence mCommittedWord;
@@ -57,16 +56,15 @@ public final class LastComposedWord {
private boolean mActive;
public static final LastComposedWord NOT_A_COMPOSED_WORD =
- new LastComposedWord(null, new ArrayList<Event>(), null, "", "",
+ new LastComposedWord(new ArrayList<Event>(), null, "", "",
NOT_A_SEPARATOR, null, WordComposer.CAPS_MODE_OFF);
// Warning: this is using the passed objects as is and fully expects them to be
// immutable. Do not fiddle with their contents after you passed them to this constructor.
- public LastComposedWord(final int[] primaryKeyCodes, final ArrayList<Event> events,
+ public LastComposedWord(final ArrayList<Event> events,
final InputPointers inputPointers, final String typedWord,
final CharSequence committedWord, final String separatorString,
final String prevWord, final int capitalizedMode) {
- mPrimaryKeyCodes = primaryKeyCodes;
if (inputPointers != null) {
mInputPointers.copy(inputPointers);
}
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 0594c68cc..84558ca24 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -367,6 +367,12 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
if (latinIme != null) {
executePendingImsCallback(latinIme, editorInfo, restarting);
latinIme.onStartInputInternal(editorInfo, restarting);
+ if (ProductionFlag.USES_CURSOR_ANCHOR_MONITOR) {
+ // Currently we need to call this every time when the IME is attached to
+ // new application.
+ // TODO: Consider if we can do this automatically in the framework.
+ InputMethodServiceCompatUtils.setCursorAnchorMonitorMode(latinIme, 1);
+ }
}
}
}
@@ -651,9 +657,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mInputLogic.commitTyped(mSettings.getCurrent(), LastComposedWord.NOT_A_SEPARATOR);
mInputLogic.mConnection.finishComposingText();
mInputLogic.mConnection.endBatchEdit();
- if (isShowingOptionDialog()) {
- mOptionsDialog.dismiss();
- }
}
PersonalizationDictionarySessionRegistrar.onConfigurationChanged(this, conf,
mInputLogic.mSuggest.mDictionaryFacilitator);
@@ -931,6 +934,14 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mSubtypeState.currentSubtypeUsed();
}
+ @Override
+ public void onUpdateCursor(Rect rect) {
+ if (DEBUG) {
+ Log.i(TAG, "onUpdateCursor:" + rect.toShortString());
+ }
+ super.onUpdateCursor(rect);
+ }
+
/**
* This is called when the user has clicked on the extracted text view,
* when running in fullscreen mode. The default implementation hides
@@ -976,7 +987,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
}
if (TRACE) Debug.stopMethodTracing();
- if (mOptionsDialog != null && mOptionsDialog.isShowing()) {
+ if (isShowingOptionDialog()) {
mOptionsDialog.dismiss();
mOptionsDialog = null;
}
@@ -1172,7 +1183,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// Implement {@link ImportantNoticeDialog.ImportantNoticeDialogListener}
@Override
- public void onDismissImportantNoticeDialog(final int nextVersion) {
+ public void onUserAcknowledgmentOfImportantNoticeDialog(final int nextVersion) {
setNeutralSuggestionStrip();
}
@@ -1680,7 +1691,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
final AlertDialog.Builder builder = new AlertDialog.Builder(
DialogUtils.getPlatformDialogThemeContext(this));
builder.setItems(items, listener).setTitle(title);
- showOptionDialog(builder.create());
+ final AlertDialog dialog = builder.create();
+ dialog.setCancelable(true /* cancelable */);
+ dialog.setCanceledOnTouchOutside(true /* cancelable */);
+ showOptionDialog(dialog);
}
// TODO: Move this method out of {@link LatinIME}.
@@ -1690,9 +1704,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
return;
}
- dialog.setCancelable(true /* cancelable */);
- dialog.setCanceledOnTouchOutside(true /* cancelable */);
-
final Window window = dialog.getWindow();
final WindowManager.LayoutParams lp = window.getAttributes();
lp.token = windowToken;
diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java
index 02f18cdd3..1268e5aac 100644
--- a/java/src/com/android/inputmethod/latin/WordComposer.java
+++ b/java/src/com/android/inputmethod/latin/WordComposer.java
@@ -42,11 +42,6 @@ public final class WordComposer {
private CombinerChain mCombinerChain;
- // An array of code points representing the characters typed so far.
- // The array is limited to MAX_WORD_LENGTH code points, but mTypedWord extends past that
- // and mCodePointSize can go past that. If mCodePointSize is greater than MAX_WORD_LENGTH,
- // this just does not contain the associated code points past MAX_WORD_LENGTH.
- private int[] mPrimaryKeyCodes;
// The list of events that served to compose this string.
private final ArrayList<Event> mEvents;
private final InputPointers mInputPointers = new InputPointers(MAX_WORD_LENGTH);
@@ -71,7 +66,6 @@ public final class WordComposer {
private int mCapsCount;
private int mDigitsCount;
private int mCapitalizedMode;
- private int mTrailingSingleQuotesCount;
// This is the number of code points entered so far. This is not limited to MAX_WORD_LENGTH.
// In general, this contains the size of mPrimaryKeyCodes, except when this is greater than
// MAX_WORD_LENGTH in which case mPrimaryKeyCodes only contain the first MAX_WORD_LENGTH
@@ -86,10 +80,8 @@ public final class WordComposer {
public WordComposer() {
mCombinerChain = new CombinerChain();
- mPrimaryKeyCodes = new int[MAX_WORD_LENGTH];
mEvents = CollectionUtils.newArrayList();
mAutoCorrection = null;
- mTrailingSingleQuotesCount = 0;
mIsResumed = false;
mIsBatchMode = false;
mCursorPositionWithinWord = 0;
@@ -108,7 +100,6 @@ public final class WordComposer {
mCapsCount = 0;
mDigitsCount = 0;
mIsFirstCharCapitalized = false;
- mTrailingSingleQuotesCount = 0;
mIsResumed = false;
mIsBatchMode = false;
mCursorPositionWithinWord = 0;
@@ -143,10 +134,7 @@ public final class WordComposer {
*/
public int copyCodePointsExceptTrailingSingleQuotesAndReturnCodePointCount(
final int[] destination, final int maxSize) {
- int i = mTypedWordCache.length() - 1;
- while (i >= 0 && mTypedWordCache.charAt(i) == Constants.CODE_SINGLE_QUOTE) {
- --i;
- }
+ final int i = mTypedWordCache.length() - 1 - trailingSingleQuotesCount();
if (i < 0) {
// The string is empty or contains only single quotes.
return 0;
@@ -198,28 +186,8 @@ public final class WordComposer {
if (0 == mCodePointSize) {
mIsFirstCharCapitalized = false;
}
- if (Constants.CODE_DELETE == event.mKeyCode) {
- if (mTrailingSingleQuotesCount > 0) {
- --mTrailingSingleQuotesCount;
- } else {
- // Delete, but we didn't end in a quote: must recompute mTrailingSingleQuotesCount
- // We're only searching for single quotes, so no need to account for code points
- for (int i = mTypedWordCache.length() - 1; i > 0; --i) {
- if (Constants.CODE_SINGLE_QUOTE != mTypedWordCache.charAt(i)) {
- break;
- }
- ++mTrailingSingleQuotesCount;
- }
- }
- } else {
- if (Constants.CODE_SINGLE_QUOTE == primaryCode) {
- ++mTrailingSingleQuotesCount;
- } else {
- mTrailingSingleQuotesCount = 0;
- }
+ if (Constants.CODE_DELETE != event.mKeyCode) {
if (newIndex < MAX_WORD_LENGTH) {
- mPrimaryKeyCodes[newIndex] = primaryCode >= Constants.CODE_SPACE
- ? Character.toLowerCase(primaryCode) : primaryCode;
// In the batch input mode, the {@code mInputPointers} holds batch input points and
// shouldn't be overridden by the "typed key" coordinates
// (See {@link #setBatchInputWord}).
@@ -263,15 +231,8 @@ public final class WordComposer {
mCombinerChain.reset();
int actualMoveAmountWithinWord = 0;
int cursorPos = mCursorPositionWithinWord;
- final int[] codePoints;
- if (mCodePointSize >= MAX_WORD_LENGTH) {
- // If we have more than MAX_WORD_LENGTH characters, we don't have everything inside
- // mPrimaryKeyCodes. This should be rare enough that we can afford to just compute
- // the array on the fly when this happens.
- codePoints = StringUtils.toCodePointArray(mTypedWordCache);
- } else {
- codePoints = mPrimaryKeyCodes;
- }
+ // TODO: Don't make that copy. We can do this directly from mTypedWordCache.
+ final int[] codePoints = StringUtils.toCodePointArray(mTypedWordCache);
if (expectedMoveAmount >= 0) {
// Moving the cursor forward for the expected amount or until the end of the word has
// been reached, whichever comes first.
@@ -353,7 +314,12 @@ public final class WordComposer {
}
public int trailingSingleQuotesCount() {
- return mTrailingSingleQuotesCount;
+ final int lastIndex = mTypedWordCache.length() - 1;
+ int i = lastIndex;
+ while (i >= 0 && mTypedWordCache.charAt(i) == Constants.CODE_SINGLE_QUOTE) {
+ --i;
+ }
+ return lastIndex - i;
}
/**
@@ -443,9 +409,7 @@ public final class WordComposer {
// Note: currently, we come here whenever we commit a word. If it's a MANUAL_PICK
// or a DECIDED_WORD we may cancel the commit later; otherwise, we should deactivate
// the last composed word to ensure this does not happen.
- final int[] primaryKeyCodes = mPrimaryKeyCodes;
- mPrimaryKeyCodes = new int[MAX_WORD_LENGTH];
- final LastComposedWord lastComposedWord = new LastComposedWord(primaryKeyCodes, mEvents,
+ final LastComposedWord lastComposedWord = new LastComposedWord(mEvents,
mInputPointers, mTypedWordCache.toString(), committedWord, separatorString,
prevWord, mCapitalizedMode);
mInputPointers.reset();
@@ -460,7 +424,6 @@ public final class WordComposer {
mCombinerChain.reset();
mEvents.clear();
mCodePointSize = 0;
- mTrailingSingleQuotesCount = 0;
mIsFirstCharCapitalized = false;
mCapitalizedMode = CAPS_MODE_OFF;
refreshTypedWordCache();
@@ -480,7 +443,6 @@ public final class WordComposer {
public void resumeSuggestionOnLastComposedWord(final LastComposedWord lastComposedWord,
final String previousWord) {
- mPrimaryKeyCodes = lastComposedWord.mPrimaryKeyCodes;
mEvents.clear();
Collections.copy(mEvents, lastComposedWord.mEvents);
mInputPointers.set(lastComposedWord.mInputPointers);
diff --git a/java/src/com/android/inputmethod/latin/settings/Settings.java b/java/src/com/android/inputmethod/latin/settings/Settings.java
index 1ba92adb1..353b7463d 100644
--- a/java/src/com/android/inputmethod/latin/settings/Settings.java
+++ b/java/src/com/android/inputmethod/latin/settings/Settings.java
@@ -23,7 +23,6 @@ import android.content.res.Resources;
import android.preference.PreferenceManager;
import android.util.Log;
-import com.android.inputmethod.keyboard.KeyboardSwitcher;
import com.android.inputmethod.latin.AudioAndHapticFeedbackManager;
import com.android.inputmethod.latin.InputAttributes;
import com.android.inputmethod.latin.R;
@@ -270,42 +269,6 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
return prefs.getBoolean(PREF_SHOW_LANGUAGE_SWITCH_KEY, true);
}
- public static int readKeyboardThemeIndex(final SharedPreferences prefs, final Resources res) {
- final int defaultThemeIndex = readDefaultKeyboardThemeIndex(res);
- final String themeIndexString = prefs.getString(PREF_KEYBOARD_LAYOUT, null);
- if (themeIndexString == null) {
- return defaultThemeIndex;
- }
- try {
- return Integer.parseInt(themeIndexString);
- } catch (final NumberFormatException e) {
- // Format error, returns default keyboard theme index.
- Log.e(TAG, "Illegal keyboard theme in preference: " + themeIndexString + ", default to "
- + defaultThemeIndex, e);
- }
- return defaultThemeIndex;
- }
-
- private static int readDefaultKeyboardThemeIndex(final Resources res) {
- final String defaultThemeIndexString = res.getString(
- R.string.config_default_keyboard_theme_index);
- try {
- return Integer.parseInt(defaultThemeIndexString);
- } catch (final NumberFormatException e) {
- final int defaultThemeIndex = KeyboardSwitcher.DEFAULT_THEME_INDEX;
- Log.e(TAG, "Corrupted default keyoard theme in resource: " + defaultThemeIndexString
- + ", default to " + defaultThemeIndex, e);
- return defaultThemeIndex;
- }
- }
-
- public static int resetAndGetDefaultKeyboardThemeIndex(final SharedPreferences prefs,
- final Resources res) {
- final int defaultThemeIndex = readDefaultKeyboardThemeIndex(res);
- prefs.edit().putString(PREF_KEYBOARD_LAYOUT, Integer.toString(defaultThemeIndex)).apply();
- return defaultThemeIndex;
- }
-
public static String readPrefAdditionalSubtypes(final SharedPreferences prefs,
final Resources res) {
final String predefinedPrefSubtypes = AdditionalSubtypeUtils.createPrefSubtypes(