1. If an accessibility service uses an invalid focus type argument
when trying to find where focus is the queried application crashes.
The same happens if the serivce calls focus search with an invalid
derection. While we need the argument check in the controller that
runs in the app process the accessibility service has to be the
palace where an exception is thown for the invalid argument so
the developer can fix his code.:
bug:6508797
Change-Id: Ib0d74f374fa60ee8fd6117f11c23af34f6c26ad3
1. The focus search algorithm considers only visible
views, specifically when adding focusables. Since
AbsListView implements a custom focus search strategy
for better user experience it also has to return
only views that are visible.
bug:6543878
Change-Id: I6207c29402e4ac6190c1e65d042e04449aa75ef8
1. Touch exploration gestures are demarcated by start and end
events. Due to a bug in the AccessibilityManagerService
the gesture end event was not dispatched. This caused the
AccessibilityNodeInfoCache to be off sync since it relies
on getting such events not to mention that the clients were
not getting the end but only the start event. The issue
was that the notified service types variable was not reset
after every event so when the manager sends the last hover
exit it flags that the service type is already notified
resulting in dropping on the floor the following gesture
end event.
bug:6539306
Change-Id: I2b96bcecea3b2240199d67f01afa6a033afce1de
This algorithm better tolerates certain kinds of errors in the
touch input than the least squares strategy but it may underestimate
the velocity of accelerating movements. This algorithm is
mainly of interest as a baseline for testing and comparison with the
least squares algorithm, which remains the default.
Bug: 6413587
Change-Id: I8ddb50084e44875e234717907e5b06d03f59788c
This change is very useful for testing purposes because it makes it
easy to compare different implementations to see how they behave.
There is no change to the current default strategy.
Bug: 6413587
Change-Id: I4d8567aa4160571ba9fa397ce419882cd9366749
1. If the runnable for performing a long press is not
removed when all pointers are up and it is executed
the explorer gets into delegating mode with no pointer
down and the next down crashes the explorer. Added
code to remove the long press runnable in a few places
it was missing and also added a safety in the runnable
to avoid executing it in case there are no active pointers.
bug:6557183
Change-Id: I9dab3de88fd08d8e2b38af18249ac551837c0736
TextLayoutCache was leaking HB_Face objects, not freeing them when
purging the mCachedHBFaces cache. More full analysis is in the bug.
Change-Id: Ie5cd8b00c36b9d31963183c601cde49cbb73fafb
Incorrect animation was introduced with CL 196207 (perhaps in
combination with a later CL). Reverting part of that CL fixes
the incorrect animation and so far has not reintroduced the jank
that was fixed by that CL. If the jank reappears it should be
fixed in a different fashion than in CL 196207.
Fixes bug 6597505.
Change-Id: Ie8012237a8d49810ede51bd8d78ef8c2fd91ddd4
1. The clearFocus routine in ViewGroup was clearing the pointer
to the descendant which has focus after calling clear focus
on that child. However, currently clearing the focus of a view
causes the view that loses focus to try to give the focus to
the first focusable which potentially sets the pointer to the
child that has input focus in the ViewGroup but the ViewGruop
essentially clears that pointer. This resulted in having two
focused views at the same time in some cases.
2. AbsListView was not calling the super implementation of add
focusables if the focus type was not accessibility.
bug:6559819
Change-Id: I478dfed000b5de3f9b15e12eb82aa3d34c2301e4
* changes:
For JB, the READ_EXTERNAL_STORAGE permission is not enforced by default. It may be enforced by default in future releases. Developers have the option of enabling enforcement to test their application and some may begin to include this permission on applications. To avoid user confusion, the permission is placed in the development tools group.
Update long strings to provide users with more information about permissions.
Add a new variation of ActivityOptions that allows you to
supply custom animation resources and get a callback when the
animation starts.
Use this in SearchPanelView to determine when to start hiding
the search panel instead of having a fixed delay.
Fix some issues in the activity manager where we would cancel
the options in cases where we should actually keep them to give
to the window manager for a transition. (Basically when the
activity being started is not actually ending up launched, but
just results in a shift in the activity stack.)
Note that this is not quite what the design calls for -- the
entire search UI is waiting and then disappearing when the
animation starts, instead of the ring first disappearing while
waiting for the time to fade out the circle.
Change-Id: Iee9a404ba530908d73cdbd4a9d0d2907ac03428f
1. Since we added explicit accessibility focusable attribute when
adding focusables views that do so should call this method. Some
views were not updated to do so.
bug:6581924
Change-Id: Id64c0b2d76e5269ebf3fbe17203e73b174bdb843
This is just the initial state tracking. Still to go is
actually triggering Bluetooth A2DP correctly and tracking
process state in the system server.
Change-Id: I33031d52799d6e2d7208910da833831085cc3677
1. If a new brightness animation is started while an unrelated one is
ongoing complete the old animation immediately. Unrelated means that
the old and new animations apply to different devices (button,
keyboard, or screen).
2. Do not interpret turning off the keyboard or button lights as
turning off the screen in isScreenTurningOffLocked().
Fixes bug 6519847.
Change-Id: I53a20951036bcdb793daeff84a9ebeed44be01fc