aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/values-af/strings.xml4
-rw-r--r--java/res/values-am/strings.xml7
-rw-r--r--java/res/values-ar/strings.xml7
-rw-r--r--java/res/values-bg/strings.xml5
-rw-r--r--java/res/values-ca/strings.xml2
-rw-r--r--java/res/values-cs/strings.xml5
-rw-r--r--java/res/values-da/strings.xml5
-rw-r--r--java/res/values-de/strings.xml5
-rw-r--r--java/res/values-el/strings.xml7
-rw-r--r--java/res/values-en-rGB/strings.xml2
-rw-r--r--java/res/values-en/whitelist.xml698
-rw-r--r--java/res/values-es-rUS/strings.xml5
-rw-r--r--java/res/values-es/strings.xml5
-rw-r--r--java/res/values-fa/strings.xml5
-rw-r--r--java/res/values-fi/strings.xml7
-rw-r--r--java/res/values-fr/strings.xml5
-rw-r--r--java/res/values-hr/strings.xml5
-rw-r--r--java/res/values-hu/strings.xml5
-rw-r--r--java/res/values-in/strings.xml5
-rw-r--r--java/res/values-it/strings.xml2
-rw-r--r--java/res/values-iw/strings.xml5
-rw-r--r--java/res/values-ja/strings.xml7
-rw-r--r--java/res/values-ko/strings.xml5
-rw-r--r--java/res/values-lt/strings.xml5
-rw-r--r--java/res/values-lv/strings.xml5
-rw-r--r--java/res/values-ms/strings.xml8
-rw-r--r--java/res/values-nb/strings.xml5
-rw-r--r--java/res/values-nl/strings.xml5
-rw-r--r--java/res/values-pl/strings.xml5
-rw-r--r--java/res/values-pt-rPT/strings.xml5
-rw-r--r--java/res/values-pt/strings.xml5
-rw-r--r--java/res/values-rm/strings.xml2
-rw-r--r--java/res/values-ro/strings.xml5
-rw-r--r--java/res/values-ru/strings.xml5
-rw-r--r--java/res/values-sk/strings.xml5
-rw-r--r--java/res/values-sl/strings.xml5
-rw-r--r--java/res/values-sr/strings.xml7
-rw-r--r--java/res/values-sv/strings.xml5
-rw-r--r--java/res/values-sw/strings.xml5
-rw-r--r--java/res/values-th/strings.xml5
-rw-r--r--java/res/values-tl/strings.xml5
-rw-r--r--java/res/values-tr/strings.xml5
-rw-r--r--java/res/values-uk/strings.xml5
-rw-r--r--java/res/values-vi/strings.xml5
-rw-r--r--java/res/values-zh-rCN/strings.xml5
-rw-r--r--java/res/values-zh-rTW/strings.xml7
-rw-r--r--java/res/values-zu/strings.xml5
-rw-r--r--java/res/values/attrs.xml6
-rw-r--r--java/res/values/config.xml2
-rw-r--r--java/res/values/strings.xml4
-rw-r--r--java/res/values/styles.xml19
-rw-r--r--java/res/values/themes-basic-highcontrast.xml4
-rw-r--r--java/res/values/themes-basic.xml2
-rw-r--r--java/res/values/themes-gingerbread.xml2
-rw-r--r--java/res/values/themes-ics.xml2
-rw-r--r--java/res/values/themes-stone-bold.xml4
-rw-r--r--java/res/values/themes-stone.xml2
-rw-r--r--java/res/xml/prefs.xml6
-rw-r--r--java/src/com/android/inputmethod/deprecated/recorrection/Recorrection.java287
-rw-r--r--java/src/com/android/inputmethod/deprecated/recorrection/RecorrectionSuggestionEntries.java63
-rw-r--r--java/src/com/android/inputmethod/keyboard/Keyboard.java3
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java7
-rw-r--r--java/src/com/android/inputmethod/keyboard/ProximityInfo.java68
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java72
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java60
-rw-r--r--java/src/com/android/inputmethod/latin/AutoCorrection.java9
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java133
-rw-r--r--java/src/com/android/inputmethod/latin/Settings.java7
-rw-r--r--java/src/com/android/inputmethod/latin/Suggest.java40
69 files changed, 1019 insertions, 715 deletions
diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml
index 73ef7f4da..7615cf789 100644
--- a/java/res/values-af/strings.xml
+++ b/java/res/values-af/strings.xml
@@ -44,7 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Stel voorstelle vir herkorrigerings"</string>
<string name="auto_cap" msgid="1719746674854628252">"Outohoofletters"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Voeg woordeboeke by"</string>
- <string name="main_dictionary" msgid="4798763781818361168">"Hoof woordeboek"</string>
+ <string name="main_dictionary" msgid="4798763781818361168">"Hoofwoordeboek"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Wys voorstelle vir korrigering"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Wys voorgestelde woorde terwyl jy tik"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Wys altyd"</string>
@@ -149,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Engels (VK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Engels (VS)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Bruikbaarheidstudie-modus"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml
index b39ee3dfc..7f1073a9e 100644
--- a/java/res/values-am/strings.xml
+++ b/java/res/values-am/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"ድጋሚ ለማስተካከል ጥቆማዎችን አዘጋጅ"</string>
<string name="auto_cap" msgid="1719746674854628252">"ራስ-ሰር አቢይ ማድረግ"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"መዝገበ ቃላቶች ጨምር"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"ዋና መዝገበ ቃላት"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"የማስተካከያ ጥቆማዎች አሳይ"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"እየተየብክ ተመራጭ ቃላትን አሳይ"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"ሁልጊዜ አሳይ"</string>
@@ -53,7 +52,7 @@
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"ሁልጊዜ ደብቅ"</string>
<string name="prefs_settings_key" msgid="4623341240804046498">"የቅንብሮች ቁልፍ አሳይ"</string>
<string name="auto_correction" msgid="4979925752001319458">"በራስ ማስተካከል"</string>
- <string name="auto_correction_summary" msgid="5625751551134658006">"የቦታቁልፍ እና ሥርዓተ ነጥብ በስህተት የተተየቡ ቃላትን በራስሰር ያስተካክላሉ።"</string>
+ <string name="auto_correction_summary" msgid="5625751551134658006">"የቦታ ቁልፍ እና ሥርዓተ ነጥብ በስህተት የተተየቡ ቃላትን በራስሰር ያስተካክላሉ።"</string>
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"ውጪ"</string>
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"መጠነኛ"</string>
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"ኃይለኛ"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"እንግሊዘኛ (የታላቋ ብሪታንያ)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"እንግሊዘኛ (ዩ.ኤስ)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"የተገልጋይነት ጥናት ሁነታ"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml
index 9f1209adc..015500804 100644
--- a/java/res/values-ar/strings.xml
+++ b/java/res/values-ar/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"تعيين اقتراحات لعمليات إعادة التصحيح"</string>
<string name="auto_cap" msgid="1719746674854628252">"أحرف كبيرة تلقائيًا"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"القواميس الإضافية"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"القاموس الرئيسي"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"عرض اقتراحات التصحيح"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"عرض الكلمات المقترحة أثناء الكتابة"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"عرض دومًا"</string>
@@ -68,7 +67,7 @@
<string name="label_done_key" msgid="2441578748772529288">"تم"</string>
<string name="label_send_key" msgid="2815056534433717444">"إرسال"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"أ ب ج"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"٣٢١؟"</string>
+ <string name="label_to_symbol_key" msgid="8516904117128967293">"؟123"</string>
<string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"٣٢١"</string>
<string name="label_pause_key" msgid="181098308428035340">"توقف مؤقت"</string>
<string name="label_wait_key" msgid="6402152600878093134">"انتظار"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"الإنجليزية (المملكة المتحدة)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"الإنجليزية (الولايات المتحدة)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"وضع سهولة الاستخدام"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml
index 47e81e776..d8bd9f1e0 100644
--- a/java/res/values-bg/strings.xml
+++ b/java/res/values-bg/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Задаване на предложения за повторни поправки"</string>
<string name="auto_cap" msgid="1719746674854628252">"Автоматично поставяне на главни букви"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Добавени речници"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Основен речник"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Показване на предложения за поправка"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Показване на предложения, докато пишете"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Винаги да се показва"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"английски (Великобритания)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"английски (САЩ)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Режим за изучаване на използваемостта"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml
index 518dcb32d..99c2cdb05 100644
--- a/java/res/values-ca/strings.xml
+++ b/java/res/values-ca/strings.xml
@@ -149,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Anglès (Regne Unit)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Anglès (EUA)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Mode d\'estudi d\'usabilitat"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml
index a5a3e74e8..7511839cb 100644
--- a/java/res/values-cs/strings.xml
+++ b/java/res/values-cs/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Nastavit návrhy pro opětovné opravy"</string>
<string name="auto_cap" msgid="1719746674854628252">"Velká písmena automaticky"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Doplňkové slovníky"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Hlavní slovník"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Zobrazit návrhy oprav"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Zobrazovat navržená slova během psaní"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vždy zobrazovat"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"angličtina (Spojené království)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"angličtina (USA)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Režim studie použitelnosti"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml
index 56ade85f1..1e691b855 100644
--- a/java/res/values-da/strings.xml
+++ b/java/res/values-da/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Angiv forslag til fornyet rettelse"</string>
<string name="auto_cap" msgid="1719746674854628252">"Skriv aut. med stort"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Tillægsordbøger"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Hovedordbog"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Vis rettelsesforslag"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Vis ordforslag under indtastning"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vis altid"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Engelsk (Storbritannien)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Engelsk (USA)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Tilstand for brugsstudie"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml
index fac7fac5c..6ee8b3334 100644
--- a/java/res/values-de/strings.xml
+++ b/java/res/values-de/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Vorschläge für Korrekturen festlegen"</string>
<string name="auto_cap" msgid="1719746674854628252">"Autom. Groß-/Kleinschr."</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Add-on-Wörterbücher"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Allgemeines Wörterbuch"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Änderungsvorschläge anzeigen"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Vorgeschlagene Wörter während des Tippens anzeigen"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Immer anzeigen"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Englisch (Großbritannien)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Englisch (USA)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modus der Studie zur Benutzerfreundlichkeit"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml
index 2b9ebf5cb..3b6f75f84 100644
--- a/java/res/values-el/strings.xml
+++ b/java/res/values-el/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Ορισμός προτάσεων για επαναλήψεις διορθώσεων"</string>
<string name="auto_cap" msgid="1719746674854628252">"Αυτόματη χρήση κεφαλαίων"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Πρόσθετα λεξικά"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Κύριο λεξικό"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Εμφάνιση προτάσεων διόρθωσης"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Προβολή προτεινόμενων λέξεων κατά την πληκτρολόγηση"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Να εμφανίζεται πάντα"</string>
@@ -68,7 +67,7 @@
<string name="label_done_key" msgid="2441578748772529288">"Τέλος"</string>
<string name="label_send_key" msgid="2815056534433717444">"Αποστολή"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ΑΒΓ"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">";123"</string>
+ <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
<string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_pause_key" msgid="181098308428035340">"Παύση"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Αναμ."</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Αγγλικά (Η.Β.)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Αγγλικά (Η.Π.Α)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Λειτουργία μελέτης χρηστικότητας"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml
index 6c95f7878..7838b00b5 100644
--- a/java/res/values-en-rGB/strings.xml
+++ b/java/res/values-en-rGB/strings.xml
@@ -149,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"English (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"English (US)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Usability study mode"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-en/whitelist.xml b/java/res/values-en/whitelist.xml
index 4078b4db4..f929cec23 100644
--- a/java/res/values-en/whitelist.xml
+++ b/java/res/values-en/whitelist.xml
@@ -30,9 +30,707 @@
<item>ill</item>
<item>I\'ll</item>
+ <!-- Following entries came from AutoText -->
+ <!-- TODO: Trim down these entries by removing ones getting auto-corrected by the typing
+ error correction algorithms. -->
+ <item>255</item>
+ <item>abouta</item>
+ <item>about a</item>
+
+ <item>255</item>
+ <item>aboutit</item>
+ <item>about it</item>
+
+ <item>255</item>
+ <item>aboutthe</item>
+ <item>about the</item>
+
+ <item>255</item>
+ <item>acheive</item>
+ <item>achieve</item>
+
+ <item>255</item>
+ <item>acheived</item>
+ <item>achieved</item>
+
+ <item>255</item>
+ <item>acheiving</item>
+ <item>achieving</item>
+
+ <item>255</item>
+ <item>acomodate</item>
+ <item>accommodate</item>
+
+ <item>255</item>
+ <item>accomodate</item>
+ <item>accommodate</item>
+
+ <item>255</item>
+ <item>acn</item>
+ <item>can</item>
+
+ <item>255</item>
+ <item>adn</item>
+ <item>and</item>
+
+ <item>255</item>
+ <item>agian</item>
+ <item>again</item>
+
+ <item>255</item>
+ <item>ahd</item>
+ <item>had</item>
+
+ <item>255</item>
+ <item>ahve</item>
+ <item>have</item>
+
+ <item>255</item>
+ <item>aint</item>
+ <item>ain\'t</item>
+
+ <item>255</item>
+ <item>alot</item>
+ <item>a lot</item>
+
+ <item>255</item>
+ <item>amde</item>
+ <item>made</item>
+
+ <item>255</item>
+ <item>amke</item>
+ <item>make</item>
+
+ <item>255</item>
+ <item>andone</item>
+ <item>and one</item>
+
+ <item>255</item>
+ <item>andteh</item>
+ <item>and the</item>
+
+ <item>255</item>
+ <item>anothe</item>
+ <item>another</item>
+
+ <item>255</item>
+ <item>arent</item>
+ <item>aren\'t</item>
+
+ <item>255</item>
+ <item>asthe</item>
+ <item>as the</item>
+
+ <item>255</item>
+ <item>atthe</item>
+ <item>at the</item>
+
+ <item>255</item>
+ <item>bakc</item>
+ <item>back</item>
+
+ <item>255</item>
+ <item>beacuse</item>
+ <item>because</item>
+
+ <item>255</item>
+ <item>becasue</item>
+ <item>because</item>
+
+ <item>255</item>
+ <item>becaus</item>
+ <item>because</item>
+
+ <item>255</item>
+ <item>becausea</item>
+ <item>because a</item>
+
+ <item>255</item>
+ <item>becauseof</item>
+ <item>because of</item>
+
+ <item>255</item>
+ <item>becausethe</item>
+ <item>because the</item>
+
+ <item>255</item>
+ <item>becauseyou</item>
+ <item>because you</item>
+
+ <item>255</item>
+ <item>becuase</item>
+ <item>because</item>
+
+ <item>255</item>
+ <item>becuse</item>
+ <item>because</item>
+
+ <item>255</item>
+ <item>beleive</item>
+ <item>believe</item>
+
+ <item>255</item>
+ <item>butthe</item>
+ <item>but the</item>
+
+ <item>255</item>
+ <item>cant</item>
+ <item>can\'t</item>
+
+ <item>255</item>
+ <item>certian</item>
+ <item>certain</item>
+
+ <item>255</item>
+ <item>changable</item>
+ <item>changeable</item>
+
+ <item>255</item>
+ <item>chekc</item>
+ <item>check</item>
+
+ <item>255</item>
+ <item>chnage</item>
+ <item>change</item>
+
+ <item>255</item>
+ <item>couldnt</item>
+ <item>couldn\'t</item>
+
+ <item>255</item>
+ <item>couldthe</item>
+ <item>could the</item>
+
+ <item>255</item>
+ <item>couldve</item>
+ <item>could\'ve</item>
+
+ <item>255</item>
+ <item>cna</item>
+ <item>can</item>
+
+ <item>255</item>
+ <item>committment</item>
+ <item>commitment</item>
+
+ <item>255</item>
+ <item>committments</item>
+ <item>commitments</item>
+
+ <item>255</item>
+ <item>companys</item>
+ <item>company\'s</item>
+
+ <item>255</item>
+ <item>cxan</item>
+ <item>can</item>
+
+ <item>255</item>
+ <item>didint</item>
+ <item>didn\'t</item>
+
+ <item>255</item>
+ <item>didnot</item>
+ <item>did not</item>
+
+ <item>255</item>
+ <item>didnt</item>
+ <item>didn\'t</item>
+
+ <item>255</item>
+ <item>doesnt</item>
+ <item>doesn\'t</item>
+
+ <item>255</item>
+ <item>dont</item>
+ <item>don\'t</item>
+
+ <item>255</item>
+ <item>eyt</item>
+ <item>yet</item>
+
+ <item>255</item>
+ <item>fidn</item>
+ <item>find</item>
+
+ <item>255</item>
+ <item>fora</item>
+ <item>for a</item>
+
+ <item>255</item>
+ <item>freind</item>
+ <item>friend</item>
+
+ <item>255</item>
+ <item>friday</item>
+ <item>Friday</item>
+
+ <item>255</item>
+ <item>hadbeen</item>
+ <item>had been</item>
+
+ <item>255</item>
+ <item>hadnt</item>
+ <item>hadn\'t</item>
+
+ <item>255</item>
+ <item>haev</item>
+ <item>have</item>
+
+ <item>255</item>
+ <item>hasbeen</item>
+ <item>has been</item>
+
+ <item>255</item>
+ <item>hasnt</item>
+ <item>hasn\'t</item>
+
+ <item>255</item>
+ <item>havent</item>
+ <item>haven\'t</item>
+
+ <item>255</item>
+ <item>hed</item>
+ <item>he\'d</item>
+
+ <item>255</item>
+ <item>hel</item>
+ <item>he\'ll</item>
+
+ <item>255</item>
+ <item>heres</item>
+ <item>here\'s</item>
+
+ <item>255</item>
+ <item>hes</item>
+ <item>he\'s</item>
+
+ <item>255</item>
+ <item>hlep</item>
+ <item>help</item>
+
+ <item>255</item>
+ <item>howd</item>
+ <item>how\'d</item>
+
+ <item>255</item>
+ <item>howll</item>
+ <item>how\'ll</item>
+
+ <item>255</item>
+ <item>hows</item>
+ <item>how\'s</item>
+
+ <item>255</item>
+ <item>howve</item>
+ <item>how\'ve</item>
+
+ <item>255</item>
+ <item>hte</item>
+ <item>the</item>
+
+ <item>255</item>
+ <item>htis</item>
+ <item>this</item>
+
+ <item>255</item>
+ <item>hvae</item>
+ <item>have</item>
+
+ <item>255</item>
+ <item>i</item>
+ <item>I</item>
+
+ <item>255</item>
+ <item>il</item>
+ <item>I\'ll</item>
+
+ <item>255</item>
+ <item>im</item>
+ <item>I\'m</item>
+
+ <item>255</item>
+ <item>i\'m</item>
+ <item>I\'m</item>
+
+ <item>255</item>
+ <item>i\'ll</item>
+ <item>I\'ll</item>
+
+ <item>255</item>
+ <item>i\'ve</item>
+ <item>I\'ve</item>
+
+ <item>255</item>
+ <item>inteh</item>
+ <item>in the</item>
+
+ <item>255</item>
+ <item>isnt</item>
+ <item>isn\'t</item>
+
+ <item>255</item>
+ <item>isthe</item>
+ <item>is the</item>
+
+ <item>255</item>
+ <item>itd</item>
+ <item>it\'d</item>
+
+ <item>255</item>
+ <item>itis</item>
+ <item>it is</item>
+
+ <item>255</item>
+ <item>itll</item>
+ <item>it\'ll</item>
+
+ <item>255</item>
+ <item>itsa</item>
+ <item>it\'s a</item>
+
+ <item>255</item>
+ <item>ive</item>
+ <item>I\'ve</item>
+
<item>255</item>
<item>lets</item>
<item>let\'s</item>
+ <item>255</item>
+ <item>maam</item>
+ <item>ma\'am</item>
+
+ <item>255</item>
+ <item>mkae</item>
+ <item>make</item>
+
+ <item>255</item>
+ <item>mkaes</item>
+ <item>makes</item>
+
+ <item>255</item>
+ <item>monday</item>
+ <item>Monday</item>
+
+ <item>255</item>
+ <item>mustnt</item>
+ <item>mustn\'t</item>
+
+ <item>255</item>
+ <item>neednt</item>
+ <item>needn\'t</item>
+
+ <item>255</item>
+ <item>oclock</item>
+ <item>o\'clock</item>
+
+ <item>255</item>
+ <item>ofits</item>
+ <item>of its</item>
+
+ <item>255</item>
+ <item>ofthe</item>
+ <item>of the</item>
+
+ <item>255</item>
+ <item>omre</item>
+ <item>more</item>
+
+ <item>255</item>
+ <item>oneof</item>
+ <item>one of</item>
+
+ <item>255</item>
+ <item>otehr</item>
+ <item>other</item>
+
+ <item>255</item>
+ <item>outof</item>
+ <item>out of</item>
+
+ <item>255</item>
+ <item>overthe</item>
+ <item>over the</item>
+
+ <item>255</item>
+ <item>owrk</item>
+ <item>work</item>
+
+ <item>255</item>
+ <item>percentof</item>
+ <item>percent of</item>
+
+ <item>255</item>
+ <item>recieve</item>
+ <item>receive</item>
+
+ <item>255</item>
+ <item>recieved</item>
+ <item>received</item>
+
+ <item>255</item>
+ <item>recieving</item>
+ <item>receiving</item>
+
+ <item>255</item>
+ <item>saidthat</item>
+ <item>said that</item>
+
+ <item>255</item>
+ <item>saidthe</item>
+ <item>said the</item>
+
+ <item>255</item>
+ <item>saturday</item>
+ <item>Saturday</item>
+
+ <item>255</item>
+ <item>seh</item>
+ <item>she</item>
+
+ <item>255</item>
+ <item>shant</item>
+ <item>shan\'t</item>
+
+ <item>255</item>
+ <item>she\'</item>
+ <item>she\'ll</item>
+
+ <item>255</item>
+ <item>shel</item>
+ <item>she\'ll</item>
+
+ <item>255</item>
+ <item>shes</item>
+ <item>she\'s</item>
+
+ <item>255</item>
+ <item>shouldent</item>
+ <item>shouldn\'t</item>
+
+ <item>255</item>
+ <item>shouldnt</item>
+ <item>shouldn\'t</item>
+
+ <item>255</item>
+ <item>shouldve</item>
+ <item>should\'ve</item>
+
+ <item>255</item>
+ <item>sunday</item>
+ <item>Sunday</item>
+
+ <item>255</item>
+ <item>tahn</item>
+ <item>than</item>
+
+ <item>255</item>
+ <item>taht</item>
+ <item>that</item>
+
+ <item>255</item>
+ <item>teh</item>
+ <item>the</item>
+
+ <item>255</item>
+ <item>thatd</item>
+ <item>that\'d</item>
+
+ <item>255</item>
+ <item>thatll</item>
+ <item>that\'ll</item>
+
+ <item>255</item>
+ <item>thats</item>
+ <item>that\'s</item>
+
+ <item>255</item>
+ <item>thatthe</item>
+ <item>that the</item>
+
+ <item>255</item>
+ <item>theres</item>
+ <item>there\'s</item>
+
+ <item>255</item>
+ <item>theyd</item>
+ <item>they\'d</item>
+
+ <item>255</item>
+ <item>theyll</item>
+ <item>they\'ll</item>
+
+ <item>255</item>
+ <item>theyre</item>
+ <item>they\'re</item>
+
+ <item>255</item>
+ <item>theyve</item>
+ <item>they\'ve</item>
+
+ <item>255</item>
+ <item>thier</item>
+ <item>their</item>
+
+ <item>255</item>
+ <item>thsi</item>
+ <item>this</item>
+
+ <item>255</item>
+ <item>thursday</item>
+ <item>Thursday</item>
+
+ <item>255</item>
+ <item>tothe</item>
+ <item>to the</item>
+
+ <item>255</item>
+ <item>tuesday</item>
+ <item>Tuesday</item>
+
+ <item>255</item>
+ <item>UnitedStates</item>
+ <item>United States</item>
+
+ <item>255</item>
+ <item>unitedstates</item>
+ <item>United States</item>
+
+ <item>255</item>
+ <item>visavis</item>
+ <item>vis-a-vis</item>
+
+ <item>255</item>
+ <item>wasnt</item>
+ <item>wasn\'t</item>
+
+ <item>255</item>
+ <item>wednesday</item>
+ <item>Wednesday</item>
+
+ <item>255</item>
+ <item>wierd</item>
+ <item>weird</item>
+
+ <item>255</item>
+ <item>wel</item>
+ <item>we\'ll</item>
+
+ <item>255</item>
+ <item>wer</item>
+ <item>we\'re</item>
+
+ <item>255</item>
+ <item>werent</item>
+ <item>weren\'t</item>
+
+ <item>255</item>
+ <item>weve</item>
+ <item>we\'ve</item>
+
+ <item>255</item>
+ <item>whatd</item>
+ <item>what\'d</item>
+
+ <item>255</item>
+ <item>whatll</item>
+ <item>what\'ll</item>
+
+ <item>255</item>
+ <item>whatm</item>
+ <item>what\'m</item>
+
+ <item>255</item>
+ <item>whatre</item>
+ <item>what\'re</item>
+
+ <item>255</item>
+ <item>whats</item>
+ <item>what\'s</item>
+
+ <item>255</item>
+ <item>whens</item>
+ <item>when\'s</item>
+
+ <item>255</item>
+ <item>whered</item>
+ <item>where\'d</item>
+
+ <item>255</item>
+ <item>wherell</item>
+ <item>where\'ll</item>
+
+ <item>255</item>
+ <item>wheres</item>
+ <item>where\'s</item>
+
+ <item>255</item>
+ <item>whod</item>
+ <item>who\'d</item>
+
+ <item>255</item>
+ <item>wholl</item>
+ <item>who\'ll</item>
+
+ <item>255</item>
+ <item>whos</item>
+ <item>who\'s</item>
+
+ <item>255</item>
+ <item>whove</item>
+ <item>who\'ve</item>
+
+ <item>255</item>
+ <item>whyd</item>
+ <item>why\'d</item>
+
+ <item>255</item>
+ <item>whyll</item>
+ <item>why\'ll</item>
+
+ <item>255</item>
+ <item>whys</item>
+ <item>why\'s</item>
+
+ <item>255</item>
+ <item>whyve</item>
+ <item>why\'ve</item>
+
+ <item>255</item>
+ <item>witha</item>
+ <item>with a</item>
+
+ <item>255</item>
+ <item>wont</item>
+ <item>won\'t</item>
+
+ <item>255</item>
+ <item>wouldnt</item>
+ <item>wouldn\'t</item>
+
+ <item>255</item>
+ <item>wouldve</item>
+ <item>would\'ve</item>
+
+ <item>255</item>
+ <item>yall</item>
+ <item>y\'all</item>
+
+ <item>255</item>
+ <item>youd</item>
+ <item>you\'d</item>
+
+ <item>255</item>
+ <item>youll</item>
+ <item>you\'ll</item>
+
+ <item>255</item>
+ <item>youre</item>
+ <item>you\'re</item>
+
+ <item>255</item>
+ <item>youve</item>
+ <item>you\'ve</item>
</string-array>
</resources>
diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml
index 86163acc5..1bcc05f65 100644
--- a/java/res/values-es-rUS/strings.xml
+++ b/java/res/values-es-rUS/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Establecer sugerencias para realizar correcciones"</string>
<string name="auto_cap" msgid="1719746674854628252">"Mayúsculas automáticas"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Diccionarios complementarios"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Diccionario principal"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Mostrar sugerencias de correcciones"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Mostrar palabras sugeridas al escribir"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostrar siempre"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Inglés (Reino Unido)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Inglés (EE.UU.)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modo de estudio de usabilidad"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml
index 701c1e00a..3d33f021f 100644
--- a/java/res/values-es/strings.xml
+++ b/java/res/values-es/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Establecer sugerencias para nuevas correcciones"</string>
<string name="auto_cap" msgid="1719746674854628252">"Mayúsculas automáticas"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Diccionarios complementarios"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Diccionario principal"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Mostrar sugerencias de correcciones"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Muestra las palabras sugeridas mientras se escribe."</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostrar siempre"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"inglés (Reino Unido)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"inglés (EE.UU.)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modo de estudio de usabilidad"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml
index 1d00851eb..a777c9c42 100644
--- a/java/res/values-fa/strings.xml
+++ b/java/res/values-fa/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"تنظیم پیشنهادات برای تصحیح مجدد"</string>
<string name="auto_cap" msgid="1719746674854628252">"نوشتن با حروف بزرگ خودکار"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"فرهنگ‌های لغت افزودنی"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"فرهنگ‌ لغت اصلی"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"نمایش پیشنهادات تصحیح"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"نمایش واژه های پیشنهادی در حین تایپ"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"همیشه نمایش داده شود"</string>
@@ -154,4 +153,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"انگیسی (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"انگیسی (US)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"حالت بررسی قابلیت استفاده"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml
index 4f943cf82..12326e1c7 100644
--- a/java/res/values-fi/strings.xml
+++ b/java/res/values-fi/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Aseta korjausehdotuksia"</string>
<string name="auto_cap" msgid="1719746674854628252">"Automaattiset isot kirjaimet"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Lisäsanakirjat"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Pääsanakirja"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Näytä korjausehdotukset"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Näytä sanaehdotukset kirjoitettaessa"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Näytä aina"</string>
@@ -64,7 +63,7 @@
<string name="bigram_prediction_summary" msgid="1747261921174300098">"Käytä edellistä sanaa myös ennakointiin"</string>
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Tallennettu"</string>
<string name="label_go_key" msgid="1635148082137219148">"Siirry"</string>
- <string name="label_next_key" msgid="362972844525672568">"Seuraava"</string>
+ <string name="label_next_key" msgid="362972844525672568">"Seur."</string>
<string name="label_done_key" msgid="2441578748772529288">"Valmis"</string>
<string name="label_send_key" msgid="2815056534433717444">"Lähetä"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"englanti (Iso-Britannia)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"englanti (Yhdysvallat)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Käytettävyystutkimustila"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml
index 33c3771f4..5ab793ba3 100644
--- a/java/res/values-fr/strings.xml
+++ b/java/res/values-fr/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Définir des suggestions de recorrection"</string>
<string name="auto_cap" msgid="1719746674854628252">"Majuscules auto"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Dictionnaires complémentaires"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Dictionnaire principal"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Afficher les suggestions de correction"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Afficher les suggestions de terme lors de la saisie"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Toujours afficher"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Anglais (Royaume-Uni)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Anglais (États-Unis)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Mode d\'étude de l\'utilisabilité"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml
index 3e5470fc9..104c8d4c3 100644
--- a/java/res/values-hr/strings.xml
+++ b/java/res/values-hr/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Postavite prijedloge za ponovne ispravke"</string>
<string name="auto_cap" msgid="1719746674854628252">"Automatsko pisanje velikih slova"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Rječnici-dodaci"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Glavni rječnik"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Pokaži prijedloge ispravka"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Prikazivanje predloženih riječi prilikom upisivanja"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Uvijek prikaži"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Engleski (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Engleski (SAD)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Način studije upotrebljivosti"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml
index 47801a58b..be2fa755c 100644
--- a/java/res/values-hu/strings.xml
+++ b/java/res/values-hu/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Javaslatok beállítása az újbóli javításokhoz"</string>
<string name="auto_cap" msgid="1719746674854628252">"Automatikusan nagy kezdőbetű"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Bővítmények: szótárak"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Fő szótár"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Javítási ajánlások megjelenítése"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"A javasolt szavak megjelenítése gépelés közben"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mindig látszik"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"angol (brit)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"angol (amerikai)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Használhatósági teszt"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml
index 7150de3a0..1744a2877 100644
--- a/java/res/values-in/strings.xml
+++ b/java/res/values-in/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Setel saran untuk koreksi ulang"</string>
<string name="auto_cap" msgid="1719746674854628252">"Kapitalisasi otomatis"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Kamus pengaya"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Kamus utama"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Tampilkan saran koreksi"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Tampilkan kata yang disarankan ketika mengetik"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Selalu tampilkan"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Inggris (Inggris)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Inggris (AS)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modus studi daya guna"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml
index c159cdbb4..03c6a46d5 100644
--- a/java/res/values-it/strings.xml
+++ b/java/res/values-it/strings.xml
@@ -149,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Inglese (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Inglese (USA)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modalità Studio sull\'usabilità"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml
index 26aee30e3..fe25f1c20 100644
--- a/java/res/values-iw/strings.xml
+++ b/java/res/values-iw/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"הגדר הצעות עבור תיקונים חוזרים"</string>
<string name="auto_cap" msgid="1719746674854628252">"הפיכת אותיות לרישיות באופן אוטומטי"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"הוספת מילונים"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"מילון ראשי"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"הצג הצעות לתיקונים"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"הצג הצעות למילים בעת הקלדה"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"הצג תמיד"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"אנגלית (בריטניה)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"אנגלית (ארה\"ב)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"מצב מחקר שימושיות"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml
index f45817f25..0b3855fc6 100644
--- a/java/res/values-ja/strings.xml
+++ b/java/res/values-ja/strings.xml
@@ -23,7 +23,7 @@
<string name="english_ime_name" msgid="7252517407088836577">"Androidキーボード"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Androidキーボードの設定"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"入力オプション"</string>
- <string name="spell_checker_service_name" msgid="2003013122022285508">"Android校正"</string>
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Androidスペルチェッカー"</string>
<string name="android_spell_checker_settings" msgid="5822324635435443689">"スペルチェックの設定"</string>
<string name="use_proximity_option_title" msgid="7469233942295924620">"近接データを使用"</string>
<string name="use_proximity_option_summary" msgid="2857708859847261945">"スペルチェックでキーボードと同じような近接アルゴリズムを使用する"</string>
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"再修正の候補を挿入する"</string>
<string name="auto_cap" msgid="1719746674854628252">"自動大文字変換"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"辞書を追加"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"メイン辞書"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"修正候補を表示する"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"入力中に入力候補を表示する"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"常に表示"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"英語(英国)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"英語(米国)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"使いやすさの研究モード"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml
index 2b650a6bc..33e67bd71 100644
--- a/java/res/values-ko/strings.xml
+++ b/java/res/values-ko/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"다시 수정하기 위한 추천사항 설정"</string>
<string name="auto_cap" msgid="1719746674854628252">"자동 대문자화"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"사전 추가"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"기본 사전"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"수정 제안 표시"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"글자를 입력하는 동안 추천 단어 표시"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"항상 표시"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"영어(영국)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"영어(미국)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"가용성 연구 모드"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml
index 622b059af..37ccb38b8 100644
--- a/java/res/values-lt/strings.xml
+++ b/java/res/values-lt/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Nustatyti pakartotinio pataisymo pasiūlymų"</string>
<string name="auto_cap" msgid="1719746674854628252">"Automatinis didžiųjų raidžių rašymas"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Papildomi žodynai"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Pagrindinis žodynas"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Rodyti taisymo pasiūlymus"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Įvedant tekstą pateikti siūlomų žodžių"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Visada rodyti"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Anglų k. (JK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Anglų k. (JAV)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Tinkamumo tyrimo režimas"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml
index 090ae1e1b..f79b00a32 100644
--- a/java/res/values-lv/strings.xml
+++ b/java/res/values-lv/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Iestatīt atkārtotu labojumu ieteikumus"</string>
<string name="auto_cap" msgid="1719746674854628252">"Automātiska lielo burtu lietošana"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Papildinājumu vārdnīcas"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Galvenā vārdnīca"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Rādīt labojumu ieteikumus"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Ievades laikā attēlot ieteiktos vārdus"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vienmēr rādīt"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Angļu valoda (Lielbritānija)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Angļu valoda (ASV)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Lietojamības izpētes režīms"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-ms/strings.xml b/java/res/values-ms/strings.xml
index 01c6533d4..b385dcd5a 100644
--- a/java/res/values-ms/strings.xml
+++ b/java/res/values-ms/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Tetapkan cadangan untuk pembetulan semula"</string>
<string name="auto_cap" msgid="1719746674854628252">"Huruf besar auto"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Kamus tambahan"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Kamus utama"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Tunjukkan cadangan pembetulan"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Paparkan cadangan perkataan semasa menaip"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Sentiasa tunjukkan"</string>
@@ -68,8 +67,7 @@
<string name="label_done_key" msgid="2441578748772529288">"Selesai"</string>
<string name="label_send_key" msgid="2815056534433717444">"Hantar"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <!-- no translation found for label_to_symbol_key (8516904117128967293) -->
- <skip />
+ <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
<string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_pause_key" msgid="181098308428035340">"Jeda"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Tnggu"</string>
@@ -151,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Bahasa Inggeris (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Bahasa Inggeris (AS)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Mod kajian kebolehgunaan"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml
index 597b60f5e..b377393db 100644
--- a/java/res/values-nb/strings.xml
+++ b/java/res/values-nb/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Angi forslag for korrigeringer"</string>
<string name="auto_cap" msgid="1719746674854628252">"Stor forbokstav"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Tilleggsordbøker"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Hovedordliste"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Vis rettingsforslag"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Vis ordforslag under skriving"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vis alltid"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Engelsk (Storbritannia)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Engelsk (USA)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Nyttighetsmodus"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml
index 9ffc6e73f..cd7425767 100644
--- a/java/res/values-nl/strings.xml
+++ b/java/res/values-nl/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Suggesties instellen voor verbeteringen"</string>
<string name="auto_cap" msgid="1719746674854628252">"Auto-hoofdlettergebruik"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Woordenboeken toevoegen"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Algemeen woordenboek"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Correctievoorstellen weergeven"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Voorgestelde woorden weergeven tijdens typen"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Altijd weergeven"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Engels (GB)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Engels (VS)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modus voor gebruiksvriendelijkheidsonderzoek"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml
index 31c9d4e22..38ace59d9 100644
--- a/java/res/values-pl/strings.xml
+++ b/java/res/values-pl/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Ustaw sugestie poprawek"</string>
<string name="auto_cap" msgid="1719746674854628252">"Wstawiaj wielkie litery"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Dodatkowe słowniki"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Słownik główny"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Pokazuj propozycje poprawek"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Wyświetl proponowane słowa podczas wpisywania"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Zawsze pokazuj"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Angielska (Wielka Brytania)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Angielska (Stany Zjednoczone)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Tryb badania przydatności"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml
index 41e10b52b..0735411b4 100644
--- a/java/res/values-pt-rPT/strings.xml
+++ b/java/res/values-pt-rPT/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Definir sugestões para correções"</string>
<string name="auto_cap" msgid="1719746674854628252">"Letras maiúsculas automáticas"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Dicionários extras"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Dicionário principal"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Mostrar sugestões de correcção"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Apresentar sugestões de palavras ao escrever"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostrar sempre"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Inglês (RU)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Inglês (EUA)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modo de estudo da capacidade de utilização"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml
index 73eb932ed..4c873763c 100644
--- a/java/res/values-pt/strings.xml
+++ b/java/res/values-pt/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Definir sugestões para recorreções"</string>
<string name="auto_cap" msgid="1719746674854628252">"Capitaliz. automática"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Dicionários complementares"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Dicionário principal"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Exibir sugestões de correção"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Exibir sugestões de palavras durante a digitação"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostrar sempre"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Inglês (Reino Unido)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Inglês (EUA)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modo de estudo de utilização"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-rm/strings.xml b/java/res/values-rm/strings.xml
index 0c80f52c8..2d191e192 100644
--- a/java/res/values-rm/strings.xml
+++ b/java/res/values-rm/strings.xml
@@ -236,4 +236,6 @@
<skip />
<!-- no translation found for prefs_usability_study_mode (1261130555134595254) -->
<skip />
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml
index 97a254b8b..be224d84b 100644
--- a/java/res/values-ro/strings.xml
+++ b/java/res/values-ro/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Setaţi sugestii pentru rectificări"</string>
<string name="auto_cap" msgid="1719746674854628252">"Auto-capitalizare"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Dicţionare suplimentare"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Dicţionar principal"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Afişaţi sugestii de corectare"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Afişaţi sugestii de cuvinte în timpul introducerii textului"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Afişaţi întotdeauna"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Engleză (Marea Britanie)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Engleză (S.U.A.)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modul Studiu privind utilizarea"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml
index cfc502272..1aef77411 100644
--- a/java/res/values-ru/strings.xml
+++ b/java/res/values-ru/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Показывать варианты исправления"</string>
<string name="auto_cap" msgid="1719746674854628252">"Заглавные автоматически"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Дополнительные словари"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Основной словарь"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Показать варианты исправлений"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Предлагать варианты слов во время ввода"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Всегда показывать"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Английский (Великобритания)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Английский (США)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Режим проверки удобства использования"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml
index ac10b85f0..b207e7829 100644
--- a/java/res/values-sk/strings.xml
+++ b/java/res/values-sk/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Nastaviť návrhy pre opätovné opravy"</string>
<string name="auto_cap" msgid="1719746674854628252">"Veľké písmená automaticky"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Doplnkové slovníky"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Hlavný slovník"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Zobraziť návrhy opráv"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Zobrazovať navrhované slová počas písania"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vždy zobrazovať"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Anglická klávesnica (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Anglická klávesnica (US)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Režim štúdie použiteľnosti"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml
index a742e1d22..b8aac5239 100644
--- a/java/res/values-sl/strings.xml
+++ b/java/res/values-sl/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Nastavitev predlogov za vnovične popravke"</string>
<string name="auto_cap" msgid="1719746674854628252">"Samodejne velike začetnice"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Nastavitev slovarjev"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Glavni slovar"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Pokaži predloge popravkov"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Pokaži predlagane besede med tipkanjem"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vedno pokaži"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"angleščina (Združeno kraljestvo)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"angleščina (ZDA)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Način za preučevanje uporabnosti"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml
index 32792c223..e264ca1a9 100644
--- a/java/res/values-sr/strings.xml
+++ b/java/res/values-sr/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Подешавање предлога за поновне исправке"</string>
<string name="auto_cap" msgid="1719746674854628252">"Аутоматски унос великих слова"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Помоћни речници"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Главни речник"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Прикажи предлоге за исправку"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Приказивање предложених речи током уноса текста"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Увек прикажи"</string>
@@ -70,7 +69,7 @@
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
<string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
- <string name="label_pause_key" msgid="181098308428035340"></string>
+ <string name="label_pause_key" msgid="181098308428035340">"Пауза"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Чекај"</string>
<string name="spoken_current_text_is" msgid="2485723011272583845">"Тренутни текст је %s"</string>
<string name="spoken_no_text_entered" msgid="7479685225597344496">"Текст није унет"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"енглески (УК)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"енглески (САД)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Режим за студију могућности коришћења"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml
index 4e2cdd472..3166e9534 100644
--- a/java/res/values-sv/strings.xml
+++ b/java/res/values-sv/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Ställ in förslag för omkorrigeringar"</string>
<string name="auto_cap" msgid="1719746674854628252">"Automatiska versaler"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Tilläggsordlistor"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Huvudordlistan"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Visa rättningsförslag"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Visar ordförslag när du skriver"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Visa alltid"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Engelskt (brittiskt)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Engelskt (amerikanskt)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Läge för studie av användbarhet"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml
index cf4111ea4..0dda91f7a 100644
--- a/java/res/values-sw/strings.xml
+++ b/java/res/values-sw/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Weka mapendekezo kwa ajili ya kusahihisha upya"</string>
<string name="auto_cap" msgid="1719746674854628252">"Uwekaji wa herufi kubwa kiotomatiki"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Nyongeza za kamusi"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Kamusi kuu"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Onyesha mapendekezo ya marekebisho"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Onyesha maneno yaliyopendekezwa wakati unachapa"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Onyesha kila wakati"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Kiingereza cha (Uingereza)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Kiingereza cha (Marekani)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modi ya uchunguzi wa utumizi"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml
index 819c417b5..76f53dfdd 100644
--- a/java/res/values-th/strings.xml
+++ b/java/res/values-th/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"ตั้งค่าคำแนะนำสำหรับการแก้ไขซ้ำ"</string>
<string name="auto_cap" msgid="1719746674854628252">"ปรับเป็นตัวพิมพ์ใหญ่อัตโนมัติ"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"พจนานุกรม Add-On"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"พจนานุกรมหลัก"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"แสดงคำแนะนำการแก้ไข"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"แสดงคำที่แนะนำขณะพิมพ์"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"แสดงทุกครั้ง"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"อังกฤษ (สหราชอาณาจักร)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"อังกฤษ (อเมริกัน)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"โหมดศึกษาประโยชน์ในการใช้งาน"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml
index f5f0dfbab..e45e2d1b8 100644
--- a/java/res/values-tl/strings.xml
+++ b/java/res/values-tl/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Magtakda ng mga suhestyon para sa mga muling pagtatama"</string>
<string name="auto_cap" msgid="1719746674854628252">"Auto-capitalization"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Mga diksyunaryo na add-on"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Pangunahing diksyunaryo"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Magpakita ng mga suhestiyon ng pagwawasto"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Ipakita ang mga iminumungkahing salita habang nagta-type"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Palaging ipakita"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Ingles (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Ingles (Estados Unidos)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Study mode ng pagiging kapaki-pakinabang"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml
index 23e79ca6a..c64b08a48 100644
--- a/java/res/values-tr/strings.xml
+++ b/java/res/values-tr/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Yeniden düzeltmeler için önerileri ayarla"</string>
<string name="auto_cap" msgid="1719746674854628252">"Otomatik olarak büyük harf yap"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Ekli sözlükler"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Ana sözlük"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Düzeltme önerilerini göster"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Yazarken, önerilen kelimeleri görüntüle"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Her zaman göster"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"İngilizce (BK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"İngilizce (ABD)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Kullanılabilirlik çalışması modu"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml
index 2112420ec..c5f3923e5 100644
--- a/java/res/values-uk/strings.xml
+++ b/java/res/values-uk/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Установити пропозиції для повторних виправлень"</string>
<string name="auto_cap" msgid="1719746674854628252">"Авто викор. вел. літер"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Додані словники"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Основний словник"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Показувати пропозиції виправлень"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Відображати пропоновані слова під час вводу"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Завжди показувати"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Англійська (Великобританія)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Англійська (США)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Режим вивчення зручності у використанні"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml
index 0aaed0c27..824ee7ee6 100644
--- a/java/res/values-vi/strings.xml
+++ b/java/res/values-vi/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Đặt đề xuất cho các sửa đổi lại"</string>
<string name="auto_cap" msgid="1719746674854628252">"Tự động viết hoa"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Thêm từ điển"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Từ điển chính"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Hiển thị gợi ý sửa"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Hiển thị từ được đề xuất khi nhập"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Luôn hiển thị"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"Tiếng Anh (Anh)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Tiếng Anh (Mỹ)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Chế độ nghiên cứu tính khả dụng"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml
index d1ef9cd7f..45eb9ee32 100644
--- a/java/res/values-zh-rCN/strings.xml
+++ b/java/res/values-zh-rCN/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"设置更正建议"</string>
<string name="auto_cap" msgid="1719746674854628252">"自动大写"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"附加词典"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"主词典"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"显示更正建议"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"键入时显示建议的字词"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"始终显示"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"英语(英国)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"英语(美国)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"可用性研究模式"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml
index 387ad1c65..36f62af57 100644
--- a/java/res/values-zh-rTW/strings.xml
+++ b/java/res/values-zh-rTW/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"設定建議供重新更正"</string>
<string name="auto_cap" msgid="1719746674854628252">"自動大寫"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"外掛字典"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"主要字典"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"顯示修正建議"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"輸入時顯示建議字詞"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"一律顯示"</string>
@@ -68,7 +67,7 @@
<string name="label_done_key" msgid="2441578748772529288">"完成"</string>
<string name="label_send_key" msgid="2815056534433717444">"傳送"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
- <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
+ <string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
<string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_pause_key" msgid="181098308428035340">"暫停"</string>
<string name="label_wait_key" msgid="6402152600878093134">"等候"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"英文 (英式)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"英文 (美式)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"使用性研究模式"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml
index 074dcbb92..a423782a4 100644
--- a/java/res/values-zu/strings.xml
+++ b/java/res/values-zu/strings.xml
@@ -44,8 +44,7 @@
<string name="enable_span_insert_summary" msgid="2947317657871394467">"Setha iziphakamiso zokulungisa kabusha"</string>
<string name="auto_cap" msgid="1719746674854628252">"Ukwenza ofeleba okuzenzakalelayo"</string>
<string name="configure_dictionaries_title" msgid="4238652338556902049">"Faka izichazamazwi"</string>
- <!-- no translation found for main_dictionary (4798763781818361168) -->
- <skip />
+ <string name="main_dictionary" msgid="4798763781818361168">"Isichazamazwi sakho ngqangi"</string>
<string name="prefs_show_suggestions" msgid="8026799663445531637">"Bonisa ukusikesela kokulungisa"</string>
<string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Bonisa amagama aphakamisiwe ngenkathi uthayipha"</string>
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Bonisa njalo"</string>
@@ -150,4 +149,6 @@
<string name="subtype_en_GB" msgid="88170601942311355">"i-English(UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"i-English (US)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Imodi yesitadi yokusebenziseka"</string>
+ <!-- no translation found for prefs_vibration_duration_settings (3194657361314787870) -->
+ <skip />
</resources>
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 34ce527f1..4dfa5ab97 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -16,7 +16,6 @@
<resources>
<declare-styleable name="KeyboardTheme">
- <attr name="themeId" format="integer" />
<!-- Keyboard style -->
<attr name="keyboardStyle" format="reference" />
<!-- LatinKeyboard style -->
@@ -34,8 +33,6 @@
<attr name="moreSuggestionsViewStyle" format="reference" />
<attr name="suggestionBackgroundStyle" format="reference" />
<attr name="suggestionPreviewBackgroundStyle" format="reference" />
- <!-- Touch position correction -->
- <attr name="touchPositionCorrectionData" format="reference" />
</declare-styleable>
<declare-styleable name="KeyboardView">
@@ -140,6 +137,9 @@
</declare-styleable>
<declare-styleable name="Keyboard">
+ <attr name="themeId" format="integer" />
+ <!-- Touch position correction -->
+ <attr name="touchPositionCorrectionData" format="reference" />
<!-- Default keyboard height -->
<attr name="keyboardHeight" format="dimension|fraction" />
<!-- Maximum keyboard height, in pixels or percentage of display height -->
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index bcce58123..a3e8d4ac5 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -24,7 +24,6 @@
<bool name="config_default_show_settings_key">false</bool>
<bool name="config_enable_show_voice_key_option">true</bool>
<bool name="config_enable_show_popup_on_keypress_option">true</bool>
- <bool name="config_enable_show_recorrection_option">false</bool>
<bool name="config_enable_bigram_suggestions_option">true</bool>
<bool name="config_enable_usability_study_mode_option">false</bool>
<bool name="config_sliding_key_input_enabled">true</bool>
@@ -37,7 +36,6 @@
<!-- Default value for bigram prediction: after entering a word and a space only, should we look
at input history to suggest a hopefully helpful suggestions for the next word? -->
<bool name="config_default_bigram_prediction">false</bool>
- <bool name="config_default_compat_recorrection_enabled">true</bool>
<bool name="config_default_sound_enabled">false</bool>
<bool name="config_default_vibration_enabled">true</bool>
<bool name="config_auto_correction_spacebar_led_enabled">true</bool>
diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index 9b3829f74..a1f34887b 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -326,10 +326,6 @@
<string name="prefs_enable_log">Enable user feedback</string>
<!-- Description for enabling to send user statistics to Google -->
<string name="prefs_description_log">Help improve this input method editor by automatically sending usage statistics and crash reports to Google.</string>
- <!-- Preferences item for enabling to correct suggestions by touching words you have typed [CHAR LIMIT= 35] -->
- <string name="prefs_enable_recorrection">Touch to correct words</string>
- <!-- The summary for the preferences item for enabling to correct suggestions by touching words you have typed [CHAR LIMIT= 100] -->
- <string name="prefs_enable_recorrection_summary">Touch entered words to correct them, only when suggestions are visible</string>
<!-- Title of the item to change the keyboard theme [CHAR LIMIT=20]-->
<string name="keyboard_layout">Keyboard theme</string>
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index c6ea2a5f8..30c0e5a38 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -17,6 +17,8 @@
<resources>
<!-- Theme "Basic" -->
<style name="Keyboard">
+ <item name="themeId">0</item>
+ <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
<item name="rowHeight">25%p</item>
<item name="keyboardHeight">@dimen/keyboardHeight</item>
<item name="maxKeyboardHeight">@fraction/maxKeyboardHeight</item>
@@ -119,6 +121,12 @@
</style>
<!-- Theme "Basic high contrast" -->
<style
+ name="Keyboard.HighContrast"
+ parent="Keyboard"
+ >
+ <item name="themeId">1</item>
+ </style>
+ <style
name="KeyboardView.HighContrast"
parent="KeyboardView"
>
@@ -130,6 +138,7 @@
name="Keyboard.Stone"
parent="Keyboard"
>
+ <item name="themeId">6</item>
<item name="keyboardHeight">@dimen/keyboardHeight_stone</item>
<item name="keyboardTopPadding">@fraction/keyboard_top_padding_stone</item>
<item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_stone</item>
@@ -174,6 +183,12 @@
</style>
<!-- Theme "Stone bold" -->
<style
+ name="Keyboard.Stone.Bold"
+ parent="Keyboard.Stone"
+ >
+ <item name="themeId">7</item>
+ </style>
+ <style
name="KeyboardView.Stone.Bold"
parent="KeyboardView.Stone"
>
@@ -184,6 +199,8 @@
name="Keyboard.Gingerbread"
parent="Keyboard"
>
+ <item name="themeId">8</item>
+ <item name="touchPositionCorrectionData">@array/touch_position_correction_data_gingerbread</item>
<item name="horizontalGap">@fraction/key_horizontal_gap_gb</item>
<item name="verticalGap">@fraction/key_bottom_gap_gb</item>
</style>
@@ -214,10 +231,12 @@
name="Keyboard.IceCreamSandwich"
parent="Keyboard"
>
+ <item name="themeId">5</item>
<item name="keyboardTopPadding">@fraction/keyboard_top_padding_ics</item>
<item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_ics</item>
<item name="horizontalGap">@fraction/key_horizontal_gap_ics</item>
<item name="verticalGap">@fraction/key_bottom_gap_ics</item>
+ <item name="touchPositionCorrectionData">@array/touch_position_correction_data_ice_cream_sandwich</item>
</style>
<style
name="LatinKeyboard.IceCreamSandwich"
diff --git a/java/res/values/themes-basic-highcontrast.xml b/java/res/values/themes-basic-highcontrast.xml
index bc3c84706..abb7c8057 100644
--- a/java/res/values/themes-basic-highcontrast.xml
+++ b/java/res/values/themes-basic-highcontrast.xml
@@ -16,8 +16,7 @@
<resources>
<style name="KeyboardTheme.HighContrast" parent="KeyboardIcons">
- <item name="themeId">1</item>
- <item name="keyboardStyle">@style/Keyboard</item>
+ <item name="keyboardStyle">@style/Keyboard.HighContrast</item>
<item name="latinKeyboardStyle">@style/LatinKeyboard</item>
<item name="keyboardViewStyle">@style/KeyboardView.HighContrast</item>
<item name="miniKeyboardStyle">@style/MiniKeyboard</item>
@@ -28,6 +27,5 @@
<item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
</style>
</resources>
diff --git a/java/res/values/themes-basic.xml b/java/res/values/themes-basic.xml
index 29cb9cc7d..ff9fed55f 100644
--- a/java/res/values/themes-basic.xml
+++ b/java/res/values/themes-basic.xml
@@ -16,7 +16,6 @@
<resources>
<style name="KeyboardTheme" parent="KeyboardIcons">
- <item name="themeId">0</item>
<item name="keyboardStyle">@style/Keyboard</item>
<item name="latinKeyboardStyle">@style/LatinKeyboard</item>
<item name="keyboardViewStyle">@style/KeyboardView</item>
@@ -28,6 +27,5 @@
<item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
</style>
</resources>
diff --git a/java/res/values/themes-gingerbread.xml b/java/res/values/themes-gingerbread.xml
index c4a0f804a..be853eb0f 100644
--- a/java/res/values/themes-gingerbread.xml
+++ b/java/res/values/themes-gingerbread.xml
@@ -16,7 +16,6 @@
<resources>
<style name="KeyboardTheme.Gingerbread" parent="KeyboardIcons">
- <item name="themeId">8</item>
<item name="keyboardStyle">@style/Keyboard.Gingerbread</item>
<item name="latinKeyboardStyle">@style/LatinKeyboard</item>
<item name="keyboardViewStyle">@style/KeyboardView.Gingerbread</item>
@@ -28,6 +27,5 @@
<item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_gingerbread</item>
</style>
</resources>
diff --git a/java/res/values/themes-ics.xml b/java/res/values/themes-ics.xml
index dd2b6a334..618aaed79 100644
--- a/java/res/values/themes-ics.xml
+++ b/java/res/values/themes-ics.xml
@@ -16,7 +16,6 @@
<resources>
<style name="KeyboardTheme.IceCreamSandwich" parent="KeyboardIcons.IceCreamSandwich">
- <item name="themeId">5</item>
<item name="keyboardStyle">@style/Keyboard.IceCreamSandwich</item>
<item name="latinKeyboardStyle">@style/LatinKeyboard.IceCreamSandwich</item>
<item name="keyboardViewStyle">@style/KeyboardView.IceCreamSandwich</item>
@@ -28,6 +27,5 @@
<item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle.IceCreamSandwich</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle.IceCreamSandwich</item>
<item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle.IceCreamSandwich</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_ice_cream_sandwich</item>
</style>
</resources>
diff --git a/java/res/values/themes-stone-bold.xml b/java/res/values/themes-stone-bold.xml
index 6e864bed0..532a2985e 100644
--- a/java/res/values/themes-stone-bold.xml
+++ b/java/res/values/themes-stone-bold.xml
@@ -16,8 +16,7 @@
<resources>
<style name="KeyboardTheme.Stone.Bold" parent="KeyboardIcons.Black">
- <item name="themeId">7</item>
- <item name="keyboardStyle">@style/Keyboard.Stone</item>
+ <item name="keyboardStyle">@style/Keyboard.Stone.Bold</item>
<item name="latinKeyboardStyle">@style/LatinKeyboard.Stone</item>
<item name="keyboardViewStyle">@style/KeyboardView.Stone.Bold</item>
<item name="miniKeyboardStyle">@style/MiniKeyboard.Stone</item>
@@ -28,6 +27,5 @@
<item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
</style>
</resources>
diff --git a/java/res/values/themes-stone.xml b/java/res/values/themes-stone.xml
index 64c557035..cb3edc58f 100644
--- a/java/res/values/themes-stone.xml
+++ b/java/res/values/themes-stone.xml
@@ -16,7 +16,6 @@
<resources>
<style name="KeyboardTheme.Stone" parent="KeyboardIcons.Black">
- <item name="themeId">6</item>
<item name="keyboardStyle">@style/Keyboard.Stone</item>
<item name="latinKeyboardStyle">@style/LatinKeyboard.Stone</item>
<item name="keyboardViewStyle">@style/KeyboardView.Stone</item>
@@ -28,6 +27,5 @@
<item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
<item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
<item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
- <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
</style>
</resources>
diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml
index 312af2888..b54df2686 100644
--- a/java/res/xml/prefs.xml
+++ b/java/res/xml/prefs.xml
@@ -45,12 +45,6 @@
android:persistent="true"
android:defaultValue="@bool/config_default_popup_preview" />
<CheckBoxPreference
- android:key="recorrection_enabled"
- android:title="@string/prefs_enable_recorrection"
- android:summary="@string/prefs_enable_recorrection_summary"
- android:persistent="true"
- android:defaultValue="@bool/config_default_compat_recorrection_enabled" />
- <CheckBoxPreference
android:key="show_settings_key"
android:title="@string/prefs_settings_key"
android:persistent="true"
diff --git a/java/src/com/android/inputmethod/deprecated/recorrection/Recorrection.java b/java/src/com/android/inputmethod/deprecated/recorrection/Recorrection.java
deleted file mode 100644
index 94615a71f..000000000
--- a/java/src/com/android/inputmethod/deprecated/recorrection/Recorrection.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package com.android.inputmethod.deprecated.recorrection;
-
-import android.content.SharedPreferences;
-import android.content.res.Resources;
-import android.text.TextUtils;
-import android.view.inputmethod.ExtractedText;
-import android.view.inputmethod.ExtractedTextRequest;
-import android.view.inputmethod.InputConnection;
-
-import com.android.inputmethod.compat.InputConnectionCompatUtils;
-import com.android.inputmethod.compat.SuggestionSpanUtils;
-import com.android.inputmethod.deprecated.VoiceProxy;
-import com.android.inputmethod.keyboard.KeyboardSwitcher;
-import com.android.inputmethod.latin.AutoCorrection;
-import com.android.inputmethod.latin.EditingUtils;
-import com.android.inputmethod.latin.LatinIME;
-import com.android.inputmethod.latin.R;
-import com.android.inputmethod.latin.Settings;
-import com.android.inputmethod.latin.Suggest;
-import com.android.inputmethod.latin.SuggestedWords;
-import com.android.inputmethod.latin.SuggestionsView;
-import com.android.inputmethod.latin.TextEntryState;
-import com.android.inputmethod.latin.WordComposer;
-
-import java.util.ArrayList;
-
-/**
- * Manager of re-correction functionalities
- */
-public class Recorrection implements SharedPreferences.OnSharedPreferenceChangeListener {
- private static final Recorrection sInstance = new Recorrection();
-
- private LatinIME mService;
- private boolean mRecorrectionEnabled = false;
- private final ArrayList<RecorrectionSuggestionEntries> mRecorrectionSuggestionsList =
- new ArrayList<RecorrectionSuggestionEntries>();
-
- public static Recorrection getInstance() {
- return sInstance;
- }
-
- public static void init(LatinIME context, SharedPreferences prefs) {
- if (context == null || prefs == null) {
- return;
- }
- sInstance.initInternal(context, prefs);
- }
-
- private Recorrection() {
- }
-
- public boolean isRecorrectionEnabled() {
- return mRecorrectionEnabled;
- }
-
- private void initInternal(LatinIME context, SharedPreferences prefs) {
- if (SuggestionSpanUtils.SUGGESTION_SPAN_IS_SUPPORTED) {
- mRecorrectionEnabled = false;
- return;
- }
- updateRecorrectionEnabled(context.getResources(), prefs);
- mService = context;
- prefs.registerOnSharedPreferenceChangeListener(this);
- }
-
- public void checkRecorrectionOnStart() {
- if (SuggestionSpanUtils.SUGGESTION_SPAN_IS_SUPPORTED || !mRecorrectionEnabled) return;
-
- final InputConnection ic = mService.getCurrentInputConnection();
- if (ic == null) return;
- // There could be a pending composing span. Clean it up first.
- ic.finishComposingText();
-
- if (mService.isShowingSuggestionsStrip() && mService.isSuggestionsRequested()) {
- // First get the cursor position. This is required by setOldSuggestions(), so that
- // it can pass the correct range to setComposingRegion(). At this point, we don't
- // have valid values for mLastSelectionStart/End because onUpdateSelection() has
- // not been called yet.
- ExtractedTextRequest etr = new ExtractedTextRequest();
- etr.token = 0; // anything is fine here
- ExtractedText et = ic.getExtractedText(etr, 0);
- if (et == null) return;
- mService.setLastSelection(
- et.startOffset + et.selectionStart, et.startOffset + et.selectionEnd);
-
- // Then look for possible corrections in a delayed fashion
- if (!TextUtils.isEmpty(et.text) && mService.isCursorTouchingWord()) {
- mService.mHandler.postUpdateOldSuggestions();
- }
- }
- }
-
- public void updateRecorrectionSelection(KeyboardSwitcher keyboardSwitcher,
- SuggestionsView suggestionsView, int candidatesStart, int candidatesEnd,
- int newSelStart, int newSelEnd, int oldSelStart, int lastSelectionStart,
- int lastSelectionEnd, boolean hasUncommittedTypedChars) {
- if (SuggestionSpanUtils.SUGGESTION_SPAN_IS_SUPPORTED || !mRecorrectionEnabled) return;
- if (!mService.isShowingSuggestionsStrip()) return;
- if (!keyboardSwitcher.isInputViewShown()) return;
- if (!mService.isSuggestionsRequested()) return;
- // Don't look for corrections if the keyboard is not visible
- // Check if we should go in or out of correction mode.
- if ((candidatesStart == candidatesEnd || newSelStart != oldSelStart || TextEntryState
- .isRecorrecting())
- && (newSelStart < newSelEnd - 1 || !hasUncommittedTypedChars)) {
- if (mService.isCursorTouchingWord() || lastSelectionStart < lastSelectionEnd) {
- mService.mHandler.cancelUpdateBigramPredictions();
- mService.mHandler.postUpdateOldSuggestions();
- } else {
- abortRecorrection(false);
- // If showing the "touch again to save" hint, do not replace it. Else,
- // show the bigrams if we are at the end of the text, punctuation
- // otherwise.
- if (suggestionsView != null && !suggestionsView.isShowingAddToDictionaryHint()) {
- InputConnection ic = mService.getCurrentInputConnection();
- if (null == ic || !TextUtils.isEmpty(ic.getTextAfterCursor(1, 0))) {
- if (!mService.isShowingPunctuationList()) {
- mService.setPunctuationSuggestions();
- }
- } else {
- mService.mHandler.postUpdateBigramPredictions();
- }
- }
- }
- }
- }
-
- public void saveRecorrectionSuggestion(WordComposer word, CharSequence result) {
- if (SuggestionSpanUtils.SUGGESTION_SPAN_IS_SUPPORTED || !mRecorrectionEnabled) return;
- if (word.size() <= 1) {
- return;
- }
- // Skip if result is null. It happens in some edge case.
- if (TextUtils.isEmpty(result)) {
- return;
- }
-
- // Make a copy of the CharSequence, since it is/could be a mutable CharSequence
- final String resultCopy = result.toString();
- RecorrectionSuggestionEntries entry = new RecorrectionSuggestionEntries(
- resultCopy, new WordComposer(word));
- mRecorrectionSuggestionsList.add(entry);
- }
-
- public void clearWordsInHistory() {
- mRecorrectionSuggestionsList.clear();
- }
-
- /**
- * Tries to apply any typed alternatives for the word if we have any cached alternatives,
- * otherwise tries to find new corrections and completions for the word.
- * @param touching The word that the cursor is touching, with position information
- * @return true if an alternative was found, false otherwise.
- */
- public boolean applyTypedAlternatives(WordComposer word, Suggest suggest,
- KeyboardSwitcher keyboardSwitcher, EditingUtils.SelectedWord touching) {
- if (SuggestionSpanUtils.SUGGESTION_SPAN_IS_SUPPORTED || !mRecorrectionEnabled) return false;
- // If we didn't find a match, search for result in typed word history
- WordComposer foundWord = null;
- RecorrectionSuggestionEntries alternatives = null;
- // Search old suggestions to suggest re-corrected suggestions.
- for (RecorrectionSuggestionEntries entry : mRecorrectionSuggestionsList) {
- if (TextUtils.equals(entry.getChosenWord(), touching.mWord)) {
- foundWord = entry.mWordComposer;
- alternatives = entry;
- break;
- }
- }
- // If we didn't find a match, at least suggest corrections as re-corrected suggestions.
- if (foundWord == null
- && (AutoCorrection.isValidWord(suggest.getUnigramDictionaries(),
- touching.mWord, true))) {
- foundWord = new WordComposer();
- for (int i = 0; i < touching.mWord.length(); i++) {
- foundWord.add(touching.mWord.charAt(i),
- new int[] { touching.mWord.charAt(i) }, WordComposer.NOT_A_COORDINATE,
- WordComposer.NOT_A_COORDINATE);
- }
- }
- // Found a match, show suggestions
- if (foundWord != null || alternatives != null) {
- if (alternatives == null) {
- alternatives = new RecorrectionSuggestionEntries(touching.mWord, foundWord);
- }
- showRecorrections(suggest, keyboardSwitcher, alternatives);
- if (foundWord != null) {
- word.init(foundWord);
- } else {
- word.reset();
- }
- return true;
- }
- return false;
- }
-
-
- private void showRecorrections(Suggest suggest, KeyboardSwitcher keyboardSwitcher,
- RecorrectionSuggestionEntries entries) {
- SuggestedWords.Builder builder = entries.getAlternatives(suggest, keyboardSwitcher);
- builder.setTypedWordValid(false).setHasMinimalSuggestion(false);
- mService.showSuggestions(builder.build(), entries.getOriginalWord());
- }
-
- public void fetchAndDisplayRecorrectionSuggestions(VoiceProxy voiceProxy,
- SuggestionsView suggestionsView, Suggest suggest, KeyboardSwitcher keyboardSwitcher,
- WordComposer word, boolean hasUncommittedTypedChars, int lastSelectionStart,
- int lastSelectionEnd, String wordSeparators) {
- if (!InputConnectionCompatUtils.RECORRECTION_SUPPORTED) return;
- if (SuggestionSpanUtils.SUGGESTION_SPAN_IS_SUPPORTED || !mRecorrectionEnabled) return;
- voiceProxy.setShowingVoiceSuggestions(false);
- if (suggestionsView != null && suggestionsView.isShowingAddToDictionaryHint()) {
- return;
- }
- InputConnection ic = mService.getCurrentInputConnection();
- if (ic == null) return;
- if (!hasUncommittedTypedChars) {
- // Extract the selected or touching text
- EditingUtils.SelectedWord touching = EditingUtils.getWordAtCursorOrSelection(ic,
- lastSelectionStart, lastSelectionEnd, wordSeparators);
-
- if (touching != null && touching.mWord.length() > 1) {
- ic.beginBatchEdit();
-
- if (applyTypedAlternatives(word, suggest, keyboardSwitcher, touching)
- || voiceProxy.applyVoiceAlternatives(touching)) {
- TextEntryState.selectedForRecorrection();
- InputConnectionCompatUtils.underlineWord(ic, touching);
- } else {
- abortRecorrection(true);
- }
-
- ic.endBatchEdit();
- } else {
- abortRecorrection(true);
- mService.updateBigramPredictions();
- }
- } else {
- abortRecorrection(true);
- }
- }
-
- public void abortRecorrection(boolean force) {
- if (SuggestionSpanUtils.SUGGESTION_SPAN_IS_SUPPORTED) return;
- if (force || TextEntryState.isRecorrecting()) {
- TextEntryState.onAbortRecorrection();
- mService.setCandidatesViewShown(mService.isSuggestionsStripVisible());
- mService.getCurrentInputConnection().finishComposingText();
- mService.clearSuggestions();
- }
- }
-
- public void updateRecorrectionEnabled(Resources res, SharedPreferences prefs) {
- // If the option should not be shown, do not read the re-correction preference
- // but always use the default setting defined in the resources.
- if (res.getBoolean(R.bool.config_enable_show_recorrection_option)) {
- mRecorrectionEnabled = prefs.getBoolean(Settings.PREF_RECORRECTION_ENABLED,
- res.getBoolean(R.bool.config_default_compat_recorrection_enabled));
- } else {
- mRecorrectionEnabled =
- res.getBoolean(R.bool.config_default_compat_recorrection_enabled);
- }
- }
-
- @Override
- public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
- if (SuggestionSpanUtils.SUGGESTION_SPAN_IS_SUPPORTED) return;
- if (key.equals(Settings.PREF_RECORRECTION_ENABLED)) {
- updateRecorrectionEnabled(mService.getResources(), prefs);
- }
- }
-}
diff --git a/java/src/com/android/inputmethod/deprecated/recorrection/RecorrectionSuggestionEntries.java b/java/src/com/android/inputmethod/deprecated/recorrection/RecorrectionSuggestionEntries.java
deleted file mode 100644
index f33a46277..000000000
--- a/java/src/com/android/inputmethod/deprecated/recorrection/RecorrectionSuggestionEntries.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package com.android.inputmethod.deprecated.recorrection;
-
-import com.android.inputmethod.keyboard.KeyboardSwitcher;
-import com.android.inputmethod.latin.Suggest;
-import com.android.inputmethod.latin.SuggestedWords;
-import com.android.inputmethod.latin.WordComposer;
-
-import android.text.TextUtils;
-
-public class RecorrectionSuggestionEntries {
- public final CharSequence mChosenWord;
- public final WordComposer mWordComposer;
-
- public RecorrectionSuggestionEntries(CharSequence chosenWord, WordComposer wordComposer) {
- mChosenWord = chosenWord;
- mWordComposer = wordComposer;
- }
-
- public CharSequence getChosenWord() {
- return mChosenWord;
- }
-
- public CharSequence getOriginalWord() {
- return mWordComposer.getTypedWord();
- }
-
- public SuggestedWords.Builder getAlternatives(
- Suggest suggest, KeyboardSwitcher keyboardSwitcher) {
- return getTypedSuggestions(suggest, keyboardSwitcher, mWordComposer);
- }
-
- @Override
- public int hashCode() {
- return mChosenWord.hashCode();
- }
-
- @Override
- public boolean equals(Object o) {
- return o instanceof CharSequence && TextUtils.equals(mChosenWord, (CharSequence)o);
- }
-
- private static SuggestedWords.Builder getTypedSuggestions(
- Suggest suggest, KeyboardSwitcher keyboardSwitcher, WordComposer word) {
- return suggest.getSuggestedWordBuilder(keyboardSwitcher.getKeyboardView(), word, null,
- keyboardSwitcher.getLatinKeyboard().getProximityInfo());
- }
-}
diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java
index 9e4c1ea79..8d40e7aa5 100644
--- a/java/src/com/android/inputmethod/keyboard/Keyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java
@@ -138,8 +138,7 @@ public class Keyboard {
mProximityInfo = new ProximityInfo(
params.GRID_WIDTH, params.GRID_HEIGHT, mOccupiedWidth, mOccupiedHeight,
- mMostCommonKeyWidth, mMostCommonKeyHeight, mKeys, params.mTouchPositionCorrectionXs,
- params.mTouchPositionCorrectionYs, params.mTouchPositionCorrectionRadii);
+ mMostCommonKeyWidth, mMostCommonKeyHeight, mKeys, params.mTouchPositionCorrection);
}
public ProximityInfo getProximityInfo() {
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index 837a53391..e9a7fd077 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -264,7 +264,12 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
if (keyboard == null) {
final Locale savedLocale = LocaleUtils.setSystemLocale(mResources, id.mLocale);
try {
- keyboard = new LatinKeyboard.Builder(mThemeContext).load(id).build();
+ final LatinKeyboard.Builder builder = new LatinKeyboard.Builder(mThemeContext);
+ builder.load(id);
+ builder.setTouchPositionCorrectionEnabled(
+ mSubtypeSwitcher.currentSubtypeContainsExtraValueKey(
+ LatinIME.SUBTYPE_EXTRA_VALUE_SUPPORT_TOUCH_POSITION_CORRECTION));
+ keyboard = builder.build();
} finally {
LocaleUtils.setSystemLocale(mResources, savedLocale);
}
diff --git a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
index cc6feeb4a..34a77e1ca 100644
--- a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
+++ b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
@@ -19,6 +19,7 @@ package com.android.inputmethod.keyboard;
import android.graphics.Rect;
import com.android.inputmethod.keyboard.Key;
+import com.android.inputmethod.keyboard.internal.KeyboardParams.TouchPositionCorrection;
import com.android.inputmethod.latin.SubtypeSwitcher;
import com.android.inputmethod.latin.Utils;
import com.android.inputmethod.latin.spellcheck.SpellCheckerProximityInfo;
@@ -32,8 +33,6 @@ public class ProximityInfo {
/** Number of key widths from current touch point to search for nearest keys. */
private static float SEARCH_DISTANCE = 1.2f;
private static final int[] EMPTY_INT_ARRAY = new int[0];
- private static final String SUPPORT_TOUCH_POSITION_CORRECTION =
- "SupportTouchPositionCorrection";
private final int mKeyHeight;
private final int mGridWidth;
@@ -46,13 +45,8 @@ public class ProximityInfo {
private final int mKeyboardHeight;
private final int[][] mGridNeighbors;
- private final float[] mTouchPositionCorrectionXs;
- private final float[] mTouchPositionCorrectionYs;
- private final float[] mTouchPositionCorrectionRadii;
-
ProximityInfo(int gridWidth, int gridHeight, int minWidth, int height, int keyWidth,
- int keyHeight, List<Key> keys, float[] touchPositionCorrectionXs,
- float[] touchPositionCorrectionYs, float[] touchPositionCorrectionRadii) {
+ int keyHeight, List<Key> keys, TouchPositionCorrection touchPositionCorrection) {
mGridWidth = gridWidth;
mGridHeight = gridHeight;
mGridSize = mGridWidth * mGridHeight;
@@ -61,19 +55,16 @@ public class ProximityInfo {
mKeyboardMinWidth = minWidth;
mKeyboardHeight = height;
mKeyHeight = keyHeight;
- mTouchPositionCorrectionXs = touchPositionCorrectionXs;
- mTouchPositionCorrectionYs = touchPositionCorrectionYs;
- mTouchPositionCorrectionRadii = touchPositionCorrectionRadii;
mGridNeighbors = new int[mGridSize][];
if (minWidth == 0 || height == 0) {
// No proximity required. Keyboard might be mini keyboard.
return;
}
- computeNearestNeighbors(keyWidth, keys);
+ computeNearestNeighbors(keyWidth, keys, touchPositionCorrection);
}
public static ProximityInfo createDummyProximityInfo() {
- return new ProximityInfo(1, 1, 1, 1, 1, 1, Collections.<Key>emptyList(), null, null, null);
+ return new ProximityInfo(1, 1, 1, 1, 1, 1, Collections.<Key>emptyList(), null);
}
public static ProximityInfo createSpellCheckerProximityInfo() {
@@ -98,7 +89,8 @@ public class ProximityInfo {
private native void releaseProximityInfoNative(int nativeProximityInfo);
private final void setProximityInfo(int[][] gridNeighborKeyIndexes, int keyboardWidth,
- int keyboardHeight, List<Key> keys) {
+ int keyboardHeight, List<Key> keys,
+ TouchPositionCorrection touchPositionCorrection) {
int[] proximityCharsArray = new int[mGridSize * MAX_PROXIMITY_CHARS_SIZE];
Arrays.fill(proximityCharsArray, KeyDetector.NOT_A_CODE);
for (int i = 0; i < mGridSize; ++i) {
@@ -123,23 +115,16 @@ public class ProximityInfo {
keyCharCodes[i] = key.mCode;
}
- final SubtypeSwitcher switcher = SubtypeSwitcher.getInstance();
- final boolean hasTouchPositionCorrectionData =
- switcher.currentSubtypeContainsExtraValueKey(SUPPORT_TOUCH_POSITION_CORRECTION)
- && mTouchPositionCorrectionXs != null
- && mTouchPositionCorrectionYs != null
- && mTouchPositionCorrectionRadii != null
- && mTouchPositionCorrectionXs.length > 0
- && mTouchPositionCorrectionYs.length > 0
- && mTouchPositionCorrectionRadii.length > 0;
- final float[] sweetSpotCenterXs =
- hasTouchPositionCorrectionData ? new float[keyCount] : null;
- final float[] sweetSpotCenterYs =
- hasTouchPositionCorrectionData ? new float[keyCount] : null;
- final float[] sweetSpotRadii =
- hasTouchPositionCorrectionData ? new float[keyCount] : null;
- if (hasTouchPositionCorrectionData) {
- calculateSweetSpot(keys, sweetSpotCenterXs, sweetSpotCenterYs, sweetSpotRadii);
+ float[] sweetSpotCenterXs = null;
+ float[] sweetSpotCenterYs = null;
+ float[] sweetSpotRadii = null;
+
+ if (touchPositionCorrection != null && touchPositionCorrection.isValid()) {
+ sweetSpotCenterXs = new float[keyCount];
+ sweetSpotCenterYs = new float[keyCount];
+ sweetSpotRadii = new float[keyCount];
+ calculateSweetSpot(keys, touchPositionCorrection,
+ sweetSpotCenterXs, sweetSpotCenterYs, sweetSpotRadii);
}
mNativeProximityInfo = setProximityInfoNative(MAX_PROXIMITY_CHARS_SIZE,
@@ -148,21 +133,24 @@ public class ProximityInfo {
sweetSpotCenterXs, sweetSpotCenterYs, sweetSpotRadii);
}
- private void calculateSweetSpot(List<Key> keys, float[] sweetSpotCenterXs,
- float[] sweetSpotCenterYs, float[] sweetSpotRadii) {
+ private void calculateSweetSpot(List<Key> keys, TouchPositionCorrection touchPositionCorrection,
+ float[] sweetSpotCenterXs, float[] sweetSpotCenterYs, float[] sweetSpotRadii) {
final int keyCount = keys.size();
+ final float[] xs = touchPositionCorrection.mXs;
+ final float[] ys = touchPositionCorrection.mYs;
+ final float[] radii = touchPositionCorrection.mRadii;
for (int i = 0; i < keyCount; ++i) {
final Key key = keys.get(i);
final Rect hitBox = key.mHitBox;
final int row = hitBox.top / mKeyHeight;
- if (row < mTouchPositionCorrectionRadii.length) {
+ if (row < radii.length) {
final float hitBoxCenterX = (hitBox.left + hitBox.right) * 0.5f;
final float hitBoxCenterY = (hitBox.top + hitBox.bottom) * 0.5f;
final float hitBoxWidth = hitBox.right - hitBox.left;
final float hitBoxHeight = hitBox.bottom - hitBox.top;
- final float x = mTouchPositionCorrectionXs[row];
- final float y = mTouchPositionCorrectionYs[row];
- final float radius = mTouchPositionCorrectionRadii[row];
+ final float x = xs[row];
+ final float y = ys[row];
+ final float radius = radii[row];
sweetSpotCenterXs[i] = hitBoxCenterX + x * hitBoxWidth;
sweetSpotCenterYs[i] = hitBoxCenterY + y * hitBoxHeight;
sweetSpotRadii[i] = radius
@@ -187,7 +175,8 @@ public class ProximityInfo {
}
}
- private void computeNearestNeighbors(int defaultWidth, List<Key> keys) {
+ private void computeNearestNeighbors(int defaultWidth, List<Key> keys,
+ TouchPositionCorrection touchPositionCorrection) {
final int thresholdBase = (int) (defaultWidth * SEARCH_DISTANCE);
final int threshold = thresholdBase * thresholdBase;
// Round-up so we don't have any pixels outside the grid
@@ -210,7 +199,8 @@ public class ProximityInfo {
mGridNeighbors[(y / mCellHeight) * mGridWidth + (x / mCellWidth)] = cell;
}
}
- setProximityInfo(mGridNeighbors, mKeyboardMinWidth, mKeyboardHeight, keys);
+ setProximityInfo(mGridNeighbors, mKeyboardMinWidth, mKeyboardHeight, keys,
+ touchPositionCorrection);
}
public int[] getNearestKeys(int x, int y) {
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
index 46836da67..d16c71c7e 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
@@ -127,8 +127,6 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
private static final int DEFAULT_KEYBOARD_COLUMNS = 10;
private static final int DEFAULT_KEYBOARD_ROWS = 4;
- private static final int TOUCH_POSITION_CORRECTION_RECORD_SIZE = 3;
-
protected final KP mParams;
protected final Context mContext;
protected final Resources mResources;
@@ -247,64 +245,26 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
mParams = params;
- final TypedArray a = context.obtainStyledAttributes(R.styleable.KeyboardTheme);
- mParams.mThemeId = a.getInt(R.styleable.KeyboardTheme_themeId, 0);
- a.recycle();
+ setTouchPositionCorrectionData(context, params);
- if (!setTouchPositionCorrectionData(context)) {
- // In the regression test, setTouchPositionCorrectionData() fails
- mParams.mTouchPositionCorrectionXs = null;
- mParams.mTouchPositionCorrectionYs = null;
- mParams.mTouchPositionCorrectionRadii = null;
- }
-
- mParams.GRID_WIDTH = res.getInteger(R.integer.config_keyboard_grid_width);
- mParams.GRID_HEIGHT = res.getInteger(R.integer.config_keyboard_grid_height);
+ params.GRID_WIDTH = res.getInteger(R.integer.config_keyboard_grid_width);
+ params.GRID_HEIGHT = res.getInteger(R.integer.config_keyboard_grid_height);
}
- private boolean setTouchPositionCorrectionData(Context context) {
- final TypedArray a = context.obtainStyledAttributes(R.styleable.KeyboardTheme);
- final int resourceId = a.getResourceId(
- R.styleable.KeyboardTheme_touchPositionCorrectionData, 0);
+ private static void setTouchPositionCorrectionData(Context context, KeyboardParams params) {
+ final TypedArray a = context.obtainStyledAttributes(
+ null, R.styleable.Keyboard, R.attr.keyboardStyle, 0);
+ params.mThemeId = a.getInt(R.styleable.Keyboard_themeId, 0);
+ final int resourceId = a.getResourceId(R.styleable.Keyboard_touchPositionCorrectionData, 0);
+ a.recycle();
if (resourceId == 0) {
- // In the regression test, we cannot use theme resources
- // TODO: Fix this
- return false;
+ if (LatinImeLogger.sDBG)
+ throw new RuntimeException("touchPositionCorrectionData is not defined");
+ return;
}
+
final String[] data = context.getResources().getStringArray(resourceId);
- a.recycle();
- final int dataLength = data.length;
- if (dataLength % TOUCH_POSITION_CORRECTION_RECORD_SIZE != 0) {
- if (LatinImeLogger.sDBG) {
- throw new RuntimeException("the size of touch position correction data is invalid");
- }
- return false;
- }
- final int length = dataLength / TOUCH_POSITION_CORRECTION_RECORD_SIZE;
- mParams.mTouchPositionCorrectionXs = new float[length];
- mParams.mTouchPositionCorrectionYs = new float[length];
- mParams.mTouchPositionCorrectionRadii = new float[length];
- try {
- for (int i = 0; i < dataLength; ++i) {
- final int type = i % TOUCH_POSITION_CORRECTION_RECORD_SIZE;
- final int index = i / TOUCH_POSITION_CORRECTION_RECORD_SIZE;
- final float value = Float.parseFloat(data[i]);
- if (type == 0) {
- mParams.mTouchPositionCorrectionXs[index] = value;
- } else if (type == 1) {
- mParams.mTouchPositionCorrectionYs[index] = value;
- } else {
- mParams.mTouchPositionCorrectionRadii[index] = value;
- }
- }
- } catch (NumberFormatException e) {
- if (LatinImeLogger.sDBG) {
- throw new RuntimeException(
- "the number format for touch position correction data is invalid");
- }
- return false;
- }
- return true;
+ params.mTouchPositionCorrection.load(data);
}
public KeyboardBuilder<KP> load(KeyboardId id) {
@@ -321,6 +281,10 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
return this;
}
+ public void setTouchPositionCorrectionEnabled(boolean enabled) {
+ mParams.mTouchPositionCorrection.setEnabled(enabled);
+ }
+
public Keyboard build() {
return new Keyboard(mParams);
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java
index d1aea72a5..64cd37c4b 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java
@@ -21,6 +21,7 @@ import android.graphics.drawable.Drawable;
import com.android.inputmethod.keyboard.Key;
import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.KeyboardId;
+import com.android.inputmethod.latin.LatinImeLogger;
import java.util.ArrayList;
import java.util.HashMap;
@@ -68,9 +69,62 @@ public class KeyboardParams {
public int mMostCommonKeyHeight = 0;
public int mMostCommonKeyWidth = 0;
- public float[] mTouchPositionCorrectionXs;
- public float[] mTouchPositionCorrectionYs;
- public float[] mTouchPositionCorrectionRadii;
+ public final TouchPositionCorrection mTouchPositionCorrection = new TouchPositionCorrection();
+
+ public static class TouchPositionCorrection {
+ private static final int TOUCH_POSITION_CORRECTION_RECORD_SIZE = 3;
+
+ public boolean mEnabled;
+ public float[] mXs;
+ public float[] mYs;
+ public float[] mRadii;
+
+ public void load(String[] data) {
+ final int dataLength = data.length;
+ if (dataLength % TOUCH_POSITION_CORRECTION_RECORD_SIZE != 0) {
+ if (LatinImeLogger.sDBG)
+ throw new RuntimeException(
+ "the size of touch position correction data is invalid");
+ return;
+ }
+
+ final int length = dataLength / TOUCH_POSITION_CORRECTION_RECORD_SIZE;
+ mXs = new float[length];
+ mYs = new float[length];
+ mRadii = new float[length];
+ try {
+ for (int i = 0; i < dataLength; ++i) {
+ final int type = i % TOUCH_POSITION_CORRECTION_RECORD_SIZE;
+ final int index = i / TOUCH_POSITION_CORRECTION_RECORD_SIZE;
+ final float value = Float.parseFloat(data[i]);
+ if (type == 0) {
+ mXs[index] = value;
+ } else if (type == 1) {
+ mYs[index] = value;
+ } else {
+ mRadii[index] = value;
+ }
+ }
+ } catch (NumberFormatException e) {
+ if (LatinImeLogger.sDBG) {
+ throw new RuntimeException(
+ "the number format for touch position correction data is invalid");
+ }
+ mXs = null;
+ mYs = null;
+ mRadii = null;
+ }
+ }
+
+ public void setEnabled(boolean enabled) {
+ mEnabled = enabled;
+ }
+
+ public boolean isValid() {
+ return mEnabled && mXs != null && mYs != null && mRadii != null
+ && mXs.length > 0 && mYs.length > 0 && mRadii.length > 0;
+ }
+ }
protected void clearKeys() {
mKeys.clear();
diff --git a/java/src/com/android/inputmethod/latin/AutoCorrection.java b/java/src/com/android/inputmethod/latin/AutoCorrection.java
index e6ae2c5c7..fc9771065 100644
--- a/java/src/com/android/inputmethod/latin/AutoCorrection.java
+++ b/java/src/com/android/inputmethod/latin/AutoCorrection.java
@@ -50,7 +50,7 @@ public class AutoCorrection {
public void updateAutoCorrectionStatus(Map<String, Dictionary> dictionaries,
WordComposer wordComposer, ArrayList<CharSequence> suggestions, int[] sortedScores,
CharSequence typedWord, double autoCorrectionThreshold, int correctionMode,
- CharSequence quickFixedWord, CharSequence whitelistedWord) {
+ CharSequence whitelistedWord) {
if (hasAutoCorrectionForWhitelistedWord(whitelistedWord)) {
mHasAutoCorrection = true;
mAutoCorrectionWord = whitelistedWord;
@@ -58,9 +58,6 @@ public class AutoCorrection {
dictionaries, wordComposer, suggestions, typedWord, correctionMode)) {
mHasAutoCorrection = true;
mAutoCorrectionWord = typedWord;
- } else if (hasAutoCorrectionForQuickFix(quickFixedWord)) {
- mHasAutoCorrection = true;
- mAutoCorrectionWord = quickFixedWord;
} else if (hasAutoCorrectionForBinaryDictionary(wordComposer, suggestions, correctionMode,
sortedScores, typedWord, autoCorrectionThreshold)) {
mHasAutoCorrection = true;
@@ -109,10 +106,6 @@ public class AutoCorrection {
|| correctionMode == Suggest.CORRECTION_FULL_BIGRAM);
}
- private static boolean hasAutoCorrectionForQuickFix(CharSequence quickFixedWord) {
- return quickFixedWord != null;
- }
-
private boolean hasAutoCorrectionForBinaryDictionary(WordComposer wordComposer,
ArrayList<CharSequence> suggestions, int correctionMode, int[] sortedScores,
CharSequence typedWord, double autoCorrectionThreshold) {
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index dfb4d0622..36e97af11 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -60,7 +60,6 @@ import com.android.inputmethod.compat.SuggestionSpanUtils;
import com.android.inputmethod.compat.VibratorCompatWrapper;
import com.android.inputmethod.deprecated.LanguageSwitcherProxy;
import com.android.inputmethod.deprecated.VoiceProxy;
-import com.android.inputmethod.deprecated.recorrection.Recorrection;
import com.android.inputmethod.keyboard.Key;
import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.keyboard.KeyboardActionListener;
@@ -119,6 +118,12 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
public static final String SUBTYPE_EXTRA_VALUE_ASCII_CAPABLE = "AsciiCapable";
/**
+ * The subtype extra value used to indicate that the subtype keyboard layout supports touch
+ * position correction.
+ */
+ public static final String SUBTYPE_EXTRA_VALUE_SUPPORT_TOUCH_POSITION_CORRECTION =
+ "SupportTouchPositionCorrection";
+ /**
* The subtype extra value used to indicate that the subtype keyboard layout should be loaded
* from the specified locale.
*/
@@ -168,7 +173,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
private KeyboardSwitcher mKeyboardSwitcher;
private SubtypeSwitcher mSubtypeSwitcher;
private VoiceProxy mVoiceProxy;
- private Recorrection mRecorrection;
private UserDictionary mUserDictionary;
private UserBigramDictionary mUserBigramDictionary;
@@ -229,14 +233,13 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
public static class UIHandler extends StaticInnerHandlerWrapper<LatinIME> {
private static final int MSG_UPDATE_SUGGESTIONS = 0;
- private static final int MSG_UPDATE_OLD_SUGGESTIONS = 1;
- private static final int MSG_UPDATE_SHIFT_STATE = 2;
- private static final int MSG_VOICE_RESULTS = 3;
- private static final int MSG_FADEOUT_LANGUAGE_ON_SPACEBAR = 4;
- private static final int MSG_DISMISS_LANGUAGE_ON_SPACEBAR = 5;
- private static final int MSG_SPACE_TYPED = 6;
- private static final int MSG_SET_BIGRAM_PREDICTIONS = 7;
- private static final int MSG_PENDING_IMS_CALLBACK = 8;
+ private static final int MSG_UPDATE_SHIFT_STATE = 1;
+ private static final int MSG_VOICE_RESULTS = 2;
+ private static final int MSG_FADEOUT_LANGUAGE_ON_SPACEBAR = 3;
+ private static final int MSG_DISMISS_LANGUAGE_ON_SPACEBAR = 4;
+ private static final int MSG_SPACE_TYPED = 5;
+ private static final int MSG_SET_BIGRAM_PREDICTIONS = 6;
+ private static final int MSG_PENDING_IMS_CALLBACK = 7;
public UIHandler(LatinIME outerInstance) {
super(outerInstance);
@@ -251,13 +254,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
case MSG_UPDATE_SUGGESTIONS:
latinIme.updateSuggestions();
break;
- case MSG_UPDATE_OLD_SUGGESTIONS:
- latinIme.mRecorrection.fetchAndDisplayRecorrectionSuggestions(
- latinIme.mVoiceProxy, latinIme.mSuggestionsView,
- latinIme.mSuggest, latinIme.mKeyboardSwitcher, latinIme.mWordComposer,
- latinIme.mHasUncommittedTypedChars, latinIme.mLastSelectionStart,
- latinIme.mLastSelectionEnd, latinIme.mSettingsValues.mWordSeparators);
- break;
case MSG_UPDATE_SHIFT_STATE:
switcher.updateShiftState();
break;
@@ -302,16 +298,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
return hasMessages(MSG_UPDATE_SUGGESTIONS);
}
- public void postUpdateOldSuggestions() {
- removeMessages(MSG_UPDATE_OLD_SUGGESTIONS);
- sendMessageDelayed(obtainMessage(MSG_UPDATE_OLD_SUGGESTIONS),
- getOuterInstance().mSettingsValues.mDelayUpdateOldSuggestions);
- }
-
- public void cancelUpdateOldSuggestions() {
- removeMessages(MSG_UPDATE_OLD_SUGGESTIONS);
- }
-
public void postUpdateShiftKeyState() {
removeMessages(MSG_UPDATE_SHIFT_STATE);
sendMessageDelayed(obtainMessage(MSG_UPDATE_SHIFT_STATE),
@@ -470,7 +456,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
InputMethodManagerCompatWrapper.init(this);
SubtypeSwitcher.init(this);
KeyboardSwitcher.init(this, prefs);
- Recorrection.init(this, prefs);
AccessibilityUtils.init(this, prefs);
super.onCreate();
@@ -479,7 +464,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
mInputMethodId = Utils.getInputMethodId(mImm, getPackageName());
mSubtypeSwitcher = SubtypeSwitcher.getInstance();
mKeyboardSwitcher = KeyboardSwitcher.getInstance();
- mRecorrection = Recorrection.getInstance();
mVibrator = VibratorCompatWrapper.getInstance(this);
DEBUG = LatinImeLogger.sDBG;
@@ -550,7 +534,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
if (mSettingsValues.mAutoCorrectEnabled) {
mSuggest.setAutoCorrectionThreshold(mSettingsValues.mAutoCorrectionThreshold);
}
- updateAutoTextEnabled();
mUserDictionary = new UserDictionary(this, localeStr);
mSuggest.setUserDictionary(mUserDictionary);
@@ -734,7 +717,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
loadSettings();
updateCorrectionMode();
- updateAutoTextEnabled();
updateSuggestionVisibility(mPrefs, mResources);
if (mSuggest != null && mSettingsValues.mAutoCorrectEnabled) {
@@ -760,8 +742,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
inputView.setKeyPreviewPopupEnabled(mSettingsValues.mKeyPreviewPopupOn,
mSettingsValues.mKeyPreviewPopupDismissDelay);
inputView.setProximityCorrectionEnabled(true);
- // If we just entered a text field, maybe it has some old text that requires correction
- mRecorrection.checkRecorrectionOnStart();
voiceIme.onStartInputView(inputView.getWindowToken());
@@ -850,7 +830,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
if (inputView != null) inputView.cancelAllMessages();
// Remove pending messages related to update suggestions
mHandler.cancelUpdateSuggestions();
- mHandler.cancelUpdateOldSuggestions();
}
@Override
@@ -884,35 +863,23 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
final boolean selectionChanged = (newSelStart != candidatesEnd
|| newSelEnd != candidatesEnd) && mLastSelectionStart != newSelStart;
final boolean candidatesCleared = candidatesStart == -1 && candidatesEnd == -1;
- if (!mExpectingUpdateSelection
- && ((mComposingStringBuilder.length() > 0 && mHasUncommittedTypedChars)
- || mVoiceProxy.isVoiceInputHighlighted())
- && (selectionChanged || candidatesCleared)) {
- if (candidatesCleared) {
- // If the composing span has been cleared, save the typed word in the history for
- // recorrection before we reset the suggestions strip. Then, we'll be able to show
- // suggestions for recorrection right away.
- mRecorrection.saveRecorrectionSuggestion(mWordComposer, mComposingStringBuilder);
- }
- mComposingStringBuilder.setLength(0);
- mHasUncommittedTypedChars = false;
- if (isCursorTouchingWord()) {
- mHandler.cancelUpdateBigramPredictions();
- mHandler.postUpdateSuggestions();
- } else {
- setPunctuationSuggestions();
- }
- TextEntryState.reset();
- final InputConnection ic = getCurrentInputConnection();
- if (ic != null) {
- ic.finishComposingText();
- }
- mVoiceProxy.setVoiceInputHighlighted(false);
- } else if (!mHasUncommittedTypedChars && !mExpectingUpdateSelection
- && TextEntryState.isAcceptedDefault()) {
- TextEntryState.reset();
- }
if (!mExpectingUpdateSelection) {
+ if (((mComposingStringBuilder.length() > 0 && mHasUncommittedTypedChars)
+ || mVoiceProxy.isVoiceInputHighlighted())
+ && (selectionChanged || candidatesCleared)) {
+ mComposingStringBuilder.setLength(0);
+ mHasUncommittedTypedChars = false;
+ TextEntryState.reset();
+ updateSuggestions();
+ final InputConnection ic = getCurrentInputConnection();
+ if (ic != null) {
+ ic.finishComposingText();
+ }
+ mVoiceProxy.setVoiceInputHighlighted(false);
+ } else if (!mHasUncommittedTypedChars) {
+ TextEntryState.reset();
+ updateSuggestions();
+ }
mJustAddedMagicSpace = false; // The user moved the cursor.
mJustReplacedDoubleSpace = false;
}
@@ -922,11 +889,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
// Make a note of the cursor position
mLastSelectionStart = newSelStart;
mLastSelectionEnd = newSelEnd;
-
- mRecorrection.updateRecorrectionSelection(mKeyboardSwitcher,
- mSuggestionsView, candidatesStart, candidatesEnd, newSelStart,
- newSelEnd, oldSelStart, mLastSelectionStart,
- mLastSelectionEnd, mHasUncommittedTypedChars);
}
public void setLastSelection(int start, int end) {
@@ -944,7 +906,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
*/
@Override
public void onExtractedTextClicked() {
- if (mRecorrection.isRecorrectionEnabled() && isSuggestionsRequested()) return;
+ if (isSuggestionsRequested()) return;
super.onExtractedTextClicked();
}
@@ -960,7 +922,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
*/
@Override
public void onExtractedCursorMovement(int dx, int dy) {
- if (mRecorrection.isRecorrectionEnabled() && isSuggestionsRequested()) return;
+ if (isSuggestionsRequested()) return;
super.onExtractedCursorMovement(dx, dy);
}
@@ -976,7 +938,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
mOptionsDialog = null;
}
mVoiceProxy.hideVoiceWindow(mConfigurationChanging);
- mRecorrection.clearWordsInHistory();
super.hideWindow();
}
@@ -1332,7 +1293,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
mVoiceProxy.commitVoiceInput();
final InputConnection ic = getCurrentInputConnection();
if (ic == null) return;
- mRecorrection.abortRecorrection(false);
ic.beginBatchEdit();
commitTyped(ic);
maybeRemovePreviousPeriod(ic, text);
@@ -1448,17 +1408,12 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
removeTrailingSpace();
}
- if (mLastSelectionStart == mLastSelectionEnd) {
- mRecorrection.abortRecorrection(false);
- }
-
int code = primaryCode;
if ((isAlphabet(code) || mSettingsValues.isSymbolExcludedFromWordSeparators(code))
&& isSuggestionsRequested() && !isCursorTouchingWord()) {
if (!mHasUncommittedTypedChars) {
mHasUncommittedTypedChars = true;
mComposingStringBuilder.setLength(0);
- mRecorrection.saveRecorrectionSuggestion(mWordComposer, mBestWord);
mWordComposer.reset();
clearSuggestions();
}
@@ -1524,7 +1479,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
final InputConnection ic = getCurrentInputConnection();
if (ic != null) {
ic.beginBatchEdit();
- mRecorrection.abortRecorrection(false);
}
if (mHasUncommittedTypedChars) {
// In certain languages where single quote is a separator, it's better
@@ -1570,7 +1524,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
if (Keyboard.CODE_SPACE == primaryCode) {
if (!isCursorTouchingWord()) {
mHandler.cancelUpdateSuggestions();
- mHandler.cancelUpdateOldSuggestions();
mHandler.postUpdateBigramPredictions();
}
} else {
@@ -1657,6 +1610,9 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
return;
}
+ mHandler.cancelUpdateSuggestions();
+ mHandler.cancelUpdateBigramPredictions();
+
if (!mHasUncommittedTypedChars) {
setPunctuationSuggestions();
return;
@@ -1673,8 +1629,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
}
// getSuggestedWordBuilder handles gracefully a null value of prevWord
final SuggestedWords.Builder builder = mSuggest.getSuggestedWordBuilder(
- mKeyboardSwitcher.getKeyboardView(), wordComposer, prevWord,
- mKeyboardSwitcher.getLatinKeyboard().getProximityInfo());
+ wordComposer, prevWord, mKeyboardSwitcher.getLatinKeyboard().getProximityInfo());
boolean autoCorrectionAvailable = !mInputTypeNoAutoCorrect && mSuggest.hasAutoCorrection();
final CharSequence typedWord = wordComposer.getTypedWord();
@@ -1890,7 +1845,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
ic.commitText(bestWord, 1);
}
}
- mRecorrection.saveRecorrectionSuggestion(mWordComposer, bestWord);
mHasUncommittedTypedChars = false;
mCommittedLength = bestWord.length();
}
@@ -1907,9 +1861,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
final CharSequence prevWord = EditingUtils.getThisWord(getCurrentInputConnection(),
mSettingsValues.mWordSeparators);
- SuggestedWords.Builder builder = mSuggest.getSuggestedWordBuilder(
- mKeyboardSwitcher.getKeyboardView(), sEmptyWordComposer, prevWord,
- mKeyboardSwitcher.getLatinKeyboard().getProximityInfo());
+ SuggestedWords.Builder builder = mSuggest.getSuggestedWordBuilder(sEmptyWordComposer,
+ prevWord, mKeyboardSwitcher.getLatinKeyboard().getProximityInfo());
if (builder.size() > 0) {
// Explicitly supply an empty typed word (the no-second-arg version of
@@ -2214,18 +2167,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
}
}
- private void updateAutoTextEnabled() {
- if (mSuggest == null) return;
- // We want to use autotext if the settings are asking for auto corrections, and if
- // the input language is the same as the system language (because autotext will only
- // work in the system language so if we are entering text in a different language we
- // do not want it on).
- // We used to look at the "quick fixes" option instead of mAutoCorrectEnabled, but
- // this option was redundant and confusing and therefore removed.
- mSuggest.setQuickFixesEnabled(mSettingsValues.mAutoCorrectEnabled
- && SubtypeSwitcher.getInstance().isSystemLanguageSameAsInputLanguage());
- }
-
private void updateSuggestionVisibility(final SharedPreferences prefs, final Resources res) {
final String suggestionVisiblityStr = prefs.getString(
Settings.PREF_SHOW_SUGGESTIONS_SETTING,
diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java
index bd94bab34..d9508f4c1 100644
--- a/java/src/com/android/inputmethod/latin/Settings.java
+++ b/java/src/com/android/inputmethod/latin/Settings.java
@@ -64,7 +64,6 @@ public class Settings extends InputMethodSettingsActivity
public static final String PREF_VIBRATE_ON = "vibrate_on";
public static final String PREF_SOUND_ON = "sound_on";
public static final String PREF_KEY_PREVIEW_POPUP_ON = "popup_on";
- public static final String PREF_RECORRECTION_ENABLED = "recorrection_enabled";
public static final String PREF_AUTO_CAP = "auto_cap";
public static final String PREF_SHOW_SETTINGS_KEY = "show_settings_key";
public static final String PREF_VOICE_SETTINGS_KEY = "voice_mode";
@@ -435,12 +434,6 @@ public class Settings extends InputMethodSettingsActivity
generalSettings.removePreference(findPreference(PREF_KEY_PREVIEW_POPUP_ON));
}
- final boolean showRecorrectionOption = res.getBoolean(
- R.bool.config_enable_show_recorrection_option);
- if (!showRecorrectionOption) {
- generalSettings.removePreference(findPreference(PREF_RECORRECTION_ENABLED));
- }
-
final boolean showBigramSuggestionsOption = res.getBoolean(
R.bool.config_enable_bigram_suggestions_option);
if (!showBigramSuggestionsOption) {
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 16dccf824..208fd13ec 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -17,10 +17,8 @@
package com.android.inputmethod.latin;
import android.content.Context;
-import android.text.AutoText;
import android.text.TextUtils;
import android.util.Log;
-import android.view.View;
import com.android.inputmethod.keyboard.ProximityInfo;
@@ -97,8 +95,6 @@ public class Suggest implements Dictionary.WordCallback {
private static final int PREF_MAX_BIGRAMS = 60;
- private boolean mQuickFixesEnabled;
-
private double mAutoCorrectionThreshold;
private int[] mScores = new int[mPrefMaxSuggestions];
private int[] mBigramScores = new int[PREF_MAX_BIGRAMS];
@@ -160,6 +156,7 @@ public class Suggest implements Dictionary.WordCallback {
final Locale locale) {
mMainDict = null;
new Thread("InitializeBinaryDictionary") {
+ @Override
public void run() {
final Dictionary newMainDict = DictionaryFactory.createDictionaryFromManager(
context, locale, dictionaryResId);
@@ -170,11 +167,6 @@ public class Suggest implements Dictionary.WordCallback {
}.start();
}
-
- public void setQuickFixesEnabled(boolean enabled) {
- mQuickFixesEnabled = enabled;
- }
-
public int getCorrectionMode() {
return mCorrectionMode;
}
@@ -256,14 +248,13 @@ public class Suggest implements Dictionary.WordCallback {
/**
* Returns a object which represents suggested words that match the list of character codes
* passed in. This object contents will be overwritten the next time this function is called.
- * @param view a view for retrieving the context for AutoText
* @param wordComposer contains what is currently being typed
* @param prevWordForBigram previous word (used only for bigram)
* @return suggested words object.
*/
- public SuggestedWords getSuggestions(final View view, final WordComposer wordComposer,
+ public SuggestedWords getSuggestions(final WordComposer wordComposer,
final CharSequence prevWordForBigram, final ProximityInfo proximityInfo) {
- return getSuggestedWordBuilder(view, wordComposer, prevWordForBigram,
+ return getSuggestedWordBuilder(wordComposer, prevWordForBigram,
proximityInfo).build();
}
@@ -295,7 +286,7 @@ public class Suggest implements Dictionary.WordCallback {
}
// TODO: cleanup dictionaries looking up and suggestions building with SuggestedWords.Builder
- public SuggestedWords.Builder getSuggestedWordBuilder(final View view,
+ public SuggestedWords.Builder getSuggestedWordBuilder(
final WordComposer wordComposer, CharSequence prevWordForBigram,
final ProximityInfo proximityInfo) {
LatinImeLogger.onStartSuggestion(prevWordForBigram);
@@ -336,6 +327,7 @@ public class Suggest implements Dictionary.WordCallback {
}
} else {
// Word entered: return only bigrams that match the first char of the typed word
+ @SuppressWarnings("null")
final char currentChar = typedWord.charAt(0);
// TODO: Must pay attention to locale when changing case.
final char currentCharUpper = Character.toUpperCase(currentChar);
@@ -363,34 +355,14 @@ public class Suggest implements Dictionary.WordCallback {
dictionary.getWords(wordComposer, this, proximityInfo);
}
}
- CharSequence autoText = null;
final String typedWordString = typedWord == null ? null : typedWord.toString();
- if (typedWord != null) {
- // Apply quick fix only for the typed word.
- if (mQuickFixesEnabled) {
- final String lowerCaseTypedWord = typedWordString.toLowerCase();
- // Is there an AutoText (also known as Quick Fixes) correction?
- // Capitalize as needed
- autoText = capitalizeWord(mIsAllUpperCase, mIsFirstCharCapitalized, AutoText.get(
- lowerCaseTypedWord, 0, lowerCaseTypedWord.length(), view));
- if (DBG) {
- if (autoText != null) {
- Log.d(TAG, "Auto corrected by AUTOTEXT: " + typedWord + " -> " + autoText);
- }
- }
- }
- }
CharSequence whitelistedWord = capitalizeWord(mIsAllUpperCase, mIsFirstCharCapitalized,
mWhiteListDictionary.getWhiteListedWord(typedWordString));
mAutoCorrection.updateAutoCorrectionStatus(mUnigramDictionaries, wordComposer,
mSuggestions, mScores, typedWord, mAutoCorrectionThreshold, mCorrectionMode,
- autoText, whitelistedWord);
-
- if (autoText != null) {
- mSuggestions.add(0, autoText);
- }
+ whitelistedWord);
if (whitelistedWord != null) {
mSuggestions.add(0, whitelistedWord);