diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/res/layout/more_suggestions.xml | 1 | ||||
-rw-r--r-- | java/res/values-af/strings.xml | 8 | ||||
-rw-r--r-- | java/res/values-ar/strings.xml | 2 | ||||
-rw-r--r-- | java/res/values-ca/strings.xml | 14 | ||||
-rw-r--r-- | java/res/values-cs/strings.xml | 2 | ||||
-rw-r--r-- | java/res/values-el/strings.xml | 14 | ||||
-rw-r--r-- | java/res/values-hi/strings.xml | 2 | ||||
-rw-r--r-- | java/res/values-hr/strings.xml | 2 | ||||
-rw-r--r-- | java/res/values-ro/strings.xml | 4 | ||||
-rw-r--r-- | java/res/values-sl/strings.xml | 2 | ||||
-rw-r--r-- | java/res/values-uk/strings.xml | 4 | ||||
-rw-r--r-- | java/res/values-zh-rTW/strings.xml | 6 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 11 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/RichInputConnection.java | 31 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/Utils.java | 10 |
15 files changed, 61 insertions, 52 deletions
diff --git a/java/res/layout/more_suggestions.xml b/java/res/layout/more_suggestions.xml index 49a00c6b5..b41bb8aa4 100644 --- a/java/res/layout/more_suggestions.xml +++ b/java/res/layout/more_suggestions.xml @@ -29,6 +29,7 @@ android:id="@+id/more_suggestions_view" android:layout_width="wrap_content" android:layout_height="wrap_content" + latin:keyLetterSize="@dimen/suggestion_text_size" latin:keyLabelSize="@dimen/suggestion_text_size" latin:keyHintLetterRatio="@fraction/more_suggestions_info_ratio" latin:keyHintLetterColor="@android:color/white" diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml index ccc06434d..22543efe5 100644 --- a/java/res/values-af/strings.xml +++ b/java/res/values-af/strings.xml @@ -112,12 +112,12 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Steminvoer is gedeaktiveer"</string> <string name="configure_input_method" msgid="373356270290742459">"Stel invoermetodes op"</string> <string name="language_selection_title" msgid="1651299598555326750">"Invoertale"</string> - <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"Let wel: plaas tydstempel in loglêer"</string> + <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"let op die tydstempel in die loglêer"</string> <string name="notify_recorded_timestamp" msgid="8036429032449612051">"Aangetekende tydstempel"</string> <string name="do_not_log_this_session" msgid="413762473641146336">"Moenie hierdie sessie aanteken nie"</string> - <string name="notify_session_log_deleting" msgid="3299507647764414623">"Sessie se loglêer geskrap"</string> - <string name="notify_session_log_deleted" msgid="8687927130100934686">"Sessie se loglêer geskrap"</string> - <string name="notify_session_log_not_deleted" msgid="2592908998810755970">"Sessie se loglêer NIE geskrap nie"</string> + <string name="notify_session_log_deleting" msgid="3299507647764414623">"Sessie se loglêer uitgevee"</string> + <string name="notify_session_log_deleted" msgid="8687927130100934686">"Sessie se loglêer uitgevee"</string> + <string name="notify_session_log_not_deleted" msgid="2592908998810755970">"Sessie se loglêer NIE uitgevee nie"</string> <string name="select_language" msgid="3693815588777926848">"Invoertale"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Raak weer om te stoor"</string> <string name="has_dictionary" msgid="6071847973466625007">"Woordeboek beskikbaar"</string> diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml index b3cb298fc..2a2207447 100644 --- a/java/res/values-ar/strings.xml +++ b/java/res/values-ar/strings.xml @@ -112,7 +112,7 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"الإدخال الصوتي مُعطل"</string> <string name="configure_input_method" msgid="373356270290742459">"تهيئة طرق الإدخال"</string> <string name="language_selection_title" msgid="1651299598555326750">"لغات الإدخال"</string> - <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"ملاحظة الطابع الزمني في السجل"</string> + <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"ملاحظة طابع زمني في سجل"</string> <string name="notify_recorded_timestamp" msgid="8036429032449612051">"تم تسجيل الطابع الزمني"</string> <string name="do_not_log_this_session" msgid="413762473641146336">"عدم تسجيل هذه الجلسة"</string> <string name="notify_session_log_deleting" msgid="3299507647764414623">"جارٍ حذف سجل الجلسة"</string> diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml index dd2c568f4..1b7cfc255 100644 --- a/java/res/values-ca/strings.xml +++ b/java/res/values-ca/strings.xml @@ -24,7 +24,7 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Teclat d\'Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Configuració del teclat d\'Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Opcions d\'entrada"</string> - <string name="english_ime_research_log" msgid="8492602295696577851">"Recerca d\'ordres de registre"</string> + <string name="english_ime_research_log" msgid="8492602295696577851">"Recerca d\'ordres de reg."</string> <string name="spell_checker_service_name" msgid="7338064335159755926">"Corrector ortogràfic d\'Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Corrector ortogràfic d\'Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Configuració de la correcció ortogràfica"</string> @@ -112,12 +112,12 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Entr. veu desactiv."</string> <string name="configure_input_method" msgid="373356270290742459">"Configura mètodes d\'entrada"</string> <string name="language_selection_title" msgid="1651299598555326750">"Idiomes d\'entrada"</string> - <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"Indica la marca horària al registre"</string> - <string name="notify_recorded_timestamp" msgid="8036429032449612051">"S\'ha enregistrat la marca horària"</string> - <string name="do_not_log_this_session" msgid="413762473641146336">"No registris aquesta sessió"</string> - <string name="notify_session_log_deleting" msgid="3299507647764414623">"S\'està suprimint el registre de la sessió"</string> - <string name="notify_session_log_deleted" msgid="8687927130100934686">"S\'ha suprimit el registre de la sessió"</string> - <string name="notify_session_log_not_deleted" msgid="2592908998810755970">"El registre d\'aquesta sessió NO s\'ha suprimit"</string> + <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"Indica m. horària al reg."</string> + <string name="notify_recorded_timestamp" msgid="8036429032449612051">"Marca horària enregistrada"</string> + <string name="do_not_log_this_session" msgid="413762473641146336">"No enregistris la sessió"</string> + <string name="notify_session_log_deleting" msgid="3299507647764414623">"Suprimint registre de ses."</string> + <string name="notify_session_log_deleted" msgid="8687927130100934686">"Registre de ses. suprimit"</string> + <string name="notify_session_log_not_deleted" msgid="2592908998810755970">"Registre de ses. NO sup."</string> <string name="select_language" msgid="3693815588777926848">"Idiomes d\'entrada"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Torna a tocar per desar"</string> <string name="has_dictionary" msgid="6071847973466625007">"Diccionari disponible"</string> diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml index 5ce2d5744..ffe2b2b3b 100644 --- a/java/res/values-cs/strings.xml +++ b/java/res/values-cs/strings.xml @@ -24,7 +24,7 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Klávesnice Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Nastavení klávesnice Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Možnosti zadávání textu a dat"</string> - <string name="english_ime_research_log" msgid="8492602295696577851">"Příkazy pro protokol"</string> + <string name="english_ime_research_log" msgid="8492602295696577851">"Příkazy vývoj. protokolu"</string> <string name="spell_checker_service_name" msgid="7338064335159755926">"Kontrola pravopisu Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Kontrola pravopisu Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Nastavení kontroly pravopisu"</string> diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml index 1939e69e4..5dcbf43ba 100644 --- a/java/res/values-el/strings.xml +++ b/java/res/values-el/strings.xml @@ -24,7 +24,7 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Πληκτρολόγιο Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Ρυθμίσεις πληκτρολογίου Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Επιλογές εισόδου"</string> - <string name="english_ime_research_log" msgid="8492602295696577851">"Αναζ.εντολ.αρχ.καταγρ."</string> + <string name="english_ime_research_log" msgid="8492602295696577851">"Έρευνα εντολών καταγραφής"</string> <string name="spell_checker_service_name" msgid="7338064335159755926">"Ορθογραφικός έλεγχος Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Ορθογραφικός έλεγχος Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Ρυθμίσεις ορθογραφικού ελέγχου"</string> @@ -112,12 +112,12 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Απεν. φωνητ. είσοδος"</string> <string name="configure_input_method" msgid="373356270290742459">"Διαμόρφωση μεθόδων εισαγωγής"</string> <string name="language_selection_title" msgid="1651299598555326750">"Γλώσσες εισόδου"</string> - <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"Χρον.σήμ. στο αρχ. κατ."</string> - <string name="notify_recorded_timestamp" msgid="8036429032449612051">"Καταγεγ. χρον. σήμ."</string> - <string name="do_not_log_this_session" msgid="413762473641146336">"Περ.συνδ.χωρίς αρχ.κατ."</string> - <string name="notify_session_log_deleting" msgid="3299507647764414623">"Διαγ.αρχ.κατ.περ.συνδ."</string> - <string name="notify_session_log_deleted" msgid="8687927130100934686">"Το αρχ.κατ.περ.συν.διαγρ."</string> - <string name="notify_session_log_not_deleted" msgid="2592908998810755970">"Το αρχ.κατ.περ.συν.ΔΕΝ διαγ."</string> + <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"Χρόνος στο αρχείο καταγρ."</string> + <string name="notify_recorded_timestamp" msgid="8036429032449612051">"Καταγεγραμμένος χρόνος"</string> + <string name="do_not_log_this_session" msgid="413762473641146336">"Χωρίς αρχείο καταγραφής"</string> + <string name="notify_session_log_deleting" msgid="3299507647764414623">"Διαγραφή αρχείου σύνδεσης"</string> + <string name="notify_session_log_deleted" msgid="8687927130100934686">"Αρχείο καταγρ. διαγράφηκε"</string> + <string name="notify_session_log_not_deleted" msgid="2592908998810755970">"Αρχείο καταγρ. ΔΕΝ διαγρ."</string> <string name="select_language" msgid="3693815588777926848">"Γλώσσες εισόδου"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Αγγίξτε ξανά για αποθήκευση"</string> <string name="has_dictionary" msgid="6071847973466625007">"Λεξικό διαθέσιμο"</string> diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml index 9d06a4148..c131e1278 100644 --- a/java/res/values-hi/strings.xml +++ b/java/res/values-hi/strings.xml @@ -114,7 +114,7 @@ <string name="language_selection_title" msgid="1651299598555326750">"इनपुट भाषा"</string> <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"लॉग में टाइमस्टैम्प नोट करें"</string> <string name="notify_recorded_timestamp" msgid="8036429032449612051">"रिकॉर्ड किया गया टाइमस्टैम्प"</string> - <string name="do_not_log_this_session" msgid="413762473641146336">"इस सत्र को लॉग नहीं करें"</string> + <string name="do_not_log_this_session" msgid="413762473641146336">"इस सत्र को लॉग न करें"</string> <string name="notify_session_log_deleting" msgid="3299507647764414623">"सत्र लॉग हटाया जा रहा है"</string> <string name="notify_session_log_deleted" msgid="8687927130100934686">"सत्र लॉग हटाया गया"</string> <string name="notify_session_log_not_deleted" msgid="2592908998810755970">"सत्र लॉग हटाया नहीं गया"</string> diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml index 94e8d8c3c..f8a198df2 100644 --- a/java/res/values-hr/strings.xml +++ b/java/res/values-hr/strings.xml @@ -115,7 +115,7 @@ <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"Zabilježi razdoblje u dnevniku"</string> <string name="notify_recorded_timestamp" msgid="8036429032449612051">"Zabilježeno razdoblje"</string> <string name="do_not_log_this_session" msgid="413762473641146336">"Ne bilježi ovu sesiju"</string> - <string name="notify_session_log_deleting" msgid="3299507647764414623">"Brisanje dnevnik sesije"</string> + <string name="notify_session_log_deleting" msgid="3299507647764414623">"Brisanje dnevnika sesije"</string> <string name="notify_session_log_deleted" msgid="8687927130100934686">"Izbrisan dnevnik sesije"</string> <string name="notify_session_log_not_deleted" msgid="2592908998810755970">"Dnevnik sesije NIJE izbrisan"</string> <string name="select_language" msgid="3693815588777926848">"Jezici unosa"</string> diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml index 680362e3e..523a855c7 100644 --- a/java/res/values-ro/strings.xml +++ b/java/res/values-ro/strings.xml @@ -115,8 +115,8 @@ <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"Înreg. marc. temp. jurnal"</string> <string name="notify_recorded_timestamp" msgid="8036429032449612051">"Marcaj temporal înregis."</string> <string name="do_not_log_this_session" msgid="413762473641146336">"Nu înregistraţi sesiunea"</string> - <string name="notify_session_log_deleting" msgid="3299507647764414623">"Ştergere jurnal sesiune"</string> - <string name="notify_session_log_deleted" msgid="8687927130100934686">"Jurnal sesiune eliminat"</string> + <string name="notify_session_log_deleting" msgid="3299507647764414623">"Se șterge jurnal sesiune"</string> + <string name="notify_session_log_deleted" msgid="8687927130100934686">"Jurnal de sesiune șters"</string> <string name="notify_session_log_not_deleted" msgid="2592908998810755970">"Jurnal sesiune neşters"</string> <string name="select_language" msgid="3693815588777926848">"Limbi de intrare"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Atingeţi din nou pentru a salva"</string> diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml index 6096a6fcc..f18de78bc 100644 --- a/java/res/values-sl/strings.xml +++ b/java/res/values-sl/strings.xml @@ -112,7 +112,7 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Glas. vnos je onem."</string> <string name="configure_input_method" msgid="373356270290742459">"Nastavitev načinov vnosa"</string> <string name="language_selection_title" msgid="1651299598555326750">"Jeziki vnosa"</string> - <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"V dnevniku zabeleži časovni žig"</string> + <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"V dnev. zabeleži čas. žig"</string> <string name="notify_recorded_timestamp" msgid="8036429032449612051">"Časovni žig zabeležen"</string> <string name="do_not_log_this_session" msgid="413762473641146336">"Brez dnevnika za to sejo"</string> <string name="notify_session_log_deleting" msgid="3299507647764414623">"Brisanje seje dnevnika"</string> diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml index 21a43cc2c..c2e743b45 100644 --- a/java/res/values-uk/strings.xml +++ b/java/res/values-uk/strings.xml @@ -24,7 +24,7 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Клавіатура Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Налашт-ня клавіат. Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Парам. введення"</string> - <string name="english_ime_research_log" msgid="8492602295696577851">"Команди для журн.дослідж."</string> + <string name="english_ime_research_log" msgid="8492602295696577851">"Команди журналу дослідж."</string> <string name="spell_checker_service_name" msgid="7338064335159755926">"Засіб перевірки орфографії Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Засіб перевірки орфографії Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Налаштування перевірки орфографії"</string> @@ -112,7 +112,7 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Голос. ввід вимкнено"</string> <string name="configure_input_method" msgid="373356270290742459">"Налаштування методів введення"</string> <string name="language_selection_title" msgid="1651299598555326750">"Мови вводу"</string> - <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"Указ. мітку часу в журн."</string> + <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"Мітка часу в журналі"</string> <string name="notify_recorded_timestamp" msgid="8036429032449612051">"Записана мітка часу"</string> <string name="do_not_log_this_session" msgid="413762473641146336">"Не реєструвати цю сесію"</string> <string name="notify_session_log_deleting" msgid="3299507647764414623">"Видалення журналу сесії"</string> diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml index 8dcb40720..9179e669b 100644 --- a/java/res/values-zh-rTW/strings.xml +++ b/java/res/values-zh-rTW/strings.xml @@ -115,9 +115,9 @@ <string name="note_timestamp_for_researchlog" msgid="1889446857977976026">"在紀錄中加註時間戳記"</string> <string name="notify_recorded_timestamp" msgid="8036429032449612051">"已記錄時間戳記"</string> <string name="do_not_log_this_session" msgid="413762473641146336">"不要記錄這個工作階段"</string> - <string name="notify_session_log_deleting" msgid="3299507647764414623">"正在刪除工作階段記錄"</string> - <string name="notify_session_log_deleted" msgid="8687927130100934686">"已刪除工作階段記錄"</string> - <string name="notify_session_log_not_deleted" msgid="2592908998810755970">"「未」刪除工作階段記錄"</string> + <string name="notify_session_log_deleting" msgid="3299507647764414623">"正在刪除工作階段紀錄"</string> + <string name="notify_session_log_deleted" msgid="8687927130100934686">"已刪除工作階段紀錄"</string> + <string name="notify_session_log_not_deleted" msgid="2592908998810755970">"「未」刪除工作階段紀錄"</string> <string name="select_language" msgid="3693815588777926848">"輸入語言"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"再次輕觸即可儲存"</string> <string name="has_dictionary" msgid="6071847973466625007">"可使用字典"</string> diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 5236591f6..00d4dfe93 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1804,14 +1804,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen @Override public void pickSuggestionManually(final int index, final CharSequence suggestion, - int x, int y) { - mConnection.beginBatchEdit(getCurrentInputConnection()); - pickSuggestionManuallyWhileInBatchEdit(index, suggestion, x, y); - mConnection.endBatchEdit(); - } - - public void pickSuggestionManuallyWhileInBatchEdit(final int index, - final CharSequence suggestion, final int x, final int y) { + final int x, final int y) { final SuggestedWords suggestedWords = mSuggestionsView.getSuggestions(); // If this is a punctuation picked from the suggestion strip, pass it to onCodeInput if (suggestion.length() == 1 && isShowingPunctuationList()) { @@ -1846,7 +1839,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen mKeyboardSwitcher.updateShiftState(); resetComposingState(true /* alsoResetLastComposedWord */); final CompletionInfo completionInfo = mApplicationSpecifiedCompletions[index]; + mConnection.beginBatchEdit(getCurrentInputConnection()); mConnection.commitCompletion(completionInfo); + mConnection.endBatchEdit(); if (ProductionFlag.IS_EXPERIMENTAL) { ResearchLogger.latinIME_pickApplicationSpecifiedCompletion(index, completionInfo.getText(), x, y); diff --git a/java/src/com/android/inputmethod/latin/RichInputConnection.java b/java/src/com/android/inputmethod/latin/RichInputConnection.java index 227990acc..0c19bed05 100644 --- a/java/src/com/android/inputmethod/latin/RichInputConnection.java +++ b/java/src/com/android/inputmethod/latin/RichInputConnection.java @@ -65,66 +65,70 @@ public class RichInputConnection { if (--mNestLevel == 0 && null != mIC) mIC.endBatchEdit(); } + private void checkBatchEdit() { + if (mNestLevel != 1) { + // TODO: exception instead + Log.e(TAG, "Batch edit level incorrect : " + mNestLevel); + Log.e(TAG, Utils.getStackTrace(4)); + } + } + public void finishComposingText() { - if (mNestLevel <= 0) Log.e(TAG, "Batch edit not in progress!"); // TODO: exception instead + checkBatchEdit(); if (null != mIC) mIC.finishComposingText(); } public void commitText(final CharSequence text, final int i) { - if (mNestLevel <= 0) Log.e(TAG, "Batch edit not in progress!"); // TODO: exception instead + checkBatchEdit(); if (null != mIC) mIC.commitText(text, i); } public int getCursorCapsMode(final int inputType) { - if (mNestLevel <= 0) Log.e(TAG, "Batch edit not in progress!"); // TODO: exception instead if (null == mIC) return Constants.TextUtils.CAP_MODE_OFF; return mIC.getCursorCapsMode(inputType); } public CharSequence getTextBeforeCursor(final int i, final int j) { - if (mNestLevel <= 0) Log.e(TAG, "Batch edit not in progress!"); // TODO: exception instead if (null != mIC) return mIC.getTextBeforeCursor(i, j); return null; } public CharSequence getTextAfterCursor(final int i, final int j) { - if (mNestLevel <= 0) Log.e(TAG, "Batch edit not in progress!"); // TODO: exception instead if (null != mIC) return mIC.getTextAfterCursor(i, j); return null; } public void deleteSurroundingText(final int i, final int j) { - if (mNestLevel <= 0) Log.e(TAG, "Batch edit not in progress!"); // TODO: exception instead + checkBatchEdit(); if (null != mIC) mIC.deleteSurroundingText(i, j); } public void performEditorAction(final int actionId) { - if (mNestLevel <= 0) Log.e(TAG, "Batch edit not in progress!"); // TODO: exception instead if (null != mIC) mIC.performEditorAction(actionId); } public void sendKeyEvent(final KeyEvent keyEvent) { - if (mNestLevel <= 0) Log.e(TAG, "Batch edit not in progress!"); // TODO: exception instead + checkBatchEdit(); if (null != mIC) mIC.sendKeyEvent(keyEvent); } public void setComposingText(final CharSequence text, final int i) { - if (mNestLevel <= 0) Log.e(TAG, "Batch edit not in progress!"); // TODO: exception instead + checkBatchEdit(); if (null != mIC) mIC.setComposingText(text, i); } public void setSelection(final int from, final int to) { - if (mNestLevel <= 0) Log.e(TAG, "Batch edit not in progress!"); // TODO: exception instead + checkBatchEdit(); if (null != mIC) mIC.setSelection(from, to); } public void commitCorrection(final CorrectionInfo correctionInfo) { - if (mNestLevel <= 0) Log.e(TAG, "Batch edit not in progress!"); // TODO: exception instead + checkBatchEdit(); if (null != mIC) mIC.commitCorrection(correctionInfo); } public void commitCompletion(final CompletionInfo completionInfo) { - if (mNestLevel <= 0) Log.e(TAG, "Batch edit not in progress!"); // TODO: exception instead + checkBatchEdit(); if (null != mIC) mIC.commitCompletion(completionInfo); } @@ -316,6 +320,7 @@ public class RichInputConnection { } public void removeTrailingSpace() { + checkBatchEdit(); final CharSequence lastOne = getTextBeforeCursor(1, 0); if (lastOne != null && lastOne.length() == 1 && lastOne.charAt(0) == Keyboard.CODE_SPACE) { @@ -372,6 +377,7 @@ public class RichInputConnection { } public boolean revertDoubleSpace() { + checkBatchEdit(); // Here we test whether we indeed have a period and a space before us. This should not // be needed, but it's there just in case something went wrong. final CharSequence textBeforeCursor = getTextBeforeCursor(2, 0); @@ -395,6 +401,7 @@ public class RichInputConnection { } public boolean revertSwapPunctuation() { + checkBatchEdit(); // Here we test whether we indeed have a space and something else before us. This should not // be needed, but it's there just in case something went wrong. final CharSequence textBeforeCursor = getTextBeforeCursor(2, 0); diff --git a/java/src/com/android/inputmethod/latin/Utils.java b/java/src/com/android/inputmethod/latin/Utils.java index 903b5a357..f2d21ab9b 100644 --- a/java/src/com/android/inputmethod/latin/Utils.java +++ b/java/src/com/android/inputmethod/latin/Utils.java @@ -204,18 +204,24 @@ public class Utils { } // Get the current stack trace - public static String getStackTrace() { + public static String getStackTrace(final int limit) { StringBuilder sb = new StringBuilder(); try { throw new RuntimeException(); } catch (RuntimeException e) { StackTraceElement[] frames = e.getStackTrace(); // Start at 1 because the first frame is here and we don't care about it - for (int j = 1; j < frames.length; ++j) sb.append(frames[j].toString() + "\n"); + for (int j = 1; j < frames.length && j < limit + 1; ++j) { + sb.append(frames[j].toString() + "\n"); + } } return sb.toString(); } + public static String getStackTrace() { + return getStackTrace(Integer.MAX_VALUE); + } + public static class UsabilityStudyLogUtils { // TODO: remove code duplication with ResearchLog class private static final String USABILITY_TAG = UsabilityStudyLogUtils.class.getSimpleName(); |