diff options
author | 2012-01-19 01:55:30 -0800 | |
---|---|---|
committer | 2012-01-19 01:55:30 -0800 | |
commit | 250cf0a781258afbfe45b8a7ad411aed08b3e873 (patch) | |
tree | 1b8a4349f774e95705eb45279699dfc85a11fd86 /java/src | |
parent | 8ae770f39bd445758333eec88f4d1d598c77555b (diff) | |
parent | 3b2112e70aa7474dbd0a879bfba5f7b1ce0a89ad (diff) | |
download | latinime-250cf0a781258afbfe45b8a7ad411aed08b3e873.tar.gz latinime-250cf0a781258afbfe45b8a7ad411aed08b3e873.tar.xz latinime-250cf0a781258afbfe45b8a7ad411aed08b3e873.zip |
Merge "Fix a bug with backspace happening after a manual pick."
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 5b4b31b10..d36140de6 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -2154,6 +2154,16 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar // "ic" must not be null private void restartSuggestionsOnManuallyPickedTypedWord(final InputConnection ic) { + // Note: this relies on the last word still being held in the WordComposer, in + // the field for suggestion resuming. + // Note: in the interest of code simplicity, we may want to just call + // restartSuggestionsOnWordBeforeCursorIfAtEndOfWord instead, but retrieving + // the old WordComposer allows to reuse the actual typed coordinates. + mWordComposer.resumeSuggestionOnKeptWord(); + // We resume suggestion, and then we want to set the composing text to the content + // of the word composer again. But since we just manually picked a word, there is + // no composing text at the moment, so we have to delete the word before we set a + // new composing text. final int restartLength = mWordComposer.size(); if (DEBUG) { final String wordBeforeCursor = @@ -2167,13 +2177,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar + wordBeforeCursor + "\""); } } + // Warning: this +1 takes into account the extra space added by the manual pick process. ic.deleteSurroundingText(restartLength + 1, 0); - - // Note: this relies on the last word still being held in the WordComposer - // Note: in the interest of code simplicity, we may want to just call - // restartSuggestionsOnWordBeforeCursorIfAtEndOfWord instead, but retrieving - // the old WordComposer allows to reuse the actual typed coordinates. - mWordComposer.resumeSuggestionOnKeptWord(); ic.setComposingText(mWordComposer.getTypedWord(), 1); mHandler.cancelUpdateBigramPredictions(); mHandler.postUpdateSuggestions(); |