Check recorrection on focusing into a text field that has text already.
Bug: 3004827 Change-Id: I00e9d925fcf17fa9f7a9aefe6572a648e023be11main
parent
6e5a398685
commit
b8fa10080d
|
@ -676,10 +676,33 @@ public class LatinIME extends InputMethodService
|
||||||
inputView.setPreviewEnabled(mPopupOn);
|
inputView.setPreviewEnabled(mPopupOn);
|
||||||
inputView.setProximityCorrectionEnabled(true);
|
inputView.setProximityCorrectionEnabled(true);
|
||||||
mPredictionOn = mPredictionOn && (mCorrectionMode > 0 || mShowSuggestions);
|
mPredictionOn = mPredictionOn && (mCorrectionMode > 0 || mShowSuggestions);
|
||||||
|
// If we just entered a text field, maybe it has some old text that requires correction
|
||||||
|
checkReCorrectionOnStart();
|
||||||
checkTutorial(attribute.privateImeOptions);
|
checkTutorial(attribute.privateImeOptions);
|
||||||
if (TRACE) Debug.startMethodTracing("/data/trace/latinime");
|
if (TRACE) Debug.startMethodTracing("/data/trace/latinime");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkReCorrectionOnStart() {
|
||||||
|
if (mReCorrectionEnabled && 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);
|
||||||
|
if (et == null) return;
|
||||||
|
|
||||||
|
mLastSelectionStart = et.startOffset + et.selectionStart;
|
||||||
|
mLastSelectionEnd = et.startOffset + et.selectionEnd;
|
||||||
|
|
||||||
|
// Then look for possible corrections in a delayed fashion
|
||||||
|
if (!TextUtils.isEmpty(et.text)) postUpdateOldSuggestions();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFinishInput() {
|
public void onFinishInput() {
|
||||||
super.onFinishInput();
|
super.onFinishInput();
|
||||||
|
|
Loading…
Reference in New Issue