diff options
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 6 | ||||
| -rw-r--r-- | core/java/android/view/inputmethod/InputMethodManager.java | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index f79f0d49959d..c90d6161acb0 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -6403,6 +6403,12 @@ public final class ViewRootImpl implements ViewParent, // Make sure the fallback event policy sees all keys that will be // delivered to the view hierarchy. mFallbackEventHandler.preDispatchKeyEvent(event); + + // Reset last tracked MotionEvent click toolType. + if (event.getAction() == KeyEvent.ACTION_DOWN) { + mLastClickToolType = MotionEvent.TOOL_TYPE_UNKNOWN; + } + return FORWARD; } diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java index 0c03d109f649..7addf36308f3 100644 --- a/core/java/android/view/inputmethod/InputMethodManager.java +++ b/core/java/android/view/inputmethod/InputMethodManager.java @@ -2341,9 +2341,6 @@ public final class InputMethodManager { editorInfo.packageName = view.getContext().getOpPackageName(); editorInfo.autofillId = view.getAutofillId(); editorInfo.fieldId = view.getId(); - synchronized (mH) { - editorInfo.setInitialToolType(mCurRootView.getLastClickToolType()); - } InputConnection ic = view.onCreateInputConnection(editorInfo); if (DEBUG) Log.v(TAG, "Starting input: editorInfo=" + editorInfo + " ic=" + ic); @@ -2383,6 +2380,8 @@ public final class InputMethodManager { startInputFlags |= StartInputFlags.INITIAL_CONNECTION; } + editorInfo.setInitialToolType(mCurRootView.getLastClickToolType()); + // Hook 'em up and let 'er rip. mCurrentEditorInfo = editorInfo.createCopyInternal(); // Store the previously served connection so that we can determine whether it is safe |