OSDN Git Service

MediaSession2: Implement update/getPlaylistMetadata()
authorJaewan Kim <jaewan@google.com>
Mon, 12 Mar 2018 01:49:28 +0000 (10:49 +0900)
committerJaewan Kim <jaewan@google.com>
Tue, 13 Mar 2018 02:55:55 +0000 (11:55 +0900)
Bug: 74174649
Test: Run CTS with MediaComponents/runcts.sh
Change-Id: I3ac2dabfc7f532bf7d7262940e3dc309e97fd45a

media/java/android/media/MediaController2.java
media/java/android/media/MediaSession2.java
media/java/android/media/update/MediaController2Provider.java
media/java/android/media/update/MediaSession2Provider.java

index 133f433..4b140d7 100644 (file)
@@ -786,17 +786,20 @@ public class MediaController2 implements AutoCloseable {
      * @param metadata metadata of the playlist
      */
     public void updatePlaylistMetadata(@Nullable MediaMetadata2 metadata) {
-        // TODO(jaewan): Implement (b/74174649)
+        mProvider.updatePlaylistMetadata_impl(metadata);
     }
 
     /**
-     * Returns the playlist metadata
+     * Returns the lastly cached playlist playlist metadata either from
+     * {@link ControllerCallback#onPlaylistMetadataChanged(
+     * MediaController2, MediaPlaylistAgent, MediaMetadata2)} or
+     * {@link ControllerCallback#onPlaylistChanged(
+     * MediaController2, MediaPlaylistAgent, List, MediaMetadata2)}.
      *
      * @return metadata metadata of the playlist, or null if none is set
      */
     public @Nullable MediaMetadata2 getPlaylistMetadata() {
-        // TODO(jaewan): Implement (b/74174649)
-        return null;
+        return mProvider.getPlaylistMetadata_impl();
     }
 
     /**
index f5c33d3..a6c4ef7 100644 (file)
@@ -1771,8 +1771,7 @@ public class MediaSession2 implements AutoCloseable {
     }
 
     public MediaMetadata2 getPlaylistMetadata() {
-        // TODO(jaewan): Implement (b/74174649)
-        return null;
+        return mProvider.getPlaylistMetadata_impl();
     }
 
     /**
@@ -1824,7 +1823,7 @@ public class MediaSession2 implements AutoCloseable {
     }
 
     public void updatePlaylistMetadata(@Nullable MediaMetadata2 metadata) {
-        // TODO(jaewan): Implement (b/74174649)
+        mProvider.updatePlaylistMetadata_impl(metadata);
     }
 
     public @RepeatMode int getRepeatMode() {
index f7049a9..c48f336 100644 (file)
@@ -60,6 +60,8 @@ public interface MediaController2Provider extends TransportControlProvider {
     void sendCustomCommand_impl(Command command, Bundle args, ResultReceiver cb);
     List<MediaItem2> getPlaylist_impl();
     void setPlaylist_impl(List<MediaItem2> list, MediaMetadata2 metadata);
+    MediaMetadata2 getPlaylistMetadata_impl();
+    void updatePlaylistMetadata_impl(MediaMetadata2 metadata);
 
     void addPlaylistItem_impl(int index, MediaItem2 item);
     void replacePlaylistItem_impl(int index, MediaItem2 item);
index 8299fda..3ba689a 100644 (file)
@@ -47,6 +47,8 @@ public interface MediaSession2Provider extends TransportControlProvider {
     void updatePlayer_impl(MediaPlayerBase player, MediaPlaylistAgent playlistAgent,
             VolumeProvider2 volumeProvider);
     MediaPlayerBase getPlayer_impl();
+    MediaMetadata2 getPlaylistMetadata_impl();
+    void updatePlaylistMetadata_impl(MediaMetadata2 metadata);
     MediaPlaylistAgent getPlaylistAgent_impl();
     VolumeProvider2 getVolumeProvider_impl();
     SessionToken2 getToken_impl();