Fix a MediaRouteButton bug where group item counts weren't taken into
account when deciding whether to toggle between two available groups
or show the chooser dialog.
Change-Id: I6400ffd4cfe80c8072c5be360264b8ca91d71c41
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
Password field change is no longer needed as it was used
previously in WebTextView and is not needed without it.
Change-Id: I7d5dc39825ee9eae77733d2a9560669cfe70ecf2
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
Mostly just moved the code around and improved the docs.
Fixed a minor inefficiency in WakeLock.setWorkSource() where
we would tell the power manager that the work source was changed
even when the old work source and new work source were both null.
Fixed a bug in WakeLock.setWorkSource() where we would not
notify the power manager that the work source was changed if
there was no work source previously specified.
Added synchronized to WakeLock.setReferenceCounted.
Added a checked in WakeLock.acquireLocked() and WakeLock.release()
to check whether the wake lock is actually not held / held
before performing the corresponding operation. This change avoids
making redundant calls into the power manager service in the
case where the wake lock is not reference counted and acquire()
or release() have been called multiple times.
Made the PowerManager and WakeLock classes final. They are not
directly instantiable by applications so this change does not
break the API.
Removed a little dead code (one private constructor and an
unused constant).
Change-Id: I4e10cf893506115938a35756136c101256dccf30
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