Fix an issue with lingering composing span underline after orientation changes
bug: 3246868 Change-Id: Id3887953e195281d677f31fba5feca1e60016bfamain
parent
4e24668a75
commit
d024ea605c
|
@ -645,13 +645,18 @@ public class LatinIME extends InputMethodService
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkReCorrectionOnStart() {
|
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
|
// 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
|
// it can pass the correct range to setComposingRegion(). At this point, we don't
|
||||||
// have valid values for mLastSelectionStart/Stop because onUpdateSelection() has
|
// have valid values for mLastSelectionStart/Stop because onUpdateSelection() has
|
||||||
// not been called yet.
|
// not been called yet.
|
||||||
InputConnection ic = getCurrentInputConnection();
|
|
||||||
if (ic == null) return;
|
|
||||||
ExtractedTextRequest etr = new ExtractedTextRequest();
|
ExtractedTextRequest etr = new ExtractedTextRequest();
|
||||||
etr.token = 0; // anything is fine here
|
etr.token = 0; // anything is fine here
|
||||||
ExtractedText et = ic.getExtractedText(etr, 0);
|
ExtractedText et = ic.getExtractedText(etr, 0);
|
||||||
|
@ -677,8 +682,7 @@ public class LatinIME extends InputMethodService
|
||||||
mVoiceConnector.flushVoiceInputLogs(mConfigurationChanging);
|
mVoiceConnector.flushVoiceInputLogs(mConfigurationChanging);
|
||||||
|
|
||||||
KeyboardView inputView = mKeyboardSwitcher.getInputView();
|
KeyboardView inputView = mKeyboardSwitcher.getInputView();
|
||||||
if (inputView != null)
|
if (inputView != null) inputView.closing();
|
||||||
inputView.closing();
|
|
||||||
if (mAutoDictionary != null) mAutoDictionary.flushPendingWrites();
|
if (mAutoDictionary != null) mAutoDictionary.flushPendingWrites();
|
||||||
if (mUserBigramDictionary != null) mUserBigramDictionary.flushPendingWrites();
|
if (mUserBigramDictionary != null) mUserBigramDictionary.flushPendingWrites();
|
||||||
}
|
}
|
||||||
|
@ -687,8 +691,7 @@ public class LatinIME extends InputMethodService
|
||||||
public void onFinishInputView(boolean finishingInput) {
|
public void onFinishInputView(boolean finishingInput) {
|
||||||
super.onFinishInputView(finishingInput);
|
super.onFinishInputView(finishingInput);
|
||||||
KeyboardView inputView = mKeyboardSwitcher.getInputView();
|
KeyboardView inputView = mKeyboardSwitcher.getInputView();
|
||||||
if (inputView != null)
|
if (inputView != null) inputView.setForeground(false);
|
||||||
inputView.setForeground(false);
|
|
||||||
// Remove pending messages related to update suggestions
|
// Remove pending messages related to update suggestions
|
||||||
mHandler.cancelUpdateSuggestions();
|
mHandler.cancelUpdateSuggestions();
|
||||||
mHandler.cancelUpdateOldSuggestions();
|
mHandler.cancelUpdateOldSuggestions();
|
||||||
|
|
Loading…
Reference in New Issue