-> Improves flashing on rotation of stack widgets, or other widgets
who's items use a lot of memory
Change-Id: I762b555ac1827861ed63ac5929972395f3080a0a
-> When the RemoteViewsFactory violates the getViewTypeCount() contract
we detect it, and prevent the AdapterView from crashing
-> Also made RemoteViewsCache a static inner class, since we may need
that down the road, and there's no reason it shouldn't be
Change-Id: I872a255167aac94513e522924179de61286b995a
An optimization prunes invalidates on views which are not inside their
parent's bounds. This works in most cases, but it is possible to run
a situation where a view has been invalidated (and is thus waiting to
be redrawn), but the pruning logic ensures that that draw call
will not happen. Further, when/if the view comes into the bounds
of its parent again, it may still not be redrawn, because now future
invalidates on the view are noop'd because it is already in an invalidated
state (and thus will not propagate invalidates up the hierarchy).
The fix is to remove the optitmization. This will cause some overhead
sending the invalidation request up to the view root, but this
overhead is minimal (and only extra for cases of out-of-bounds views),
and the more expensive part of rendering these views will still not be done
since the view root will avoid re-drawing the hierarchy when the dirty
rectangle is empty.
Issue #6813661 offscreen views don't get invalidated properly (may remain invisible when returning onscreen)
Change-Id: Ic4b439540084a7163be9afc585bea6560d073280
The mPos field in the MeasuredText object is relative to the start of
the text (mTextStart), but the pos passed in by the caller of the
setPos() method is relative to the character sequence. When spans
overlap break boundaries and the paragraph doesn't start at 0, the
result is an out of bounds error. This fix uses the correct offset.
Change-Id: I64ef06df0eb06f75aedd25de97e9f347eeb52979
I got this reproduce a few times, then wasn't able to. I made this
change and then couldn't reproduce it. Maybe it fixed it.
The change here is to explicitly pass in the handler class to
apply() and reapply(), instead of relying it being set as a member of
the RemoteViews class. This is much cleaner and more explicitly about
setting that for the click callbacks.
Bug: 6756472
Change-Id: I8d029c3836501df3206c433838124b4be3890a8b
This should help developers use some of the features of
Style via subclassing rather than duplicating functionality.
Bug: 6716608
Change-Id: I048e8221c8046e9779e08e6e262ac3fb37b01cb3
Get rid of enabling bt when in airplane mode.
Current code has 2 paths that trying to place bluetooth in cold state when
turning airplane mode on. This caused extra call of bt_disable that
causing a kernel sleep failure. The fix removes one of the sys call.
This CL keeps Bluetooth in cold state after turning airplane mode on
instead of seting it to hotoff state
bug 6563480
Change-Id: I30c413707157acb4a8e83ded9452256cf6260899
FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS was a mistake.
Instead, and the infrastructure for the status bar to take care
of closing and hiding things itself when you press these buttons,
just like it does for the main Intent of the notification.
Bug: 6717667
Change-Id: I1b22186e0cedc05f46a1a3ec78053a72afaf61b1
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
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