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
A recent change to LayoutTransition noop'd animations in non-visible
parents, to avoid artifacts like scaling/moving from (0,0,0,0). But there
was logic in ViewGroup that didn't account for transitions that didn't actually
run an animation, causing a disconnect between the state of a parent (getting ready
to remove an item later) and the state of the transition (not running, therefore
not needing the child to be removed later).
The fix was to detect when the transition did not start and avoid adding the
view to the list of children to be removed later.
Issue #6602502 Playing video through crackle application only audio is heard no video is displayed
Change-Id: Id5260580ab0d6dd165c62006c7bd579fd821a5f5
This change allows market apps and 3rd parties to supply an activity
that responds to ACTION_ASSIST (e.g. market apps).
It also adds a test app to respond to the ASSIST intent and force
the intent disambiguation dialog to appear.
Change-Id: I5a78863c6a9546d18c66275187d178f6a1c9ee17
Extend RemoteControlClient class to enable an applicaton to
specify more information about how it's playing media, now covering
usecases where media playback happens "remotely". This playback
information can be used to set the volume and maximum volume
used remotely.
Declare a new intent and associated extras in Intent,
ACTION_VOLUME_UPDATE, so an application can be notified that
the volume it handles should be updated. It can then use
the new RemoteControlClient.setPlaybackInformation() method
to notify AudioService what the volume is.
Extend AudioService to maintain playback information associated
with the RemoteControlClient information in the stack of
media button event receivers (mRCStack). The information
about the active remote is cached so the stack doesn't have
to be iterated over in order to retrieve remote playback info.
Events to "adjust" the remote volume based on hardware key
presses cause the client application to be notified of
volume updates, and the volume panel to display the volume
set by the app.
Revise which stream type is controlled when none is specified
according to latest guidelines for remote playback.
Update VolumePanel class to support a new pseudo stream type,
AudioService.STREAM_REMOTE_MUSIC, that corresponds to the
remote playback volume, and uses the new "media route" icon.
Enable it to receive asynchronously new volume values for
the remote that will be displayed if the UI is still up,
and ignored otherwise.
Now supports hiding/showing sliders dynamically so remote
volume only appears when AudioService has a remote control
client handling remote volume.
Define new java symbols for the two media route icons.
Modify lockscreen behavior: don't automatically control music
volume when music is active, consider also remote playback.
Still to do:
- playback information set by RemoteControlClient should post
a message for AudioService to update playback information
instead of updating it synchronously
Change-Id: I557aa687239f9acfe33a609f05876c67fa7eb967