Fix two issues that caused the exclusion for SeekBar thumbs to be to small and offset
from the thumb:
Account for padding and thumb offset; the thumb drawable is drawn with an offset
from the View's Canvas; the same offset must be applied when udpating the exclusion
rects.
The thumb is typically much smaller than the drag zone; the thumb rect alone doesn't
provide an appropriately large exclusion for reliably hitting it, so it is enlarged
to the height of the seek bar (up to 48dp).
Bug: 138992366
Test: manual, show exclusion zones with: adb shell setprop debug.pointerlocation.showexclusion 150 && adb shell settings put system pointer_location 1
Test: atest android.widget.AbsSeekBarTest
Change-Id: I2b670c6f3f33451bdccdfd3d75a75e90260257ff
StackView has ITEMS_SLIDE_UP mode and ITEMS_SLIDE_DOWN mode. In
ITEMS_SLIDE_UP mode, scroll forward is slide up and all pages go up
(page down action), scroll backward is slide down and all pages go down
(page up action). In ITEMS_SLIDE_DOWN mode, it is the opposite.
A video in ITEMS_SLIDE_UP MODE is here:
https://drive.google.com/file/d/1m5awAP7ja8tqSaSvNM_oDoVbaUeCa3l6/view?usp=sharing
Test: Tested with twisted talkback that in ITEMS_SLIDE_DOWN mode, page
down action is equivalent to scroll backward, and page up is equivalent
to scroll forward.
Bug: 136277517
Change-Id: I52b2af231781fa04cec5815db2e573a9014e434b
Since the core implementation of TabHost is LocalActivityManager, which
was deprecated for several years. It does not make sense to maintain
TabHost and TabWidget.
Test: flash and build
Bug: 137825207
Change-Id: Ifb62dbe68c8ada8499dd5336a189c803f2ae3dc1
Test: Twisted talkback code to perform scroll down when scroll forward
is called. Verfied that scroll down is successfully performed in the
framework code and the number picker behaves correctly. Also verifed the
scroll up/down actions are correctly added to AccessibilityNodeInfo.
Bug: 136277517
Change-Id: I540d2ed3bf4e6b733668853182bd38faa8545997
Sys UI runs on user 0. This can lead to the TextClassifier (TC)
running for the wrong user. Consequencies are user A can launch apps
in user B via the TC's predicted actions and selected text being
unintentionally shared from user A to an app running in user B.
This fix ensures that the correct user id is passed and verified for
every TC request going across process boundaries (i.e. via SystemTC).
- Sys UI sets the appropriate user id in the TextView
- TextClassificationManager (TCM) system service is constructed using
a context generated from this user id
- SystemTC sets this user id before querying the TCMService
- TCMService validates the user id before forwarding the request to
the TCService belonging to that user id.
Bug: 136483597
Test: atest android.view.textclassifier
atest android.widget.TextViewActivityTest
(manual) Verified according to steps in bug 123232892
Change-Id: I2fdffd8eb4221782cb1f34d2ddbe41dd3d36595c
In Q, these APIs were either:
- removed from the greylist entirely without good reason
- Moved to the restricted greylist without any public alternative
information added
So they are being moved back to the greylist for Q.
Test: Treehugger
Bug: 136102585
Change-Id: I5ac8b8b9b23c3789d80239cf456072cc7dfa1203