Merge "Few improvements for Companion widget APIs"
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index dd47bcd..12bc169 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -6406,6 +6406,12 @@
// 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 a01decc..8d3cf6d 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -2331,9 +2331,6 @@
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);
@@ -2373,6 +2370,8 @@
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