Support receiving touch event in the inline suggestion view
* Before this change, the suggestionRoot would intercept all touch events so that it can optionally forward them to the IME process to support scrolling, no touch event will be sent to the child view through the regular event dispatching process. * With this change, we move the touch event transferring (to IME) logic from SuggestionRoot's onTouchEvent to dispatchTouchEvent. Now the touch events before a scroll is detected will be sent to the child chip view, and only the touch events after a scroll is detected will be sent to the IME. * This patch also move the OnClickListener and OnLongClickListener from the root view to the chip view, since the touch events now either goes to the chip view or to the IME process. * Note that in order to achieve this, given that we can't change the API, and there is existing OnLongClickListener registered to the chip view, we have to add a @hide API to the View to get the existing OnLongClickListener and attach a new one to the chip view, such that we can do the additional work of sending the long click event to IME, when the view is long clicked. * This patch should also fix the a11y talkback mode bug where double-tapping on the view doesn't autofill the value. Double-tap and hold also works that it triggers the attribution dialog. Test: atest CtsAutoFillServiceTestCases (sanity test) Bug: 155245913 Bug: 154149807 Change-Id: I6f7be1ea5c0955969abb4ccae0cb421423095c4d
Loading
Please register or sign in to comment