- Add test cases to check sent action-change-to-non-move motion events
is not contain history.
- Fix AccessilityGestureDetector TODO that will affect atest test fail
Bug: 74069091
Test: atest FrameworksServicesTests:TouchExplorerTest FrameworksServicesTests:AccessibilityGestureDetectorTest
Change-Id: Iae4321eaeea15021dfed4503da4665398d899c07
It leaves empty string instead of null for the value of
secure.enabled_accessibility_services. It may cause other tests
fails.
Bug: 111317486
Test: atest CtsAccessibilityServiceTestCases
Test: manual check the value of settings providers after test
Change-Id: I3f882ba00145ffa555514117c4684aec9ce33947
TouchExplorer doesn't check for double tap (and hold) so there may
be duplicated TYPE_TOUCH_INTERACTION_START/END events.
Bug: 66730372
Test: manual
Test: CtsAccessibilityServiceTestCases
Test: CtsAccessibilityTestCases
Change-Id: Iece13d3a401f13d8a7dcda2147b2865eee5e5f33
Move events may contain a history of other move events. When we split
the event, each of the resulting events has history. When the system
dispatches the events, it also dispatches the ones in the history.
We change these events with actions which are NOT ACTION_MOVE and
inject to input. But those histories are no longer consistent with what
happened and are causing InputDispatcher::injectInputEvent to enqueue
duplicated events of each historical pointer coord.
Bug: 74069091
Test: manual
Test: atest CtsAccessibilityTestCases
Test: atest CtsAccessibilityServiceTestCases
Change-Id: I2a9f5526cbeecfcc379f86624607190e16265405
If the disabled service is the last service to magnify, reset the
magnification.
Bug: 28623059
Test: manual
Test: atest CtsAccessibilityTestCases
Test: atest CtsAccessibilityServiceTestCases
Test: testResetIfNeeded_resetsOnlyIfLastMagnifyingServiceIsDisabled
Change-Id: I6b12a5251b5fede8d2c9eb06048bf9fa4bd70f8b
Allow a11y services to request that the soft keyboard be
shown even when the hard keyboard is attached.
Defer to users who override this behavior, and put things
back the way they were when a service requesting this
behavior stops.
Bug: 31012180
Test: Adding CTS tests in linked CL, ran a11y unit tests,
modified TestBack to use the new flag and verified behavior
with a hard keyboard and verfied that settings behave as
expected when overriding and rebooting.
Change-Id: I530481e102ac376a4506b662862ee1ee74815b40
It only returns true if magnification changes from magnifying to
non-magnifying. This is inconsistent with the docs. Return true if
the magnification scale and center is reset.
Bug: 64616261
Test: atest CtsAccessibilityTestCases
Test: atest CtsAccessibilityServiceTestCases
Change-Id: I0c496c5c45c2e35025f1887842a2a9741c440af1
TouchExplorer uses raw event in both a11y and standard gestures
detection, but transformed event in following movement. This
inconsistency causes significant difference of distance between
their locations when screen is magnified and long press would fail.
Passing transformed events for standard gesture detector instead.
Bug: 67378068
Test: manually test if double tap and hold works while Talkback
and Magnification are both enabled.
Test: manually test if Talkback and Magnification work as expected.
Test: AccessibilityGestureDetectorTest
Change-Id: I0e1dc59e25bc36f1f99ba6ecdb05c9c488b6f47e
This is for the event that a key has been intercepted, sent to the app,
and the app hasn't handled it yet. If the connection dies, the key is
lost. So flush all pending keys.
Test: Unit test (this would have caught me introducing this bug in the
first place).
Bug:74593001
Change-Id: I5a94aafe5c58f18a3e9ca46f7cd5a9cb71d38aaa
One heavy dependence between the current AMS service and activities
is process management which is heavy affected by activities and their
current state. We introduce WindowProcessController and WindowProcessListener
objects as a structured way for the process changes in AM package to
be communicated to the WM package and WindowProcessListner for activity
changes in the WM package to the communicated back to the AM package.
The ProcessRecord object in AM will own the WindowProcessController object
and also implement the WindowProcessListener.
Test: Existing tests pass
Test: go/wm-smoke-auto
Bug: 80414790
Change-Id: I9e96e841b0f95e99a597cb4629fa5d2fe45760b6
3rd step in unifying the window hierarchy that is currently split
within AM and WM packages. We separate the the internal interface used
to communicate within system server dealing with activities and their
containers (tasks, stack, display) from the rest of AM internal
interface.
Test: Existing tests pass
Test: go/wm-smoke-auto
Bug: 80414790
Change-Id: Idad77721c1fe10621b9be5dced42a0a11f0183e5
The volume keys will work again, the ax button will reset back to the
correct state, and a bunch of other things.
This is cause we are not tracking the state of the service correctly in
this "Service won't run, but is on" state. Previously we just assumed it
was on.
Bug: 74593001
Test: Verified on device. By getting testback to crash. Tested, turning
service on and off in settings. Crashing it once, and having it restart
automiatically. Continuesouly crashing it until the system decides this
is bad. And after that state rebooting to make sure the service starts
up again.
Change-Id: I00e9c978d6807d8508968286a7545e48f9ae5800
- Magnification offset is in screen coordinate. It needs to take care
about left and top of magnification bounds when calculating min and
max.
Bug: 77152978
Test: None
Change-Id: I5ee7835c88eed080d9b22901977b0b5f76737703
Also correcting docs for using the fingerprint gesture
flag.
Bug: 76419487
Test: Verified with a test a11y service that gestures are
not available. Adding a unit test to verify this case.
Change-Id: I90233613777013e8b117a2d94f767be292c80019
The bug I'm fixing is kind of weird, but in the trace it
showed lock contention with onWindowsForAccessibilityChanged
holding the lock for a long time. So I've cleaned up that
method a bit, looking for trouble. The only concrete thing
I see that's wrong is that I was clearing a11y focus, which
involves calling the app that last reported having focus.
That was done with the lock held. Now doing it through the
handler.
Bug: 77298850
Test: Ran a11y CTS and unit tests.
Change-Id: I667707412a0e3ba98639d0cb43858e8c6b52a5a7
This is what A11yService#getWindows promises in the javadoc.
Fixes: 71581072
Test: using testback ensure the order is correct
Change-Id: I5038c4de29c60e235b65751f7bd7771ef35eb339
(cherry picked from commit f40da1a884)
DISALLOW_DEBUGGING_FEATURES is set
(adb unroot first)
Test: Turn on DISALLOW_DEBUGGING_FEATURES in work profile.
Can dump personal window + Cannot dump work window by using
adb shell uiautomator dump
Test: Turn off DISALLOW_DEBUGGING_FEATURES in work profile.
Can dump window in both profiles
Test: atest CtsAccessibilityServiceTestCases
Test: Enable talkback, try launching a few apps and interact with them.
Fixes: 73147467
Change-Id: I044a1546f9b568b0d19714154d6e7e5ab7232d26
Using a hidden variable to communicate this for enabled
services. Used in Settings to report the current status.
Fixes: 35219990
Test: Adding unit test to verify that crashed value is
populated correctly. Run a11y unit and cts tests.
Change-Id: Ia47a8bd1d750186c504758df21e05a8a76c285cb
Accessibility services can't see non-touchable windows,
so those windows should not be allowed to have
accessibility focus.
Bug: 70986605
Test: Manually went through bug steps, verified that
double-tapping on the screen has no effect.
Change-Id: I7be72331c5704f7aa99714a01bbb2e336eea15e1
Pooled lambda change dropped the argument.
Fixes: 73889458
Test: Turn on TalkBack, select things in different
windows, observe that focus clears in one window
when it is set in another.
Change-Id: I9755ffbce1b5305a24f5b9ac7b8f59069c917995
These crash the system. Resetting and trying to muddle
through seems like a better solution than restarting
the device.
Bug: 68269250
Test: make, try TalkBack a bit. The crashes were so rare that
the code I'm changing *almost* never executes.
Change-Id: I7931417832cb2ce39de5c8b00312c12354d76803
1. Added missing defensive copy for a MotionEvent that is posted
asynchronously with delay, and thus might get recycled
2. Fixed transitioning to viewport dragging on 3tap/shortcut+swipe
Test: manually ensure the fix is working
Bug: 73359125
Change-Id: Iae8cd3a83512ee363abe9f0b5702287d7616c092
The single usage we had was already mostly guarded by lock -
replaced with a regular list to prevent confusion
Fixes: 71795155
Test: atest CtsAccessibilityServiceTestCases
Change-Id: I1c3235aadb0db4907cbe92a17cc58d2c8a8b5564
Add @GuardedBy for simple functions that require a single lock
and are named XYZLocked.
Derived by errorprone.
Bug: 73000847
Test: m
Test: m javac-check-framework RUN_ERROR_PRONE=true
Change-Id: Id1d9fbe5018250e3b9d1466fc5f670d5ad902fa3
Fixes: b/69307379
Test: Ensure attached bug no longer reproduces.
Ensure magnification using a11y button otherwise works as expected
Change-Id: Ie4e966eb8cfcc9d3f37ae7252b951381ef1fb7c7