Few improvements for Companion widget APIs
1. reset ViewRootImpl#mLastClickToolType for KeyEvents 2. move EditorInfo#mInitialToolType initialization so we dont explicitly hold lock for one line of code. Bug: 233108064 Test: atest CtsInputMethodTestCases Change-Id: I76d3c4c14928a2eb4c1cda48dd3b9a866963d06f
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user