diff options
author | 2010-09-29 16:15:28 -0700 | |
---|---|---|
committer | 2010-09-29 16:15:28 -0700 | |
commit | 4d158dc2779ffff8c92a41f32e6885bd0f155fc3 (patch) | |
tree | 69b7c1c3c322474f48e7305a2f4e418644cba3e5 /java/src | |
parent | ab1348e8527dfee93520586fc4e0c23947fdcd03 (diff) | |
parent | 15b840cd48184fc33b294c15eaaf28ac05393a43 (diff) | |
download | latinime-4d158dc2779ffff8c92a41f32e6885bd0f155fc3.tar.gz latinime-4d158dc2779ffff8c92a41f32e6885bd0f155fc3.tar.xz latinime-4d158dc2779ffff8c92a41f32e6885bd0f155fc3.zip |
am 15b840cd: Merge "Check recorrection on focusing into a text field that has text already." into gingerbread
Merge commit '15b840cd48184fc33b294c15eaaf28ac05393a43' into gingerbread-plus-aosp
* commit '15b840cd48184fc33b294c15eaaf28ac05393a43':
Check recorrection on focusing into a text field that has text already.
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 26f8a328b..0bfcc0704 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -676,10 +676,33 @@ public class LatinIME extends InputMethodService inputView.setPreviewEnabled(mPopupOn); inputView.setProximityCorrectionEnabled(true); 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); 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 public void onFinishInput() { super.onFinishInput(); |