diff options
Diffstat (limited to 'core/java/android/widget/TextView.java')
| -rw-r--r-- | core/java/android/widget/TextView.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 07a9a5fad6e2..1a37b595287d 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -6285,11 +6285,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener || needEditableForNotification) { createEditorIfNeeded(); mEditor.forgetUndoRedo(); + mEditor.scheduleRestartInputForSetText(); Editable t = mEditableFactory.newEditable(text); text = t; setFilters(t, mFilters); - InputMethodManager imm = getInputMethodManager(); - if (imm != null) imm.restartInput(this); } else if (precomputed != null) { if (mTextDir == null) { mTextDir = getTextDirectionHeuristic(); @@ -6408,8 +6407,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener notifyListeningManagersAfterTextChanged(); } - // SelectionModifierCursorController depends on textCanBeSelected, which depends on text - if (mEditor != null) mEditor.prepareCursorControllers(); + if (mEditor != null) { + // SelectionModifierCursorController depends on textCanBeSelected, which depends on text + mEditor.prepareCursorControllers(); + + mEditor.maybeFireScheduledRestartInputForSetText(); + } } /** |
