Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b228cc67 authored by Jaewan Kim's avatar Jaewan Kim Committed by Android (Google) Code Review
Browse files

Merge "MediaSession2: Add playlist parameter supports"

parents 80652ddb 661433de
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import android.media.IMediaSession2;
 */
oneway interface IMediaSession2Callback {
    void onPlaybackStateChanged(in Bundle state);
    void onPlaylistParamsChanged(in Bundle params);

    /**
     * Called only when the controller is created with service's token.
+18 −0
Original line number Diff line number Diff line
@@ -138,6 +138,13 @@ public class MediaController2 implements AutoCloseable {
         * @param state
         */
        public void onPlaybackStateChanged(@NonNull PlaybackState2 state) { }

        /**
         * Called when the playlist parameters are changed.
         *
         * @param params The new play list parameters.
         */
        public void onPlaylistParamsChanged(@NonNull PlaylistParams params) { }
    }

    /**
@@ -358,6 +365,17 @@ public class MediaController2 implements AutoCloseable {
        mProvider.setCurrentPlaylistItem_impl(index);
    }

    /**
     * Sets the {@link PlaylistParams} for the current play list. Repeat/shuffle mode and metadata
     * for the list can be set by calling this method.
     *
     * @param params A {@link PlaylistParams} object to set.
     * @throws IllegalArgumentException if given {@param param} is null.
     */
    public void setPlaylistParams(PlaylistParams params) {
        mProvider.setPlaylistParams_impl(params);
    }

    /**
     * @hide
     */
+2 −0
Original line number Diff line number Diff line
@@ -52,6 +52,8 @@ public interface MediaPlayerInterface {

    void setPlaylist(List<MediaItem2> item, PlaylistParams param);
    void setCurrentPlaylistItem(int index);
    void setPlaylistParams(PlaylistParams params);
    PlaylistParams getPlaylistParams();

    /**
     * Add a {@link PlaybackListener} to be invoked when the playback state is changed.
+19 −0
Original line number Diff line number Diff line
@@ -1269,4 +1269,23 @@ public class MediaSession2 implements AutoCloseable {
    public void setPlaylist(@NonNull List<MediaItem2> playlist, @NonNull PlaylistParams param) {
        mProvider.setPlaylist_impl(playlist, param);
    }

    /**
     * Sets the {@link PlaylistParams} for the current play list. Repeat/shuffle mode and metadata
     * for the list can be set by calling this method.
     *
     * @param params A {@link PlaylistParams} object to set.
     * @throws IllegalArgumentException if given {@param param} is null.
     */
    public void setPlaylistParams(PlaylistParams params) {
        mProvider.setPlaylistParams_impl(params);
    }

    /**
     * Returns the {@link PlaylistParams} for the current play list.
     * Returns {@code null} if not set.
     */
    public PlaylistParams getPlaylistParams() {
        return mProvider.getPlaylistParams_impl();
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -61,5 +61,6 @@ public interface MediaController2Provider extends TransportControlProvider {
    void addPlaylistItem_impl(int index, MediaItem2 item);

    PlaylistParams getPlaylistParam_impl();
    void setPlaylistParams_impl(PlaylistParams params);
    PlaybackState2 getPlaybackState_impl();
}
Loading