Due to changes in R, the a11y framework no longer dispatches touch
events for a long press. This prevents the activation of EditText's floating menu.
We can re-enable it by implementing the proper a11y action
ACTION_LONG_CLICK. The menu itself is diffult to access through TalkBack's linear
navigation, but this is future work for a separate known issue.
Start and stop the menu for editable TextViews, which includes EditTexts.
Since touch events are no longer sent by a11y, separate the
accessibility handling from the touch handling infrastructure for long clicks in Editor.
We can't go through the main performLongClick code because it doesn't
actually start the action mode but rather sets pending, which routes
back to TextView. There's too little separation between the touch events and action logic.
Whoever touches the performLongClick code may need to also make
corresponding changes to the a11y path, but I suspect this won't happen often.
Remove the onInitializeA11yNodeInfo override for EditText because this
is handled by TextView.
Bug: 148127445
Test: Tested text fields in various apps. ag/10602004. atest
FrameworksCoreTests:TextViewActivityTest#testToolbarAppearsAccessibilityLongClick
Change-Id: I3958e5b80e6156e03c99335e0d0b671438965ebb
(cherry picked from commit 3f1203fb78)
Merged-In: I3958e5b80e6156e03c99335e0d0b671438965ebb
1. libtextclassifier and libtextclassifier-java are no longer built
into framework/base.
2. Removed local text classifier code
3. Removed local text classifier test code.
All of them should be already moved to libtextclassifier/tcs side.
4. Unify all the TC related log tags to "androidtc".
BUG: 147412216
Test: mts-tradefed run mts-extservices
Test: atest frameworks/base/core/java/android/view/textclassifier
Test: Sanity test: Smart selection
Change-Id: Icb1076153f51d5674c8a6c58681ffed5aa772149
This is already effectively an API the way it is documented.
Updating all the references of the hard-coded constant.
Test: make update-api && make
Bug: 151112929
Change-Id: Iadeb03c516215cfc51bc8604b67250348d5a4375
This cl also fixes the way to simulate the touch events in EditorCursorDragTest, with correct raw X/Y.
Bug: 150534899
Test: manual & automated tests
atest FrameworksCoreTests:EditorCursorDragTest
atest FrameworksCoreTests:TextViewActivityTest
Change-Id: I0e9ef73082534ab98ddeddee0218374ed6d556a2
1. Remove the internal using argument, ACTION_ARGUMENT_IME_ACTION_ID_INT.
2. Add more descriptions about this accessibility action, ACTION_IME_ENTER
Bug: 150831470
Test: atest AccessibilityTextActionTest
Change-Id: Icfebdf280e3441bf7b2b6f55c3febbe3a1d98de6
The package name test is safe:
* If it's used by Toast class in an app, apps have access to layout
params anyway via getWindowParams() and applied flag is already
protected by INTERNAL_SYSTEM_WINDOW permission.
* If it's used by ToastUI class in sys UI on behalf of another app,
sys UI is trusted domain and can't be messed up by another app. It
also has INTERNAL_SYSTEM_WINDOW permission.
Bug: 149408635
Test: atest ToastUITest android.widget.cts.ToastTest
android.widget.cts29.ToastTest android.server.wm.ToastTest
Test: Change phone to vibration/silent in secondary user and observe
toast is displayed.
Change-Id: I227e9f74166300fcb3ba8f3871b464afe6ec6a28
Merged-In: I227e9f74166300fcb3ba8f3871b464afe6ec6a28
(cherry picked from commit caef507aa9)
Extract window layout construction and view inflation from Toast and
ToastUI into common @hide class ToastPresenter. This is desirable by
itself but also in preparation for making system toasts visible to all
users.
Bug: 149408635
Test: atest ToastUITest android.widget.cts.ToastTest
android.widget.cts29.ToastTest android.server.wm.ToastTest
Change-Id: Ifdd7ee37687da2e4c7abed61569cf342f95b2611
Merged-In: Ifdd7ee37687da2e4c7abed61569cf342f95b2611
(cherry picked from commit aea2c50cd8)
Sometimes, we have seen cases that Popupwindow is located in the wrong place.
So we suggest some modification of logics in tryFitVertical and tryFitHorizontal methods of PopupWindow.
In those methods, there exists a statement whether the positions of anchor (anchorTopInScreen and anchorLeftInScreen) are bigger than 0.
However, there are some cases that those values become positive even though corresponding popup windows are not visible to user (places out of window area),
especially on devices with displaycuout, or apps with multiwindow modes.
So we modify to the anchor's top and left position values should be compared with top and left value of displayFrame, respectively, not 0.
Test: CtsWidgetTestCases:test android.widget.cts.PopupWindowTest
Bug: b/135749682
When dragging the cursor...
1) If the touch moves slightly above or below the current line, we keep
moving the cursor along the same line without jumping up and down across
lines.
2) When the drag motion moves downward, jumping to the lower line is
delayed to allow the user's touch to snap to the cursor's handle. Once
the touch is over the handle, we position the cursor above the user's
actual touch (offset such that the finger remains over the handle rather
than on top of the cursor vertical bar). This improves the visibility of
the cursor and the text underneath.
Bug: 148116165
Test: Manually and ran automated tests
atest FrameworksCoreTests:EditorCursorDragTest
atest FrameworksCoreTests:TextViewActivityTest
atest FrameworksCoreTests:TextViewActivityMouseTest
Change-Id: I88432cbc5a7f1a47cd35866f2001d51d3f66828b
And also limits the pre-magnified line height:
- If the text line height is too big, don't show the magnifier.
- If the text line height is too small, enlarges the zoom factor so
that the magnified text can be seen clearly.
Bug: 77791703, 148181186
Test: locally verified.
Change-Id: I4cf56e0a54fda6b23dafe153040fe5ba206f5f1f
These won't work with the BLAST adapter since the Surface isn't
known to the server side. We just convert them in to the other
variant of defer transaction calls.
Bug: 146598493
Bug: 149251083
Test: Existing tests pass
Change-Id: I34fc4bb90114bae8b0d9ffdee5c91a2371e5c240
Originally it uses the text height from the font metrics which is wrong
when the spanned text is smaller than the font metrics.
Test: locally verified.
Bug: 149287208
Change-Id: I91a87200e477faece543a8890aeccd5b7eed9f0b
The new fisheye magnifier is showed inline on the text.
It doens't make sense to have an animation when switching lines
vertically.
Test: locally verfiied.
Bug: 149058653
Change-Id: I36b6894f6954a8adf5a3097ebb7a5c5def292d07