The accessibility focus node id isn't updated if the focus window id
doesn't change.
Bug: 144958088
Test: a11y CTS & unit tests
Change-Id: I67e57fb036efa4b89c7b5148fb7cef9dbdd37b7b
Set allow app switches so the accessibility service can start activity
without delay.
Bug: 141873810
TEST: atest AccessibilityServiceConnectionTest
Change-Id: I4204c4cf0baa1f66d6d2d73d56a342ae803d24dd
After an accessibility service crashes a few times in a short period
of time, framework would add it into a “blacklist”. User wouldn’t be
able to use (re-enable) it. If users express an intent in them working
again, we remove the crashed accessibility service from the blacklist.
Bug: 129689483
Test: a11y CTS & unit tests
Test: manual
1. Install and enable an intentional crashed a11y service.
2. After it's crashed and malfunctioning, re-enable it.
3. Check if it's bound again.
Change-Id: Ia89121f11bc5e05fc829e0e3ecb266150409678b
Since we have proper states now this only serves as extra coupling to the gesture detector.
Bug: 136131815
Test: atest CtsAccessibilityTestCases CtsAccessibilityServiceTestCases
Test: atest FrameworksServicesTests:TouchExplorerTest
Change-Id: I3be0f05e6492abad6a79f5167aaa61325dc5e9e6
- New class AccessibilityShortcutInfo to describe accessibility
shortcut.
- New Intent category for the target of accessibility shortcut
Bug: 136293963
Test: atest AccessibilityShortcutInfoTest
Change-Id: Id47d397a03f3f710368550e551097214c7839943
1. Implementing the new API for supporting multi-display.
SparseArray<List<AccessibilityWindowInfo>> getWindowsOnAllDisplays()
2. Modifying the documents of this API and its function is to get the window lists of
default display.
List<AccessibilityWindowInfo> getWindows()
Bug: 133279356
Test: a11y CTS & unit tests
Change-Id: Id4e874f43390bdf4196d106a44bbca18bf9fd1d6
Right now we just send null. This was a todo to be fixed and will mean that the event stream operates consistently.
Bug: 136131815
Test: atest CtsAccessibilityTestCases CtsAccessibilityServiceTestCases
Test: atest FrameworksServicesTests:TouchExplorerTest FrameworksServicesTests:MotionEventInjectorTest
Change-Id: I4578ef4ffe6d3c3e4fc2aa2d06fc0caaa8bb9713
Also combine event-sending code with what used to be the InjectedPointerTracker class because that class was used for sending events anyway.
Bug: 136131815:
Test: atest CtsAccessibilityTestCases CtsAccessibilityServiceTestCases FrameworksServicesTests:TouchExplorerTest
Change-Id: I7fae3dc958642d8fae61b9120c732d27af16fca9
Add a null check before flattening the component name.
Bug: 132345003
Test: Null check. Existing unit tests still pass.
Change-Id: I1df04f97d5cad1cecc503b068e3036913aa46811
The Next-Generation Assistant can call SysUI to request a screenshot.
Adding an indicator that a screenshot has completed successfully enables
the Next-Generation Assistant to show the assistant UI again once the
screenshot has completed.
Bug: 137201206
Bug: 131082115
Test: Wired up SysUIG's NGA integration's touch outside handler to call
take screenshot, confirmed it behaved as expected when a touch outside
occurred.
Change-Id: Ie83af6c9dd8e93b3e18a820d79c02125a19bd62a
1. Passing the correct displayId when calling API,
AccessibilityWindowManager#getWindowListLocked().
(The method, getWindows(), only returns the windows of default display)
2. Passing the correct displayId when calling API,
WindowManagerService#computeWindowsForAccessibility().
Bug: 134891479
Test: a11y CTS & unit tests
Test: manually test talkback AP at second display
Change-Id: I1141521d383f3c3efcf1ee32af54e12d0fcf4231
STATE_CLEAR represents an initial state where no fingers are down. STATE_TOUCH_INTERACTING is where we try to detect the user's intent.
Bug: 136131815
Test: atest CtsAccessibilityServiceTestCases FrameworksServicesTests:TouchExplorerTest
Change-Id: Ifac5ab2556d5d16e6326fec1f92064cb6987b519
Using default instead of private results in an unexpected fail on
FrameworksServicesTests. Change to public to fix it.
Fix: 139853891
Test: a11y CTS & unit tests
Change-Id: I307d4f0da96310c310cbd407249b410608e0d0cd
1. Getting all valid displays and starting or stopping the window
tracking when accessibility service enabled or disabled.
2. Updating the window tracking when any display is added or removed.
3. Making DisplayWindowsObserver class to be plural for multiple display.
Bug: 132854721
Test: a11y CTS & unit tests
Test: manually test talkback AP at second display
Change-Id: I1691f5c2092393a6ed396623e437e5d27e0cee9a
The method isCalledForCurrentedUserLocked() is used to check if
callers have privilege to perform some actions. However, calling
A11ySecurityPolict#resolveCallingUserIdEnforcingPermissionsLocked
may get SecurityException when calls from different users without
permissions directly. Checking the calling UID and user without
throwing SecurityException for active a11y service instead of the
original one.
Bug: 62958230
Test: a11y CTS & unit tests
Change-Id: I0062612bc73d507db21e151dccaf6609d9e0eaf4
The virtaul display with private flag can't be access by other process.
To prevent AceesibilityService redispatches/injects motionevents on it,
We don't add it to valid displayList.
Bug: 138637403
Test: AccessibilityInputFilterTest
Test: AccessibilityGestureDectorTest
Change-Id: I7b60e4eee87b0812d3c882d0e45bbf2016190e6a
Given the number of classes that are going to be created (gesture detectors, TouchExplorer state handlers) it made sense to put them into their own package.
Bug: 136131815
Test: atest CtsAccessibilityServiceTestCases CtsAccessibilityTestCases
Change-Id: Ie347424ecd7518a7c5a4fdefdca5b4886b1fd8e4
New api for a11y service to specify display id and return
accessibilitybutton controller per display.
Bug: 120762691
Test: a11y CTS & unit tests
Change-Id: I859c3b1257da3c3ad32dc23601134f42e11a4d07
Although we have MotionEventInjector for each display but it always
inject events to default display. We set display id of the motion events
to make it correct.
Test: atest MotionEventInjectorTest
Test: atest AccessibilityGestureDetectorTest
Test: atest AccessibilityServiceConnectionTest
Bug: 138422679
Change-Id: I8cfbe9887109e001ea64ca0c250606684be370e7