diff options
Diffstat (limited to 'core/java/android/webkit/WebTextView.java')
| -rw-r--r-- | core/java/android/webkit/WebTextView.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/core/java/android/webkit/WebTextView.java b/core/java/android/webkit/WebTextView.java index 59a239ab9563..6e1a6fcba4bb 100644 --- a/core/java/android/webkit/WebTextView.java +++ b/core/java/android/webkit/WebTextView.java @@ -1087,7 +1087,7 @@ import junit.framework.Assert; */ /* package */ void setTextAndKeepSelection(String text) { mPreChange = text.toString(); - Editable edit = (Editable) getText(); + Editable edit = getText(); int selStart = Selection.getSelectionStart(edit); int selEnd = Selection.getSelectionEnd(edit); mInSetTextAndKeepSelection = true; @@ -1097,6 +1097,12 @@ import junit.framework.Assert; if (selEnd > newLength) selEnd = newLength; Selection.setSelection(edit, selStart, selEnd); mInSetTextAndKeepSelection = false; + InputMethodManager imm = InputMethodManager.peekInstance(); + if (imm != null && imm.isActive(this)) { + // Since the text has changed, do not allow the IME to replace the + // existing text as though it were a completion. + imm.restartInput(this); + } updateCachedTextfield(); } |
