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

Commit 095d7cc5 authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Merge changes from topic "session2-pi-listcallback" into pi-dev am:...

Merge "Merge changes from topic "session2-pi-listcallback" into pi-dev am: ccf41b87 am: f5dbd735"
parents f834155e f45bfd93
Loading
Loading
Loading
Loading
+64 −36
Original line number Diff line number Diff line
@@ -23363,10 +23363,12 @@ package android.media {
    method public float getPlaybackSpeed();
    method public int getPlayerState();
    method public java.util.List<android.media.MediaItem2> getPlaylist();
    method public android.media.MediaSession2.PlaylistParams getPlaylistParams();
    method public android.media.MediaMetadata2 getPlaylistMetadata();
    method public long getPosition();
    method public int getRepeatMode();
    method public android.app.PendingIntent getSessionActivity();
    method public android.media.SessionToken2 getSessionToken();
    method public int getShuffleMode();
    method public boolean isConnected();
    method public void pause();
    method public void play();
@@ -23377,19 +23379,24 @@ package android.media {
    method public void prepareFromMediaId(java.lang.String, android.os.Bundle);
    method public void prepareFromSearch(java.lang.String, android.os.Bundle);
    method public void prepareFromUri(android.net.Uri, android.os.Bundle);
    method public void registerPlaylistControllerCallback(java.util.concurrent.Executor, android.media.MediaPlaylistController.PlaylistEventCallback);
    method public void removePlaylistItem(android.media.MediaItem2);
    method public void replacePlaylistItem(int, android.media.MediaItem2);
    method public void rewind();
    method public void seekTo(long);
    method public void sendCustomCommand(android.media.MediaSession2.Command, android.os.Bundle, android.os.ResultReceiver);
    method public void setPlaybackSpeed(float);
    method public void setPlaylistParams(android.media.MediaSession2.PlaylistParams);
    method public void setPlaylist(java.util.List<android.media.MediaItem2>, android.media.MediaMetadata2);
    method public void setRating(java.lang.String, android.media.Rating2);
    method public void setRepeatMode(int);
    method public void setShuffleMode(int);
    method public void setVolumeTo(int, int);
    method public void skipToNext();
    method public void skipToPlaylistItem(android.media.MediaItem2);
    method public void skipToPrevious();
    method public void stop();
    method public void unregisterPlaylistControllerCallback(android.media.MediaPlaylistController.PlaylistEventCallback);
    method public void updatePlaylistMetadata(android.media.MediaMetadata2);
  }
  public static abstract class MediaController2.ControllerCallback {
@@ -23405,8 +23412,6 @@ package android.media {
    method public void onPlaybackInfoChanged(android.media.MediaController2, android.media.MediaController2.PlaybackInfo);
    method public void onPlaybackSpeedChanged(android.media.MediaController2, float);
    method public void onPlayerStateChanged(android.media.MediaController2, int);
    method public void onPlaylistChanged(android.media.MediaController2, java.util.List<android.media.MediaItem2>);
    method public void onPlaylistParamsChanged(android.media.MediaController2, android.media.MediaSession2.PlaylistParams);
    method public void onPositionChanged(android.media.MediaController2, long, long);
  }
@@ -24541,9 +24546,33 @@ package android.media {
    method public abstract void addPlaylistItem(int, android.media.MediaItem2);
    method public abstract android.media.MediaItem2 getCurrentPlaylistItem();
    method public abstract java.util.List<android.media.MediaItem2> getPlaylist();
    method public abstract android.media.MediaMetadata2 getPlaylistMetadata();
    method public abstract int getRepeatMode();
    method public abstract int getShuffleMode();
    method public abstract void registerPlaylistControllerCallback(java.util.concurrent.Executor, android.media.MediaPlaylistController.PlaylistEventCallback);
    method public abstract void removePlaylistItem(android.media.MediaItem2);
    method public abstract void replacePlaylistItem(int, android.media.MediaItem2);
    method public abstract void setPlaylist(java.util.List<android.media.MediaItem2>, android.media.MediaMetadata2);
    method public abstract void setRepeatMode(int);
    method public abstract void setShuffleMode(int);
    method public abstract void skipToPlaylistItem(android.media.MediaItem2);
    method public abstract void unregisterPlaylistControllerCallback(android.media.MediaPlaylistController.PlaylistEventCallback);
    method public abstract void updatePlaylistMetadata(android.media.MediaMetadata2);
    field public static final int REPEAT_MODE_ALL = 2; // 0x2
    field public static final int REPEAT_MODE_GROUP = 3; // 0x3
    field public static final int REPEAT_MODE_NONE = 0; // 0x0
    field public static final int REPEAT_MODE_ONE = 1; // 0x1
    field public static final int SHUFFLE_MODE_ALL = 1; // 0x1
    field public static final int SHUFFLE_MODE_GROUP = 2; // 0x2
    field public static final int SHUFFLE_MODE_NONE = 0; // 0x0
  }
  public static abstract class MediaPlaylistController.PlaylistEventCallback {
    ctor public MediaPlaylistController.PlaylistEventCallback();
    method public void onPlaylistChanged(android.media.MediaPlaylistController, java.util.List<android.media.MediaItem2>, android.media.MediaMetadata2);
    method public void onPlaylistMetadataChanged(android.media.MediaPlaylistController, android.media.MediaMetadata2);
    method public void onRepeatModeChanged(android.media.MediaPlaylistController, int);
    method public void onShuffleModeChanged(android.media.MediaPlaylistController, int);
  }
  public class MediaRecorder implements android.media.AudioRouting {
@@ -24832,13 +24861,16 @@ package android.media {
    method public float getPlaybackSpeed();
    method public android.media.MediaPlayerBase getPlayer();
    method public java.util.List<android.media.MediaItem2> getPlaylist();
    method public android.media.MediaSession2.PlaylistParams getPlaylistParams();
    method public android.media.MediaMetadata2 getPlaylistMetadata();
    method public int getRepeatMode();
    method public int getShuffleMode();
    method public android.media.SessionToken2 getToken();
    method public android.media.VolumeProvider2 getVolumeProvider();
    method public void notifyError(int, android.os.Bundle);
    method public void pause();
    method public void play();
    method public void prepare();
    method public void registerPlaylistControllerCallback(java.util.concurrent.Executor, android.media.MediaPlaylistController.PlaylistEventCallback);
    method public void removePlaylistItem(android.media.MediaItem2);
    method public void replacePlaylistItem(int, android.media.MediaItem2);
    method public void rewind();
@@ -24849,36 +24881,45 @@ package android.media {
    method public void setAudioFocusRequest(android.media.AudioFocusRequest);
    method public void setCustomLayout(android.media.MediaSession2.ControllerInfo, java.util.List<android.media.MediaSession2.CommandButton>);
    method public void setPlaybackSpeed(float);
    method public void setPlaylist(java.util.List<android.media.MediaItem2>);
    method public void setPlaylistParams(android.media.MediaSession2.PlaylistParams);
    method public void setPlaylist(java.util.List<android.media.MediaItem2>, android.media.MediaMetadata2);
    method public void setRepeatMode(int);
    method public void setShuffleMode(int);
    method public void skipToNext();
    method public void skipToPlaylistItem(android.media.MediaItem2);
    method public void skipToPrevious();
    method public void stop();
    method public void unregisterPlaylistControllerCallback(android.media.MediaPlaylistController.PlaylistEventCallback);
    method public void updatePlayer(android.media.MediaPlayerBase, android.media.MediaPlaylistController, android.media.VolumeProvider2);
    field public static final int COMMAND_CODE_BROWSER = 22; // 0x16
    method public void updatePlaylistMetadata(android.media.MediaMetadata2);
    field public static final int COMMAND_CODE_BROWSER = 28; // 0x1c
    field public static final int COMMAND_CODE_CUSTOM = 0; // 0x0
    field public static final int COMMAND_CODE_PLAYBACK_ADJUST_VOLUME = 11; // 0xb
    field public static final int COMMAND_CODE_PLAYBACK_FAST_FORWARD = 7; // 0x7
    field public static final int COMMAND_CODE_PLAYBACK_PAUSE = 2; // 0x2
    field public static final int COMMAND_CODE_PLAYBACK_PLAY = 1; // 0x1
    field public static final int COMMAND_CODE_PLAYBACK_PREPARE = 6; // 0x6
    field public static final int COMMAND_CODE_PLAYBACK_REWIND = 8; // 0x8
    field public static final int COMMAND_CODE_PLAYBACK_SEEK_TO = 9; // 0x9
    field public static final int COMMAND_CODE_PLAYBACK_SET_PLAYLIST_PARAMS = 11; // 0xb
    field public static final int COMMAND_CODE_PLAYBACK_SET_VOLUME = 10; // 0xa
    field public static final int COMMAND_CODE_PLAYBACK_SKIP_NEXT_ITEM = 4; // 0x4
    field public static final int COMMAND_CODE_PLAYBACK_SKIP_PREV_ITEM = 5; // 0x5
    field public static final int COMMAND_CODE_PLAYBACK_SKIP_TO_PLAYLIST_ITEM = 10; // 0xa
    field public static final int COMMAND_CODE_PLAYBACK_STOP = 3; // 0x3
    field public static final int COMMAND_CODE_PLAYLIST_ADD = 12; // 0xc
    field public static final int COMMAND_CODE_PLAYLIST_GET = 14; // 0xe
    field public static final int COMMAND_CODE_PLAYLIST_REMOVE = 13; // 0xd
    field public static final int COMMAND_CODE_PLAY_FROM_MEDIA_ID = 16; // 0x10
    field public static final int COMMAND_CODE_PLAY_FROM_SEARCH = 18; // 0x12
    field public static final int COMMAND_CODE_PLAY_FROM_URI = 17; // 0x11
    field public static final int COMMAND_CODE_PREPARE_FROM_MEDIA_ID = 19; // 0x13
    field public static final int COMMAND_CODE_PREPARE_FROM_SEARCH = 21; // 0x15
    field public static final int COMMAND_CODE_PREPARE_FROM_URI = 20; // 0x14
    field public static final int COMMAND_CODE_SET_VOLUME = 15; // 0xf
    field public static final int COMMAND_CODE_PLAYLIST_ADD_ITEM = 15; // 0xf
    field public static final int COMMAND_CODE_PLAYLIST_GET_LIST = 18; // 0x12
    field public static final int COMMAND_CODE_PLAYLIST_GET_LIST_METADATA = 20; // 0x14
    field public static final int COMMAND_CODE_PLAYLIST_REMOVE_ITEM = 16; // 0x10
    field public static final int COMMAND_CODE_PLAYLIST_REPLACE_ITEM = 17; // 0x11
    field public static final int COMMAND_CODE_PLAYLIST_SET_LIST = 19; // 0x13
    field public static final int COMMAND_CODE_PLAYLIST_SET_LIST_METADATA = 21; // 0x15
    field public static final int COMMAND_CODE_PLAYLIST_SET_REPEAT_MODE = 14; // 0xe
    field public static final int COMMAND_CODE_PLAYLIST_SET_SHUFFLE_MODE = 13; // 0xd
    field public static final int COMMAND_CODE_PLAYLIST_SKIP_TO_PLAYLIST_ITEM = 12; // 0xc
    field public static final int COMMAND_CODE_PLAY_FROM_MEDIA_ID = 22; // 0x16
    field public static final int COMMAND_CODE_PLAY_FROM_SEARCH = 24; // 0x18
    field public static final int COMMAND_CODE_PLAY_FROM_URI = 23; // 0x17
    field public static final int COMMAND_CODE_PREPARE_FROM_MEDIA_ID = 25; // 0x19
    field public static final int COMMAND_CODE_PREPARE_FROM_SEARCH = 27; // 0x1b
    field public static final int COMMAND_CODE_PREPARE_FROM_URI = 26; // 0x1a
    field public static final int ERROR_CODE_ACTION_ABORTED = 10; // 0xa
    field public static final int ERROR_CODE_APP_ERROR = 1; // 0x1
    field public static final int ERROR_CODE_AUTHENTICATION_EXPIRED = 3; // 0x3
@@ -24948,31 +24989,18 @@ package android.media {
    method public boolean isTrusted();
  }
  public static final class MediaSession2.PlaylistParams {
    ctor public MediaSession2.PlaylistParams(android.content.Context, int, int, android.media.MediaMetadata2);
    method public static android.media.MediaSession2.PlaylistParams fromBundle(android.content.Context, android.os.Bundle);
    method public android.media.MediaMetadata2 getPlaylistMetadata();
    method public int getRepeatMode();
    method public int getShuffleMode();
    method public android.os.Bundle toBundle();
    field public static final int REPEAT_MODE_ALL = 2; // 0x2
    field public static final int REPEAT_MODE_GROUP = 3; // 0x3
    field public static final int REPEAT_MODE_NONE = 0; // 0x0
    field public static final int REPEAT_MODE_ONE = 1; // 0x1
    field public static final int SHUFFLE_MODE_ALL = 1; // 0x1
    field public static final int SHUFFLE_MODE_GROUP = 2; // 0x2
    field public static final int SHUFFLE_MODE_NONE = 0; // 0x0
  }
  public static abstract class MediaSession2.SessionCallback {
    ctor public MediaSession2.SessionCallback(android.content.Context);
    method public void onBufferingStateChanged(android.media.MediaSession2, android.media.MediaPlayerBase, android.media.MediaItem2, int);
    method public boolean onCommandRequest(android.media.MediaSession2, android.media.MediaSession2.ControllerInfo, android.media.MediaSession2.Command);
    method public android.media.MediaSession2.CommandGroup onConnect(android.media.MediaSession2, android.media.MediaSession2.ControllerInfo);
    method public void onCustomCommand(android.media.MediaSession2, android.media.MediaSession2.ControllerInfo, android.media.MediaSession2.Command, android.os.Bundle, android.os.ResultReceiver);
    method public void onDisconnected(android.media.MediaSession2, android.media.MediaSession2.ControllerInfo);
    method public void onMediaPrepared(android.media.MediaSession2, android.media.MediaPlayerBase, android.media.MediaItem2);
    method public void onPlayFromMediaId(android.media.MediaSession2, android.media.MediaSession2.ControllerInfo, java.lang.String, android.os.Bundle);
    method public void onPlayFromSearch(android.media.MediaSession2, android.media.MediaSession2.ControllerInfo, java.lang.String, android.os.Bundle);
    method public void onPlayFromUri(android.media.MediaSession2, android.media.MediaSession2.ControllerInfo, android.net.Uri, android.os.Bundle);
    method public void onPlayerStateChanged(android.media.MediaSession2, android.media.MediaPlayerBase, int);
    method public void onPrepareFromMediaId(android.media.MediaSession2, android.media.MediaSession2.ControllerInfo, java.lang.String, android.os.Bundle);
    method public void onPrepareFromSearch(android.media.MediaSession2, android.media.MediaSession2.ControllerInfo, java.lang.String, android.os.Bundle);
    method public void onPrepareFromUri(android.media.MediaSession2, android.media.MediaSession2.ControllerInfo, android.net.Uri, android.os.Bundle);
+109 −33
Original line number Diff line number Diff line
@@ -147,7 +147,9 @@ public class MediaController2 implements AutoCloseable, MediaPlaylistController
         * @see #onPositionChanged(MediaController2, long, long)
         * @see #onBufferedPositionChanged(MediaController2, long)
         * @see #onCurrentPlaylistItemChanged(MediaController2, MediaItem2)
         * @hide
         */
        // TODO(jaewan): Remove (b/74174728)
        public void onPlaylistChanged(@NonNull MediaController2 controller,
                @NonNull List<MediaItem2> playlist) { }

@@ -228,7 +230,9 @@ public class MediaController2 implements AutoCloseable, MediaPlaylistController
         *
         * @param controller the controller for this event
         * @param params The new play list parameters.
         * @hide
         */
        // TODO(jaewan): Remove (b/74116823)
        public void onPlaylistParamsChanged(@NonNull MediaController2 controller,
                @NonNull PlaylistParams params) { }
    }
@@ -439,25 +443,15 @@ public class MediaController2 implements AutoCloseable, MediaPlaylistController
        mProvider.seekTo_impl(pos);
    }

    /**
     * Sets the index of current DataSourceDesc in the play list to be played.
     *
     * @param item the index of DataSourceDesc in the play list you want to play
     * @throws IllegalArgumentException if the play list is null
     * @throws NullPointerException if index is outside play list range
     */
    @Override
    public void skipToPlaylistItem(@NonNull MediaItem2 item) {
        mProvider.skipToPlaylistItem_impl(item);
    }

    /**
     * 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.
     * @hide
     */
    // TODO(jaewan): Remove (b/74116823)
    public void setPlaylistParams(@NonNull PlaylistParams params) {
        mProvider.setPlaylistParams_impl(params);
    }
@@ -671,17 +665,6 @@ public class MediaController2 implements AutoCloseable, MediaPlaylistController
        return mProvider.getBufferedPosition_impl();
    }

    /**
     * Get the lastly cached current item from
     * {@link ControllerCallback#onCurrentPlaylistItemChanged(MediaController2, MediaItem2)}.
     *
     * @return index of the current item
     */
    @Override
    public MediaItem2 getCurrentPlaylistItem() {
        return mProvider.getCurrentPlaylistItem_impl();
    }

    /**
     * Get the current playback info for this session.
     *
@@ -719,6 +702,35 @@ public class MediaController2 implements AutoCloseable, MediaPlaylistController
        mProvider.sendCustomCommand_impl(command, args, cb);
    }

    /**
     * Register {@link MediaPlaylistController.PlaylistEventCallback} to listen changes in the
     * underlying {@link MediaPlaylistController}, regardless of the change in the controller.
     * <p>
     * Registered callbacks will be also called when the controller is changed.
     *
     * @param executor a callback Executor
     * @param callback a PlaylistEventCallback
     * @throws IllegalArgumentException if executor or callback is {@code null}.
     */
    @Override
    public void registerPlaylistControllerCallback(@NonNull @CallbackExecutor Executor executor,
            @NonNull PlaylistEventCallback callback) {
        // TODO(jaewan): Implement (b/74169681)
        //mProvider.registerPlaylistControllerCallback_impl(executor, callback);
    }

    /**
     * Unregister the previously registered {@link MediaPlaylistController.PlaylistEventCallback}.
     *
     * @param callback the callback to be removed
     * @throws IllegalArgumentException if the callback is {@code null}.
     */
    @Override
    public void unregisterPlaylistControllerCallback(@NonNull PlaylistEventCallback callback) {
        // TODO(jaewan): Implement (b/74169681)
        //mProvider.unregisterPlaylistControllerCallback_impl(callback);
    }

    /**
     * Return playlist from the session.
     *
@@ -729,15 +741,50 @@ public class MediaController2 implements AutoCloseable, MediaPlaylistController
        return mProvider.getPlaylist_impl();
    }


    @Override
    public void setPlaylist(@NonNull List<MediaItem2> list, @Nullable MediaMetadata2 metadata) {
        // TODO(jaewan): Implement (b/74174649)
    }

    @Override
    public void updatePlaylistMetadata(@Nullable MediaMetadata2 metadata) {
        // TODO(jaewan): Implement (b/74174649)
    }

    @Override
    public @Nullable MediaMetadata2 getPlaylistMetadata() {
        // TODO(jaewan): Implement (b/74174649)
        return null;
    }

    /**
     * Returns the {@link PlaylistParams} for the current play list.
     * Can return {@code null} if the controller doesn't have enough permission, or if the session
     * has not set the parameters.
     * @hide
     */
    // TODO(jaewan): Remove (b/74116823)
    public @Nullable PlaylistParams getPlaylistParams() {
        return mProvider.getPlaylistParams_impl();
    }

    /**
     * Inserts the media item to the play list at position index.
     * <p>
     * This will not change the currently playing media item.
     * If index is less than or equal to the current index of the play list,
     * the current index of the play list will be incremented correspondingly.
     *
     * @param index the index you want to add
     * @param item the media item you want to add
     * @throws IndexOutOfBoundsException if index is outside play list range
     */
    @Override
    public void addPlaylistItem(int index, @NonNull MediaItem2 item) {
        mProvider.addPlaylistItem_impl(index, item);
    }

    /**
     * Removes the media item at index in the playlist.
     *<p>
@@ -760,18 +807,47 @@ public class MediaController2 implements AutoCloseable, MediaPlaylistController
    }

    /**
     * Inserts the media item to the play list at position index.
     * <p>
     * This will not change the currently playing media item.
     * If index is less than or equal to the current index of the play list,
     * the current index of the play list will be incremented correspondingly.
     * Get the lastly cached current item from
     * {@link ControllerCallback#onCurrentPlaylistItemChanged(MediaController2, MediaItem2)}.
     *
     * @param index the index you want to add
     * @param item the media item you want to add
     * @throws IndexOutOfBoundsException if index is outside play list range
     * @return index of the current item
     */
    @Override
    public void addPlaylistItem(int index, @NonNull MediaItem2 item) {
        mProvider.addPlaylistItem_impl(index, item);
    public MediaItem2 getCurrentPlaylistItem() {
        return mProvider.getCurrentPlaylistItem_impl();
    }

    /**
     * Sets the index of current DataSourceDesc in the play list to be played.
     *
     * @param item the index of DataSourceDesc in the play list you want to play
     * @throws IllegalArgumentException if the play list is null
     * @throws NullPointerException if index is outside play list range
     */
    @Override
    public void skipToPlaylistItem(@NonNull MediaItem2 item) {
        mProvider.skipToPlaylistItem_impl(item);
    }

    @Override
    public @RepeatMode int getRepeatMode() {
        // TODO(jaewan): Implement (b/74118768)
        return 0;
    }

    @Override
    public void setRepeatMode(int repeatMode) {
        // TODO(jaewan): Implement (b/74118768)
    }

    @Override
    public @ShuffleMode int getShuffleMode() {
        // TODO(jaewan): Implement (b/74118768)
        return 0;
    }

    @Override
    public void setShuffleMode(int shuffleMode) {
        // TODO(jaewan): Implement (b/74118768)
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -278,7 +278,7 @@ public abstract class MediaPlayerBase implements AutoCloseable {
     */
    public static abstract class PlayerEventCallback {
        /**
         * Called when the player's curretn data source has changed.
         * Called when the player's current data source has changed.
         * @param mpb the player whose data source changed.
         * @param dsd the new current data source.
         */
+232 −2

File changed.

Preview size limit exceeded, changes collapsed.

+299 −120

File changed.

Preview size limit exceeded, changes collapsed.