• Home
  • History
  • Annotate
  • only in /frameworks/support/v4/java/android/support/v4/media/
History log of /frameworks/support/v4/java/android/support/v4/media/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7584aa62c9a0b01631c70512899a51ea7ccdc27e 19-May-2016 Jae Seo <jaeseo@google.com> MediaBrowserServiceCompat: Add more explanation on getBrowserRootHints()

Bug: 28840985
Change-Id: I4146e84a6facf2f3c9b00b26351e59f6fd406e4e
ediaBrowserServiceCompat.java
3b07c9380b4690ae313a53c128f1112828259e4c 12-May-2016 Sungsoo Lim <sungsoo@google.com> RatingCompat: Move RatingCompatApi21 to RatingCompatKitKat

The class 'Rating' was added in API 19, but the implementation of
RatingCompat handles as it was added in API 21.

Bug: 28731984
Change-Id: I11e8d8319ba939b71d7f65c558cdd3bfd90b397c
ediaMetadataCompat.java
atingCompat.java
64f99cb02f21f6a708b1f404b5e0ee6144f3af5b 12-May-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserCompat: Fix NPE

Bug: 28713127
Change-Id: Icb6ed3a6fdbdfd131fbfeec2359285f4d023372e
ediaBrowserCompat.java
ac127f074a064c2b5e87102bd7f6c3e4a5d5cdfd 03-May-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserCompat: Make Patination API work on API 21-23

Also check the API version using BuildCompat.isAtLeastN().

Bug: 28324455
Change-Id: I8fafc15a2262f44fbdf4478a8119c380d222ee3d
ediaBrowserCompat.java
ediaBrowserServiceCompat.java
b3f4a7d427953c3e197a2d362a39d918891698ff 29-Apr-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserCompat: Call onChildrenLoaded properly

When the options are null, onChildrenLoaded without options param
should be called.

Bug: 28368264
Change-Id: I1379b95984d0c009d678fe518c3a8fab2abed668
ediaBrowserCompat.java
2e7d3a28e00195c160cc4f5668e2d7f64eb590da 26-Apr-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserServiceCompat: Implement MediaBrowserServiceApi23

Bug: 28326362
Change-Id: Iaf1e1bfff4952773198f0e1e5e06ea253280b1e7
ediaBrowserCompat.java
ediaBrowserServiceCompat.java
fda621da7916073852394d14fcd2cb37f202287d 16-Apr-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserServiceCompat: Provide a way to retrieve root hints

Bug: 28075963
Change-Id: I2aa1323ee6943ccd91b2a72b01692d5cd9c2b268
ediaBrowserCompat.java
ediaBrowserProtocol.java
ediaBrowserServiceCompat.java
900e852d4f8b423ec2d8374f8e6743129e8f331b 08-Apr-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserCompat: Make notifyChildrenChanged work

Bug: 27915464
Change-Id: I642e7567f6909b3648df62af2ea8a823e26fed8a
ediaBrowserCompatUtils.java
ediaBrowserServiceCompat.java
7a7ac26ee6d9ff4f5410991fa9cc97d0090ddaef 08-Apr-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserCompat: Remove direct use of framework binder

Bug: 27915464
Change-Id: Ic16369f67b581084dcaf4f6621777442ce25235f
ediaBrowserCompat.java
ediaBrowserCompatUtils.java
ediaBrowserProtocol.java
ediaBrowserServiceCompat.java
a61f25dfacd53afbc6a27eb10b360031f0992639 01-Apr-2016 Sungsoo Lim <sungsoo@google.com> Merge "MediaBrowserCompat: Unregister callbacks when disconnect" into mnc-ub-dev
am: 36797d5

* commit '36797d5d3282cbbb0ab8bfbe34aa359a4f99a16e':
MediaBrowserCompat: Unregister callbacks when disconnect

Change-Id: Ief800720f36d3e98be6e67681b66b431c3b1a17e
99f783676dda9a66b2f1a576c12ee2402d8bbcd0 30-Mar-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserCompat: Unregister callbacks when disconnect

Also rename MediaBrowserServiceImplBase MediaBrowserImplBase.

Bug: 27871391
Change-Id: I190df3295a45b9aad5f6154bb2f02203ba06004e
ediaBrowserCompat.java
ediaBrowserProtocol.java
ediaBrowserServiceCompat.java
f37a66a776983c354204fe52feed61ead769ab7a 18-Mar-2016 Sungsoo Lim <sungsoo@google.com> MediaSessionCompat: Do not set a default MediaButtonReceiver for API 21+

Also update javadoc to suggest MediaButtonReceiver

Bug: 27464709, Bug: 23424000
Change-Id: I54e3962612ca01fc98139e01068ccd78ff05494d
ession/MediaSessionCompat.java
c63e961019b450a90a26dd9a89967fdd22145146 24-Feb-2016 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Make getCallingPackage() work on API24+

Adds getCallingPackage() method introduced in N, which returns the name
of the package that sent the last media button, transport control, or
command from controllers and the system.

Bug: 25208121
Change-Id: Ia36124b51b43ddb9bdff75475324fe56dc1c721c
ession/MediaSessionCompat.java
993cf322bbe36230e231e955c98274d679b1dabb 22-Feb-2016 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Make prepare* methods work on API 21-23 devices

Some APIs for preparing media before playing are introduced since N.
This change allows MediaControllerCompat/MediaSessionCompat use the
preparation functionality on API 21-23 devices.

Bug:25841735, Bug:25153060, Bug:25153353
Change-Id: I528ff70c69cde26bbc106606c648f8a2a10b6abd
ession/MediaControllerCompat.java
ession/MediaSessionCompat.java
5491f533f2781b1693efb6e44df0fb5928bec70d 22-Feb-2016 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Make prepare* methods work on pre-L devices

Some APIs for preparing media before playing are introduced since N.
This change allows MediaControllerCompat/MediaSessionCompat use the
preparation functionality on pre-L devices.

Bug:25841735, Bug:25153060, Bug:25153353
Change-Id: Ifdae76ae8bda1ca6e0f5752254be23040084b22b
ession/IMediaSession.aidl
ession/MediaControllerCompat.java
ession/MediaSessionCompat.java
bee5a864724f8aebaa7308a21c862e646c0e6aa3 22-Feb-2016 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Make prepare* methods work in the support library

Some APIs for preparing media before playing are introduced since N.
This change allows MediaControllerCompat/MediaSessionCompat use the
preparation functionality in the support library. Support for these new
APIs on pre-N devices will be addressed with separate changes.

Bug:25841735, Bug:25153060, Bug:25153353
Change-Id: I53abdb1a0ca96a61533e697215b7857987b73ec9
ession/MediaControllerCompat.java
ession/MediaSessionCompat.java
ession/PlaybackStateCompat.java
58302bb8a709941cee04f2aa378b2496e30d0045 15-Feb-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserCompat: Rename methods of Subscription class

Change-Id: I96a8eb641a96d18241f81e9a1608167305f9180e
ediaBrowserCompat.java
01b922eddadab50910ce289921001a63855e1f8e 04-Feb-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserCompat: Support pagination on N devices

Bug: 23289404, Bug: 25564520
Change-Id: Ia129b551bac7c6e1448e1468fd78f233eea2b92d
(cherry picked from commit f2ecdb015e6c25e9ed92e82434e08d765d7dc001)
ediaBrowserCompat.java
ediaBrowserServiceCompat.java
a7a03ae00cf642cb470e04c9a2164bad35627dbf 04-Feb-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserCompat: Refactor class hierarchies

Change-Id: Iac6c823a6eeadb81a8af8c09a2103730a61e933c
(cherry picked from commit 54caf35ec18c425904bb4d1f442b676c298e5ff4)
ediaBrowserCompat.java
ediaBrowserServiceCompat.java
62451f2bf56f03eab1196a251224df35c45f0149 12-Feb-2016 Ian Lake <ilake@google.com> Merge "MediaSessionCompat: Remove looper requirement in constructor" into mnc-ub-dev
am: 3bc5a7f2de

* commit '3bc5a7f2deeafba0e8ac86f68f092f6a9ae6899f':
MediaSessionCompat: Remove looper requirement in constructor
7a856a03184a87815d0148a86ecbccafa683bcf5 07-Feb-2016 Ian Lake <ilake@google.com> MediaSessionCompat: Remove looper requirement in constructor

Instead of requiring the constructor of MediaSessionCompat to be
called on a thread with a looper, mirror the behavior in
MediaSession and only require a looper thread when setCallback() is
called and drop all callbacks until that point.

BUG: 25079496
Change-Id: I42b11777d635d5d5df7ccb02e92fbf28c189c806
ession/MediaSessionCompat.java
26e88318c8f69f62f41591b0df0720cc48b4ce11 04-Feb-2016 Jae Seo <jaeseo@google.com> MediaBrowser: Unhide the newly added extra lookup keys

Also added references to them in Javadoc

Bug: 25821318, Bug: 25153123, Bug: 25153113
Change-Id: If1c0b6393e3c6245437b2d4c965ec904486ea760
ediaBrowserCompat.java
ediaBrowserServiceCompat.java
d1434fd64c8e0fcbc8c9601ffba5079795e39a01 05-Feb-2016 Jae Seo <jaeseo@google.com> Merge "MediaBrowser: Comment on order of suggested media items"
9763c3d83aeb160ad7c52f6e48aa4806477f1de0 04-Feb-2016 Jae Seo <jaeseo@google.com> MediaBrowser: Comment on order of suggested media items

Bug: 25153113
Change-Id: Ib8af08ab063615964dc5098c4a1142975b470e20
ediaBrowserServiceCompat.java
c0a233f1980faedbb9ff82334814a0d8cbe6148b 03-Feb-2016 Chris Banes <chrisbanes@google.com> Fix build due to added API

Change-Id: I2832a9c69251a7b50c36b8bfe0d059c1ff8b33e9
(cherry picked from commit 0cae7a742ca724d2686e8ee81f180bcfb6dea150)
ediaBrowserCompat.java
0cae7a742ca724d2686e8ee81f180bcfb6dea150 03-Feb-2016 Chris Banes <chrisbanes@google.com> Fix build due to added API

Change-Id: I2832a9c69251a7b50c36b8bfe0d059c1ff8b33e9
ediaBrowserCompat.java
65fa61412f46d6cddca410aeb07a79fd081536c0 03-Feb-2016 Chris Banes <chrisbanes@google.com> Revert "MediaBrowserCompat: Support pagination on N devices"

This reverts commit a5d24e5cbcea7160ff32876212ef77172ccdc986.

Change-Id: I7818381030fe172c3a03cacd55e2b6ed643c6ef0
ediaBrowserCompat.java
ediaBrowserServiceCompat.java
bf01be910a50d65b488be2a99eeea8db020577c5 03-Feb-2016 Sungsoo Lim <sungsoo@google.com> Fix build: Make an internal class package private (cherry-pick to master to unblock all)

Change-Id: I4a70078a5fa855479ab64f1cd67b0e8e5eace9ca
(cherry picked from commit 83a3538a18c22fb8bb448258cd85c99c384d1bab)
ediaBrowserCompat.java
a5d24e5cbcea7160ff32876212ef77172ccdc986 28-Jan-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserCompat: Support pagination on N devices

Bug: 23289404, Bug: 25564520
Change-Id: I7c89b2354189e585e24a412c91165a0e9a695cd1
ediaBrowserCompat.java
ediaBrowserServiceCompat.java
05ef0bb8aa7f86fea5ab65c54237eae1d3973588 03-Feb-2016 Sungsoo Lim <sungsoo@google.com> Merge "MediaBrowserCompat: Support pagination on L and M devices" into mnc-ub-dev
920af5756dc0920453c03b1585b24b91ac400929 03-Feb-2016 Sungsoo Lim <sungsoo@google.com> Merge "MediaBrowserCompat: Support pagination on pre L devices" into mnc-ub-dev
16d709bad185d0d5e9bf2ba88132fb592e63041d 21-Jan-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserCompat: Support pagination on L and M devices

Bug: 23289404, Bug: 25564520
Change-Id: Iacc3978473528d7cadf548e6187594bbac70beaf
ediaBrowserCompat.java
ediaBrowserCompatUtils.java
ediaBrowserProtocol.java
ediaBrowserServiceCompat.java
8e16eac9d287d2b663c0000169503e83206bd9a7 02-Feb-2016 Jae Seo <jaeseo@google.com> MediaBrowser: Add extra lookup keys to specify media items to retrieve

Bug: 25821318, Bug: 25153123, Bug: 25153113
Change-Id: I04c1a8f292110f6f1535ea491d021ef8b068d1d4
ediaBrowserServiceCompat.java
82387d9f1b1ed30028e4c9090ec5fadce7d146f1 15-Jan-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserCompat: Support pagination on pre L devices

Bug: 23289404, Bug: 25564520
Change-Id: Id61be42dd6e128776b252ddc16f080c6b0932cac
ediaBrowserCompat.java
ediaBrowserCompatUtils.java
ediaBrowserProtocol.java
ediaBrowserServiceCompat.java
ed4320c90b72c7d2b6228f0bb690a16e08037734 19-Jan-2016 Sungsoo Lim <sungsoo@google.com> DO NOT MERGE) Fix the documentation of MediaBrowserProtocol

Change-Id: I63b41f5c8c8aee0c59c38cefcf74701a3dac7903
ediaBrowserProtocol.java
c9180401d40dd80731c092455a1166412e0dfcc2 19-Jan-2016 Sungsoo Lim <sungsoo@google.com> DO NOT MERGE) MediaBrowserCompat: Do not use String for Messge.obj

In order to send an object via Message.obj from a process to
a different process, the type of the object should be parcelable.

Bug: 26609825
Change-Id: I4dc56371d4b114ca58ff1f26c1833d3bbdb45dde
ediaBrowserCompat.java
d4c131eea07dc2593f70523979929e52cf80e31e 18-Jan-2016 Sungsoo Lim <sungsoo@google.com> DO NOT MERGE) MediaBrowserCompat: Set the proper class loader for unparceling

And refactor MediaBrowserCompat.

Bug: 26613923
Change-Id: I6943345895788e7202a4cab42b491f8f8666ddc4
ediaBrowserCompat.java
ediaBrowserServiceCompat.java
094c558a8a4f9be922846da811568d2970064e43 18-Jan-2016 Sungsoo Lim <sungsoo@google.com> DO NOT MERGE) MediaBrowserCompat: Fix for sending messages to a remote process

- In order to send an object via Message.obj from a process to
a different process, the type of the object should be parcelable.
- When using Messenger, Binder.getCallingUid() in handleMessage does
not return the uid of the calling process.

Bug: 26609825
Change-Id: I1f9ad5b46e8e174600eb432bf91e7541900b6283
ediaBrowserCompat.java
ediaBrowserProtocol.java
ediaBrowserServiceCompat.java
992f6a3f46eca8de76d91390fbc5ec68bdf220ea 07-Jan-2016 Ian Lake <ilake@google.com> Merge "Make MediaButtonReceiver MediaBrowserServiceCompat aware" into mnc-ub-dev
7075eac10d9549feb4a4f24895553572ef4001b1 11-Dec-2015 Sungsoo Lim <sungsoo@google.com> MediaSessionCompat: Use the handler's looper to call callback methods

Bug: 25079496
Change-Id: I6156003fd291b8f822255cf34bd8d20ea08554c5
ession/MediaSessionCompat.java
a4cf7f824147cd0f5bd879b7e4663c11278e3b7b 06-Jan-2016 Sungsoo Lim <sungsoo@google.com> Merge "MediaSessionCompat: Refactor Callback classes" into mnc-ub-dev
9961e6e72ded525e84a78ee3b6fba6a3f374c93e 05-Jan-2016 Sungsoo Lim <sungsoo@google.com> MediaSessionCompat: Refactor Callback classes

MediaSessionImplBase only requires onSeekTo() and onSetRating() callback
methods.

Change-Id: I35fcc4936b048580f49611bbffa04563ab33445c
ession/MediaSessionCompat.java
a814378c5dea79b499c80972a262c8ee959adc86 05-Jan-2016 Donghyun Cho <donghyun@google.com> Merge "MediaSessionCompat: Update javadoc of playFromUri()" into mnc-ub-dev
5a506275dffe9cfc675125018f7d3e2902025b44 05-Jan-2016 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Update javadoc of playFromUri()

Removed a comment of
MediaControllerCompat.TransportControls.playFromUri() because now it
works.

Bug: 23188907
Change-Id: Ib0770944a23bf79af56b0a364182536e71978e3c
ession/MediaControllerCompat.java
23471681e408dfe4e44975e13e7575ab5a04bc8c 19-Dec-2015 Jae Seo <jaeseo@google.com> Add a class Javadoc for MediaBrowserCompat.MediaItem

Also fixed a typo in MediaBrowserServiceCompat.

Bug: 26181781, Bug: 26182458
Change-Id: Ic6bf51b92bc14afb2121f0810807709d07acf9ac
ediaBrowserCompat.java
ediaBrowserServiceCompat.java
c7c2e744c89f636ec21eec1535b81590ceac2a85 18-Dec-2015 Ian Lake <ilake@google.com> Make MediaButtonReceiver MediaBrowserServiceCompat aware

While maintaining the ability to have media buttons routed
to a particular service by adding the MEDIA_BUTTON intent
filter, also look for and use any available media browser
services as possible targets to forward media button events.

This saves a step in updating the manifest and fixes the
common case: using a MediaBrowserService(Compat) as the
Service owning the MediaSessionCompat.

BUG: 22917960
Change-Id: Ic0db49957a8bf23d378cafbdd588ba1dd39b2da5
ession/MediaButtonReceiver.java
01ce79ae5cba1be3859bf520d2186c882631fca5 09-Dec-2015 Ian Lake <ilake@google.com> Ensure MediaDescriptionCompat retains Media URI on API 21-22

Media URI was added to the framework MediaDescription in API 23, but
to support it as part of MediaDescriptionCompat on all API levels, it
is important that the data remains even when the object is parceled or
converted to and from a framework object on API levels 21 and 22.

Using a custom key in the Bundle associated with MediaDescriptionCompat
allows the data to be saved and restored automatically, including cases
such as with MediaControllerCompat where the MediaDescription framework
objects are being passed as part of framework QueueItems.

BUG: 26058433
Change-Id: I5b019c41ef2716bf3b7ccc04b17d8953d3c499c1
ediaDescriptionCompat.java
fac1534b73f0b23f3fbcaed220be3661d7feb09f 16-Nov-2015 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Protect artwork bitmaps from being recycled

When an artwork image is updated on pre-L, current RCC implementation
recycles an original one, making it inaccessible later. In order to make
this behavior fit well with caching, this change clones given bitmaps in
the metadata to be set. An original artwork bitmap can remain
unrecycled, and RCC will recycle the cloned one later.

Bug: 24540321
Change-Id: I7f993330252d55d55884b6195a1f79e9873bfa62
ession/MediaSessionCompat.java
92a141e2e4ca56b6b63a5713bd3e71eb4b141734 20-Nov-2015 Jae Seo <jaeseo@google.com> Merge "MediaDescriptionCompat: add mMediaUri to the parcel" into mnc-ub-dev
ae6d147640b8a868d2edff8ebac8d2a6bb03c594 10-Nov-2015 Sungsoo Lim <sungsoo@google.com> MediaBrowser: Handle null results properly in onLoadChildren

- Allow to send results with null for notifying an error on loading
media items.
- Add a workaround for the existing bug among API 21 - 23.

Bug: 19127753
Change-Id: I1507cf7b55fbc7187cf77801c3370ebb4cc3f614
ediaBrowserCompat.java
ediaBrowserServiceCompat.java
81f61057e1542008c03d6a85e8ef475d9177149f 19-Oct-2015 Andrew Sutherland <dr3wsuth3rland@gmail.com> MediaDescriptionCompat: add mMediaUri to the parcel

Change-Id: I37bafb01d52321458547143124a4d46c4bd509af
ediaDescriptionCompat.java
6a184637de319a0db2b2d7299bca67ccd5d8f364 10-Nov-2015 Jae Seo <jaeseo@google.com> Merge "MediaRouter: Black magic to bring custom media metadata back" into mnc-ub-dev
18341cb11f490d25a22dd2ff1c79a562531c0e6f 10-Nov-2015 Sungsoo Lim <sungsoo@google.com> Merge "MediaBrowserCompat: Handle ServiceConnection methods in the given thread" into mnc-ub-dev
add8e891e1f91f348f29bd700382d2fc33b5579f 06-Nov-2015 Jae Seo <jaeseo@google.com> Merge "MediaBrowser: Publish the API" into mnc-ub-dev
fef15ea991ce111e43b165ad5f12dccd6be9f1f2 05-Nov-2015 Jae Seo <jaeseo@google.com> MediaRouter: Black magic to bring custom media metadata back

MediaMetadataCompat and MediaMetadata are internally converted into each
other on platform version 21 or higher as the framework
(e.g. MediaSession) does not understand MediaMetadataCompat. When this
happens, custom key-value pairs are lost.

The difficulty here is that the current framework API does not provide a
way to tell the type of each custom key-value pair in MediaMetadata
making it impossible to extract them while converting.
This could've been avoided if there is a way to retrieve data as a
generic object such as Object or Bundle but the current design offers
get-methods only for specific types.

The code change here tries to overcome this problem by copying the
underlying Bundle object that represents the whole media metadata as is
when performing the conversion hence preserving the entirety of the
data. Care was taken to replace RatingCompat values in metadata with
Rating values such that the metadata Bundle can be unmarshalled on the
framework side.

Bug: 25328581
Change-Id: Ic83b73e18e31baf9446ca845b7e49aa508b3f108
ediaMetadataCompat.java
c9d7594ade1d727f6e1c4bd797aaaeb553826db9 04-Nov-2015 Jae Seo <jaeseo@google.com> Revert "MediaRouter: Preserve custom data in metadata between Api21 and Compat"

This reverts commit 56264c1f9d3493fc24728b37e20c11dc066385e7.

Bug: 25446896
Change-Id: Ie25586c5c44f87a080ae6dc1f87cc8e76a1e37d1
ediaMetadataCompat.java
2490f437a4111d64520f891b2c81685f8fae323c 02-Nov-2015 Jae Seo <jaeseo@google.com> MediaBrowser: Publish the API

Bug: 22917960
Change-Id: Id550e257694c993ff0bedef91bd966b9098cbffe
ediaBrowserCompat.java
ediaBrowserServiceCompat.java
e06d5d3c63e0848add1264327a58afaba6c5ca04 04-Nov-2015 Donghyun Cho <donghyun@google.com> Merge "MediaSessionCompat: Make playFromUri() work on API 21-22" into mnc-ub-dev
4b2318177dddccb9e996d0128daa674b2c6d3fc2 02-Nov-2015 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Make playFromUri() work on API 21-22

Since MediaControllerCompat just uses MediaController that doesn't have
playFromUri() on API 21-22, we need to use existing sendCustomAction()
functionality in order to enable playFromUri() on API 21-22.

Bug: 23188907
Change-Id: If3cd379fe2d92cbaa9e005e403dba4c2494d05d4
ession/MediaControllerCompat.java
ession/MediaSessionCompat.java
12647500b3a5ae70eb47f3fa4a026994277bb0ff 02-Nov-2015 Sungsoo Lim <sungsoo@google.com> Merge "Send a message with data in MediaControllerCompat.MessageHandler.post()" into mnc-ub-dev
658f2e78ab199f5dc800b7004a55b2b9290f8db7 30-Oct-2015 Insun Kang <insun@google.com> MediaSession: Fix the API documentation inconsistency

Bug: 24974209
Change-Id: I0f8816ec491ecfdb405dc98fb0837b5720d06c38
ession/MediaSessionCompat.java
ecc231b11c9e6c1813bf12232559ea372cf02ea7 02-Nov-2015 Sungsoo Lim <sungsoo@google.com> Send a message with data in MediaControllerCompat.MessageHandler.post()

This CL is a cherry-pick of the framework code from commit
Ifd50b857c4503d39868540f6256c78f0cb510c83.

Bug: 21478435
Change-Id: I0021b9378bee42d08583234b1edc5972cce8ccf2
ession/MediaControllerCompat.java
a4b87b4df1dda9f012dad8b50d462d7396a80faa 30-Oct-2015 Sungsoo Lim <sungsoo@google.com> MediaBrowserCompat: Handle ServiceConnection methods in the given thread

The class assumes that the member variables are accessed in the same thread
when the class was created, but onServiceConnected/Disconnected is called
in the main thread according to the documentation.

Bug: 25307613
Change-Id: Idf25b1552d4ba34d066f8924851ba5ed15fff283
ediaBrowserCompat.java
6b405b82065f6bfdfde43fe1a91111a76da160f4 30-Oct-2015 Sungsoo Lim <sungsoo@google.com> Merge "Support API 23 methods in MBC and MBSC" into mnc-ub-dev
82cf659fd8dcc28e182274b17a401023ab879dea 29-Oct-2015 Sungsoo Lim <sungsoo@google.com> Support API 23 methods in MBC and MBSC

- Use an extra messenger between MBSC (MediaBrowserServiceCompat)
and MBC (MediaBrowserCompat) when the platform SDK version is
21 or 22 in order to support the new method added in API 23.
- Use version numbers for better forward compatibility.

Bug: 22917960
Change-Id: Idf4247ee78ebfcf34434b92531618cc35151d038
ediaBrowserCompat.java
ediaBrowserProtocol.java
ediaBrowserServiceCompat.java
2a6f86b4b2f7351c48669356a59a87ce51816245 29-Oct-2015 Jae Seo <jaeseo@google.com> Merge "MediaRouter: Preserve custom data in metadata between Api21 and Compat" into mnc-ub-dev
56264c1f9d3493fc24728b37e20c11dc066385e7 29-Oct-2015 Jae Seo <jaeseo@google.com> MediaRouter: Preserve custom data in metadata between Api21 and Compat

Bug: 25328581
Change-Id: Id7ef2dcecb5ee1e47deab59c0e96ca4cb451fa58
ediaMetadataCompat.java
6ab738508e9b2061e9db5a9c2e180f0179a940f8 29-Oct-2015 Sungsoo Lim <sungsoo@google.com> Merge "Use Messenger instead of AIDL between MBC and MBSC" into mnc-ub-dev
3f61f1657d13dacf4eb42d9371595b8075cff222 21-Oct-2015 Sungsoo Lim <sungsoo@google.com> Use Messenger instead of AIDL between MBC and MBSC

MediaBrowserCompat (MBC) and MediaBrowserServiceCompat (MBSC) can
live in separated APKs and their support lib versions can be
different. Therefore, the AIDL approach could lead to unexpected
breaks in some cases.

Bug: 22917960
Change-Id: Ie18eef8c9ea120467d40de01a9c7fa2329e82681
MediaBrowserServiceCompat.aidl
MediaBrowserServiceCompatCallbacks.aidl
ediaBrowserCompat.java
ediaBrowserServiceCompat.java
e85a354d2fa742d06966c44dd3de99f6f4181837 29-Oct-2015 Dongwon Kang <dwkang@google.com> Merge "MediaBrowser: Fix a wrong ISE message" into mnc-ub-dev
dfed7fbde83fb36b1993582317a27c5247af958c 28-Oct-2015 Dongwon Kang <dwkang@google.com> MediaBrowser: Fix a wrong ISE message

Change-Id: I6717923f1e82984f1f32567b9190ce74d4da35b5
ediaBrowserCompat.java
6b565ded51fc2e48e9d5ac652e1fbf3d9255dd3e 16-Oct-2015 Sungsoo Lim <sungsoo@google.com> Allow MediaBrowserCompat be connect to MediaBrowserService

Bug: 22917960
Change-Id: Ie9bf33c022700a8296840dcf66881e8424ec0f5e
ediaBrowserCompat.java
3779a77c9f8afc3d153f42f83ec7ea93636c7d20 27-Oct-2015 Sungsoo Lim <sungsoo@google.com> Merge "Revert "Revert "Allow MediaBrowser be connect to MediaBrowserServiceCompat""" into mnc-ub-dev
9703a1e215168b6b580430ec490ca616b6490c80 23-Oct-2015 Sungsoo Lim <sungsoo@google.com> Revert "Revert "Allow MediaBrowser be connect to MediaBrowserServiceCompat""

- This reverts commit 493571364635be0190cea8ee230a601070391e6f.
- Also fix the build issue.

Change-Id: Ifc58b98cdc71aad59cfeaf4708cefd879bb0d1be
MediaBrowserServiceCompat.aidl
MediaBrowserServiceCompatCallbacks.aidl
ediaBrowserServiceCompat.java
a7532cd4b5db18026ef192e82574a94426b7e4ad 23-Oct-2015 Jae Seo <jaeseo@google.com> Correct MediaMetadataCompat#METADATA_KEY_DATE Javadoc

Bug: 25080808
Change-Id: Iad2e2b317e05d9f50f91915a96297100bb935b82
ediaMetadataCompat.java
df112ae7823283c7a36c654b19ee9bdb99404806 22-Oct-2015 Ian Pedowitz <ijpedowitz@google.com> Merge "Revert "Allow MediaBrowser be connect to MediaBrowserServiceCompat"" into mnc-ub-dev
493571364635be0190cea8ee230a601070391e6f 22-Oct-2015 Ian Pedowitz <ijpedowitz@google.com> Revert "Allow MediaBrowser be connect to MediaBrowserServiceCompat"

This reverts commit 6a4150834d679d66abef50aff74d30ae2e846a32.

Change-Id: Ia50b8f070ae97024ee9e64ed27ef61eabe155f3f
MediaBrowserServiceCompat.aidl
MediaBrowserServiceCompatCallbacks.aidl
ediaBrowserServiceCompat.java
5b645640adf884ff868e6ff23a638bcd75d8a403 22-Oct-2015 Sungsoo Lim <sungsoo@google.com> Fix typo

Change-Id: I1947b71849694ab1fbf7a9789fb8a4bd5325ded7
ession/MediaButtonReceiver.java
6a4150834d679d66abef50aff74d30ae2e846a32 12-Oct-2015 Sungsoo Lim <sungsoo@google.com> Allow MediaBrowser be connect to MediaBrowserServiceCompat

Bug: 22917960
Change-Id: I009ae9c60e44ec250ccf9a7d9b7613b64c5c1f84
MediaBrowserServiceCompat.aidl
MediaBrowserServiceCompatCallbacks.aidl
ediaBrowserServiceCompat.java
bbc4b0e06a9e5868cf0c44b2b3ec24fb6ca00b2c 15-Oct-2015 Donghyun Cho <donghyun@google.com> MediaRouter: Make MediaControllerCompat.playFromUri() work

An API23+ method in MediaControllerCompat, playFromUri(), doesn't
work when the class is initiated from a session token. This is
because the class uses incorrect API version of Impl class.

Bug: 24963300
Change-Id: Ibe87e863e0adc63731c74fc98f81e8890ed7f86d
ession/MediaControllerCompat.java
9f1ca7b096104ba688a5e8f760531a83ba081a5e 12-Oct-2015 Ian Lake <ilake@google.com> Merge "Fix MediaSessionCompat adjustVolume crash pre-API 21" into mnc-ub-dev
245c7deb4ff913cb5722c5f288b63ef57a698795 12-Oct-2015 Ian Lake <ilake@google.com> Fix MediaSessionCompat adjustVolume crash pre-API 21

Corrects order of parameters sent to
AudioManager.adjustStreamVolume() to match Javadoc.
This ensures that the streamType and direction are set
correctly, avoiding IllegalArgumentException: Bad direction 3
errors.

BUG: 24843659
Change-Id: Id571d81e3d84a933bfe71cf077bbb4f19ae7cc97
ession/MediaSessionCompat.java
59ad1fabfb3a13ead89392b01f8cdc30cc7e58fc 09-Oct-2015 Youngsang Cho <youngsang@google.com> Modify comments in MediaButtonReceiver

Bug: 24807797
Change-Id: I760cba1377ceeb7debbbefc39e452545152020f3
ession/MediaButtonReceiver.java
e2447bb2dce5401b3cd473c1d276bc7d58592540 27-Sep-2015 Ian Lake <ilake@google.com> Move Compat specific MediaBrowserCompat logic to ImplBase class

Move logic specific to connecting to a MediaBrowserServiceCompat
from the base MediaBrowserCompat to a static innner class
MediaBrowserImplBase. No functional changes.

BUG: 22917960
Change-Id: I8160629f356e3e8173cd2424fa2eaed82cbb7963
ediaBrowserCompat.java
b29d99569cf603f6349e3582682d096a1750fcc3 16-Sep-2015 Mounir Lamouri <mlamouri@google.com> MediaSessionCompat: fix crash when registerMediaEventReceiver needs a ComponentName.

Some broken implementations of Android do not accept
registerMediaEventReceiver with a PendingIntent even if it should be
supported. This CL work arounds the issue and fallbacks to ComponentName
if needed.

BUG: 24051980
Change-Id: Ia83bc2bcdf5eda716d21809e07cac1420e6549b9
ession/MediaSessionCompat.java
2febd4e90397d594e37fbb3ef5ed3e0ebd30b4cb 26-Sep-2015 Jae Seo <jaeseo@google.com> MediaSession: Add a null check in MediaSessionImplApi21.setCallback

Bug: 24326977
Change-Id: Id07ae79010254c59647b6aac0641bfcb2f68582c
ession/MediaSessionCompat.java
096f2531cb790bc1106377d2da344614a3b88d39 25-Sep-2015 Jae Seo <jaeseo@google.com> Revert "Revert "MediaBrowser: Add the "Compat" postfix""

This reverts commit de9762d01d444a32d3d6f22e545e39e8e03dbd4e.
Also fixes minor Java doc issues.

Change-Id: I663f224d6a90f6804e09107d2eede1d4f98d713c
MediaBrowserService.aidl
MediaBrowserServiceCallbacks.aidl
MediaBrowserServiceCompat.aidl
MediaBrowserServiceCompatCallbacks.aidl
ediaBrowser.java
ediaBrowserCompat.java
ediaBrowserService.java
ediaBrowserServiceCompat.java
092898ddf95f16a8dd8e12ee388210f04941da0a 25-Sep-2015 Jae Seo <jaeseo@google.com> MediaBrowser: Remove unnecessary aidl

Change-Id: I407f193978850e85f4d7170bbd9fe3d33f3d9f85
ediaBrowser.aidl
e2dc54fb995a75eab424aafe4960799ed5512f4d 25-Sep-2015 Jae Seo <jaeseo@google.com> Revert "Revert "Backport MediaBrowser and MediaBrowserService""

This reverts commit 3371878d9135e013241907160d18aa3d08db09ce.
MediaBrowserService.aidl
MediaBrowserServiceCallbacks.aidl
ediaBrowser.aidl
ediaBrowser.java
ediaBrowserService.java
3371878d9135e013241907160d18aa3d08db09ce 25-Sep-2015 Chris Banes <chrisbanes@google.com> Revert "Backport MediaBrowser and MediaBrowserService"

This reverts commit b113d491f3aaba7f508fc0045382bb1344c3c609.

Change-Id: If45c6f458c37b9d79f4218f6b1c4213278f83c83
MediaBrowserService.aidl
MediaBrowserServiceCallbacks.aidl
ediaBrowser.aidl
ediaBrowser.java
ediaBrowserService.java
b113d491f3aaba7f508fc0045382bb1344c3c609 24-Sep-2015 Jae Seo <jaeseo@google.com> Backport MediaBrowser and MediaBrowserService

Bug: 22917960
Change-Id: Ic9e006c4f06f5783cfc83bd55eca38105891383f
MediaBrowserService.aidl
MediaBrowserServiceCallbacks.aidl
ediaBrowser.aidl
ediaBrowser.java
ediaBrowserService.java
095cb67a2b2c2a222beba3ccc1bcbd1a5597573b 01-Sep-2015 Insun Kang <insun@google.com> Add null check to MediaSessionCompat.setMetadata and setPlaybackState.

Bug: 23694043

Change-Id: I7e2f3a5f5189ea0daf6e8bcf58b3cd9fb291e080
ession/MediaSessionCompat.java
e79f77d03d8abffefa844d4191032d5c4dd1b2fb 13-Aug-2015 Dongwon Kang <dwkang@google.com> am 3bce8bbe: am 389b1420: am 229e04bb: MediaControlerCompat: add API level requirement documentation for playFromUri()

* commit '3bce8bbece596d9ff12ea586773b3a04a9fb9893':
MediaControlerCompat: add API level requirement documentation for playFromUri()
229e04bbc3590e8371b5f4b0d46300adaea7f1d5 12-Aug-2015 Dongwon Kang <dwkang@google.com> MediaControlerCompat: add API level requirement documentation for playFromUri()

Bug: 23142441
Change-Id: I28a79dcd0cfd63d5276d5a35171382157ca3a22a
ession/MediaControllerCompat.java
f82475f9cdd2e91b065d77da5a144ec189d4ab08 11-Aug-2015 Ian Lake <ilake@google.com> Merge "Find Media Button Receiver in manifest for MediaSessionCompat" into mnc-ub-dev
1339fcdb1ed7dc3382dea5f8142d81b08fe76ce0 19-Jul-2015 Ian Lake <ilake@google.com> Add MediaSessionCompat aware Media Button Receiver

Provides a default MediaButtonReceiver implementation that
forwards hardware media button events onto a Service which
manages a MediaSessionCompat, which can then use the helper
handleIntent() method to extract and forward the KeyEvent to
the appropriate MediaSessionCompat.Callback by leveraging
MediaControllerCompat.dispatchKeyEvent(), reducing boilerplate
code and providing a consistent base for all media playback apps.

BUG: 22576625
Change-Id: I8b1cadfdb8b607e1de90f9c6443184cf2ef1eba6
ession/MediaButtonReceiver.java
6ea5bcf2aacb9afc938832d875771866616e3685 19-Jul-2015 Ian Lake <ilake@google.com> Find Media Button Receiver in manifest for MediaSessionCompat

In cases where only a single BroadcastReceiver is registered to
handle ACTION_MEDIA_BUTTON, provide a convenience constructor for
MediaSessionCompat and logic that queries the manifest for the
correct media button receiver if a null ComponentName is passed in.

BUG: 22581038
Change-Id: I6dfc6ccff192362d5570db1f63c5c291658bce41
ession/MediaSessionCompat.java
9b032988d409ee6bff579d8f21ef79f4c5fd5fb5 03-Aug-2015 Ian Lake <ilake@google.com> Pass VolumeProviderCompat.setCurrentVolume() calls to framework

On API21+ devices, calling VolumeProviderCompat.setCurrentVolume()
should call into the underlying framework VolumeProvider's
setCurrentVolume() as well as update its internal mCurrentVolume()
so that subsequent calls to getCurrentVolume() stay in sync.

BUG: 22883066
Change-Id: I6bdbf792a72229cc8ad416fd978abf28e1a9609d
olumeProviderCompat.java
55f293dcc566bbd71ca95381ead8554d79c73b97 30-Jul-2015 Dongwon Kang <dwkang@google.com> Merge "MediaSessionCompat: fix the flaky remote volume slider issue" into mnc-dev
96e4206a6ea1df100ac1d2f79276745d79f8e9dd 30-Jul-2015 Dongwon Kang <dwkang@google.com> MediaSessionCompat: fix the flaky remote volume slider issue

RemoteControlClient keeps the state locally and send an update to AudioService
only when the state changes. The problem is that the state in the AudioService
is reset when we register RemoteControlClient while RemoteControlClient keeps
the state. Discrepancy happens when we re-register the RemoteControlClient
instance. This change resets the state in RemoteControlClient so that the state
in AudioService has the right value when we re-register.

Bug: 19719195
Change-Id: Ic3b714919be35ef1fa6f1dc698c8811387db787d
ession/MediaSessionCompat.java
b51f456b92aeb62d5aa9d67e1fb2725b2035fddd 24-Jul-2015 Ian Lake <ilake@google.com> Add API 23 PLAY_FROM_URI support to MediaSessionCompat

Add support for the PLAY_FROM_URI action, added in API 23, to
MediaSessionCompat, PlaybackStateCompat, and MediaControllerCompat.

Note that while <API 21 and API23+ devices will send calls from
MediaControllerCompat.TransportControls.playFromUri() through to the
registered Callback, no attempt has been made to make the same
functionality available to API 21-22 devices (as those use the native
MediaController framework).

BUG: 22715736
Change-Id: I8d21196cd8101047a9ec510b7fe817f924ddb7c3
ession/IMediaSession.aidl
ession/MediaControllerCompat.java
ession/MediaSessionCompat.java
ession/PlaybackStateCompat.java
dcd31cb3a44ed712454ee818a45b0aa4c3b5d699 25-Jul-2015 Ian Lake <ilake@google.com> am 3fea238e: Merge "Annotate Media section of Support Library" into lmp-mr1-ub-dev

* commit '3fea238e7760793db005c6440b1017256b629581':
Annotate Media section of Support Library
9cdd87d08a3295f5f973b70008840d6bf8de8aa1 24-Jul-2015 Ian Lake <ilake@google.com> Update MediaDescriptionCompat for API 23

Add media URI field for API 23+ devices to achieve platform parity.

BUG: 22699466
Change-Id: I7d47cc1a52269db1c87c9ba24880b386d0f6694a
ediaDescriptionCompat.java
f0e4dea75691d2fd1256508136ecce88bef6067b 20-Jul-2015 Ian Lake <ilake@google.com> Annotate Media section of Support Library

Use @IntDef and StringDef Support Annotations where appropriate
to ensure that IDEs can autocomplete to the correct set of constants

BUG: 22588432
Change-Id: I540a19c3df3637ba5c7a0f4ce3b1994d8f00d1d2
ediaMetadataCompat.java
atingCompat.java
olumeProviderCompat.java
ession/MediaSessionCompat.java
ession/PlaybackStateCompat.java
6423ae075d287a6920a0447c365747b58517dbcb 14-Jul-2015 Ian Lake <ilake@google.com> am b5adb960: Merge "Match Compat Media Button parsing with latest framework" into lmp-mr1-ub-dev

* commit 'b5adb960ed476c42ea5873d8db563a96a15817fd':
Match Compat Media Button parsing with latest framework
584ddd4736180a2d77f19cf5451cc3cc92505972 14-Jul-2015 Ian Lake <ilake@google.com> am 03538315: Merge "Fix MediaControllerCompat.dispatchKeyEvent() crash <API21" into lmp-mr1-ub-dev

* commit '035383155ab8ed04a9d948875515720bbc953c0a':
Fix MediaControllerCompat.dispatchKeyEvent() crash <API21
0a424867f6a50ea7c40ad93756d9200b4215060c 14-Jul-2015 Ian Lake <ilake@google.com> am 7cce2d3d: Merge "MediaSessionCompat: Use Media Button Component on API 21+" into lmp-mr1-ub-dev

* commit '7cce2d3d539aa0a10ad79c7a1d42716f231aeb81':
MediaSessionCompat: Use Media Button Component on API 21+
b5adb960ed476c42ea5873d8db563a96a15817fd 14-Jul-2015 Ian Lake <ilake@google.com> Merge "Match Compat Media Button parsing with latest framework" into lmp-mr1-ub-dev
035383155ab8ed04a9d948875515720bbc953c0a 14-Jul-2015 Ian Lake <ilake@google.com> Merge "Fix MediaControllerCompat.dispatchKeyEvent() crash <API21" into lmp-mr1-ub-dev
8e7ce8ec229502777a0c67cc42026b7a0f8d07df 13-Jul-2015 Ian Lake <ilake@google.com> Match Compat Media Button parsing with latest framework

API 21+ devices will automatically parse KeyEvents passed
in via MediaControllerCompat.dispatchKeyEvent(). Ensure
that the same logic is applied to <v21.

BUG: 22433236
Change-Id: I35c6cd70ef99ad8746b6b08cccff12db367837b9
ession/MediaSessionCompat.java
98df940fab7cbc5f9258752ce41778681ebf9e32 13-Jul-2015 Ian Lake <ilake@google.com> Fix MediaControllerCompat.dispatchKeyEvent() crash <API21

KeyEvent was incorrectly being cast to an Intent when handling
dispatchKeyEvent on pre-Lollipop devices. Construct a new Intent
with the correct action and embed the KeyEvent so that the
appropriate callback can receive the Intent as expected.

BUG: 22433218
Change-Id: I055c71ca3a6dc61289745e724da6e539123193e8
ession/MediaSessionCompat.java
c83c938997e52b214d04c64d4379f0e0d68b0123 12-Jul-2015 Ian Lake <ilake@google.com> MediaSessionCompat: Use Media Button Component on API 21+

If a non-null Media Button Receiver ComponentName is passed to
MediaSessionCompat but a null Media Button PendingIntent,
convert the ComponentName into a PendingIntent such that it can
be used by API 21+'s MediaSession.setMediaButtonReceiver(). This
logic matches what is currently done for API 18-19 devices.

BUG: 22432215
Change-Id: I63d655882394af250c0f08307c80a3eb9f391c8e
ession/MediaSessionCompat.java
e7ce580f6dcebb0d8be085e16859a18cfd172214 06-May-2015 Ian Lake <ilake@google.com> am 930055d1: Merge "Add Lollipop+ playback states to PlaybackStateCompat" into lmp-mr1-ub-dev

* commit '930055d119aad484386bac603ffa9f2e12260109':
Add Lollipop+ playback states to PlaybackStateCompat
e86f4c0ced5816595181a1d530d1571320afa9ed 06-May-2015 Ian Lake <ilake@google.com> am a70dc75c: Merge "Include all actions in PlaybackStateCompat setActions/getActions() documentation" into lmp-mr1-ub-dev

* commit 'a70dc75c177980079f7e94d676faa32aa06b6493':
Include all actions in PlaybackStateCompat setActions/getActions() documentation
58477dabb6138bf4928033f18b6a81c940293b49 06-May-2015 Ian Lake <ilake@google.com> am 928aa59e: Merge "PlaybackStateCompat: Add support for custom actions, extras, and active item id" into lmp-mr1-ub-dev

* commit '928aa59e29b056bf4ccf3ca80e121a3d1251a843':
PlaybackStateCompat: Add support for custom actions, extras, and active item id
930055d119aad484386bac603ffa9f2e12260109 06-May-2015 Ian Lake <ilake@google.com> Merge "Add Lollipop+ playback states to PlaybackStateCompat" into lmp-mr1-ub-dev
a70dc75c177980079f7e94d676faa32aa06b6493 06-May-2015 Ian Lake <ilake@google.com> Merge "Include all actions in PlaybackStateCompat setActions/getActions() documentation" into lmp-mr1-ub-dev
ea79b7d36972eb3f518a7e7b59a92e7bd5faefb4 27-Apr-2015 Ian Lake <ilake@google.com> PlaybackStateCompat: Add support for custom actions, extras, and active item id

Adds support for API 21 and 22 specific PlaybackState data, allowing developers to use custom actions, active queue item ids, and extras while maintaining backward compatibility.

These newly added elements are not part of the RemoteControlClient API surface and are ignored on older devices.

BUG: 19382699
Change-Id: Idf355f6414a1035b2ae50bc3612a0deda81e4460
ession/PlaybackStateCompat.java
024c5c4a5f04a2201a92cb3538648396da3f8c9d 28-Apr-2015 Ian Lake <ilake@google.com> Include all actions in PlaybackStateCompat setActions/getActions() documentation

Not all actions were listed in the Javadoc for PlaybackStateCompat's setActions() and getActions() methods, leading developers to think those actions were not supported when in fact they are. Corrects the Javadoc to properly list all available actions.

Change-Id: Ie0bba5e699d7cee3e11b77260b7fe20b3711538e
ession/PlaybackStateCompat.java
bdffe798d762566626c161a613db777e80d9a786 28-Apr-2015 Ian Lake <ilake@google.com> Add Lollipop+ playback states to PlaybackStateCompat

Adds support for passing STATE_CONNECTING and STATE_SKIPPING_TO_QUEUE_ITEM to PlaybackStateCompat to ensure full compatibility with the framework PlaybackState.

On <API 21, STATE_SKIPPING_TO_QUEUE_ITEM is converted to STATE_SKIPPING_TO_NEXT as the closest equivalent. Note that existing code converted STATE_CONNECTING to STATE_BUFFERING - STATE_CONNECTING is now just unhidden.

Change-Id: I8884e8fd70b7f998ea3f8ae1edcbef545c127e3e
ession/PlaybackStateCompat.java
568e40da8f049bf14b7fe1438f38c1c05eef53d1 08-Apr-2015 Ian Lake <ilake@google.com> am 63853be0: Merge "Set RemoteControlClient transport flags from PlaybackStateCompat" into lmp-mr1-ub-dev

* commit '63853be0de64533fd5d17a6776c5c5f71958411b':
Set RemoteControlClient transport flags from PlaybackStateCompat
b5d44b772175e55013d16dc58a17eff30fcc3261 07-Apr-2015 Ian Lake <ilake@google.com> Set RemoteControlClient transport flags from PlaybackStateCompat

Call RCC's setTransportControlFlags for API 14-20 devices when PlaybackStateCompat changes, converting actions to transport control flags as needed. This ensures that lockscreen controls (among other things) appear correctly without developers having to specifically call getRemoteControlClient().setTransportControlFlags() themselves.

Copies static actions constants from PlaybackState into MediaSessionCompatApi14, 18, and 19 as needed to extract actions.

BUG: 19730261
Change-Id: I33dece21108cb41bd71731f0a376513f8d63932b
ession/MediaSessionCompat.java
432e41de911b3784751c8423724a2c0f85720bfa 07-Apr-2015 Ian Lake <ilake@google.com> am bbefa4cc: Merge "Revert "Set RemoteControlClient transport flags from PlaybackStateCompat"" into lmp-mr1-ub-dev

* commit 'bbefa4cc752a251410016af123fe32f9c3552355':
Revert "Set RemoteControlClient transport flags from PlaybackStateCompat"
780707609d1eca35ba46b36b6e18045e3738ef83 07-Apr-2015 Ian Lake <ilake@google.com> Revert "Set RemoteControlClient transport flags from PlaybackStateCompat"

This reverts commit 55642c06219b6c5c41cd97a389797131d00cb595.

Change-Id: Ife2a65fb325f4c1c0fb149ae925be4a2412da467
ession/MediaSessionCompat.java
7df32375413bd781f3795f955177f0e1a4216c5c 07-Apr-2015 Ian Lake <ilake@google.com> am acf2261a: Merge "Set RemoteControlClient transport flags from PlaybackStateCompat" into lmp-mr1-ub-dev

* commit 'acf2261a9411644f8868915d874958375bdf2573':
Set RemoteControlClient transport flags from PlaybackStateCompat
55642c06219b6c5c41cd97a389797131d00cb595 05-Apr-2015 Ian Lake <ilake@google.com> Set RemoteControlClient transport flags from PlaybackStateCompat

Call RCC's setTransportControlFlags for API 14-20 devices when PlaybackStateCompat changes, converting actions to transport control flags as needed. This ensures that lockscreen controls (among other things) appear correctly without developers having to specifically call getRemoteControlClient().setTransportControlFlags() themselves.

BUG: 19730261
Change-Id: I16052b79d514aa6ef92672130358d14924cfbc71
ession/MediaSessionCompat.java
f48e02e352d7d86c41c3d33802a09478cccb7771 07-Mar-2015 Xavier Ducrohet <xav@google.com> Fix support lib compilation. DO NOT MERGE.

Change-Id: I8fff3881cb4aee20c568f4678e6ee007d179054d
ession/MediaSessionCompat.java
1c91ca160d4a8f4f3cf3cf2a8672e0ccd16d88d4 09-Jan-2015 RoboErik <epastern@google.com> Do not merge. Register a callback to push volume updates in MediaSessionCompat

We had forgotten to set a listener for volume changes on in
MediaSessionCompat when a VolumeProviderCompat is set. Without this
future volume changes won't be reported correctly to observers on pre-L
devices.

bug:18959923
Change-Id: I3b136c6bf923b3a2e30e7894fffb38feccd206c6
ession/MediaSessionCompat.java
dcf548676596d8644a6be2b4d0c7c1db0128655e 09-Jan-2015 RoboErik <epastern@google.com> Register a callback to push volume updates in MediaSessionCompat

We had forgotten to set a listener for volume changes on in
MediaSessionCompat when a VolumeProviderCompat is set. Without this
future volume changes won't be reported correctly to observers on pre-L
devices.

bug:18959923
Change-Id: I3b136c6bf923b3a2e30e7894fffb38feccd206c6
ession/MediaSessionCompat.java
e49860b0f76d8336c1d41831ed370b0ff94278ef 04-Dec-2014 RoboErik <epastern@google.com> Make MediaSessionCompat/MediaControllerCompat work pre 21

This adds support for cross-process communication between MediaSessionCompat
and MediaControllerCompat. This is to support apps that split their playback
service and ui into different processes and to work with the MediaRouter
support lib.

bug:18186638
Change-Id: Ib554108fd4db5a9855d482cf3d61ce3d8d9c8850
ediaMetadataCompat.aidl
atingCompat.aidl
ession/IMediaControllerCallback.aidl
ession/IMediaSession.aidl
ession/MediaControllerCompat.java
ession/MediaSessionCompat.aidl
ession/MediaSessionCompat.java
ession/ParcelableVolumeInfo.aidl
ession/ParcelableVolumeInfo.java
ession/PlaybackStateCompat.aidl
ession/PlaybackStateCompat.java
5c9469e010106467791b47b0fa83efda84491a21 25-Nov-2014 RoboErik <epastern@google.com> Add backwards compatibility to MediaSessionCompat

Make MediaSessionCompat backwards compatible using RCC on APIs 14-20
and MediaSession on 21+. Verified on API 16.

bug:18186638
Change-Id: I7cca9d85d4377a69366d69c0fa59b9739cd51233
ediaMetadataCompat.java
ession/MediaSessionCompat.java
aeb95a772d4365008145407ed52dfbaa61d3c4ac 25-Nov-2014 RoboErik <epastern@google.com> Finish stubbing out MediaControllerCompat APIs

This makes sure MediaControllerCompat has all the methods MediaController
has and passes calls through to the framework component on 21+. This does
not do backwards compatibility yet.

Change-Id: I96cf0bb0e33c09c74edf79e276feb5d6829b7a1f
ession/MediaControllerCompat.java
ession/PlaybackStateCompat.java
b6362d072f329a3207aa709ac6b79a4aa3c4d522 26-Nov-2014 Ying Wang <wangying@google.com> Fix docs.

Change-Id: Iba38cc5b58c1dcf4cac5a0981f281461e684b881
ession/MediaSessionCompat.java
ceb8bf5e5cce7a37736981e626c4be416378767b 21-Nov-2014 RoboErik <epastern@google.com> Finish stubbing out MediaSessionCompat

This adds all the methods in MediaSession to MediaSessionCompat and
the code to pass it through to the framework version when available.

This does not add support for pre-L.

bug:18186638
Change-Id: Icfc80df088db87b6eff629edbc08b4107fbe2821
ession/MediaSessionCompat.java
94be6100218126ce6a08bf1f56209578500b361f 28-Oct-2014 RoboErik <epastern@google.com> Update the support lib MediaRouter dialogs

This updates the UI for MediaRouter dialogs to use the new material
designs for MediaRouter. This doesn't update everything and new
icons are still needed.

Change-Id: I87c7c63c10ac60448251a8fc1fc4740a12f1603c
ession/MediaControllerCompat.java
4e3b8470fa30cba04e2fb6b95516cff8f3e1e499 19-Nov-2014 RoboErik <epastern@google.com> Make the method for getting a compat Token from a Token static

I accidentally a keyword.

bug:18186638
Change-Id: I137e1442c7c493f4a95020474fc82a8a2d67abef
ession/MediaSessionCompat.java
ae70d8d953ef632acb9f176609a1f75bd948d101 13-Nov-2014 RoboErik <epastern@google.com> Add a way to create a compat Token from a fw Token

Adds a method to MediaSessionCompat.Token for creating a Token from a
framework token.

Change-Id: Ic0412e24256536666162781e3241e5e43e25204f
ession/MediaSessionCompat.java
cf9daf1b11f55ecb9f4008cd1c7af2c8dac990af 30-Oct-2014 RoboErik <epastern@google.com> Add MediaDescriptionCompat to the support lib

This is needed to support changes to MediaRouter.

bug:17879842
Change-Id: Iffd12398ee4d44df21204d23a378c954fee3aa88
ediaDescriptionCompat.java
ediaMetadataCompat.java
85d539daa11f9f7bd61ecb8ebb4d43536c02a736 30-Oct-2014 RoboErik <epastern@google.com> Add setSessionActivity to MediaSessionCompat

This method is useful for TV apps that want to use the compat version
to make switching later easier.

bug:18186638
Change-Id: I48b81c668d73761d355518324075f37a86a9029d
ession/MediaSessionCompat.java
bbcdf78e350d58ecd6baa75e282d4908d3129fe2 09-Sep-2014 RoboErik <epastern@google.com> Add MediaSession support to MediaRouter support lib

Adds a method for setting a MediaSession on MediaRouter that can be
used for volume controls.

bug:17427963
Change-Id: Idc4856373ab9b44500c6fa223236393d166ecbf0
ession/MediaSessionCompat.java
16ac83bebda2a19930b9d692789f3b507c49951b 05-Sep-2014 RoboErik <epastern@google.com> Update add/removeCallback methods to register/unregisterCallback

bug:17390821
Change-Id: Ie1248060bf23d9962f4db06fe7d533860c6caa71
ession/MediaControllerCompat.java
e0c3fd8d5c24c7e8bcc54234f30c01e78137b67e 04-Sep-2014 RoboErik <epastern@google.com> Update VolumeProvider support to match fw

bug:17258168
Change-Id: I3f4477c51f408c48f3ed0e7cfb4a1f9a9f4420c1
olumeProviderCompat.java
ff40f5c731e8a4e6e2d33ffc95f77dce0397f2c5 28-Aug-2014 RoboErik <epastern@google.com> Update PlaybackStateCompat to match fw version

Some changes were made to PlaybackState's constants. This updates
the compat constants to match.

bug:17205016
Change-Id: I17ccffec99a8f12901099f2bb5aaf0fa76f8a9cc
ession/PlaybackStateCompat.java
312f13dea7b4a9229dff784c6e94b0ec0c722b74 19-Aug-2014 RoboErik <epastern@google.com> Updates for API feedback round 2

bug:17114404
Change-Id: I25231187a39d898c2e9ff4ef28105d188e32b84d
ession/MediaControllerCompat.java
ession/MediaSessionCompat.java
ession/PlaybackStateCompat.java
21b38649fa58ad76f993e8767fd6f519c7013a26 16-Aug-2014 RoboErik <epastern@google.com> Updates to APIs for council feedback

see I3a0b4371700ad6657972c312a5ab89ddfac6df5b for more details.

bug:17059552
Change-Id: I6218b7f542da923686e99106687478fe1b795eb9
ession/MediaControllerCompat.java
23138c4b9be07abdab0cfdde2c62186359c9e7fa 14-Aug-2014 RoboErik <epastern@google.com> Add onSessionDestroyed to MediaController.Callback

Adds the onSessionDestroyed callback to the support version of
MediaController.Callback.

bug:17009030
Change-Id: Iff81143137ba564dc4b52fe90c63ae06a9459994
ession/MediaControllerCompat.java
8af0092e2d7409e79779af396d63ca4146f1fb21 07-Aug-2014 RoboErik <epastern@google.com> Combine MediaSession TransportControlsCallback and Callback

Change-Id: Ia9096882e3abef877e557a5a11bbee4540e3d3da
ession/MediaSessionCompat.java
515adbf30b9a0c7c1b71450086fa022b1061487a 05-Aug-2014 Erik Pasternak <roboerik@android.com> Revert "Revert "Add metadata display fields and switch to CharSequence""

This reverts commit 7cbd56839326c636a9bc6a3edec8da643238dca0.

Change-Id: I33b8c71c29d9879dddcf875dbfd52301f3333ab7
ediaMetadataCompat.java
7cbd56839326c636a9bc6a3edec8da643238dca0 01-Aug-2014 Erik Pasternak <roboerik@android.com> Revert "Add metadata display fields and switch to CharSequence"

accompanying fw change needs a manual rebase.

This reverts commit 33cd4ae9d391f85b812fa666b942dc8ed3ebbd31.

Change-Id: I94403855329bd3dbe0d763577ebb972985b38276
ediaMetadataCompat.java
33cd4ae9d391f85b812fa666b942dc8ed3ebbd31 29-Jul-2014 RoboErik <epastern@google.com> Add metadata display fields and switch to CharSequence

bug:11708293
Change-Id: If5149e167f2c2c1daea4f9393b0edda5e5362aa8
ediaMetadataCompat.java
5c41750574ba65da432b69f89cd32dc356281005 26-Jul-2014 RoboErik <epastern@google.com> Add context to MediaController constructors

Part of an api change to MediaController.

bug:16561220
Change-Id: I94de9422f4ab5a30d53e0f00227f0d195ad97490
ession/MediaControllerCompat.java
b530c89bba371d2d575f10480b2e90914b0d3f3f 21-Jul-2014 Gabriel Peal <gpeal@google.com> Update support lib for changed MediaSession and MediaController APIs

Change-Id: Ib44c8ac3780bbaccdb68ec54d8225677edc0936b
ession/MediaControllerCompat.java
ession/MediaSessionCompat.java
1435afe32073dee10e721dfb6122ce6a194a6412 22-Jul-2014 RoboErik <epastern@google.com> Update to support AudioAttributes in sessions

This does the minimal work to build with AudioAttributes in the
sessions apis. More work will need to be done to fully support them
here.

Change-Id: I5ecda170927025b8e21a365bd58260863a1305c0
ession/MediaControllerCompat.java
ead061ff8567599fa905a1ee1de2532b7050d7fa 16-Jul-2014 RoboErik <epastern@google.com> change adjustVolumeBy to adjustVolume

Change-Id: I92ff31106eade5d085b0fa8b8a1b3e2de10ea970
olumeProviderCompat.java
84b0350796e4ae8a113ce1abba54f07a2605cc5c 14-Jul-2014 RoboErik <epastern@google.com> Update PlaybackState for api changes

bug:15862252
Change-Id: I70771f7f4a1e4b83212661ee8e3e884e9ffb0b39
ession/PlaybackStateCompat.java
d2eec9eeb9bacd4b62d4fc1c66760ec1f7f8a73b 11-Jul-2014 Erik Pasternak <roboerik@android.com> Revert "Update PlaybackState for api changes"

Will resubmit tomorrow for Build Breakage Friday as this change needs new SDK prebuilts for unbundled app branches.

This reverts commit 6a8dd5697fe59c7cf017fbbfcf4e24264e0a0156.

Change-Id: I45ed32dcf74c2cb0db4e68e8851995c778c35fa3
ession/PlaybackStateCompat.java
6a8dd5697fe59c7cf017fbbfcf4e24264e0a0156 10-Jul-2014 RoboErik <epastern@google.com> Update PlaybackState for api changes

bug:15862252
Change-Id: I05ba921021a3b2818519324654a52953cd0059ca
ession/PlaybackStateCompat.java
8ea3b7e9bae080d5ab65a150e952c87db70cc3a3 25-Jun-2014 Jeff Brown <jeffbrown@google.com> Make MediaSessionToken an inner class of MediaSession.

Change-Id: I3556c3d856ab6d1a9e6e0959f8e50be148da1187
ession/MediaSessionCompat.java
24fa6c0dd42df057729e1a258388183f94da7f82 24-Jun-2014 Jeff Brown <jeffbrown@google.com> Add media session wrappers to support library.

This is an initial check-in which just wraps the API 21+ media session
features for use in the support library. It does not provide any
backwards compatibility.

Change-Id: Ife5f8ddeefa8c6920517fc6704cc19e22767b7d6
ediaMetadataCompat.java
atingCompat.java
olumeProviderCompat.java
ession/MediaControllerCompat.java
ession/MediaSessionCompat.java
ession/PlaybackStateCompat.java
25c2153d358dde8893ec95e307751764558774a6 28-Feb-2014 RoboErik <epastern@google.com> Fix typo in TransportMediator comments

Change-Id: I9291d9614623886a5928af4f7a3bd9d7f139e64e
ransportMediator.java
0dcc7b69b13c2de1fcd8e6ca48a6891130d3577c 24-Apr-2013 Dianne Hackborn <hackbod@google.com> Remove check for JB MR2 codename.

Change-Id: I156512ac4f240aa1f42714eca1d55a44417957c6
ransportMediator.java
54fe42a994b1aa1608d23a57a2f55228712e98e7 19-Apr-2013 Dianne Hackborn <hackbod@google.com> TransportMediator: handle playback position.

Update interaction with media controller to report playback
position and handle requests to set the position. Also
update api to use longs for position everywhere.

Change-Id: Ia960cc0443b07b70503d2e08d4943fd5102b809d
ransportController.java
ransportMediator.java
ransportPerformer.java
e3f8e5a462e23399945e8042ddb8025ec8fa33ac 12-Apr-2013 Dianne Hackborn <hackbod@google.com> More TransportMediator documentation.

Change-Id: I9e905384461e0786c7b439776ccdd453cd1b34c0
ransportController.java
ransportMediator.java
ransportPerformer.java
ransportStateListener.java
8c7c4c0409bd93f66fe39c5a5298a94f832be31e 06-Apr-2013 Dianne Hackborn <hackbod@google.com> Flesh out the transport controller... now transport mediator.

This introduces a bunch of formal interfaces to represent the
player and controller sides. The TransportController, now called
TransportMediator, is now the central place responsible for
propagating the interactions between the player and on-screen
controls; as it does this it can also reflect this information
through the remote control client and back from the media button
receiver.

This simplifies code using the class, getting rid of various
connections they would otherwise need to supply.

Change-Id: I36121d96e98267554f044712f3b3b018cdc445bb
ransportController.java
ransportMediator.java
ransportPerformer.java
ransportStateListener.java
c76d76a0d92a9dca5c91c68b86666d403ac0fd3c 05-Apr-2013 Dianne Hackborn <hackbod@google.com> TransportController now helps with managing play state.

Play state takes care of grabbing audio focus, and it lets
you know when you lose audio focus.

Change-Id: I565d93bcba0dbf06a4885a42a008d54dec92b8c4
ransportController.java
edc0529cf10bc820e04cdd6a85a39856f9233313 04-Apr-2013 Dianne Hackborn <hackbod@google.com> Move media button handling to API demo.

It was dumb to have this as a convenience class in the support
library, since any real implementation is going to do its own
thing and needs to keep this in sync with other aspects of its
state.

Change-Id: Ibfa6795d735bd46ce3c3918be2cc6db8103e799e
ransportController.java
d3a70800e5f2cc2855d53ebea82fb7568affe02a 22-Mar-2013 Dianne Hackborn <hackbod@google.com> Add new TransportController helper class.

This is for media apps to receive transport key events
while they have input focus.

Change-Id: Id4d68b7e0c33b11b1295abe89619729c18691516
ransportController.java
b507e525a61ed761eecfc2eaaf19af7e8db5dca5 20-Mar-2013 Jeff Brown <jeffbrown@google.com> Move support library media router to v7 package.

Resolved some TODOs related to missing resources.

Bug: 8175766
Change-Id: I57632d0a961de58a5dd53e889b4fd39832b5fba0
ediaControlIntent.java
ediaRouteProvider.java
ediaRouteProviderService.java
ediaRouter.java
ediaStreamMetadata.java
egisteredMediaRouteProvider.java
egisteredMediaRouteProviderWatcher.java
ystemMediaRouteProvider.java
fa326a4649d9d0e8113e315f6c8251fe686abce4 08-Mar-2013 Jeff Brown <jeffbrown@google.com> Add support for media route provider services.

Media route provider services are services that publish media routes
to applications and to the system. The registered media route
provider enumerates the installed services, connects to them,
and listens for route updates.

As part of this change, extended media route to use a set of
media route control intent filters to describe its capabilities
instead of just one. This is necessary for matching uri-based
media control intents such as ACTION_PLAY.

Added support for routes with icons.

Added support for querying information about the provider of
each route and the list of all available providers.

Fixed a bug in the system media route provider that resulted
in duplicate routes being created.

Ensure that routes are notified as being unselected before
being notifies as being removed. The invariant here is that
an application should only perceive a route to be selected
between the time it was added / enabled and the time it
was removed / disabled.

Change-Id: If1a81ace4ef17643f219f7fed06a80855dc9a7e1
ediaControlIntent.java
ediaRouteProvider.java
ediaRouteProviderService.java
ediaRouter.java
egisteredMediaRouteProvider.java
egisteredMediaRouteProviderWatcher.java
ystemMediaRouteProvider.java
f3e4a6059d110137519d2d0042cf5dd680eddba1 13-Mar-2013 Jeff Brown <jeffbrown@google.com> Revert "Add support for media route provider services."

This reverts commit 0995047fb295da9c1d4e8270bd727a1ee997951e

Change-Id: I572448f3f8c6e6270123b10ea2150d54f8ccc41f
ediaControlIntent.java
ediaRouteProvider.java
ediaRouteProviderService.java
ediaRouter.java
egisteredMediaRouteProvider.java
egisteredMediaRouteProviderWatcher.java
ystemMediaRouteProvider.java
0995047fb295da9c1d4e8270bd727a1ee997951e 08-Mar-2013 Jeff Brown <jeffbrown@google.com> Add support for media route provider services.

Media route provider services are services that publish media routes
to applications and to the system. The registered media route
provider enumerates the installed services, connects to them,
and listens for route updates.

As part of this change, extended media route to use a set of
media route control intent filters to describe its capabilities
instead of just one. This is necessary for matching uri-based
media control intents such as ACTION_PLAY.

Added support for routes with icons.

Change-Id: I8f00fac27914662bec3df0e5a212e81a9d306081
ediaControlIntent.java
ediaRouteProvider.java
ediaRouteProviderService.java
ediaRouter.java
egisteredMediaRouteProvider.java
egisteredMediaRouteProviderWatcher.java
ystemMediaRouteProvider.java
6190a6cd3f0601f47eb43d78009f988e08e0e9a2 08-Mar-2013 Chet Haase <chet@google.com> Fix build due to bad link references in javadocs

(cherry picked from commit a308916a8ee35b799b03b9e8c87e8fad571a984b)

Change-Id: I585283acc05d366955b365f168db75643869da88
ediaControlIntent.java
ediaRouteProvider.java
c21f57ed68b81a77167f1df000b0e272e1598bc0 08-Mar-2013 Jeff Brown <jeffbrown@google.com> Add media router and display manager to support library.

The support library MediaRouter API is somewhat different from
the framework's existing MediaRouter API. It is designed to
be simpler and easier to extend.

In the new MediaRouter, routes are published by MediaRouteProviders.
MediaRouteProviders replace the concept of UserRoutes.
The built-in SystemMediaRouteProvider publishes the default
system routes and interoperates with the framework MediaRouter.

Each route now declares its capabilities and behaviors by way
of MediaControlIntents. The type of the route (live audio,
live video, or remote playback) is specified by the categories
of media control intents that the route supports. A route
may support any number of custom provider-defined media control
intent categories that provide access to specialized features.

The old concepts of route categories and route groups have
been removed. Route providers are now responsible for implementing
the route grouping and configuration through some UI of their
own that is not managed by the media router.

This patch does not include support for route icon drawables,
the new route picker UI or route provider services. These features
will be added in follow on patches.

Change-Id: I10cf078917d053a916254a5aa9d208b8cfd341ea
ediaControlIntent.java
ediaRouteProvider.java
ediaRouter.java
ediaStreamMetadata.java
ystemMediaRouteProvider.java