The new display list properties introduces in JB were causing numerous
and expensive memory allocations while scrolling lists. During a scroll
ListView sometimes attempts to apply an offset to views before they are
drawn for the first time. This had the side effect of generating a new
IllegalStateException and its entire stack trace. The exception was
caught inside the display list and never seen by users.
Generating an exception is very expensive both in terms of allocated
memory and CPU time spent crawling the stack.
List scrolls/flings are a common case of this issue but it also happens
during various types of animations. A simple alpha animation, for instance,
can cause the problem to occur.
Another side effect of this issue is more frequent and longer GC pauses.
Change-Id: Ic1b37cc84f7c8f290209cfb990d030e96d6e0dc7
Allow applications to set a requested volume level on RouteInfo
objects. If requested for a user route, the app-supplied callback will
be invoked to perform actual volume adjustment.
Change-Id: I856990a0da7292492aa15e6562dbc3d055b848a0
Transition animations were set to fillAfter=false which caused them
to revert when they had completed. Normally this would not have
mattered as the final state was obscured by the new Activity. In
the case of the Phone app the Activities churn so much that the
original Activity was exposed.
Fixes bug 6691421.
Change-Id: I96b8a43d0a2cac9a34a14a309548c41451c65a57
This is required by Settings app to be able to update the header list
if the accounts list changed.
Bug: 6685701
Change-Id: If27f83ec86fe1f3519a6e25de4e4fe4864133dc8
Extend MediaRouter.UserRouteInfo to enable setting playback
information, which includes volume. When the user route instance
has a RemoteControlClient, forward any playback information to it.
Enable specifying a callback to be notified of volume events
on the route.
Extend MediaRouter.RouteInfo to enable retrieving playback
information.
Update RemoteControlClient javadoc to reflect which parts of the
API are not intended to be made public.
Change-Id: I59d728eb61747af6c8c89d53f0faeb07940594c3
This fixes a bug where the dots weren't aligned with the center of the view.
The matrix should not contain the offset of the image itself since we really
want to scale about the abstract points. The code now subtracts the image
centering positions (cx,cy) from the point to be scaled.
Change-Id: I1d46a5d51b1fd1d39944c64baf86c306c2d5e923
This change shows how much time is spent updating and executing
framework display lists within a frame.
This change also fixes a crash that happnes if you attempt to
perform a dumpsys gfxinfo while the app is drawing (we are telling
developers to use this new tool.)
Change-Id: Ia4047a78a42b545ab77176ef4f371c300686548c
This is a partial revert of change Ibce96f45eb6a94582c694108b99e243fd57b1955.
This change:
- shows the expanding ring animation on keyguard and navbar search
- disables the first ping wave animation on both.
- restores the outer ring
Change-Id: I429d23a49ca2868dc00872b8b8fde000d6a53a6d