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
The package manager calls to clear data / clear cache were not also
having default container service clear the data on external storage. Now
they do.
Change-Id: Ib5e5eb6adf2cac5a4cc094cc1a02ac8cfb6a2edf
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
Bug 6720224
When a window dies it's possible to receive a lingering ACTION_CANCEL
event to the SeekBar for volume. Be sure that we don't try to mess
with something that's already gone by that point.
Change-Id: I4f6119718fc21204d9013d591bc984b785b698b4
Bug 6521608
When there are no custom views or other actionable views next to the
action bar's home/up affordance, expand the touch target by a generous
slop value. This helps frustrating cases where a user accidentally
hits just to the right of Up and nothing happens.
Change-Id: I09ef604ce70ad380aab62a373b04c4b02007c644
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
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
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