Makes hotspot-centered ripples "just work" everywhere that old-style
pressed states work.
BUG: 17407652
Change-Id: Id4802662aea537959122f029e85aa576cf51b641
We need to allow for event dispatching in non-interactive states so
that we can enable a richer set of interactions when a device is
dozing (i.e. is in a low power state with an Always-on-Display).
Bug: 17167296
Change-Id: I8ae0f544a8106cb91ff38c2309b8b57cbe2f2c72
bug:15780987
bug:17350602
Also update docs around clipping nesting behavior,
and some Z ordering behavior.
Change-Id: Iaa204350a0adfdcbd8c4b821fb4a9c0ae22f2613
We keep track of the accessibility focused virtual view in order to
draw the accessibility focus highlight. We were not updating this
virtual view when the view tree changes in a way that may affect
the virtial view's bounds in the screen.
bug:17211255
Change-Id: I69dd949b91ed9c8242521332081d50d75cac6921
Bug: 17208461
There's a potential race condition between HardwareRenderer.destroy()
being called (which calls destroyCanvasAndSurface()) and the renderer
being finalized (which is what calls freePrefetchedLayers), during which
time it's possible we get a TRIM_MEMORY_COMPLETE and destroy the EGL
context.
Fix this race condition by moving stopDrawing() and freePrefetchedLayers()
into destroyCanvasAndSurface() where they should have been in the first
place.
Also, if we hit the assertion failure, dump the current state of
Caches to try and provide more context for the failure.
Change-Id: Ife0ba3562041e8b08e87e3e13640472b3004eed6
This CL does nothing but rename some L API candidates
in InputConnection class, as per requested.
- requestUpdateCursorAnchorInfo()
-> requestCursorUpdates()
- REQUEST_UPDATE_CURSOR_ANCHOR_INFO_IMMEDIATE
-> CURSOR_UPDATE_IMMEDIATE
- REQUEST_UPDATE_CURSOR_ANCHOR_INFO_MONITOR
-> CURSOR_UPDATE_MONITOR
BUG: 17320996
Change-Id: I772c48ff18918e48a81e807b48ff907614485c09
The isVisibleToUser property of an AccessibilityNodeInfo specifies
whether the user can see the source view. It is used by accessibility
services to figure out whether to focus on a view. This property
was giving a wrong value if the view is covered by another window
such as the keyboard. As a result the user hears one thing but when
double taps interacts with the overlaid window which is another thing.
bug:15938254
Change-Id: Ib9feb20ea422a24a512c47ed1234961ae0386a7f
Also removes unused x/y position and tween values on RippleBackground. The
background is now always centered within the hotspot area.
BUG: 17300399
Change-Id: I1904c9f44e6bebb2b434d2b092205edd42204263
This CL introduces following combinable flags as a replacement
of CHARACTER_RECT_TYPE_* constants.
- CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION
- CursorAnchorInfo.FLAG_HAS_INVISIBLE_REGION
This CL also replaces #isInsertionMarkerClipped() with
flags.
Rationale:
getCharacterRectFlags() should return a set of flags, rather
than enum-like types.
getInsertionMarkerFlags() is more consistent with
getCharacterRectFlags() than isInsertionMarkerClipped().
It is also open for future extension.
BUG: 17200900
Change-Id: Ia8cbb9f6b41cd9509fc0147fd68763dfde593ffc
Keys which are necessary for supporting world-wide broadcast
standard or used commonly for TV/STB remotes.
Change-Id: I86fa41e17fedb8133aba6cdb5aae4d560b31ae8e
Also updates the bitmap resources, which weren't scaled correctly
for their respective DPI buckets.
BUG: 16459309
Change-Id: Iedc781e2ee47a8b960390fea718cb08bcfb84ae3
The code in question is not only redundant but also
harmful because it causes unnecessary integer boxing.
BUG: 17340578
Change-Id: Ife6e48889db80394d224297c53806105dc41d56e
Bug: 17228458
Bug: 17317816
Ensure that onStart is called prior to onCancel/onFinished if those
happen prior to the UI-thread handled start delay.
Ensure that onFinished is called if cancel/end is called
Change-Id: I23c16ea1c4f925d59d41ec5281d62dfc0c38595b
Fleshes out the javadoc a bit more instead of just a reference to
the description of the methods in Activity.
bug:17198774
Change-Id: I24afe1c5d9f2e46e201c84072a6b34a619867889
Normally, calling cancel() on ViewPropertyAnimator() will cancel any
running animations as well as any associated actions (layers and
start/end actions). But if the animation is canceled before the first
frame, these other actions are still pending and will not be canceled.
This fix also cancels these pending actions.
Issue #17296082 VPA.cancel() doesn't clear the end action
Change-Id: If104d21c1e2d64516500048a06ba217284732ef0
1. An external contribution changed the ordering of views for
accessibility. While it attempted to fix a platform issue
for a comparator breaking transitivity, it changed the way
we order views and results in very unnatural accessibility
traversal order. It also broke CTS tets. This change tweaks
the comparator which fixes the tests and improves traversal
order.
2. If there is at least one accessibility service which cares
about windows we register a callback in the window manager
for window change notifications. We are updating the window
list on this callback. There was a case where if the service
requests window updates and immediately asks for the windows
it gets none as we have not received a callback from the
window manager yet. Now this call returns after we get the
callback in a timed fashion. This is consistent with how the
other introspection APIs work.
3. Window info objects are cached in the accessibility service
process. When putting them in the cache a cloning call was
missing resulting in some cases of clobbering windows given
to the client. For example, we get some windows, cache them,
and return these windows to the client. Now a call to clear
the cache arrives while the user processes the windows and
the client windows get clobbered.
4. Added API for checking if a window has accessiblity focus
to be consistent to the API we have to check whether this
window has input focus.
5. Removed some obsolete code.
bug:16402352
Change-Id: Ided6da4a82cc0fc703008c58a2dff0119a3ff317
- Reverting changes to the existing thumbnail transition to prevent breaking applications
that currently depend on that transition. As a result, we need to create a new, hidden,
aspect-scaled thumbnail transition, and instead use that thumbnail to animate the
recents header so that we don't have to wait to do that inside the Recents activity.
In order for this to work, we also have to ensure that the thumbnail surface destruction
is synchronized with the application that is currently closing (when going down to
recents) or opening (when coming back up). The current thumbnail is destroyed when the
animation ends, but that can be at least 1 frame before the surface for the animating
window is destroyed. We change this by deferring destruction of this thumbnail window
to the animation that is being closed.
Especially on the way up, not having to wait for us to hide the header before doing the
transition up can save us the duration of that first animation (> 100ms).
- Other optimizations:
* No longer creating a new stack view on each transition to calculate the target rect
* Removing unnecessary call to get the thumbnail when transitioning up/down (the actual
window does its own animation.
* We reduced numerous system calls per task by adding a flag to ignore home-stack tasks
and caching the activity label and icon (and task description icon). These caches
follow the same eviction schemes as the thumbnail and icon cache.
- Also tweaked the touch slop for the nav bar swiping gesture to prevent conflicting with
tapping on home (Bug 17109581)
Change-Id: Ica697aad788051a9203edd9351c583e1cb038a71