History log of /frameworks/base/media/java/android/media/MediaController2.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
598265bd862b61ede23e50ce00749eb66ade7c87 27-Mar-2018 Jaewan Kim <jaewan@google.com> MediaPlayerBase: Add PlayerEventCallback#onSeekCompleted()

PlayerEventCallback#onSeekCompleted() will be called when the
MediaPlayerBase#seekTo() is completed. Following callbacks are also
added to listen the event.
- SessionCallback#onSeekCompleted()
- ControllerCallback#onSeekCompleted()

Bug: 74370608
Test: Build
Change-Id: Ib1ecd75f7e217ed9a927db3ab443073a1aef2074
/frameworks/base/media/java/android/media/MediaController2.java
3b15124eccc61fd8adbcae0ee8d2179fd453a9ab 27-Mar-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Pull out Command/CommandGroup from the MediaSession2

Bug: 74648408
Test: Build
Change-Id: I0a3d1ab6320c7b276e7b1defdccf9fa371ae02c0
/frameworks/base/media/java/android/media/MediaController2.java
ab715ec20be7d5b16e176d1b1bff1c477c4841bf 19-Mar-2018 Jaewan Kim <jaewan@google.com> MediaController2: Add fastForward() / rewind()

Following CLs are included
- Add MediaController2#fastForward() / rewind()
- Add MediaSession2.SessionCallback#onFastForward() / rewind()

Bug: 74724709
Test: Build
Change-Id: I0dd2b6c21931df937006ae26011ea9538720afee
/frameworks/base/media/java/android/media/MediaController2.java
c4f56a6be5b6eda77088810894d684b4139678f1 26-Mar-2018 Jaewan Kim <jaewan@google.com> Merge "MediaController2: Match APIs with MediaPlayerBase" into pi-dev
e98b8990bc7067f7be935e111b2bf0b4a4bfb92c 19-Mar-2018 Jaewan Kim <jaewan@google.com> MediaController2: Remove MediaPlaylistAgent in the ControllerCallback

Bug: 75500592
Test: Run CTS with MediaComponents/runcts.sh
Change-Id: Iffd089fd86284a802e1da155d13cb4877aab3f06
/frameworks/base/media/java/android/media/MediaController2.java
abf686e02c352378892b0e94229145c5528b1bd3 20-Mar-2018 Jaewan Kim <jaewan@google.com> MediaController2: Match APIs with MediaPlayerBase

Bug: 74370608
Test: Build
Change-Id: I6a67b56f0d7a4afe723ea86e70c116fb730b3e69
/frameworks/base/media/java/android/media/MediaController2.java
e41b39d6e93516c52852cb1bc08cd46b08a4d195 23-Mar-2018 Jaewan Kim <jaewan@google.com> Merge "MediaSession2: Add more detailed documentation for addPlaylistItem()" into pi-dev
d847d7d0a92bbf599ab1664431bbb04beab8ea92 23-Mar-2018 Jean-Michel Trivi <jmtrivi@google.com> Merge "Hide Media*2 APIs" into pi-dev
3a582e73c115e693bab8cb6f213d275704b9c5d7 21-Mar-2018 Jean-Michel Trivi <jmtrivi@google.com> Hide Media*2 APIs

Bug: 76121592
Test: make offline-sdk-docs
Change-Id: Ic5eba5ba0b3ef9f11c582ab6db7d8d61934941dd
/frameworks/base/media/java/android/media/MediaController2.java
f73bc870c0e07861019d4833c3ccb42d0af9fab0 20-Mar-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Add more detailed documentation for addPlaylistItem()

Bug: 73149584
Test: Run CTS with MediaComponents/runcts.sh
Change-Id: Ifc16e9d4ee210ac901941d8f3a6a228aa3f1ddd8
/frameworks/base/media/java/android/media/MediaController2.java
6bd3ab6dc6ad4001c387d7f4a4a2ce954be6ca16 22-Mar-2018 Christofer Ã…kersten <akersten@google.com> Remove unnecessary Context from ApiLoader

Bug: 76001644
Test: compile
Change-Id: I6ac81dac16374d90facfe33c68607c5c286b335f
/frameworks/base/media/java/android/media/MediaController2.java
f10ca2f9606f004e66415ce5d9b3e97441cc9917 14-Mar-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Implement PlaylistParams replacements

This includes following changes
- Remove PlaylistParams
- Implement PlaylistParams replacements. Here's the list.
- get/setShuffleMode()
- get/setRepeatMode()
- Note: Playlist metadata APIs are already submitted (b/74174649)

Bug: 74116823, Bug: 74118768
Test: Run CTS with MediaComponents/runcts.sh
Change-Id: I0267ffeaf92257eb7b81ffc8b6a3f40b5a2f6f9c
/frameworks/base/media/java/android/media/MediaController2.java
15fc0504323e16848fd1fedb54a3f2a9afc51179 15-Mar-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Remove onPlaylistChanged() without metadata

Bug: 74174728
Test: Run CTS with MediaComponents/runcts.sh
Change-Id: I84495aa19bc03009c81cdefdf8e65fbff4b7bcb6
/frameworks/base/media/java/android/media/MediaController2.java
68c774a1ee105648878933fb858c183882be2427 13-Mar-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Implement skipTo APIs

This implements following APIs from both session and controller.
- skipToPlaylistItem()
- skipToNextItem()
- skipToPreviousItem()

Bug: 74175632
Test: Run CTS with MediaComponents/runcts.sh
Change-Id: I47d94346c997314ff39797bac3034aa507058036
/frameworks/base/media/java/android/media/MediaController2.java
c006dc2a8517f70a8f8f54047b5aa7cc0c4eb5ac 07-Mar-2018 Hyundo Moon <hdmoon@google.com> MediaSession2: Replace PlaybackState2

This CL removes PlaybackState2 and replaces it with other APIs.

Bug: 74370608, Bug: 73971431
Test: Passed CTS
Change-Id: Ifa16b1d551957ab4bb06979ddf29b18772093035
/frameworks/base/media/java/android/media/MediaController2.java
8562fd9504c28151b52342af5dc83be3c1c9780c 12-Mar-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Implement add/remove/replacePlaylistItem()

Bug: 73149584
Test: Run CTS with MediaComponents/runcts.sh
Change-Id: I29804f52eaca45de21fd66634e4eeee2c72a9a25
/frameworks/base/media/java/android/media/MediaController2.java
dc5ab8095a98eb4d128a057f2ecd14c3cff9da8a 12-Mar-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Implement update/getPlaylistMetadata()

Bug: 74174649
Test: Run CTS with MediaComponents/runcts.sh
Change-Id: I3ac2dabfc7f532bf7d7262940e3dc309e97fd45a
/frameworks/base/media/java/android/media/MediaController2.java
25db3cdb93f3de5073f53f56f42efaa154a3fe77 08-Mar-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Implement get/setPlaylist()

Bug: 74326040
Test: Run CtsMediaTests for MediaSession2
Change-Id: Ib799c03edd2f79c6f9ffa989aea1137018ec55b3
/frameworks/base/media/java/android/media/MediaController2.java
525c88c2b792931c46ab4452c2bbe9989614ba74 08-Mar-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Clean up TODOs under frameworks/base

This change includes
- Addressed trivial TODOs (takes less than 1min)
- Renamed playlist controller to playlist agent
- Renamed mplc to playlistAgent
- Renamed mpb to player
- Assigned buganizer issues for TODOs

Bug: 74361045
Test: Run MediaComponentsTest
Change-Id: I45e97081b5a3f24988c3daadd007edcb51be5288
/frameworks/base/media/java/android/media/MediaController2.java
df0e8fdffd43d55eaffc7d2e7266d2f4526fb3b9 07-Mar-2018 Sungsoo Lim <sungsoo@google.com> Remove MediaPlaylistController, add MediaPlaylistAgent

MediaPlaylistAgent is the abstract class an application needs to
derive from to pass an object to a MediaSession2 that will override
default playlist handling behaviors. It contains a set of notify*
methods to signal MediaSession2 that playlist-related state has
changed.

Bug: 64098437
Test: make update-api
Change-Id: Icb3c57ddc14eba276f49d4ba85f11adbeb3e0917
/frameworks/base/media/java/android/media/MediaController2.java
87086f59ad7263facde0d17404c70e5311cde29c 07-Mar-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Add SessionCallback#onCurrentMediaItemChanged()

Added callback for session to know the currently playing media item has
changed.

Note that the callback is called in response to the
MediaPlayerBase#PlayerEventCallback#onCurrentDataSourceChanged(mpb, dsd
is called. Session will translate dsd to the media item and calls
onCurrentMediaItemChanged().

Following changes are also included
- Removed MediaPlaylistController#getCurrentPlaylistItem(),
because currently playing item is managed by the MediaPlayerBase.
- Renamed ControllerCallback#onCurrentPlaylistItemChanged() to the
ControllerCallback#onCurrentMediaItemChanged(), to make it more
obvious that the event is from MediaPlayerBase, not
MediaPlaylistController.
- Added SessionCallback#onCurrentMediaItemChanged()

Bug: 64098437
Test: Run MediaComponents test
Change-Id: I78b124a7da0f968b097b2576507b9a73e36081ec
/frameworks/base/media/java/android/media/MediaController2.java
273130dc9af6e3c3fc00513a1ba454dd1d8a5cf0 05-Mar-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Add MediaPlaylistController.PlaylistEventCallback

This includes following changes per offline discussion
- Add MediaPlaylistController.PlaylistEventCallback
- Add following APIs to the MediaPlaylistController
* registerPlaylistControllerCallback() /
unregisterPlaylistControllerCallback()
* getRepeatMode() / setRepeatMode()
* getShuffleMode() / setShuffleMode()
* setPlaylist() with metadata
* setPlaylistMetadata() / getPlaylistMetadata()
- Add following APIs to the SessionCallback
* onMediaPrepared()
* onPlayerStateChanged()
* onBufferingStateChanged()
- Remove following methods from ControllerCallback
* onPlaylistChanged()

Bug: 64098437
Bug: 74157064
Test: passed MediaComponentTest
Change-Id: I5ad12a9a5d6a7d9e23a577dca8ea26fbacb8f259
/frameworks/base/media/java/android/media/MediaController2.java
d4ef7b96ed08f374537f1d506d728a8bfe0a1caa 28-Feb-2018 Hyundo Moon <hdmoon@google.com> MediaController2: Ensure NonNull for parameters of public methods

Bug: 73863865
Test: Passed MediaBrowser2Test
Change-Id: I65cd43045f4e7b9f16b8cf3f43688815e59dc643
/frameworks/base/media/java/android/media/MediaController2.java
7a0cefa583b4c1589b0b31d307f93f1d50e82db4 02-Mar-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Clean up TODOs under frameworks/base/media

This CL includes following changes
- Remove outdated TODOs
- Added buganizer issue if the remaining work take more than 5m

Test: Run MediaComponents tests
Change-Id: I8968e12aabcbc67f69dbf14485b3716d0e95779b
/frameworks/base/media/java/android/media/MediaController2.java
3fb60d56c2747b4b5498b87ec5790fad06b013b3 02-Mar-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Add caller to the callback methods

This is to follow MediaPlayer2 and MediaPlayerBase's API style.

Bug: 64098437
Test: make update-api
Change-Id: I7fe17852d16237fac801c716eab1007cd0337867
/frameworks/base/media/java/android/media/MediaController2.java
aa080a80a6a152cda5879a2c2510f9c76b9b5f9d 27-Feb-2018 Sungsoo Lim <sungsoo@google.com> MediaSession2: Refine APIs

Bug: 64098437
Test: passed MediaComponentTest
Change-Id: I40e1ef141e47d17e2bfa0a689a680b45a3d73b03
/frameworks/base/media/java/android/media/MediaController2.java
c3a438f65b24d88059fdc2d5e2432a4cb70e2cfb 28-Feb-2018 Jean-Michel Trivi <jmtrivi@google.com> MediaPlayerBase API

Define as an abstract class the high level interface for
media players. Consumers are MediaSession2, providers
are MediaPlayer2, which will extend this class.

Bug: 64098437
Test: to be in MediaPlayer2 tests once it extends MPB
Change-Id: Id0d0fcb6d1b377a0e05a4a8e3d659e12a58fc45e
/frameworks/base/media/java/android/media/MediaController2.java
6cc1a5de46ec18172d75ac589dbe8b306d0fb8d2 22-Feb-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Unhide APIs

Bug: 64098437
Test: make update-api
Change-Id: Ib73a32b422502cef324869356d56acaa7c48b219
/frameworks/base/media/java/android/media/MediaController2.java
bdf077bd92731df752478720414f22fe4f1b8ad9 21-Feb-2018 Hyundo Moon <hdmoon@google.com> MediaSession2: Remove rating style from session

Bug: 73615699
Test: Passed MediaController2Test
Change-Id: Icc35bf982e0943ba7586003bf30dd6dfa90d747e
/frameworks/base/media/java/android/media/MediaController2.java
a2be62f25b8b9504c773156f062a8ae0fc02e678 19-Feb-2018 Hyundo Moon <hdmoon@google.com> MediaController2: Implement setRating()

Bug: 73146284
Test: Passed MediaController2Test
Change-Id: Iaff4f5b58d0bbd7105a39763cd6fee7c6c621df8
/frameworks/base/media/java/android/media/MediaController2.java
7d550e736e2cdfd07f6d29c3413a980c2f1162d3 07-Feb-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Make PlaybackInfoProvider inner interface

It should be inner interface of MediaController2Provider because
PlaybackInfo is inner class of MediaController2

Test: Build
Change-Id: I575fe7e214256229bb27ce21038970fd552c8b97
/frameworks/base/media/java/android/media/MediaController2.java
47b7f2b63b361d62550b8b73efcc79e288db66aa 05-Feb-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Implement playFromXXX and prepareFromXXX

Test: Run all MediaComponents tests once
Bug: 72798434
Change-Id: Ib45fea28c3431edc91af5120270275c906df78b6
/frameworks/base/media/java/android/media/MediaController2.java
518a2f9aecd4780d82dcabf88ef9c9232a56a42b 05-Feb-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Change controller's behavior when connected

This stops calling
MediaController2.ControllerCallback.onPlaybackStateChanged() when the
controller is connected.

This is the preliminary step towards sending session's current values
to a controller when it's connected.

Bug: 72547163
Test: Run all tests once
Change-Id: I4b5b2ec008500cc71679883792b0ef44f1c24aad
/frameworks/base/media/java/android/media/MediaController2.java
71bb3176a91210be8db2f552410c3b86f1297b4a 31-Jan-2018 Hyundo Moon <hdmoon@google.com> MediaSession2: Use VolumeProvider2 instead of VolumeProvider

Bug: 72616099
Test: Builds successfully
Change-Id: Ic125d017f411ea36c9ae1fa22ec4fde5656187f7
/frameworks/base/media/java/android/media/MediaController2.java
bc55661b11bdb42679ed9086d381c47ee6a60949 31-Jan-2018 Jaewan Kim <jaewan@google.com> Merge "MediaSession2: Hide system apis"
c79d6b4fdf8f94acd389d1cc0761db32e9d2dc97 31-Jan-2018 Hyundo Moon <hdmoon@google.com> MediaSession2: Move MediaController2.PlaybackInfo to updatable

Bug: 72716294
Test: Builds successfully
Change-Id: I6c1f7afdc49df6fe345db17fc41563a511c665e0
/frameworks/base/media/java/android/media/MediaController2.java
7d30e1c554b76e7e6b54037ffe1926e0d927ab79 31-Jan-2018 Sungsoo Lim <sungsoo@google.com> MediaSession2: Hide system apis

Test: build
Change-Id: I6c56c260a002086bbd2c20420b301c66635215c3
/frameworks/base/media/java/android/media/MediaController2.java
a79de7da8b9c5862b3ce04491f5bff86d6858e84 30-Jan-2018 Hyundo Moon <hdmoon@google.com> MediaController2: Rename onAudioInfoChanged

This CL renames the controller callback method onAudioInfoChanged into
onPlaybackInfoChanged.

Bug: 72616099
Test: Builds successfully
Change-Id: I6a0059790d65b55fdb6edcab18743fd94c4bdf6c
/frameworks/base/media/java/android/media/MediaController2.java
15fe63424626e5d5fd12363d09c8bb819626ce03 29-Jan-2018 Hyundo Moon <hdmoon@google.com> MediaSession2/Controller2: Add playlist support

This CL does the following:
- Removes PlaylistParams argument from all playlist related methods.
(i.e. setPlaylist(List, PlaylistParams) becomes setPlaylist(List))
- Adds methods (to/fromBundle, to/fromBundleList) into MediaItem2.

Bug: 72537268
Test: Passed MediaSession2Test
Change-Id: I48ef69ad2728fb7de7efab10f4e077aec552dd0b
/frameworks/base/media/java/android/media/MediaController2.java
f6a39e49065b984d471e9c75a306780805853719 29-Jan-2018 Hyundo Moon <hdmoon@google.com> MediaController2: Implement get/setPlaylistParams

Bug: 72537520
Test: Passed MediaController2Test
Change-Id: If9b3107084f3f4b063967f079bf229bb43b95cbd
/frameworks/base/media/java/android/media/MediaController2.java
0d61a00cf53ef738f48af254df69cf6955ac2a97 26-Jan-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Add/remove playback listeners

Test: Run all MediaComponents test once
Change-Id: If88fa492d40f9d202e8bdfcebd06cd9b82554041
/frameworks/base/media/java/android/media/MediaController2.java
f7a7706d146fec4905210fcaa1eed7a382fa2be8 26-Jan-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Fix timing issue

Session/Controller needs mProvider. However, if the createProvider()
interacts with other components, than other components may use session
/controller object before mProvider is set.

This CL prevents such issues by calling initialize() to communicate
with other components after the provider is set.

Test: Run all MediaComponents test once
Change-Id: I7f4c52136038a0522471015344881552b678a2ab
/frameworks/base/media/java/android/media/MediaController2.java
661433de8f45b6e6cda5430cb3cc1a286c0f6d23 26-Jan-2018 Hyundo Moon <hdmoon@google.com> MediaSession2: Add playlist parameter supports

This CL adds following APIs:
- MediaPlayerInterface.set/getPlaylistParams()
- MediaSession2.set/getPlaylistParams()
- MediaController2.setPlaylistParams()
- ControllerCallback.onPlaylistParamsChanged()

Bug: 72537520
Test: Passed MediaSession2Test
Change-Id: I84ea00ee0876725af1c0e01ad50da15fdb222418
/frameworks/base/media/java/android/media/MediaController2.java
e62f9b24d46305694895b776202ab68aca864ee3 24-Jan-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Apply apilint

Test: make update-api and fixed trivial issues
Change-Id: I213f286cb4da73ce84fc69f7ae5e8e637f940045
/frameworks/base/media/java/android/media/MediaController2.java
04de5de9a0329db56fe568041a2697c73c58da54 24-Jan-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Last changes before API unhide

This CL includes
- Rename SessionToken to SessionToken2
- Add repeat/shuffle mode support in PlaylistParam
- Add Executor params in session builder
- Add more APIs for MediaPlayerBase

Test: Run all MediaComponents tests once
Change-Id: Ia61632b7a09fab7f41fd89e9489a01af13d6c3c2
/frameworks/base/media/java/android/media/MediaController2.java
17b19b730596eacb2582496dbe77b5328c46c65d 24-Jan-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Public APIs for MediaSession2 and MediaController2

Test: Run MediaComponentsTests once
Change-Id: I0373f927063ab8feb340c6d91b2adc99bbcf92a4
/frameworks/base/media/java/android/media/MediaController2.java
cf707c4741f0dfbb498041b68fd28ad459a1e0ce 24-Jan-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Stop overriding MediaPlayerBase for session/controller

Implement AutoClosable instead

Test: Run all MediaComponents test once
Change-Id: Ibb1dac06b80230d62e17111bf2da1b2df81a164c
/frameworks/base/media/java/android/media/MediaController2.java
e542bf01d0c115984a0385d689bac73f551337da 24-Jan-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Add MediaSession2.CommandButton

And also adds APIs to share custom layout

Test: Run all MediaComponents tests once
Change-Id: I4d18a023d2809d5405e72a73f14ae1150dee34bc
/frameworks/base/media/java/android/media/MediaController2.java
ec877287fb061d641c55d6413915c68a8b8c9215 22-Jan-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Initial commit of MediaBrowser2

Test: Run all MediaComponents tests once
Change-Id: I284806ff97da4ba53d7e4de9a39864f70f69a942
/frameworks/base/media/java/android/media/MediaController2.java
589795d12d73c244a277460138b32ba6b708823e 22-Jan-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Introduce MediaSession2.Command / CommandGroup

Test: Run all tests once
Change-Id: I2ccafcdac5247c9f008b8d4fe50b974ea47fdeed
/frameworks/base/media/java/android/media/MediaController2.java
ceb6b6e131a1c8c7451e9b7298bec573f28fa731 21-Jan-2018 Jaewan Kim <jaewan@google.com> MediaSession2: Move MediaSession2/MediaController2 from experimental

APIs will be unhidden later

Test: Run MediaComponentsTest
Change-Id: I2d9fcd98232016281fad128e9e674885b41e20d9
/frameworks/base/media/java/android/media/MediaController2.java