History log of /frameworks/base/services/accessibility/java/com/android/server/accessibility/AutoclickController.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
728354b1511e3c5ba0440b905395cb4d465d87f7 26-Sep-2017 Eugene Susla <eugenesusla@google.com> Various minor magnification improvements

Addressing previous commebnts on MagnificationGestureHandler

Test: ensure magnification still works as expected
Change-Id: I918a2db6549e8cf7e0b0907ce8758bab8abb7307
/frameworks/base/services/accessibility/java/com/android/server/accessibility/AutoclickController.java
f3d78a2fa808168972ba6c8f15b9307af223471e 01-Oct-2015 Toni Barzic <tbarzic@google.com> [a11y] Add default autoclick delay value to AccessibilityManager

The goal is to make this value shareable with Settings code (without
adding dependency on com.android.server)

Change-Id: Ic41af575dcf8081de69bdcdb20fba430bcf3257e
/frameworks/base/services/accessibility/java/com/android/server/accessibility/AutoclickController.java
94ce21094d7a6289c888492632765d2a83624853 15-Sep-2015 Toni Barzic <tbarzic@google.com> Always reload AccessibiiltyInputFilter on user switch

Makes AccessibiilityInputFilter aware of current user ID, and pasess the
user ID to event stream filters that have per-user parameters:
- AutoclickController -> for per-user autoclick delay
- ScreenMagnifier -> for magnification scale

While doing this, make AccessibilityInputFilter.disableFeatures private,
and replace usage in AccessibilityManagerService with
setUserAndEnabledFeatures with feature flags set to 0:
Using disableFatures directly leaves input filter in inconsistent state
where internal mEnabledFeatures flags don't match real state of enabled
features.

BUG=23113412
BUG=24265227

Change-Id: Ib295f4c08de1a3743e55714459844b6d80787637
/frameworks/base/services/accessibility/java/com/android/server/accessibility/AutoclickController.java
a3a9194e46c3657ae0312043bf02bdf7198973a2 11-Sep-2015 Toni Barzic <tbarzic@google.com> Read autoclick delay from settings

Instead of hardcoding autoclick delay, use
Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY value.
Adds logic for observing the setting's changes and updating the delay
that should be used when scheduling automatical click.

BUG=23113412

Change-Id: Iffe3df0cb64ab28f13d2803d01d581280aedf422
/frameworks/base/services/accessibility/java/com/android/server/accessibility/AutoclickController.java
c9547607048a7f875784a36cd3370332f9c8befd 02-Sep-2015 Toni Barzic <tbarzic@google.com> Implement EventStreamTrasformations for autoclick on mouse stop

The event stream transformer (AutoclickControlelr) observes motion
events from mouse in order to detect mouse movement. Once movement
is detected, a click event sequence gets scheduled with a delay. The
scheduled click gets rescheduled on every further detected mouse
movement, so the click is performed only when mouse movement stops.

Mouse movement detection has tolerance to jitter that may be caused
by user's poor motor control (that may prevent click ever being triggered
when mouse gets to target, or unwanted clicks when mouse is stationary).

Clicks are scheduled by posting delayed tasks to main loop. When
rescheduling click, previous tasks is not always removed and a new
created. Instead, if possible, new task is scheduled when previous,
delayed task is run. In order to do this, click scheduler keeps track
of scheduled click time and, when scheduled task is run, checks that
scheduled time is not greater than the current time (if it is, a new
delayed task is scheduled).

Detecting events from other input source types, or mouse events other
than movement (like clicks, scroll) cancels the scheduled click.

BUG=23113412

Change-Id: I8a72e768cd45cccb93c19476fe6e2c23e8e84f27
/frameworks/base/services/accessibility/java/com/android/server/accessibility/AutoclickController.java
976724e81bca33dc48347f88633a37a195b9e4ea 01-Sep-2015 Toni Barzic <tbarzic@google.com> Feed mouse and keyboard events to EventStreamTransformation

Updates AccessibilityInputFilter to pass keyboard and mouse events
through enabed EventStreamTransformations.

This is done in preparation for implementing Autoclick on mouse stop
feature, which depends on those events.

Existing EventStreamTransformation implementstions are modified to
non touchscreen motion events and key board events.

Adds stub EventStreamTransformation (AutoclickController) that will
be used to implement autoclick feature.

Implements key event filtering as a separate EventStreamTransformation
(instead of doing it directly in AccessibilityInputFilter).

Introduces private EventStreamState classes to AccessibilityInputFilter,
which keep track of whether event sequences for different input sources
have started, and help reduce code duplication when determining whether
an event should be fed to registered EventStreamTransformers.

BUG=23113412

Change-Id: If115799bbe4debce48689370ff5ea9fa6dab9639
/frameworks/base/services/accessibility/java/com/android/server/accessibility/AutoclickController.java