• Home
  • History
  • Annotate
  • only in /frameworks/support/media-compat/java/android/support/
History log of /frameworks/support/media-compat/java/android/support/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ff6758a6714fe3a981461881517f9a895f9c0ff0 05-Jun-2017 Sungsoo Lim <sungsoo@google.com> Merge "MediaSessionCompat: Do not reset callback if it is already set" into oc-support-26.0-dev
be3bec76ad7ad0248c35549a89e2a3cf27348f65 01-Jun-2017 Sungsoo <sungsoo@google.com> MediaSessionCompat: Do not reset callback if it is already set

Bug: 38300682
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I71f0288b4a32aef948f7f702df0ef68a8b1e6145
4/media/session/MediaSessionCompat.java
2445981384b6dbf1c5e4571207d181969c9687c9 31-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Ensure MediaBrowserServiceCompat sends extra session binder" into oc-support-26.0-dev
6e607b82a3b280d28ed6ed71114976e5d6bb6ad8 23-May-2017 Hyundo Moon <hdmoon@google.com> Ensure MediaBrowserServiceCompat sends extra session binder

If a MediaBrowserServiceCompat calls setSessionToken() after a browser
has been connected, it does not send the extra session binder to the
connected browser. This CL fixes the problem.

Test: Passed MediaBrowserServiceCompatTest on API 21-25 and Android O
Change-Id: I8379a453310980190e7c20c5379d785fef8b90a9
4/media/MediaBrowserServiceCompat.java
cb260957c9d1ae952a799ef0965567395f26468e 25-May-2017 Jaewan Kim <jaewan@google.com> Ensure that the play/pause key double tap is only handled once

When the short-press and then long-press of play/pause happens within
the double tap timeout, the callback is called twice. (Initial down of
the long-press triggers onSkipToNext() and further down events will
call onPlay()/onPause().)

Bug: 36575213
Test: Run MediaSessionCompat test and manual test (The issue doesn't
happen any more.)
Change-Id: I3569623f0149d1120c0360522f69bfb9ea4543f9
4/media/session/MediaSessionCompat.java
256f04c1030b615ef3a97520a6ae80d33fc83678 24-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MediaBrowserCompat: Fix failing tests" into oc-support-26.0-dev
2658138196ceaf484fbb0400bb30fa6c95b1caeb 24-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Consider double tap of the play/pause as the next track" into oc-support-26.0-dev
659590d808ad9dad32de016c24a93b9916beb5d4 22-May-2017 Jaewan Kim <jaewan@google.com> Consider double tap of the play/pause as the next track

See following docucument for the details
https://source.android.com/devices/accessories/headset/usb-headset-spec#control-function-mapping

Bug: 36575213
Test: Run test (./gradlew :support-media-compat:connectedCheck),
and manual tests with the Support4Demos. (Tried double tap, single
short-press, and long-press)
Change-Id: Ic84cf206324866a773d75035e247076f6adb23c1
4/media/session/MediaSessionCompat.java
3487c3d7cf044694c478a6aea36f4fbef2095ea2 23-May-2017 Hyundo Moon <hdmoon@google.com> MediaBrowserCompat: Fix failing tests

Bug: 38448958
Test: Run MediaBrowserCompatTest and MediaBrowserServiceCompatTest
on Android O
Change-Id: I553fb5d02bf21e4d5bacddc79db766a7728396f4
4/media/MediaBrowserCompat.java
b3d603228afae9aaedca02554176ffff277cfd3b 19-May-2017 Hyundo Moon <hdmoon@google.com> MediaBrowserServiceCompat: Fix NullPointerException

If a MediaBrowserServiceCompat does not call setSessionToken() in its
onCreate(), NPE occurs whenever a browser tries connecting to it.
This CL fixes the problem by adding a null check.

Bug: 38422762
Test: Passed MediaBrowserServiceCompatTest on API 19-25
Change-Id: I89dbbc4755ba2a72387e98941ba61919896dcde4
4/media/MediaBrowserServiceCompat.java
1b27c7ef940ab295d2f514687fae052b70010c85 16-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MediaBrowserCompat: Allow to connect while disconnecting" into oc-dev
f417a0bd9271d537d2f3142c4443fc55f901bdd3 20-Apr-2017 Sungsoo <sungsoo@google.com> MediaBrowserCompat: Allow to connect while disconnecting

Bug: 37241378
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I3b4867fa5dba6f2a031a4a35d0701b5f25366363
4/media/MediaBrowserCompat.java
c8027dbaff3a208246b849a56e828a38b26edb2b 15-May-2017 Donghyun Cho <donghyun@google.com> Merge "MediaSessionCompat: Add constants to support follow/unfollow feature" into oc-dev
87fe3bbe366362044e03c2aaec6938dac1d116c3 15-May-2017 Donghyun Cho <donghyun@google.com> Merge "MediaBrowserCompat: Add predefined actions for the download feature" into oc-dev
e7832866ae800038d483ef4e93e1dc8a28fbee56 14-May-2017 Hyundo Moon <hdmoon@google.com> Merge "Catch BadParcelableException in MediaSession/BrowserCompat" into oc-dev
fe64c4572037c6464b0b77e06213750c0e92ace2 13-Apr-2017 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Add constants to support follow/unfollow feature

Bug: 37290218
Test: ./gradlew :support-media-compat:connectedCheck
Change-Id: I8d1497204c9dc834ec34b6beffe5c213d8c99c1a
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
6597f6e51c1916d688be6d2bdc2495beca46f53b 25-Apr-2017 Hyundo Moon <hdmoon@google.com> Catch BadParcelableException in MediaSession/BrowserCompat

This CL makes MediaSession/BrowserCompat catch BadParcelableException
while unparcelling a Bundle from a remote process.

Bug: 37581751
Test: Manually by calling browser/session/controller methods.
Change-Id: I6c971594322bff5363032cf0aedb51fbd2422f68
4/media/MediaBrowserCompat.java
4/media/session/MediaSessionCompat.java
3e56add914cabbd57eec8c714f5e125ed35b3e22 12-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add setShuffleMode and deprecate setShuffleModeEnabled" into oc-dev
b78a7edc82d18094e93383f96b161f267a976f3e 21-Apr-2017 Donghyun Cho <donghyun@google.com> MediaBrowserCompat: Add predefined actions for the download feature

Bug: 34701525
Test: ./gradlew :support-media-compat:connectedCheck on API 18, 22, O
Change-Id: I3c986469efc1e5333fe4d5cdc55413c981b566d2
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
4/media/MediaDescriptionCompat.java
4/media/MediaMetadataCompat.java
85c661aa6e17431e9145f00803469adcc690bea9 28-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix ErrorProne warnings in media-compat" into oc-dev
462df9dda9bc0ec0130feee3ef7b454843de93f9 25-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MediaSessionCompat: Clone artwork bitmaps only for RemoteControlClient" into oc-dev
74198cdcc6e4f53c7c6586d99ff727886de2441a 28-Mar-2017 Hyundo Moon <hdmoon@google.com> Add setShuffleMode and deprecate setShuffleModeEnabled

To support multiple shuffle modes, this CL deprecates existing
shuffle-related methods and adds new methods which uses primitive
int as the type of shuffle modes.

Bug: 36525228
Test: Run MediaSession/ControllerCompatTest in API 19-24, Android O
Change-Id: Ib76b3dfd3de84090f6f0d3a6ed2a583c33b5a78b
4/media/session/IMediaControllerCallback.aidl
4/media/session/IMediaSession.aidl
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
4/media/session/PlaybackStateCompat.java
7792ab6765c39e38bf003c32f282ba5edfd6936d 18-Apr-2017 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Clone artwork bitmaps only for RemoteControlClient

Previous implementation deep-copies artwork bitmaps and sent them to
both MediaControllerCompat and RemoteController. However, if
MediaControllerCompat tries to keep the reference of the copied bitmap,
the bitmap will be recycled by RemoteControlClient during the next
setMetadata(). This change sends copied bitmaps only to RemoteController
to prevent the controller's bitmap from being recycled.

Bug: 34332724
Test: ./support-media-compat:connectedCheck on API 18, 22, and O
Change-Id: I981f2725417ab738960528274597fd704170767b
4/media/MediaMetadataCompat.java
4/media/session/MediaSessionCompat.java
7ec07680309116890213ff39ae753b719a66eadb 13-Apr-2017 Hyundo Moon <hdmoon@google.com> Fix that the PlaybackState position is not updated

This CL fixes the problem where MediaSessionCompat.getPlaybackState()
returns a playback state whose position is out-of-date.

Bug: 36861955
Test: Passed MediaControllerCompatTest in API 19-25, and Android O
Change-Id: Ib2897f8a5fd457260667f8cd85aa9d2435efd028
4/media/session/MediaSessionCompat.java
26444949f9bec919a5fd09772a22d6d9a63ee8ed 20-Apr-2017 Hyundo Moon <hdmoon@google.com> Fix ErrorProne warnings in media-compat

Bug: 37470299
Test: ./gradlew support-media-compat:lintErrorProne
Change-Id: I4102739fdabe5d0a5604f00f2520848335b2056a
4/media/AudioAttributesCompat.java
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
4/media/session/MediaControllerCompat.java
82ca7e5d0a21bb8ebd5583ac88defa8ab1b257c1 20-Apr-2017 Sungsoo Lim <sungsoo@google.com> Merge "MediaControllerCompat: Apply API Review" into oc-dev
94cfd171726b86d5d52ff835dde5d62402af5a7e 19-Apr-2017 Sungsoo <sungsoo@google.com> MediaControllerCompat: Apply API Review

- Update documentation of getMediaController and setMediaController
- Fix reference to getMediaController
- Add reference to the Media App developer guide

Bug: 35947966
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I1f9288b64309eb3d3d1b828324ea01c33d6e51ba
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
937344bd922dff3e1ae4fdbb319885f05ff6da66 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove removeQueueItemAt method and its callback" into oc-dev
65cde2c4554985493a2e7560b5e71c5f24969287 28-Mar-2017 Sungsoo <sungsoo@google.com> Remove removeQueueItemAt method and its callback

Bug: 36524925
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: If95ee022c03dfee217663a1110779f62c11aa881
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
d2608cc70aa63244acb4228132c2128a8c92d993 18-Apr-2017 Jean-Michel Trivi <jmtrivi@google.com> Merge "Revert "Revert "AudioAttributes: do not use static getVolumeControlStream""" into oc-dev
ad06fac657161f49606b1a09cb5d0c4008def2f1 18-Apr-2017 Jean-Michel Trivi <jmtrivi@google.com> Revert "Revert "AudioAttributes: do not use static getVolumeControlStream""

This reverts commit 47a529eb731620ec3963f0203cad809360e28301.

Change-Id: I9c203f518600c2a66877632e54227d160b9dd869
4/media/AudioAttributesCompat.java
1cc73adf3b4414f28287e1d690d3424503765d61 18-Apr-2017 Donghyun Cho <donghyun@google.com> Merge "Use startForegroundService for MediaButtonReceiver" into oc-dev
94b428e836047d5865368dd436cec37f9502621d 18-Apr-2017 Donghyun Cho <donghyun@google.com> resolve merge conflicts of 2eb6007169 to oc-dev

Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I667c5c5042e803f48ab9f5f6472e1f2c2f39f1f3
75dc7d9430ba4b1ee124bd847bf9937f65c8b6ee 12-Apr-2017 Donghyun Cho <donghyun@google.com> Use startForegroundService for MediaButtonReceiver

Revive the logic for finding a service that handles ACTION_MEDIA_BUTTON,
and use Context#startForegroundService() for that case.

Bug: 37128836
Test: Tested with Support4Demos on O and L MR1
Change-Id: I59bc2af4906b840fc2c409b2d03946ff5774ce66
4/media/session/MediaButtonReceiver.java
9e5baa1de936eed92b7a41d1e291ef37d46bd1b9 04-Apr-2017 Sungsoo <sungsoo@google.com> Revert "MediaCompat: Backport repeat and shuffle support in API25+"

This reverts commit 21ecb1a40992b5e478a6a7fe115da40d060b198a.

Bug: 36844917
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I72945149c33e8bc26a69ea3100f02ea1a16c168f
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
d40ede612f37c936b677248c9dd9014464e004e6 04-Apr-2017 Sungsoo <sungsoo@google.com> Revert "Provide queue management compat APIs for API 26+"

This reverts commit b085764c14b3a518020d40a9d134b51663f1db0c.

Bug: 36844917
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I231517003d5937b7c0297bd32841756a36feeda6
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
2c9e5dabaa6ff682a7e099febfa2644bc5727e55 03-Apr-2017 Sungsoo <sungsoo@google.com> Revert "Provide compat API for MediaBrowser.search for API 26+"

This reverts commit daaf102464e97c0cd40f73f610df6d8d998c43b4.

Bug: 36844917
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I64ed84616c93bf5ec54c5c0d719828b3b4597796
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
2eb60071696cab8a6c8a2bdbf9e5690fdf9b57b4 15-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MediaBrowserCompat: Add methods for custom action support" into nyc-support-25.4-dev
905bcd294a7351749c60382eab03aa0c679e08bb 13-Apr-2017 Alan Viverette <alanv@google.com> Un-suppress NewApi lint where applicable

Reduces scope where NewApi must be retained. Updates media compat
code to use BuildCompat directly rather than checking SDK_INT
against 26 (which is not a real SDK_INT on any devices yet).

Test: ./gradlew lint
Change-Id: I052641ae0540605559ad68132ef0470bc8dc3f22
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
4/media/session/PlaybackStateCompat.java
b93f0cb63ded11457cf499d97a44e051584cca67 11-Apr-2017 Christofer Ã…kersten <akersten@google.com> DO NOT MERGE: Remove O related code from MediaBrowser

Bug: 37192845
Tested: ./gradlew support-media-compat:connectedCheck

Change-Id: Ibf8d85a6f5247c33eb4857c0a952eeb798bfc425
4/media/MediaBrowserCompat.java
f4cbb97f8aefa6707cd5f13d3cff14d79ec48e60 17-Mar-2017 Donghyun Cho <donghyun@google.com> MediaBrowserCompat: Add methods for custom action support

This change enables MediaBrowserCompat to send a custom action to
MediaBrowserServiceCompat.

Bug: 34701525
Test: ./gradlew support-media-compat:connectedCheck on API 18, 21, 23,
and 25
Change-Id: I6d46b52a5987bce482793806adf21596c2d32f9e
4/media/MediaBrowserCompat.java
4/media/MediaBrowserProtocol.java
4/media/MediaBrowserServiceCompat.java
52ae54024b823586749c9c568fd1e89d097a4c05 06-Apr-2017 Sungsoo <sungsoo@google.com> Merge "Update javadoc of MediaControllerCompat" into nyc-support-25.4-dev
am: 1b2d3ea05d

Change-Id: I0ac5784d33946ccbc40a9e869d7af4819c35d3b9
875c32aec8801ba5c8a7eb104b07c57807296448 06-Apr-2017 Hyundo Moon <hdmoon@google.com> Merge "Fix ClassNotFoundException in MediaBrowserCompat.search" into nyc-support-25.4-dev
am: 6ccfd0546b

Change-Id: Ic986be63eb6f2a6272f240fda57f6e401268171d
1b2d3ea05db6c6a9a0f5400373dea9b59ae1ed94 05-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Update javadoc of MediaControllerCompat" into nyc-support-25.4-dev
6fe8c057782fde8c30f6c89832eaa15701e8fefe 03-Apr-2017 Sungsoo <sungsoo@google.com> Update javadoc of MediaControllerCompat

Some methods introduced after API 21 do not work in certain situation.

Bug: 31248021
Change-Id: Ic6349e99522887ece3ff9952d7b97adeb4fb4b4b
4/media/session/MediaControllerCompat.java
6ccfd0546bc6bd921da073714da1807fd75fe1bd 05-Apr-2017 Hyundo Moon <hdmoon@google.com> Merge "Fix ClassNotFoundException in MediaBrowserCompat.search" into nyc-support-25.4-dev
47a529eb731620ec3963f0203cad809360e28301 04-Apr-2017 Jean-Michel Trivi <jmtrivi@google.com> Revert "AudioAttributes: do not use static getVolumeControlStream"

This reverts commit 47d03417d0c452a0d70d4ec330ffb66994a74283.

Change-Id: I93006591dbd9438ec8d56a467a8c77e58bc396cf
4/media/AudioAttributesCompat.java
905149efc10788c55b403cbc1fca26e4987edf8a 04-Apr-2017 Hyundo Moon <hdmoon@google.com> Fix ClassNotFoundException in MediaBrowserCompat.search

By setting the proper ClassLoader, this CL prevents the
ClassNotFoundException which occurs in calling search() when the
MediaBrowserCompat and MediaBrowserServiceCompat run in different
processes.

Bug: 36772717
Test: Manually tested with the apps attached in the buganizer.
Change-Id: I78516e84ac81e4d69033ffd06afd0be0c417cf6e
4/media/MediaBrowserCompat.java
47d03417d0c452a0d70d4ec330ffb66994a74283 03-Apr-2017 Jean-Michel Trivi <jmtrivi@google.com> AudioAttributes: do not use static getVolumeControlStream

AudioAttributes.getVolumeControlStream(AudioAttributes) is being removed,
use the non-static method instead.

Test: mmm frameworks/support
Bug: 36724262

Change-Id: I07d65d459b61c9cc8cea6be22c27edfd5d1c3138
4/media/AudioAttributesCompat.java
6bfb059fb4ee843ee3e5cda8ae6e43809ad31c6e 30-Mar-2017 Sungsoo <sungsoo@google.com> Fix media-compat test failures

Following two tests in MediaSessionCompatTest are failed on O devices:
testSetRepeatMode, and testSetShuffleModeEnabled
The failure happens because it doesn't use framework codes.

Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I5aff72a16f088b8f9e1e13b0c0b68c6e14d48559
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
b8e11a4d6d7e682b590867a9a2997d0026debaa6 31-Mar-2017 Jae Seo <jaeseo@google.com> resolve merge conflicts of 9aebb1b39b to oc-dev

Test: build
Change-Id: Ib52cb52cc800e85ca5329a792ca5a3cd4d2c55dc
9aebb1b39b6b73a7e4145dc93c870e6eaa643059 31-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Add EXTRA_STREAM_TYPE"" into nyc-support-25.4-dev
d67bf07b581c626b9e198765f6852ab6b39a7c74 31-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Clean up an assortment of Error-Prone warnings." into oc-dev
98ec0d5b378c8417156037af6389e90f0074a26e 30-Mar-2017 Aurimas Liutikas <aurimas@google.com> Clean up an assortment of Error-Prone warnings.

Test: ./gradlew assembleError prone still works (and now with fewer warnings TM)
Change-Id: I9e0af18b49a3eff1dd7ac8edc5a2873f93bb844e
4/media/MediaBrowserServiceCompat.java
4/media/RatingCompat.java
4/media/session/MediaSessionCompat.java
5cfd36098cf0071179c80c59746b7daf5fdca5d8 30-Mar-2017 Jae Seo <jaeseo@google.com> resolve merge conflicts of 7d20e7f780 to oc-dev

Test: build
Change-Id: I975a94f2434e7161bf0ba7d2b3d53e98dc70e82e
842c4759ce3c759060bd57eaf250e1304263575f 29-Mar-2017 Sungsoo <sungsoo@google.com> Revert the change of the session token parcel

The original CL is
"165261b30 MediaSessionCompat: Add extra binder into Token".

Bug: 36599165
Change-Id: I2b8f37c43ffea6fa827a4dbf8b8266a88df7269c
4/media/session/MediaSessionCompat.java
b3774a4f26ea278d665634725ebf08c3a1f489ad 27-Mar-2017 Daniel Sandler <dsandler@android.com> Merge "AudioAttributesCompat."
b6e6702b04a5a49e9fb491dddf42c42ba878701d 24-Mar-2017 Jae Seo <jaeseo@google.com> Revert "Add EXTRA_STREAM_TYPE"

This reverts commit 81dc63dae3e3f0a53f77efa3c06f5029a2f25db9.

Change-Id: Id88a383fe467582a9aa0f740259d89e916beb5c3
4/media/session/MediaControllerCompat.java
8248308de570628ab622769602c2b38b716295a1 24-Mar-2017 Jae Seo <jaeseo@google.com> resolve merge conflicts of 6b53e641b1 to master

Test: ./gradlew updateApi
Change-Id: I93d9ec28fa8951d99d485598ef5ab29694bb627a
6b53e641b1f2adc2b60e2c919a1d80c8c555c9de 24-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add EXTRA_STREAM_TYPE" into nyc-support-25.4-dev
328a0994eba8065571e09c1b3459743b340ce70b 03-Mar-2017 Dan Sandler <dsandler@android.com> AudioAttributesCompat.

Some APIs accept only AudioAttributes and do not allow
legacy stream types. This class is the first step toward
remedying that; it is a compat lib implementation of the
AudioAttributes structure and type<->stream conversion.

On API21 and later it is a simple wrapper around platform
AudioAttributes. Prior to API21 it holds a stream type.

Future compat versions of other APIs should accept
AudioAttributesCompat where the framework version accepts
AudioAttributes.

Test: ./gradlew support-media-compat:connectedCheck --info --daemon \
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v4.media.AudioAttributesCompatTest
Change-Id: Ic1b22412bf27f662f7a0a6a97a81d7b2036e5541
4/media/AudioAttributesCompat.java
3ccfd3edabd8782a824833dfe31644f390b5e79b 24-Mar-2017 Sungsoo <sungsoo@google.com> Merge "MediaBrowserCompat: Add a disconnecting state" into nyc-support-25.4-dev
am: a0d2d96782

Change-Id: Ie4ac894c29f9a0af591b7ac2b7cd236299cd751e
81dc63dae3e3f0a53f77efa3c06f5029a2f25db9 24-Mar-2017 Jae Seo <jaeseo@google.com> Add EXTRA_STREAM_TYPE

This is used to specify the audio stream type to be used by the media
player in TransportControls.playFromMediaId() and
TransportControls.prepareFromMediaId().

Bug: 34700448
Test: ./gradlew updateApi
Change-Id: I9f3136be4e2ddabb4648633a15c34f80418978d3
4/media/session/MediaControllerCompat.java
6489d609cf401d779a85dd56d6f17c15208483b1 21-Feb-2017 Ian Lake <ilake@google.com> Remove deprecated v4.media.Transport* classes

Remove all of the previously deprecated Transport
classes from the android.support.v4.media package and
the sample using that API.

BUG: 35352174
Test: Check api/current.txt to ensure everything is removed
Change-Id: I8d159607c1b6e0464251334e9a7e5da9159e8395
4/media/TransportController.java
4/media/TransportMediator.java
4/media/TransportPerformer.java
4/media/TransportStateListener.java
a0a9740cce1d827466b4f36b715014610f19d22e 22-Mar-2017 Sungsoo <sungsoo@google.com> MediaBrowserCompat: Add a disconnecting state

By adding a CONNECT_STATE_DISCONNECTING, we could prevent
the ConnectionCallback to be called after disconnect().
Also, applied the previous framework change to make
forceCloseConnection() be called in the same thread.

Bug: 36106103
Test: manual using Support4Demos
Change-Id: I1ea2b645c64dee7c9ee26d93f7a2b0d44d41bd99
4/media/MediaBrowserCompat.java
8f78961fb64f4cd7e0b8c177b044784182576825 22-Mar-2017 Donghyun Cho <donghyun@google.com> Merge "MediaSessionCompat: Use asInterface()/asBinder() instead of a plain cast"
81b56b40a92533a6f87a84c34d68b6a404e3bbf4 21-Mar-2017 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Use asInterface()/asBinder() instead of a plain cast

Bug: 36449012
Test: ./gradlew support-media-compat:connectedCheck on API 18, 22, 23, and 25
Change-Id: Ic423fbecd09f7de02fab68533726f815c12019ee
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
4/media/session/MediaSessionCompat.java
3b87acb5ee4570aeae982067bf56529644a1055e 21-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MediaSessionCompat: Use asInterface()/asBinder() instead of a plain cast" into nyc-support-25.4-dev
19801df0ed4375e8dfbd57d020baaaa13113e93a 21-Mar-2017 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Use asInterface()/asBinder() instead of a plain cast

Bug: 36449012
Test: ./gradlew support-media-compat:connectedCheck on API 18, 22, 23, and 25
Change-Id: Ic423fbecd09f7de02fab68533726f815c12019ee
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
4/media/session/MediaSessionCompat.java
369fdb591ef4e1b707234e934e228f27c8d935d3 17-Aug-2016 Alan Viverette <alanv@google.com> Remove methods that were deprecated in 24.2, fix some javadoc

Test: ./gradlew createArchive
Change-Id: Ifb08f519a436c4f110abbf51a169377e37867942
4/media/session/MediaSessionCompat.java
99ba8864748a197cd3844e06100065877d0b2e93 13-Mar-2017 Hyundo Moon <hdmoon@google.com> Merge "Throw IllegalStateException in MediaBrowserCompat.search()" into nyc-support-25.4-dev
am: ec2dea2032

Change-Id: Ibfe58b8bef5ffbf8ef4cb9ae161b697eb2a50b8b
ec2dea2032b2690315e2be9963778df12bfb6238 13-Mar-2017 Hyundo Moon <hdmoon@google.com> Merge "Throw IllegalStateException in MediaBrowserCompat.search()" into nyc-support-25.4-dev
b8c715529628c581fbf78aa46f41c595d7af1889 13-Mar-2017 Donghyun Cho <donghyun@google.com> Merge "MediaSessionCompat: Add caption related APIs" into nyc-support-25.4-dev
am: 1c5762b835

Change-Id: Ife36a32263a49a73e56fbe4ac29df3e159731fc8
5a178dc2b62a64f6cc0220b77691a1e5e5dbf009 09-Mar-2017 Hyundo Moon <hdmoon@google.com> Throw IllegalStateException in MediaBrowserCompat.search()

This CL makes MediaBrowserCompat.search() throw IllegalStateException
when the browser is not connected to the service. Also, it updates
the JavaDoc of deprecated constant
MediaBrowserServiceCompat.EXTRA_SUGGESTION_KEYWORDS to provide more
complete story for developers migrating to the new search API.

Bug: 35346000, Bug: 35944789
Test: Manually called search() when disconnected.
Change-Id: I65a4453194a546fa3a49aa13c5262930668db36a
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
e87b2f5d7bbdb96173d33252a0df85dc2d8e60f5 10-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove usage of startService from MediaButtonReceiver"
e90c068c82ce62a0069c4e88f6b26e92468231d6 28-Feb-2017 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Add caption related APIs

Bug: 34088154
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I0e1d3c11af5059e85b60995f99e6c535414fed2f
4/media/session/IMediaControllerCallback.aidl
4/media/session/IMediaSession.aidl
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
4/media/session/PlaybackStateCompat.java
2e2aff8306def4a486c7fe47dcd0c411aaf8699d 09-Mar-2017 Donghyun Cho <donghyun@google.com> Merge "MediaSessionCompat: Add a way to flag inappropriate content and skip ad" into nyc-support-25.4-dev
am: a376fcaf84

Change-Id: I31abd820778f7abab646029b66e32e20ce9bfb25
6b5f430ef841ca6a04ceb9296c581acc10feaa36 23-Feb-2017 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Add a way to flag inappropriate content and skip ad

Bug: 34088154
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I73a6aa2682149b7b0c5f74e76120337217d545de
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
87ed23291eae34940668d9ddc181473615177c6c 08-Mar-2017 Hyundo Moon <hdmoon@google.com> Merge "Add missing UnsupportedOperationException for queue management" into nyc-support-25.3-dev am: f6fa4e7cff
am: 1f99a3fc79

Change-Id: I359aa6914bf179574378e3bc835885add7e323f9
1f99a3fc798912daefc145389a2d1201bd4dbd85 08-Mar-2017 Hyundo Moon <hdmoon@google.com> Merge "Add missing UnsupportedOperationException for queue management" into nyc-support-25.3-dev
am: f6fa4e7cff

Change-Id: I17697ea01fc8dfffa7287e73e7ca65cf999e83d5
80530aa243c3cfbf9f6e5dd4f76a1798246e0e87 14-Feb-2017 Ian Lake <ilake@google.com> Remove usage of startService from MediaButtonReceiver

Instead of using startService to forward media button intents
to Services and MediaBrowserServices, restrict usage to only
MediaBrowserServices and use MediaBrowserCompat.connect to bind
to the service and directly send the media button KeyEvent.

By removing usages of startService, we avoid accidentally
creating a long running background service, work well with
future background optimizations, and avoid the need to call
MediaButtonReceiver.handleIntent() in onStartCommand.

BUG: 33197879
Test: Manual testing in a sample app
Change-Id: Id6a01689584aee282fab3f791809b584b1f913da
4/media/session/MediaButtonReceiver.java
e5f9e79e75af59b169d683832067dfb369ea5a1f 08-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Provide queue management compat APIs for API 26+"
c10aca3fa402839d997db961d88d34b0d82ee7d7 06-Mar-2017 Hyundo Moon <hdmoon@google.com> Add missing UnsupportedOperationException for queue management

When calling queue management APIs, an UnsupportedOperationException
should be thrown when the session does not support queue managements.
However, this logic is missing in API 21 and after. This CL adds the
missing exceptions. Also, this CL adds more information in the JavaDoc
how developers can check whether the session supports queue management
methods.

Bug: 35952051
Test: Run MediaControllerCompatTest in API 19-25
Change-Id: I6a0753382bd77e6f6ee37eac1a230b2aa389cad3
4/media/session/MediaControllerCompat.java
05944c3367279f44345963acc40674b1653f6418 08-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "A pass at fixing unchecked javac warnings."
b085764c14b3a518020d40a9d134b51663f1db0c 03-Mar-2017 Hyundo Moon <hdmoon@google.com> Provide queue management compat APIs for API 26+

This CL makes queue management methods in support library
use the framework implementations internally.

Bug: 35400843
Test: Run MediaControllerCompatTest in API 23-25 and Android O.
Change-Id: I6a5d991b10630cd044cc0a6873fbddb1c81e48f4
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
b8adc9a8c558abc70c3ec0694c88c7e7ab4a9d86 20-Feb-2017 Sungsoo <sungsoo@google.com> MediaSessionCompat: Add extra binder into Token

We added an extra binder to support newly added methods after API
level 21. However this requires some time to get the extra binder,
so some methods could failed if they are called before getting the
extra binder. By sharing the extra binder via Token, this CL removes
such time delay.

Bug: 31248021
Test: Passed MediaSessionCompatTest and MediaControllerCompatTest
Change-Id: I8bfeb8585d6f43d6aed55f5dda4f894a7c69193f
4/media/MediaBrowserCompat.java
4/media/MediaBrowserProtocol.java
4/media/MediaBrowserServiceCompat.java
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
165261b30365e1186c7a754d946b87ca65e52b83 20-Feb-2017 Sungsoo <sungsoo@google.com> MediaSessionCompat: Add extra binder into Token

We added an extra binder to support newly added methods after API
level 21. However this requires some time to get the extra binder,
so some methods could failed if they are called before getting the
extra binder. By sharing the extra binder via Token, this CL removes
such time delay.

Bug: 31248021
Test: Passed MediaSessionCompatTest and MediaControllerCompatTest
Change-Id: I8bfeb8585d6f43d6aed55f5dda4f894a7c69193f
4/media/MediaBrowserCompat.java
4/media/MediaBrowserProtocol.java
4/media/MediaBrowserServiceCompat.java
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
8e283af1880355791a5228ab6af461127ccbbe23 06-Mar-2017 Alan Viverette <alanv@google.com> Fix lint issue in media-compat

Test: ./gradlew support-media-compat:lint
Change-Id: I23c32c98824e494ff7eecc07d0aefe31b6040f68
4/media/MediaBrowserCompat.java
abc73958d264e1eed7fd401a18be1d9ede8304eb 06-Mar-2017 Aurimas Liutikas <aurimas@google.com> A pass at fixing unchecked javac warnings.

Add types where needed.
Suppress places where we intentionally skip types.

Test: ./gradlew assemble still works
Change-Id: If1350e896948c7e27c212cf7b1a94f08b9131193
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
402acf34a51fa12c9816d7142c681bb47545d0d8 06-Mar-2017 Hyundo Moon <hdmoon@google.com> Merge "Provide compat API for MediaBrowser.search for API 26+"
c69882cb9b130902c1554ef5d3e3b06d776cd796 05-Mar-2017 Alan Viverette <alanv@google.com> Re-enable lint enforcement, fix remaining lint issues

Bug: 29630077
Test: ./gradlew lint
Change-Id: Ied1e4b1c33ba158d6bfab5439497ee4fc8284a8f
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
4/media/MediaDescriptionCompat.java
4/media/MediaMetadataCompat.java
4/media/RatingCompat.java
4/media/TransportMediator.java
4/media/VolumeProviderCompat.java
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
4/media/session/PlaybackStateCompat.java
508938f1bcc91931a0251e359376dd9d54dd46f8 03-Mar-2017 Hyundo Moon <hdmoon@google.com> Modify JavaDoc of MediaBrowserServiceCompat.getBrowserRootHints
am: 1c23947c8c

Change-Id: I0162183a6aabcd65ff7fea6c4849585c197f2417
1c23947c8cb8947f02f31de603cea64b3a162db6 02-Mar-2017 Hyundo Moon <hdmoon@google.com> Modify JavaDoc of MediaBrowserServiceCompat.getBrowserRootHints

The method MediaBrowserServiceCompat.getBrowserRootHints can be
called inside of onSearch(), but the JavaDoc does not mention it.
This CL adds this information in the JavaDoc.

Test: Called getBrowserRootHints inside of onSearch method.
Change-Id: I6aef41b320d9a76e68ee79699b620606573649f8
4/media/MediaBrowserServiceCompat.java
daaf102464e97c0cd40f73f610df6d8d998c43b4 17-Feb-2017 Hyundo Moon <hdmoon@google.com> Provide compat API for MediaBrowser.search for API 26+

This CL makes MediaBrowserCompat.search use the framework
MediaBrowser.search internally.

Bug: 35401273
Test: Run MediaBrowserServiceCompatTest on API 23-25 and Android O.
Also tested with the framework MediaBrowserService in Android O.
Change-Id: I3b5e411f770f9ab12e01b7c5768bd01e023ee7f0
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
19467ec5491cd64e82f49babc7cbf72288b7bc3c 23-Feb-2017 Chulwoo Lee <chulwoo@google.com> Pass Throwable object to Log.e() instead of passing string am: e6e4fd277b
am: 9c8eb73090

Change-Id: I6ee94d560aff80fce1e72d53cf09aa8a49d6d2e7
e6e4fd277b5d364067cbd67865bf91e3e0cd5cb6 23-Feb-2017 Chulwoo Lee <chulwoo@google.com> Pass Throwable object to Log.e() instead of passing string

Test: All pass.
Change-Id: I62e5ed18dfcb2f8feba84d51b0ea20ea04de4d98
4/media/session/MediaControllerCompat.java
864cd5a26cfb5b40d56c3da20db315b5a671ab3f 20-Feb-2017 Hyundo Moon <hdmoon@google.com> Merge "Revert "Revert "Fix NPE which occurs when MediaBrowserService.onLoadItem gives null""" into nyc-support-25.3-dev am: 9e4553a0fe
am: b2cf3188a4

Change-Id: Idd8ec7c87bca80f9cd93ac4c3278a352cb6467f0
9e4553a0fe7d9a3f166ac154f7b5cb70d27f49a5 20-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Revert "Fix NPE which occurs when MediaBrowserService.onLoadItem gives null""" into nyc-support-25.3-dev
17fc09080d4abeacaef1304667dd8d0006c5a3d4 20-Feb-2017 Hyundo Moon <hdmoon@google.com> Revert "Revert "Fix NPE which occurs when MediaBrowserService.onLoadItem gives null""

Although the original CL (http://ag/1915341) is not related to the test
failure, it was reverted. So this change makes the original CL be merged
again.

This reverts commit 6fea533c390999295d37b0debe97f88aa693d22c.

Change-Id: I10c0dea3fe45a203387ffac54d29f11e8b88ff65
4/media/MediaBrowserCompat.java
1ed0ecd4313c5e46455556b8b8e3a505ea891a2c 20-Feb-2017 Donghyun Cho <donghyun@google.com> Merge "MediaControllerCompat: Synchronize the list of pending callbacks"
447e08a8c75f6eeb9b499bb0b65025e4f1432a74 15-Feb-2017 Donghyun Cho <donghyun@google.com> MediaControllerCompat: Synchronize the list of pending callbacks

The list of pending callbacks can be modified from different thread, so
it needs to be synchronized.

Bug: 35368230
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I76e49f20cc856188d2870c28d30bda3b7eeb5852
4/media/session/MediaControllerCompat.java
193b5694d1cc74b5997440aa6d980d48c26332c2 18-Feb-2017 Aurimas Liutikas <aurimas@google.com> Merge "Revert "Fix NPE which occurs when MediaBrowserService.onLoadItem gives null"" into nyc-support-25.3-dev am: 7703800ce6
am: 701ed0d887

Change-Id: I19e65f2987812e5c3c7b1f0faaa72afde074b5de
75b888caa7522e6cda961067cfbb4ca458ad7ed6 18-Feb-2017 Ian Lake <ilake@google.com> Merge "Deprecate android.support.v4.media.Transport* classes" into nyc-support-25.3-dev
7703800ce698bdb83c29d63984b978c2fd34b4f3 17-Feb-2017 Aurimas Liutikas <aurimas@google.com> Merge "Revert "Fix NPE which occurs when MediaBrowserService.onLoadItem gives null"" into nyc-support-25.3-dev
6fea533c390999295d37b0debe97f88aa693d22c 17-Feb-2017 Aurimas Liutikas <aurimas@google.com> Revert "Fix NPE which occurs when MediaBrowserService.onLoadItem gives null"

This changed caused test to fail on API 17.
https://sponge.corp.google.com/target?id=224eedaf-78ae-470b-ae8f-7e098db37e33&target=android.support.mediacompat.test&searchFor=&show=FAILED&sortBy=STATUS


This reverts commit a6d8d0b69c9129c7ab412c82b483a600ef9ef1ac.

Change-Id: I7391b5d3b2f094341399b3db2192a9be6e95bf1f
4/media/MediaBrowserCompat.java
5f58c8b53dc93dbdaca6e48bca4f5838f1fa09e1 17-Feb-2017 Donghyun Cho <donghyun@google.com> Merge "MediaControllerCompat: Synchronize the list of pending callbacks" into nyc-support-25.3-dev
917a8f61584df48d27f352c265a82fc8cd4f72c1 17-Feb-2017 Hyundo Moon <hdmoon@google.com> Merge "Fix NPE which occurs when MediaBrowserService.onLoadItem gives null" into nyc-support-25.3-dev am: 30ec8f74bb
am: 2e843f54dd

Change-Id: I63382ac1a5d30d9d045decd659f301c83ee38cee
138d3e83e4cb4eec4fb3cc5f2ea092075ea9c422 17-Feb-2017 Donghyun Cho <donghyun@google.com> Merge "MediaSessionCompat: Refactor test code" into nyc-support-25.3-dev am: 826e396a23
am: e6bce8f22b

Change-Id: I3ad75b6d1c6308c4b16085542d2eb10f42d35604
30ec8f74bbc857cbc2887591b9447f7230f2bd6e 17-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix NPE which occurs when MediaBrowserService.onLoadItem gives null" into nyc-support-25.3-dev
826e396a235275a61eff25712f087069bb60b7a7 17-Feb-2017 Donghyun Cho <donghyun@google.com> Merge "MediaSessionCompat: Refactor test code" into nyc-support-25.3-dev
80316beaa6839c05e9afb2c5e9e4815830d29082 15-Feb-2017 Donghyun Cho <donghyun@google.com> MediaControllerCompat: Synchronize the list of pending callbacks

The list of pending callbacks can be modified from different thread, so
it needs to be synchronized.

Bug: 35368230
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I76e49f20cc856188d2870c28d30bda3b7eeb5852
4/media/session/MediaControllerCompat.java
ad7fc17aef10d0176df52884d81bf4eb8ba82fd8 17-Feb-2017 Donghyun Cho <donghyun@google.com> Merge "MediaSessionCompat: Use extra binder for setPlaybackState() on API 22+" into nyc-support-25.3-dev am: 45d3353a50
am: 2cdb378868

Change-Id: I7088d3a0e17ddc00ed8466dbe8bcd2ef0372770a
45d3353a50ce66776a774d808a34e2c47f8ee8a1 17-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MediaSessionCompat: Use extra binder for setPlaybackState() on API 22+" into nyc-support-25.3-dev
a6d8d0b69c9129c7ab412c82b483a600ef9ef1ac 09-Feb-2017 Hyundo Moon <hdmoon@google.com> Fix NPE which occurs when MediaBrowserService.onLoadItem gives null

NPE happens in Android O and after because
MediaBrowserCompat.ItemCallback.onItemLoaded can take a null result
from Android O.

Test: Tested manually with MediaBrowserCompat which connects to
framework MediaBrowserService. Checked that the null result
can be sent successfully in Android O.
Change-Id: I882d0c775184925299401f849374cd8858ba3bdc
4/media/MediaBrowserCompat.java
df4505bc424404526e5b090743b8001dbbc89d76 14-Feb-2017 Ian Lake <ilake@google.com> Deprecate android.support.v4.media.Transport* classes

The Transport classes have been fully replaced with
MediaSessionCompat and MediaControllerCompat and is no
longer a recommended practice.

BUG: 35352174
Test: Check api/current.txt to ensure everything is deprecated
Change-Id: Icd957bb591622a64d155f6fe552f58fe37356d5c
(cherry picked from commit f143c7e89bcda2546699c535f27d3b1d757f9600)
4/media/TransportController.java
4/media/TransportMediator.java
4/media/TransportPerformer.java
4/media/TransportStateListener.java
ca1abdd4f27514337adb6f3c7f9e9a8b067c49c6 16-Feb-2017 Alan Viverette <alanv@google.com> Merge "resolve merge conflicts of b3cb6ae253 to master"
65cbcc9fa458f08ce2ca4d2f49f271960c7b1abb 16-Feb-2017 Ian Lake <ilake@google.com> Merge "Deprecate android.support.v4.media.Transport* classes"
f143c7e89bcda2546699c535f27d3b1d757f9600 14-Feb-2017 Ian Lake <ilake@google.com> Deprecate android.support.v4.media.Transport* classes

The Transport classes have been fully replaced with
MediaSessionCompat and MediaControllerCompat and is no
longer a recommended practice.

BUG: 35352174
Test: Check api/current.txt to ensure everything is deprecated
Change-Id: Icd957bb591622a64d155f6fe552f58fe37356d5c
4/media/TransportController.java
4/media/TransportMediator.java
4/media/TransportPerformer.java
4/media/TransportStateListener.java
772725582ff149f2f66d362150cc2651d6fc5db2 16-Feb-2017 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Refactor test code

Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I92947b74615b79ccdf1ffce937d9458f2e73c3fc
4/media/session/MediaControllerCompat.java
1ee20539f559f6340b8f3214326798efec8fa616 16-Feb-2017 Hyundo Moon <hdmoon@google.com> resolve merge conflicts of b3cb6ae253 to master

Test: ./gradlew createArchive
Change-Id: Ibec2a2e4e1ed339e0ffbdf6df836475849cdc59e
1c839e257693d1b201381fbea9db54f1bc6c7d79 16-Feb-2017 Hyundo Moon <hdmoon@google.com> Merge "MediaBrowserCompat: Provide compat API for MediaBrowser.search" into nyc-support-25.2-dev
am: c3bc12d7de

Change-Id: Iaf881872eac47ab8823ebb5ecd9287177bac05e3
5382b60e2ae2b9681b1f4fb7e05bf2a1b659c6f0 15-Feb-2017 Ian Lake <ilake@google.com> Merge "Cleanup MediaSessionCompat after minSdk 14 bump."
10c84c33985e3a44e155fef3a4e796a67ab8e8b5 30-Jan-2017 Hyundo Moon <hdmoon@google.com> MediaBrowserCompat: Provide compat API for MediaBrowser.search

Bug: 34016894
Test: Tested on API 18-25 devices
Change-Id: Ic6681dac44cc84937eb74eeb9a3471a9a1f07385
4/media/MediaBrowserCompat.java
4/media/MediaBrowserProtocol.java
4/media/MediaBrowserServiceCompat.java
3b4775c91db3378454b984e1ef620b8d3cc4a13a 15-Feb-2017 Hyundo Moon <hdmoon@google.com> resolve merge conflicts of 899bb4ed81 to master

Test: ./gradlew support-media-compat:connectedCheck
Change-Id: Id092985f8c9b265cfb775e6d2ea9e7e04adeb552
2e0ed83b3bce76286cdd099f16a620eef66d1464 14-Feb-2017 Ian Lake <ilake@google.com> Cleanup MediaSessionCompat after minSdk 14 bump.

BUG: 32794064
Test: ./gradlew assemble
Change-Id: I4e717abfb7a01992966408439d2f1f1dc88c46b0
4/media/session/MediaSessionCompat.java
bd51c368d8bf32d652ae370c2723080d82b2834d 11-Feb-2017 Ian Lake <ilake@google.com> Inline MediaSessionCompatApi14, Api18, and Api19

Move code from separate API directories into MediaSessionCompat
with new Impl19 extends Impl18 extends Impl14 extends ImplBase.

This simplifies ImplBase as API specific behavior is now is separate
implementation classes and ensures that future minSdk API bumps are
much easier to accomplish.

BUG: 32794064
Test: ./gradlew assemble
Change-Id: I62154d1dfdeb90742591bbf3cccd3801bd4f436e
4/media/session/MediaSessionCompat.java
a627c31cf8b6e99db03842dfc6864133bedd0f88 08-Feb-2017 Donghyun Cho <donghyun@google.com> MediaSessionCompat: Use extra binder for setPlaybackState() on API 22+

This change fixes the bug that the error code information disappears after
setting MediaSessionCompat#setPlaybackState() on API 22 and higher devices.
Also, it adds more tests for error code support.

Bug: 34090305
Test: Run PlaybackStateCompatTest with ./gradlew support-media-compat:connectedCheck
Change-Id: I29833b8c49e652fb4a5190fdfdb3a9523ab08c62
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
db6b58731980f2972bfec455abbf2b82ad773a8d 07-Feb-2017 Hyundo Moon <hdmoon@google.com> MediaCompat: Backport queue management methods

Bug: 35067863
Test: Tested on API 18-25 devices
Change-Id: Ib77bb439e1d24483c54bf38e91f1aee2e05aa956
4/media/MediaDescriptionCompat.aidl
4/media/session/IMediaSession.aidl
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
ab096a7208a5e4ad00dbd96bde7772523f759c52 08-Feb-2017 Hyundo Moon <hdmoon@google.com> MediaCompat: Backport repeat and shuffle support
am: 7985bbd75b

Change-Id: I690ff4181fbc7318801c700652bd5ca6486af6d9
5b961361f318b43bb042b14d165f6e89f2638014 08-Feb-2017 Hyundo Moon <hdmoon@google.com> Merge changes Iaea05e59,If5acb7d0 into nyc-support-25.2-dev

* changes:
Add tests for MediaSession/Controller/PlaybackStateCompat
MediaCompat: Backport repeat and shuffle support
72074ef20ed29a8932fc4d9e60fcaf8e119076ea 06-Feb-2017 Elliot Waite <elliotwaite@google.com> Fix @links in support docs. am: 377357a8c2 am: 66661646cd am: ffdc985523
am: f561ce7830

Change-Id: I05aea32153b56dc1799c8ccd7fca42f9053c2dc7
66661646cdd05821e19a1ed470a351cb86fba12a 06-Feb-2017 Elliot Waite <elliotwaite@google.com> Fix @links in support docs.
am: 377357a8c2

Change-Id: Ic6047fb6dd05e4eaad24e72ae973be353496af25
7985bbd75b0f473f01787758d5290fd23ee7307c 22-Aug-2016 Hyundo Moon <hdmoon@google.com> MediaCompat: Backport repeat and shuffle support

Bug: 30724502, Bug: 34088154
Test: Passed MediaSessionCompatTest/MediaControllerCompatTest
in API 18-25 deivces
Change-Id: If5acb7d0badc95908bd4e401b26e7c4c85d20664
4/media/session/IMediaControllerCallback.aidl
4/media/session/IMediaSession.aidl
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
4/media/session/PlaybackStateCompat.java
e602c063ddc5c9205fda95dd695c82da8fc3b4ce 04-Feb-2017 Donghyun Cho <donghyun@google.com> MediaBrowserCompat: Use support library implementation for API 24 and 25 am: 0f9cc64466 am: a6a3bccd41
am: d99fb29e93

Change-Id: Ib1a8f8bfeac95001a8d988daaed82392e3158935
a6a3bccd4137332edaaea1263dc663d7f3af131d 04-Feb-2017 Donghyun Cho <donghyun@google.com> MediaBrowserCompat: Use support library implementation for API 24 and 25
am: 0f9cc64466

Change-Id: Ie90d26946c2022b89714debe02c9830c255ebf6f
f79e3313832fd8bbcc859a641624f54bb81f07eb 04-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MediaBrowserCompat: Use support library implementation for API 24 and 25" into nyc-support-25.2-dev
1b9dc8814a1ace0f5ef9ecc29f33478a8cd94c74 03-Feb-2017 Jae Seo <jaeseo@google.com> resolve merge conflicts of 0dda5afb79 to master

Test: build
Change-Id: Ic3a59087fe4f266f4c702edeedfd516d342a65b1
b275f72b749b111ccb1613ccde3032c78ed6929b 03-Feb-2017 Jae Seo <jaeseo@google.com> MediaMetadataCompat: Add a metadata key for ads am: 0a263c95a2 am: 93fe3308a8
am: 1f79e55273

Change-Id: Ia3004177f77a036219f5af1400edc600c75bfe71
977da1b40b5e5d3245fd06f87cf31a4563950c5d 03-Feb-2017 Jae Seo <jaeseo@google.com> PlaybackStateCompat: Add error codes
am: df706be3fa

Change-Id: If23d592d039431cb9691d3138c329e2510017df2
7a432b853667a33c761b58127fd860f9771e4def 03-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "PlaybackStateCompat: Add error codes" into nyc-support-25.2-dev
0f9cc644664ddf8227ab6b4f4b431f4e24c38725 12-Jan-2017 Donghyun Cho <donghyun@google.com> MediaBrowserCompat: Use support library implementation for API 24 and 25

Bug: 34065580
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: If43a1b148da5903c3d1464702a0da996d775c2eb
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
0a263c95a272013fb1449482472f33ba60e86dc3 02-Feb-2017 Jae Seo <jaeseo@google.com> MediaMetadataCompat: Add a metadata key for ads

Bug: 22672961
Test: build
Change-Id: I9fc71b4326aa0a7af33c13fae38664fa86ba0fea
4/media/MediaMetadataCompat.java
df706be3fae5e98c483585f17d925535bac33462 02-Feb-2017 Jae Seo <jaeseo@google.com> PlaybackStateCompat: Add error codes

This introduces error codes for PlaybackStateCompat. An error code is
required for the playback state STATE_ERROR. The previous
setErrorMessage() is deprecated and the error message is now optional.

Bug: 34090305
Test: build & manual
Change-Id: I7a662641ca282ad5466c81eb4fe777cc02cadde9
4/media/session/PlaybackStateCompat.java
d72ee2d863283223e699e7bdc3616a450daa1944 02-Feb-2017 Sungsoo Lim <sungsoo@google.com> Merge "MediaBrowserServiceCompat: Clone a bundle before passing to the service" into nyc-support-25.2-dev
082f92c8357f91e7c12d038d71258d3bd61cb662 10-Jan-2017 Donghyun Cho <donghyun@google.com> MediaBrowserServiceCompat: Make SubscriptionCallback.onError be called

When an error occurs during subscription, make SubscriptionCallback.onError()
be called properly. Also enables related tests.

Bug: 34068637, Bug: 34069800
Test: ./gradlew support-media-compat:connectedCheck on API 19, 23, 24 devices
Change-Id: Ib909e8481f8c2397f46cf00f62d11ee47c6fe041
(cherry picked from commit 68284cf61cf46c69e443536b350b6cab9debbcdd)
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
3ef304f0ec8d662a7a8337509026c44db45380c2 11-Jan-2017 Donghyun Cho <donghyun@google.com> MediaBrowserServiceCompat: Clone a bundle before passing to the service

Bug: 34065580
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I0189c2fa28898efa996be7206eab57a68c608aa1
(cherry picked from commit 18b1431f7b985849edfca0c0e30d481d6550b69e)
4/media/MediaBrowserCompat.java
377357a8c26c8c54ba8cb876ae775265635a8448 24-Jan-2017 Elliot Waite <elliotwaite@google.com> Fix @links in support docs.

Change-Id: I7acb3d14dee5227ac4d87710453f018c9d0f1b9d
4/media/TransportMediator.java
29040aadfb02ad2b1b5849db746efa96e82fc11b 30-Jan-2017 Donghyun Cho <donghyun@google.com> MediaControllerCompat: Fix memory leak while requesting extra binder am: 208f5a7ab7
am: d0e2431046

Change-Id: Iba8d41ddc4d0fc4f91479e92223e35343928caf0
208f5a7ab7c9a101bc88ab131b0815173132c78a 25-Jan-2017 Donghyun Cho <donghyun@google.com> MediaControllerCompat: Fix memory leak while requesting extra binder

Bug: 34459998
Test: LeakCanary
Change-Id: I0a46b39424e66e7189e0e4646852cd42de969ca8
4/media/session/MediaControllerCompat.java
969158a964dde085a0b14b3ab75dcb3dd52da04e 25-Jan-2017 Sungsoo <sungsoo@google.com> resolve merge conflicts of d186d6ee81 to master

Change-Id: I97583d2bf7f6c8ab36173e4a8a98c3950e9c9bbc
3eb08eda9235876e48f344275c706a5d021ce2a6 12-Jan-2017 Jae Seo <jaeseo@google.com> Automatically register the existing media button receiver on API 21+

On devices running API 21 or later, developers are required to call
MediaSession.setMediaButtonReceiver to revive their playback service on
the media button press. As of today, only a small number of media apps
currently call this method properly where many popular music streaming
apps never use the API. This leads to the very problem where we pick a
wrong music app on the media button press, as it's the only app that
sets the button receiver in the right way although it's not the lastly
played one.

This change automatically registers the existing media button receiver
in the MediaSessionCompat constructor, removing the need to call
setMediaButtonReceiver explicitly.

Bug: 34253301
Test: Manual
Change-Id: Ic202975e2a52892f81184410547d99800893b7a2
4/media/session/MediaSessionCompat.java
18b1431f7b985849edfca0c0e30d481d6550b69e 11-Jan-2017 Donghyun Cho <donghyun@google.com> MediaBrowserServiceCompat: Clone a bundle before passing to the service

Bug: 34065580
Test: ./gradlew support-media-compat:connectedCheck
Change-Id: I0189c2fa28898efa996be7206eab57a68c608aa1
4/media/MediaBrowserCompat.java
68284cf61cf46c69e443536b350b6cab9debbcdd 10-Jan-2017 Donghyun Cho <donghyun@google.com> MediaBrowserServiceCompat: Make SubscriptionCallback.onError be called

When an error occurs during subscription, make SubscriptionCallback.onError()
be called properly. Also enables related tests.

Bug: 34068637, Bug: 34069800
Test: ./gradlew support-media-compat:connectedCheck on API 19, 23, 24 devices
Change-Id: Ib909e8481f8c2397f46cf00f62d11ee47c6fe041
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
b16c115c72c467922d2d56b366080c109c06171f 05-Jan-2017 Sungsoo <sungsoo@google.com> MediaBrowserCompat: Make getItem work properly am: 9623e68d8a
am: 62bd6fc1ad

Change-Id: Idd8cc76c8cda4badc1fadb6a349866b2e73820be
9623e68d8afb0131287f8e349590c96e88d29e69 05-Jan-2017 Sungsoo <sungsoo@google.com> MediaBrowserCompat: Make getItem work properly

We disabled MediaBrowserCompatTest.testGetItem because of the test
failure.

Bug: 34069123
Change-Id: I2204ebac654e55a00ad230492f8812e34f6619a3
4/media/MediaBrowserServiceCompat.java
3922fc34fb7e19921064b2e567a8f86b7ca794b4 16-Dec-2016 Sungsoo <sungsoo@google.com> Merge commit 'b6913b8a4e2a441a2ef877d3f3997be933cf8762' into manual_merge_b6913b8

Change-Id: Ib096a054ea6dc3c28d6cfade00cf74f3578f4966
3cc527755f5e2f9912a6b4a50a8222494425ed55 15-Dec-2016 Sungsoo <sungsoo@google.com> MediaSessionCompat: Fix NPE

Bug: 33620353
Change-Id: I7b6bf3d92e64e3891bd60f555fb76e70ab63ea5c
4/media/session/MediaSessionCompat.java
00834368f8f1ad9bae181b5b34ff65ac572dae2e 21-Nov-2016 Aurimas Liutikas <aurimas@google.com> resolve merge conflicts of 8e10080 to master

Change-Id: I48e02631e7622097e9c556602485a7cdf96dcf21
8e10080c914d1ad0784394fa3026b85535535847 18-Nov-2016 Aurimas Liutikas <aurimas@google.com> Move from GROUP_ID to LIBRARY_GROUP annotations

- GROUP_ID was deprecated in favor of LIBRARY_GROUP.
- Fix import order in touched files.

Test: ./gradlew assemble assembleAndroidTest
Change-Id: I2a774e93215090f42262fb86cf8e841f2a546a4f
4/media/MediaBrowserCompat.java
4/media/MediaBrowserCompatUtils.java
4/media/MediaBrowserServiceCompat.java
4/media/MediaDescriptionCompat.java
4/media/MediaMetadataCompat.java
4/media/RatingCompat.java
4/media/VolumeProviderCompat.java
4/media/session/MediaSessionCompat.java
4/media/session/PlaybackStateCompat.java
7e3ec522e4073ecb65b2029207d3b73a9c3feb9e 18-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "DO NOT MERGE Remove remaining references to repeat and shuffle APIs" into nyc-support-25.1-dev
da6424790044adea042c236464253b2f5c006bc8 17-Nov-2016 Alan Viverette <alanv@google.com> DO NOT MERGE Remove remaining references to repeat and shuffle APIs

They were truly before their time.

Test: ./gradlew generateDocs
Change-Id: I6fd7b44fb9413cb663bb30a098dd1368ceb17b85
4/media/session/PlaybackStateCompat.java
730ed99bb69c8a846216a1fbb525cae9b475b93e 20-Sep-2016 Ian Lake <ilake@google.com> Deprecate support-fragment's dependency on media-compat

Deprecate FragmentActivity's dependence on MediaControllerCompat and
therefore support-fragment's dependency on support-media-compat. This
will allow us to remove the compile time dependency in a future release.

New static methods in MediaControllerCompat are used to set the
Activity's MediaController. The addition of SupportActivity and its
ExtraData class allow MediaControllerCompat to store the
MediaControllerCompat object scoped to the Activity to
1) Support pre-API 21 devices
2) Prevent constant translation between framework and compat instances

Test: mmma frameworks/support, ./gradlew assemble, run SupportActivityTest

BUG: 30944164
Change-Id: I6db82487d7b6352bbcf2ab0202a7e1ffbd9af650
(cherry picked from commit 583beae8a1d75c7c821b65c8adc8812928424eec)
4/media/session/MediaControllerCompat.java
39a3e149d2d24eb2b4d1c2fd381c93d2ebf8cbdc 17-Nov-2016 Ian Lake <ilake@google.com> Merge "Deprecate support-fragment's dependency on media-compat"
583beae8a1d75c7c821b65c8adc8812928424eec 20-Sep-2016 Ian Lake <ilake@google.com> Deprecate support-fragment's dependency on media-compat

Deprecate FragmentActivity's dependence on MediaControllerCompat and
therefore support-fragment's dependency on support-media-compat. This
will allow us to remove the compile time dependency in a future release.

New static methods in MediaControllerCompat are used to set the
Activity's MediaController. The addition of SupportActivity and its
ExtraData class allow MediaControllerCompat to store the
MediaControllerCompat object scoped to the Activity to
1) Support pre-API 21 devices
2) Prevent constant translation between framework and compat instances

Test: mmma frameworks/support, ./gradlew assemble, run SupportActivityTest

BUG: 30944164
Change-Id: I6db82487d7b6352bbcf2ab0202a7e1ffbd9af650
4/media/session/MediaControllerCompat.java
7435f27d690f295c861db86f9e45475a205547b8 10-Nov-2016 Alan Viverette <alanv@google.com> DO NOT MERGE Temporarily remove repeat and shuffle API usages

Change-Id: I66b7d745a70de2826df5aaf16871f957c0b7bf49
4/media/session/IMediaControllerCallback.aidl
4/media/session/IMediaSession.aidl
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
da4934633714c7e81d091a4e87eac6d654f68381 09-Nov-2016 Sungsoo <sungsoo@google.com> MediaBrowserCompat: Fix NPE am: 6caeb660f9
am: 52626a1dea

Change-Id: I89bc4013a44e3bb57ecfdb6b100be7e6e664d67f
52626a1dea0a2b72a271421e4492889ae5cbca67 09-Nov-2016 Sungsoo <sungsoo@google.com> MediaBrowserCompat: Fix NPE
am: 6caeb660f9

Change-Id: I83d5b83fc6c5d31673ee9d10debbcf8ec793e00f
6caeb660f92918cab7d4e681c4f46e497a43ea28 07-Nov-2016 Sungsoo <sungsoo@google.com> MediaBrowserCompat: Fix NPE

Bug: 32669826
Change-Id: If817ae4211916d70c5d637632e5dbe5848cdd800
4/media/MediaBrowserCompat.java
7598c3b9e75b61e7fe3853329032a3c7f8cef6f7 12-Oct-2016 Hyundo Moon <hdmoon@google.com> MediaCompat: Backport repeat and shuffle support in API 21-25

Bug: 30724502
Test: manually - create a simple app which uses the new APIs.
Change-Id: I7982da404bf26c7c4770a9599ae8d8b7651a4401
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
51d19469502b11b2e2afa8b5ab490f5846b7c66c 13-Oct-2016 Hyundo Moon <hdmoon@google.com> MediaSessionCompat: Set default callback to pass extra binder

This CL sets default callback in MediaSessionCompat's constructor to respond
to the MediaControllerCompat's request for the extra binder.

Bug: 32129662
Test: Tested sendSessionEvent() with Support4Demos on API 21 and 22
Change-Id: Iafe894136b23a0ae3d5e8a0368c0827abd1dffe7
4/media/session/MediaSessionCompat.java
24b728a673504b26d9c46f0a24d184a5d9e726b6 12-Sep-2016 Sungsoo <sungsoo@google.com> MediaSessionCompat: Introduce extra session binder and extra callback

There were several changes on MediaSession and MediaController for the new
APIs and bug fixes after API 21. In order to backport those changes, this
CL uses extra binders between MediaSessionCompat and MediaControllerCompat.

Bug: 31215547, Bug: 31248021, Bug: 31287025
Test: Tested the methods with Support4Demos on API 21 and API 22
Change-Id: Ia2a6fe5e7aa88b4b18db5819bd73ad7282a9c142
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
8955729d97dd15a512f5396b299784a96f2a44e4 29-Aug-2016 Hyundo Moon <hdmoon@google.com> MediaCompat: Backport repeat and shuffle support in API < 21

Bug: 30724502
Test: manual - create a simple app which uses the new APIs.
Change-Id: Ia9c7dd045d5c07a558e34481459347501932d088
4/media/session/IMediaControllerCallback.aidl
4/media/session/IMediaSession.aidl
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
21ecb1a40992b5e478a6a7fe115da40d060b198a 22-Aug-2016 Hyundo Moon <hdmoon@google.com> MediaCompat: Backport repeat and shuffle support in API25+

Bug: 30724502
Test: manual - create a simple app which uses the new APIs.
Change-Id: I6aa1263da0e9bb756fac7b0e61b34f54af079d8e
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
4/media/session/PlaybackStateCompat.java
c39d9c75590eca86a5e7e32a8824ba04a0d42e9b 25-Aug-2016 Alan Viverette <alanv@google.com> Add @RestrictTo(GROUP_ID) annotations to match @hide docs annotations

Also removes some unnecessary @hide annotations on classes that wouldn't
have shown up in docs anyway due to package/private visibility or NO_DOCS.

Bug: 27937193
Change-Id: Iab127a5a3ce57a2d61965d3cef782621eb3859f5
4/media/MediaBrowserCompat.java
4/media/MediaBrowserCompatUtils.java
4/media/MediaBrowserProtocol.java
4/media/MediaBrowserServiceCompat.java
4/media/MediaDescriptionCompat.java
4/media/MediaMetadataCompat.java
4/media/RatingCompat.java
4/media/VolumeProviderCompat.java
4/media/session/MediaSessionCompat.java
4/media/session/PlaybackStateCompat.java
7ce86ec087d5246c3b9a6f038bb538957606c311 05-Sep-2016 Sungsoo <sungsoo@google.com> MediaBrowserCompat: Make ItemCallback can take a null media item

When the implementation of MediaBrowserServiceCompat.onLoadItem returns null,
ItemCallback.onError was called, but the JavaDoc is saying that
ItemCallback.onItemLoaded can be called with a null result.

This CL makes ItemCallback.onItemLoaded be able to take a null result,
and ItemCallback.onError be called when the implementation doesn't override
the onLoadItem method or when the returned object is not MediaItem.

Bug: 27808084
Change-Id: Ifd25bcbd0775af221f3b48f715a8eb703caa77ad
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
8c9a3a8956260ab2a4fceef127b21b03e3bbb53f 07-Sep-2016 Sungsoo Lim <sungsoo@google.com> Merge "MediaBrowserServiceCompat: Handle null results from the implementation" into nyc-support-24.1-dev
777d23227fb217431dc1c50b25be6ffd60999bde 30-Aug-2016 Sungsoo <sungsoo@google.com> MediaBrowserServiceCompat: Handle null results from the implementation

When a null result is sent to ResultWrapper from the implementation of
onLoadChildren and/or onLoadItem on API 23+, the result couldn't be passed
to the origin result object or NPE could be happened.

Bug: 31106294
Change-Id: Idd7e095c3475c2ad3e8cf8a0ce85ec2f38fc4d31
4/media/MediaBrowserServiceCompat.java
b768ed3824de2c109411654b3830feabe564ff0a 25-Aug-2016 Aurimas Liutikas <aurimas@google.com> Remove all the extra accessor methods added by javac in support-media-compat.

Change private methods to be package protected to avoid extra methods
that get added to be able to access them from inner classes.

This CL saves 95 methods in our jar.

Bug: 31075707
Change-Id: I109e85d38ab39c66b55482e2a69030c5f0d6a462
4/media/MediaBrowserCompat.java
4/media/MediaBrowserServiceCompat.java
4/media/MediaDescriptionCompat.java
4/media/MediaMetadataCompat.java
4/media/RatingCompat.java
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
4/media/session/PlaybackStateCompat.java
6ff4dde1a7699f2fcf0ba0e16f8e0c5aac1589a0 02-Aug-2016 Hyundo Moon <hdmoon@google.com> MediaBrowserCompat: Supplement JavaDoc of MediaItem.getMediaId()

This CL adds link to MediaMetadataCompat.METADATA_KEY_MEDIA_ID
into the JavaDoc of MediaItem.getMediaId() to help developers
easily find what the MediaId is.

Bug: 28790407
Change-Id: I7ca64e436f8290ed0723daaf19f33e07ad800997
4/media/MediaBrowserCompat.java
e48441650b24efca174b0b8b29c6f284f8d01650 13-Jul-2016 Hyundo Moon <hdmoon@google.com> Address API council feedback on MediaBrowserCompat/MediaSessionCompat

* MediaBrowserCompat
- Add comment for the behavior of MediaItem.fromMediaItem()/
MediaItem.fromMediaItemList() on API < 21 to explicitly
state that they return null.

* MediaSessionCompat
- Make fromMediaSession()/QueueItem.fromQueueItem() return null
on API < 21. Also add comment for it.
- Add comment for the behavior of QueueItem.fromQueueItemList()
on API < 21 to explicitly state that they return null.
- Add @param for Context argument in fromMediaSession().

Bug: 30088705
Bug: 30088479
Change-Id: Ie4c5069426348c6203540976c7c44c77570ac882
4/media/MediaBrowserCompat.java
4/media/session/MediaSessionCompat.java
44cc5e3d6dafb4aed32b4aeb394ed2533e4077f5 07-Jul-2016 Donghyun Cho <donghyun@google.com> Move APIs related to the media button into MediaButtonReceiver

Relocate APIs related to the media button, and remove the flag attribute
from the IntDef annotation of MediaKeyActions.

Bug: 22718016
Change-Id: If9f73c2f779aefe12c7dd5f9da96a2cba2aacd96
4/media/session/MediaButtonReceiver.java
4/media/session/MediaSessionCompat.java
4/media/session/PlaybackStateCompat.java
e64819c57e8ef755f4110dc1db10cf585617a4f8 08-Jul-2016 Hyundo Moon <hdmoon@google.com> Merge "Add fromQueueItemList() in MediaSessionCompat.QueueItem" into nyc-support-24.1-dev
203a34227e8fa3bd16721fb7ff450fb6feba7c50 04-Jul-2016 Hyundo Moon <hdmoon@google.com> Add fromQueueItemList() in MediaSessionCompat.QueueItem

This CL adds a method fromQueueItemList() which creates a list of
MediaSessionCompat.QueueItem objects from a given MediaSession.QueueItem
list. Also it removes an unnecessary conversion of the QueueItem list to
Parcel list and vice versa by using the added method.

Bug: 29524530
Change-Id: I3017606eea46a0b358c47633903f176ba3df90b4
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
fbdf53794fb5b2043e783098e8cf23bca50eedec 06-Jul-2016 Jaewan Kim <jaewan@google.com> Scale large bitmaps down in MediaSessionCompat.setMetadata

This keeps the consistency between MediaSession.setMetadata and
MediaSessionCompat.setMetadata.

Bug: 29149751
Change-Id: I78c2224ebe2395c1298984e06a96e59cb81a30bb
4/media/MediaMetadataCompat.java
4/media/session/MediaSessionCompat.java
befd962eaf358c8dba1eae1cfeb92a34fb74d3c2 29-Jun-2016 Hyundo Moon <hdmoon@google.com> Add fromMediaItem()/fromMediaItemList() in MediaBrowserCompat.MediaItem

This CL adds two methods which convert MediaBrowser.MediaItem
object/List to MediaBrowserCompat.MediaItem object/List, respectively.
It also removes unnecessary conversions of the MediaItem list to
Parcel list and vice versa by using the two added methods.

Bug: 29524530
Change-Id: Ie0628b44c6d5db08f5f4694c673d76e7351300d6
4/media/MediaBrowserCompat.java
dea052cbd7d523a47ce8fff8b4f2fd0c39b132c6 06-Jul-2016 Hyundo Moon <hdmoon@google.com> Replace obtain() methods in MediaSessionCompat

The obtain() methods covert a framework object to a
compat object, but fromXXX() methods do the same thing.
For consistency, this CL replaces the obtain() methods
with the fromMediaSession() / fromQueueItem().

Bug: 29980113
Change-Id: I262a001e546c2c74a127e79da7f104f487c1ab33
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.java
996e009dae4345b85f69968f127a3aeae6a59bb8 06-Jul-2016 Donghyun Cho <donghyun@google.com> Merge "Add helper methods to create a pending intent for media button event"
7f005437052a17d9a04d85980569898348da5da4 01-Jul-2016 Donghyun Cho <donghyun@google.com> Add helper methods to create a pending intent for media button event

Introduced helper methods to create a broadcast pending intent which sends
a media button event to the media button receiver with specified media action.
It will be helpful for developers because it can save lots of code.

Bug: 22718016
Change-Id: I08d2ffd4c666c22d4b57aa5a1e6b57dc8d02382f
4/media/session/MediaSessionCompat.java
4/media/session/PlaybackStateCompat.java
ae736327deea12ceb1929f2060acb76b31359c54 01-Jul-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserServiceCompat: Add a constant for suggestion keywords

EXTRA_SUGGESTION_KEYWORDS will be used for denoting specific keywords
which will be considered when the browser service suggests media items.

Bug: 28210241
Change-Id: I4dfb9a2d2deeb1a119469a1d53a01952278b274c
4/media/MediaBrowserServiceCompat.java
ee9a9d6bf32f08c3e396ae8108311a99e1adb0b5 27-Jun-2016 Sungsoo Lim <sungsoo@google.com> MediaMetadataCompat: Add METADATA_KEY_MEDIA_URI

Bug: 29025504
Change-Id: I0474b23511f7909473e6eab982c3c61f629503c2
4/media/MediaMetadataCompat.java
9d18baac7c99ec5c8ca88cfca10ad21e4106e2f1 20-Jun-2016 Sungsoo Lim <sungsoo@google.com> MediaControllerCompat: Make the all callback methods be called

Bug: 29330560
Change-Id: Ie2ef0e3ca21742220bdb2bc5d4a094bb46e6da4c
4/media/MediaBrowserCompat.java
4/media/session/MediaControllerCompat.java
69a3183bb4730fff70a4e23fe64e043e9334c67c 23-Jun-2016 Hyundo Moon <hdmoon@google.com> Merge "Add hashCode() and equals() in MediaSessionCompat.Token"
dc7b35260aa23f385cd67c8e2e6eb9ff0a2f4048 08-Jun-2016 Hyundo Moon <hdmoon@google.com> Add hashCode() and equals() in MediaSessionCompat.Token

Bug: 28036653
Change-Id: I930a01ec2b24a686e05c6f1a439e06a8a250e169
4/media/session/MediaSessionCompat.java
a8247e246346537a460478156dc4eb479da09dac 21-Jun-2016 Sungsoo Lim <sungsoo@google.com> Merge "MediaBrowserServiceCompat: Fix ConcurrentModificationException"
98ad29a4591e411be5c924791467db263c404e0d 21-Jun-2016 Donghyun Cho <donghyun@google.com> Merge "Add bluetooth folder type to MediaDescriptionCompat and MediaMetadataCompat"
8b663a24c352adb2a5dcacffed4d1e5b1cadaf99 20-Jun-2016 Donghyun Cho <donghyun@google.com> Add bluetooth folder type to MediaDescriptionCompat and MediaMetadataCompat

Bug: 28210080
Change-Id: I5f2ff2ec1ff857088e6114d731d426ebe645477d
4/media/MediaDescriptionCompat.java
4/media/MediaMetadataCompat.java
7528c2286abed5012e9759e3b122cfcf5e5b54bf 17-Jun-2016 Sungsoo Lim <sungsoo@google.com> MediaBrowserServiceCompat: Fix ConcurrentModificationException

Bug:29438709
Change-Id: I9ee4c30b9ac8117062d1971604e1f7fa03c62f09
4/media/MediaBrowserServiceCompat.java
0673f9a669651301f1045af37ef345babad92b2d 17-Jun-2016 Jae Seo <jaeseo@google.com> MediaSessionCompat: Add missing call to onExtrasChanged()

Bug: 28731646
Change-Id: Id726784f25d52801920a78083a37b2bfb588c805
4/media/session/MediaSessionCompat.java
a3274ee2c60634908ab5bd93bbafc51c9567016b 31-May-2016 Alan Viverette <alanv@google.com> Fix a few checkstyle issues

Change-Id: Id9c2de22b951d89809cbc29a5697e9615f642628
4/media/TransportMediator.java
ce35f3b7736ff6e1c84bd5536e7c18922ab63c00 31-May-2016 Alan Viverette <alanv@google.com> Update javadoc sample references for refactor Support demos

Change-Id: I0c112ceeccb6e0ce8673f78a9ddc832dec12a714
4/media/TransportMediator.java
08b74dda4ecb149bf69592de861436dd34e8ad5b 24-May-2016 Aurimas Liutikas <aurimas@google.com> Merge "Add missing @Override annotations in support library code."
15375aa6fd54b036f97f99229aefab2822c8a1c9 24-May-2016 Aurimas Liutikas <aurimas@google.com> Add missing @Override annotations in support library code.

Change-Id: Ifcc3a20b54d6a14b0a14aa0f48e642cf7e8c0e70
4/media/MediaBrowserServiceCompat.java
4/media/TransportMediator.java
7108b54fd1f4efb2701702894f707fe328f4e714 24-May-2016 Jae Seo <jaeseo@google.com> Merge "MediaBrowserServiceCompat: Add more explanation on getBrowserRootHints()" into nyc-dev am: 7eb4234059 am: 193e8a46bb
am: d9d5b54635

* commit 'd9d5b54635145e5b4d8efb0d71d61a2f17c21127':
MediaBrowserServiceCompat: Add more explanation on getBrowserRootHints()

Change-Id: I40d826cfc02699b531f10538815d08735a73c7f3
850948bd087fb29f02f2a30a15a3dcdee6f4e08d 17-May-2016 Jae Seo <jaeseo@google.com> resolve merge conflicts of 595eacc to master

Change-Id: Id10f6695fc01c32af804ca79571ac1bf04157b61
f110fcef8d82920eaabf7ad94a1268b2421a8bb3 12-May-2016 Sungsoo Lim <sungsoo@google.com> Merge "MediaBrowserCompat: Fix NPE" into nyc-dev am: 2969ac23f1 am: 64a012aa7f
am: 1e1ea4588b

* commit '1e1ea4588b340fdb9cc2b1fe57c34740cd738caf':
MediaBrowserCompat: Fix NPE

Change-Id: I5ac75248d57710c37a6c9f2a030f94558eb0741c
d3a6a5238283232ca46b18e9b551b7e471770aff 11-May-2016 Kirill Grouchnikov <kirillg@google.com> Merge "Cleaning up pre-Gingerbread folders and classes"
1b3e9466b4c4d72f28bb4448672ef8bab19b6f3e 11-May-2016 Kirill Grouchnikov <kirillg@google.com> Clean up internal usage of now-deprecated Compat APIs

Change-Id: I309a6637e1c013dc9b218dd048d2cfab7dcee171
4/media/TransportMediator.java
81fc7d74aa951af803aeab9087455c2d2e027136 11-May-2016 Kirill Grouchnikov <kirillg@google.com> Cleaning up pre-Gingerbread folders and classes

* Remove Froyo-level class in media-compat
* Rename donut folder in compat to gingerbread
* Remove eclair folder in v4
* Rename donut folder in v4 to gingerbread

Change-Id: Ibc1d58a617a2ca9070510eebc3edf151e9488259
4/media/session/MediaSessionCompat.java
d3c5347b3ec0025ec906e2053eaa9b97287c46a5 10-May-2016 Kirill Grouchnikov <kirillg@google.com> Extracting MediaCompat classes into a new module

Change-Id: I46d0bbceba9b94828eb94aa3728e4ec61a1f2269
4/media/MediaBrowserCompat.java
4/media/MediaBrowserCompatUtils.java
4/media/MediaBrowserProtocol.java
4/media/MediaBrowserServiceCompat.java
4/media/MediaDescriptionCompat.java
4/media/MediaMetadataCompat.aidl
4/media/MediaMetadataCompat.java
4/media/RatingCompat.aidl
4/media/RatingCompat.java
4/media/TransportController.java
4/media/TransportMediator.java
4/media/TransportPerformer.java
4/media/TransportStateListener.java
4/media/VolumeProviderCompat.java
4/media/session/IMediaControllerCallback.aidl
4/media/session/IMediaSession.aidl
4/media/session/MediaButtonReceiver.java
4/media/session/MediaControllerCompat.java
4/media/session/MediaSessionCompat.aidl
4/media/session/MediaSessionCompat.java
4/media/session/ParcelableVolumeInfo.aidl
4/media/session/ParcelableVolumeInfo.java
4/media/session/PlaybackStateCompat.aidl
4/media/session/PlaybackStateCompat.java