diff options
author | 2013-07-01 07:12:23 +0000 | |
---|---|---|
committer | 2013-07-01 07:12:24 +0000 | |
commit | 70ee2201a09af63f9fc87b408cc9b48c25a39605 (patch) | |
tree | f2691dd43ed842d82653c818a24e6efe7d48a285 /java/src/com/android/inputmethod/latin/LatinIME.java | |
parent | 3f0858eb2bcb9414dd94e01991b02c785af7b871 (diff) | |
parent | f0af452ce261590b5978a1bb679ce27b71f9dc70 (diff) | |
download | latinime-70ee2201a09af63f9fc87b408cc9b48c25a39605.tar.gz latinime-70ee2201a09af63f9fc87b408cc9b48c25a39605.tar.xz latinime-70ee2201a09af63f9fc87b408cc9b48c25a39605.zip |
Merge "Do not re-resume suggestion if it's not needed."
Diffstat (limited to 'java/src/com/android/inputmethod/latin/LatinIME.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 0560cf528..f3fc3177b 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -961,7 +961,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // TODO: is it still necessary to test for composingSpan related stuff? final boolean selectionChangedOrSafeToReset = selectionChanged || (!mWordComposer.isComposingWord()) || noComposingSpan; - if (selectionChangedOrSafeToReset) { + final boolean hasOrHadSelection = (oldSelStart != oldSelEnd + || newSelStart != newSelEnd); + final int moveAmount = newSelStart - oldSelStart; + if (selectionChangedOrSafeToReset && (hasOrHadSelection + || !mWordComposer.moveCursorByAndReturnIfInsideComposingWord(moveAmount))) { // If we are composing a word and moving the cursor, we would want to set a // suggestion span for recorrection to work correctly. Unfortunately, that // would involve the keyboard committing some new text, which would move the @@ -2535,6 +2539,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } } mWordComposer.setComposingWord(typedWord, mKeyboardSwitcher.getKeyboard()); + // TODO: this is in chars but the callee expects code points! mWordComposer.setCursorPositionWithinWord(numberOfCharsInWordBeforeCursor); mConnection.setComposingRegion( mLastSelectionStart - numberOfCharsInWordBeforeCursor, |