summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/ViewRootImpl.java6
-rw-r--r--core/java/android/view/inputmethod/InputMethodManager.java5
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