tree 51392f0013ff6967a859753a4e17911d6b7e086d
parent 26dbb6fb0989d7b13f02e9416286adbb7bc63dd1
parent 17fb558cf51dbcf34feadd022116c7d87524b2d8
author Myles Watson <mylesgw@google.com> 1506098253 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 1506098253 +0000

Merge changes from topic "avrcp_cherry_picks"

* changes:
  Use the current item in the existing queue rather than using metadata
  Don't reject notifications and wait until new addressed player is ready (1/2)
  Check if now playing list is updated by comparing the current queue (1/3)
  AVRCP: Only send the active player for media player listings
  Fix IndexOutOfBounds exception due to incorrect media player start index
  AVRCP: Ignore addressed player changed to telecom
  Prevent stack crash if there is only one player and it isn't active
  Allow AVRCP to send playback state when resumed from pause
  Return on available players changed and clear state for addr player changed
  Initialize the Browsable Player list at user unlock instead of boot complete
  Grab all packages that support browsing instead of connecting to them one by one
  Send the playback state changes to playing only after track changed
  Update the now playing list after AddrPlayerChanged
  Remove dependency on delay by ignoring invalid playback states
  Send available players changed with addressed player changed
