diff options
author | 2010-12-06 06:38:00 -0800 | |
---|---|---|
committer | 2010-12-06 06:38:00 -0800 | |
commit | af8b626e68cfd6ca30a061e087ff6eb28b509df5 (patch) | |
tree | 0e48b8610a94bb1ed15df62967a9f4bea1eb521d /java/src | |
parent | 48e432ceb830c1932bd4f52d5fd2780b94685bf7 (diff) | |
parent | d024ea605cc6b5b0b9fa1bd838d5b0ebd3901a5d (diff) | |
download | latinime-af8b626e68cfd6ca30a061e087ff6eb28b509df5.tar.gz latinime-af8b626e68cfd6ca30a061e087ff6eb28b509df5.tar.xz latinime-af8b626e68cfd6ca30a061e087ff6eb28b509df5.zip |
Merge "Fix an issue with lingering composing span underline after orientation changes"
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 702731e6d..3089153ad 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -645,13 +645,18 @@ public class LatinIME extends InputMethodService } private void checkReCorrectionOnStart() { - if (mReCorrectionEnabled && isSuggestionShown() && isPredictionOn()) { + if (!mReCorrectionEnabled) return; + + final InputConnection ic = getCurrentInputConnection(); + if (ic == null) return; + // There could be a pending composing span. Clean it up first. + ic.finishComposingText(); + + if (isSuggestionShown() && isPredictionOn()) { // 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/Stop because onUpdateSelection() has // not been called yet. - InputConnection ic = getCurrentInputConnection(); - if (ic == null) return; ExtractedTextRequest etr = new ExtractedTextRequest(); etr.token = 0; // anything is fine here ExtractedText et = ic.getExtractedText(etr, 0); @@ -677,8 +682,7 @@ public class LatinIME extends InputMethodService mVoiceConnector.flushVoiceInputLogs(mConfigurationChanging); KeyboardView inputView = mKeyboardSwitcher.getInputView(); - if (inputView != null) - inputView.closing(); + if (inputView != null) inputView.closing(); if (mAutoDictionary != null) mAutoDictionary.flushPendingWrites(); if (mUserBigramDictionary != null) mUserBigramDictionary.flushPendingWrites(); } @@ -687,8 +691,7 @@ public class LatinIME extends InputMethodService public void onFinishInputView(boolean finishingInput) { super.onFinishInputView(finishingInput); KeyboardView inputView = mKeyboardSwitcher.getInputView(); - if (inputView != null) - inputView.setForeground(false); + if (inputView != null) inputView.setForeground(false); // Remove pending messages related to update suggestions mHandler.cancelUpdateSuggestions(); mHandler.cancelUpdateOldSuggestions(); |