Commit 33c5aa7a by tonihei Committed by microkatz

Rename seq to sequenceNumber in MediaSessionStub

"seq" is not a well-defined abbreviation and the value is
also an integer, so sequenceNumber is better than just sequence.

PiperOrigin-RevId: 462129581
(cherry picked from commit 4a4a74ed)
parent 62a2d76d
...@@ -120,9 +120,10 @@ import java.util.concurrent.ExecutionException; ...@@ -120,9 +120,10 @@ import java.util.concurrent.ExecutionException;
return connectedControllersManager; return connectedControllersManager;
} }
private static void sendSessionResult(ControllerInfo controller, int seq, SessionResult result) { private static void sendSessionResult(
ControllerInfo controller, int sequenceNumber, SessionResult result) {
try { try {
checkStateNotNull(controller.getControllerCb()).onSessionResult(seq, result); checkStateNotNull(controller.getControllerCb()).onSessionResult(sequenceNumber, result);
} catch (RemoteException e) { } catch (RemoteException e) {
Log.w(TAG, "Failed to send result to controller " + controller, e); Log.w(TAG, "Failed to send result to controller " + controller, e);
} }
...@@ -131,12 +132,13 @@ import java.util.concurrent.ExecutionException; ...@@ -131,12 +132,13 @@ import java.util.concurrent.ExecutionException;
private static <K extends MediaSessionImpl> private static <K extends MediaSessionImpl>
SessionTask<ListenableFuture<Void>, K> sendSessionResultSuccess( SessionTask<ListenableFuture<Void>, K> sendSessionResultSuccess(
Consumer<PlayerWrapper> task) { Consumer<PlayerWrapper> task) {
return (sessionImpl, controller, sequence) -> { return (sessionImpl, controller, sequenceNumber) -> {
if (sessionImpl.isReleased()) { if (sessionImpl.isReleased()) {
return Futures.immediateVoidFuture(); return Futures.immediateVoidFuture();
} }
task.accept(sessionImpl.getPlayerWrapper()); task.accept(sessionImpl.getPlayerWrapper());
sendSessionResult(controller, sequence, new SessionResult(SessionResult.RESULT_SUCCESS)); sendSessionResult(
controller, sequenceNumber, new SessionResult(SessionResult.RESULT_SUCCESS));
return Futures.immediateVoidFuture(); return Futures.immediateVoidFuture();
}; };
} }
...@@ -144,11 +146,11 @@ import java.util.concurrent.ExecutionException; ...@@ -144,11 +146,11 @@ import java.util.concurrent.ExecutionException;
private static <K extends MediaSessionImpl> private static <K extends MediaSessionImpl>
SessionTask<ListenableFuture<Void>, K> sendSessionResultWhenReady( SessionTask<ListenableFuture<Void>, K> sendSessionResultWhenReady(
SessionTask<ListenableFuture<SessionResult>, K> task) { SessionTask<ListenableFuture<SessionResult>, K> task) {
return (sessionImpl, controller, sequence) -> return (sessionImpl, controller, sequenceNumber) ->
handleSessionTaskWhenReady( handleSessionTaskWhenReady(
sessionImpl, sessionImpl,
controller, controller,
sequence, sequenceNumber,
task, task,
future -> { future -> {
SessionResult result; SessionResult result;
...@@ -163,7 +165,7 @@ import java.util.concurrent.ExecutionException; ...@@ -163,7 +165,7 @@ import java.util.concurrent.ExecutionException;
? SessionResult.RESULT_ERROR_NOT_SUPPORTED ? SessionResult.RESULT_ERROR_NOT_SUPPORTED
: SessionResult.RESULT_ERROR_UNKNOWN); : SessionResult.RESULT_ERROR_UNKNOWN);
} }
sendSessionResult(controller, sequence, result); sendSessionResult(controller, sequenceNumber, result);
}); });
} }
...@@ -171,13 +173,13 @@ import java.util.concurrent.ExecutionException; ...@@ -171,13 +173,13 @@ import java.util.concurrent.ExecutionException;
SessionTask<ListenableFuture<SessionResult>, K> handleMediaItemsWhenReady( SessionTask<ListenableFuture<SessionResult>, K> handleMediaItemsWhenReady(
SessionTask<ListenableFuture<List<MediaItem>>, K> mediaItemsTask, SessionTask<ListenableFuture<List<MediaItem>>, K> mediaItemsTask,
MediaItemPlayerTask mediaItemPlayerTask) { MediaItemPlayerTask mediaItemPlayerTask) {
return (sessionImpl, controller, sequence) -> { return (sessionImpl, controller, sequenceNumber) -> {
if (sessionImpl.isReleased()) { if (sessionImpl.isReleased()) {
return Futures.immediateFuture( return Futures.immediateFuture(
new SessionResult(SessionResult.RESULT_ERROR_SESSION_DISCONNECTED)); new SessionResult(SessionResult.RESULT_ERROR_SESSION_DISCONNECTED));
} }
return transformFutureAsync( return transformFutureAsync(
mediaItemsTask.run(sessionImpl, controller, sequence), mediaItemsTask.run(sessionImpl, controller, sequenceNumber),
mediaItems -> mediaItems ->
postOrRunWithCompletion( postOrRunWithCompletion(
sessionImpl.getApplicationHandler(), sessionImpl.getApplicationHandler(),
...@@ -191,9 +193,9 @@ import java.util.concurrent.ExecutionException; ...@@ -191,9 +193,9 @@ import java.util.concurrent.ExecutionException;
} }
private static void sendLibraryResult( private static void sendLibraryResult(
ControllerInfo controller, int seq, LibraryResult<?> result) { ControllerInfo controller, int sequenceNumber, LibraryResult<?> result) {
try { try {
checkStateNotNull(controller.getControllerCb()).onLibraryResult(seq, result); checkStateNotNull(controller.getControllerCb()).onLibraryResult(sequenceNumber, result);
} catch (RemoteException e) { } catch (RemoteException e) {
Log.w(TAG, "Failed to send result to browser " + controller, e); Log.w(TAG, "Failed to send result to browser " + controller, e);
} }
...@@ -202,11 +204,11 @@ import java.util.concurrent.ExecutionException; ...@@ -202,11 +204,11 @@ import java.util.concurrent.ExecutionException;
private static <V, K extends MediaLibrarySessionImpl> private static <V, K extends MediaLibrarySessionImpl>
SessionTask<ListenableFuture<Void>, K> sendLibraryResultWhenReady( SessionTask<ListenableFuture<Void>, K> sendLibraryResultWhenReady(
SessionTask<ListenableFuture<LibraryResult<V>>, K> task) { SessionTask<ListenableFuture<LibraryResult<V>>, K> task) {
return (sessionImpl, controller, sequence) -> return (sessionImpl, controller, sequenceNumber) ->
handleSessionTaskWhenReady( handleSessionTaskWhenReady(
sessionImpl, sessionImpl,
controller, controller,
sequence, sequenceNumber,
task, task,
future -> { future -> {
LibraryResult<V> result; LibraryResult<V> result;
...@@ -217,13 +219,13 @@ import java.util.concurrent.ExecutionException; ...@@ -217,13 +219,13 @@ import java.util.concurrent.ExecutionException;
} catch (ExecutionException | InterruptedException unused) { } catch (ExecutionException | InterruptedException unused) {
result = LibraryResult.ofError(LibraryResult.RESULT_ERROR_UNKNOWN); result = LibraryResult.ofError(LibraryResult.RESULT_ERROR_UNKNOWN);
} }
sendLibraryResult(controller, sequence, result); sendLibraryResult(controller, sequenceNumber, result);
}); });
} }
private <K extends MediaSessionImpl> void queueSessionTaskWithPlayerCommand( private <K extends MediaSessionImpl> void queueSessionTaskWithPlayerCommand(
IMediaController caller, IMediaController caller,
int seq, int sequenceNumber,
@Player.Command int command, @Player.Command int command,
SessionTask<ListenableFuture<Void>, K> task) { SessionTask<ListenableFuture<Void>, K> task) {
long token = Binder.clearCallingIdentity(); long token = Binder.clearCallingIdentity();
...@@ -244,21 +246,23 @@ import java.util.concurrent.ExecutionException; ...@@ -244,21 +246,23 @@ import java.util.concurrent.ExecutionException;
() -> { () -> {
if (!connectedControllersManager.isPlayerCommandAvailable(controller, command)) { if (!connectedControllersManager.isPlayerCommandAvailable(controller, command)) {
sendSessionResult( sendSessionResult(
controller, seq, new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED)); controller,
sequenceNumber,
new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED));
return; return;
} }
@SessionResult.Code @SessionResult.Code
int resultCode = sessionImpl.onPlayerCommandRequestOnHandler(controller, command); int resultCode = sessionImpl.onPlayerCommandRequestOnHandler(controller, command);
if (resultCode != SessionResult.RESULT_SUCCESS) { if (resultCode != SessionResult.RESULT_SUCCESS) {
// Don't run rejected command. // Don't run rejected command.
sendSessionResult(controller, seq, new SessionResult(resultCode)); sendSessionResult(controller, sequenceNumber, new SessionResult(resultCode));
return; return;
} }
if (command == COMMAND_SET_VIDEO_SURFACE) { if (command == COMMAND_SET_VIDEO_SURFACE) {
task.run(sessionImpl, controller, seq); task.run(sessionImpl, controller, sequenceNumber);
} else { } else {
connectedControllersManager.addToCommandQueue( connectedControllersManager.addToCommandQueue(
controller, () -> task.run(sessionImpl, controller, seq)); controller, () -> task.run(sessionImpl, controller, sequenceNumber));
} }
}); });
} finally { } finally {
...@@ -268,24 +272,25 @@ import java.util.concurrent.ExecutionException; ...@@ -268,24 +272,25 @@ import java.util.concurrent.ExecutionException;
private <K extends MediaSessionImpl> void dispatchSessionTaskWithSessionCommand( private <K extends MediaSessionImpl> void dispatchSessionTaskWithSessionCommand(
IMediaController caller, IMediaController caller,
int seq, int sequenceNumber,
@CommandCode int commandCode, @CommandCode int commandCode,
SessionTask<ListenableFuture<Void>, K> task) { SessionTask<ListenableFuture<Void>, K> task) {
dispatchSessionTaskWithSessionCommand( dispatchSessionTaskWithSessionCommand(
caller, seq, /* sessionCommand= */ null, commandCode, task); caller, sequenceNumber, /* sessionCommand= */ null, commandCode, task);
} }
private <K extends MediaSessionImpl> void dispatchSessionTaskWithSessionCommand( private <K extends MediaSessionImpl> void dispatchSessionTaskWithSessionCommand(
IMediaController caller, IMediaController caller,
int seq, int sequenceNumber,
SessionCommand sessionCommand, SessionCommand sessionCommand,
SessionTask<ListenableFuture<Void>, K> task) { SessionTask<ListenableFuture<Void>, K> task) {
dispatchSessionTaskWithSessionCommand(caller, seq, sessionCommand, COMMAND_CODE_CUSTOM, task); dispatchSessionTaskWithSessionCommand(
caller, sequenceNumber, sessionCommand, COMMAND_CODE_CUSTOM, task);
} }
private <K extends MediaSessionImpl> void dispatchSessionTaskWithSessionCommand( private <K extends MediaSessionImpl> void dispatchSessionTaskWithSessionCommand(
IMediaController caller, IMediaController caller,
int seq, int sequenceNumber,
@Nullable SessionCommand sessionCommand, @Nullable SessionCommand sessionCommand,
@CommandCode int commandCode, @CommandCode int commandCode,
SessionTask<ListenableFuture<Void>, K> task) { SessionTask<ListenableFuture<Void>, K> task) {
...@@ -313,7 +318,7 @@ import java.util.concurrent.ExecutionException; ...@@ -313,7 +318,7 @@ import java.util.concurrent.ExecutionException;
controller, sessionCommand)) { controller, sessionCommand)) {
sendSessionResult( sendSessionResult(
controller, controller,
seq, sequenceNumber,
new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED)); new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED));
return; return;
} }
...@@ -321,12 +326,12 @@ import java.util.concurrent.ExecutionException; ...@@ -321,12 +326,12 @@ import java.util.concurrent.ExecutionException;
if (!connectedControllersManager.isSessionCommandAvailable(controller, commandCode)) { if (!connectedControllersManager.isSessionCommandAvailable(controller, commandCode)) {
sendSessionResult( sendSessionResult(
controller, controller,
seq, sequenceNumber,
new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED)); new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED));
return; return;
} }
} }
task.run(sessionImpl, controller, seq); task.run(sessionImpl, controller, sequenceNumber);
}); });
} finally { } finally {
Binder.restoreCallingIdentity(token); Binder.restoreCallingIdentity(token);
...@@ -336,13 +341,13 @@ import java.util.concurrent.ExecutionException; ...@@ -336,13 +341,13 @@ import java.util.concurrent.ExecutionException;
private static <T, K extends MediaSessionImpl> ListenableFuture<Void> handleSessionTaskWhenReady( private static <T, K extends MediaSessionImpl> ListenableFuture<Void> handleSessionTaskWhenReady(
K sessionImpl, K sessionImpl,
ControllerInfo controller, ControllerInfo controller,
int sequence, int sequenceNumber,
SessionTask<ListenableFuture<T>, K> task, SessionTask<ListenableFuture<T>, K> task,
Consumer<ListenableFuture<T>> futureResultHandler) { Consumer<ListenableFuture<T>> futureResultHandler) {
if (sessionImpl.isReleased()) { if (sessionImpl.isReleased()) {
return Futures.immediateVoidFuture(); return Futures.immediateVoidFuture();
} }
ListenableFuture<T> future = task.run(sessionImpl, controller, sequence); ListenableFuture<T> future = task.run(sessionImpl, controller, sequenceNumber);
SettableFuture<Void> outputFuture = SettableFuture.create(); SettableFuture<Void> outputFuture = SettableFuture.create();
future.addListener( future.addListener(
() -> { () -> {
...@@ -503,7 +508,9 @@ import java.util.concurrent.ExecutionException; ...@@ -503,7 +508,9 @@ import java.util.concurrent.ExecutionException;
@Override @Override
public void connect( public void connect(
@Nullable IMediaController caller, int seq, @Nullable Bundle connectionRequestBundle) @Nullable IMediaController caller,
int sequenceNumber,
@Nullable Bundle connectionRequestBundle)
throws RuntimeException { throws RuntimeException {
if (caller == null || connectionRequestBundle == null) { if (caller == null || connectionRequestBundle == null) {
return; return;
...@@ -529,16 +536,17 @@ import java.util.concurrent.ExecutionException; ...@@ -529,16 +536,17 @@ import java.util.concurrent.ExecutionException;
} }
@Override @Override
public void stop(@Nullable IMediaController caller, int seq) throws RemoteException { public void stop(@Nullable IMediaController caller, int sequenceNumber) throws RemoteException {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, seq, COMMAND_STOP, sendSessionResultSuccess(Player::stop)); caller, sequenceNumber, COMMAND_STOP, sendSessionResultSuccess(Player::stop));
} }
@Override @Override
public void release(@Nullable IMediaController caller, int seq) throws RemoteException { public void release(@Nullable IMediaController caller, int sequenceNumber)
throws RemoteException {
if (caller == null) { if (caller == null) {
return; return;
} }
...@@ -552,7 +560,7 @@ import java.util.concurrent.ExecutionException; ...@@ -552,7 +560,7 @@ import java.util.concurrent.ExecutionException;
@Override @Override
public void onControllerResult( public void onControllerResult(
@Nullable IMediaController caller, int seq, @Nullable Bundle sessionResultBundle) { @Nullable IMediaController caller, int sequenceNumber, @Nullable Bundle sessionResultBundle) {
if (caller == null || sessionResultBundle == null) { if (caller == null || sessionResultBundle == null) {
return; return;
} }
...@@ -571,113 +579,117 @@ import java.util.concurrent.ExecutionException; ...@@ -571,113 +579,117 @@ import java.util.concurrent.ExecutionException;
if (manager == null) { if (manager == null) {
return; return;
} }
manager.setFutureResult(seq, result); manager.setFutureResult(sequenceNumber, result);
} finally { } finally {
Binder.restoreCallingIdentity(token); Binder.restoreCallingIdentity(token);
} }
} }
@Override @Override
public void play(@Nullable IMediaController caller, int seq) throws RuntimeException { public void play(@Nullable IMediaController caller, int sequenceNumber) throws RuntimeException {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, seq, COMMAND_PLAY_PAUSE, sendSessionResultSuccess(Player::play)); caller, sequenceNumber, COMMAND_PLAY_PAUSE, sendSessionResultSuccess(Player::play));
} }
@Override @Override
public void pause(@Nullable IMediaController caller, int seq) throws RuntimeException { public void pause(@Nullable IMediaController caller, int sequenceNumber) throws RuntimeException {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, seq, COMMAND_PLAY_PAUSE, sendSessionResultSuccess(Player::pause)); caller, sequenceNumber, COMMAND_PLAY_PAUSE, sendSessionResultSuccess(Player::pause));
} }
@Override @Override
public void prepare(@Nullable IMediaController caller, int seq) throws RuntimeException { public void prepare(@Nullable IMediaController caller, int sequenceNumber)
throws RuntimeException {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, seq, COMMAND_PREPARE, sendSessionResultSuccess(Player::prepare)); caller, sequenceNumber, COMMAND_PREPARE, sendSessionResultSuccess(Player::prepare));
} }
@Override @Override
public void seekToDefaultPosition(IMediaController caller, int seq) { public void seekToDefaultPosition(IMediaController caller, int sequenceNumber) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SEEK_TO_DEFAULT_POSITION, COMMAND_SEEK_TO_DEFAULT_POSITION,
sendSessionResultSuccess(Player::seekToDefaultPosition)); sendSessionResultSuccess(Player::seekToDefaultPosition));
} }
@Override @Override
public void seekToDefaultPositionWithMediaItemIndex( public void seekToDefaultPositionWithMediaItemIndex(
IMediaController caller, int seq, int mediaItemIndex) throws RemoteException { IMediaController caller, int sequenceNumber, int mediaItemIndex) throws RemoteException {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SEEK_TO_MEDIA_ITEM, COMMAND_SEEK_TO_MEDIA_ITEM,
sendSessionResultSuccess(player -> player.seekToDefaultPosition(mediaItemIndex))); sendSessionResultSuccess(player -> player.seekToDefaultPosition(mediaItemIndex)));
} }
@Override @Override
public void seekTo(@Nullable IMediaController caller, int seq, long positionMs) public void seekTo(@Nullable IMediaController caller, int sequenceNumber, long positionMs)
throws RuntimeException { throws RuntimeException {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM, COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM,
sendSessionResultSuccess(player -> player.seekTo(positionMs))); sendSessionResultSuccess(player -> player.seekTo(positionMs)));
} }
@Override @Override
public void seekToWithMediaItemIndex( public void seekToWithMediaItemIndex(
IMediaController caller, int seq, int mediaItemIndex, long positionMs) IMediaController caller, int sequenceNumber, int mediaItemIndex, long positionMs)
throws RemoteException { throws RemoteException {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SEEK_TO_MEDIA_ITEM, COMMAND_SEEK_TO_MEDIA_ITEM,
sendSessionResultSuccess(player -> player.seekTo(mediaItemIndex, positionMs))); sendSessionResultSuccess(player -> player.seekTo(mediaItemIndex, positionMs)));
} }
@Override @Override
public void seekBack(IMediaController caller, int seq) { public void seekBack(IMediaController caller, int sequenceNumber) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, seq, COMMAND_SEEK_BACK, sendSessionResultSuccess(Player::seekBack)); caller, sequenceNumber, COMMAND_SEEK_BACK, sendSessionResultSuccess(Player::seekBack));
} }
@Override @Override
public void seekForward(IMediaController caller, int seq) { public void seekForward(IMediaController caller, int sequenceNumber) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, seq, COMMAND_SEEK_FORWARD, sendSessionResultSuccess(Player::seekForward)); caller,
sequenceNumber,
COMMAND_SEEK_FORWARD,
sendSessionResultSuccess(Player::seekForward));
} }
@Override @Override
public void onCustomCommand( public void onCustomCommand(
@Nullable IMediaController caller, @Nullable IMediaController caller,
int seq, int sequenceNumber,
@Nullable Bundle commandBundle, @Nullable Bundle commandBundle,
@Nullable Bundle args) { @Nullable Bundle args) {
if (caller == null || commandBundle == null || args == null) { if (caller == null || commandBundle == null || args == null) {
...@@ -692,16 +704,19 @@ import java.util.concurrent.ExecutionException; ...@@ -692,16 +704,19 @@ import java.util.concurrent.ExecutionException;
} }
dispatchSessionTaskWithSessionCommand( dispatchSessionTaskWithSessionCommand(
caller, caller,
seq, sequenceNumber,
command, command,
sendSessionResultWhenReady( sendSessionResultWhenReady(
(sessionImpl, controller, sequence) -> (sessionImpl, controller, sequenceNum) ->
sessionImpl.onCustomCommandOnHandler(controller, command, args))); sessionImpl.onCustomCommandOnHandler(controller, command, args)));
} }
@Override @Override
public void setRatingWithMediaId( public void setRatingWithMediaId(
@Nullable IMediaController caller, int seq, String mediaId, @Nullable Bundle ratingBundle) { @Nullable IMediaController caller,
int sequenceNumber,
String mediaId,
@Nullable Bundle ratingBundle) {
if (caller == null || ratingBundle == null) { if (caller == null || ratingBundle == null) {
return; return;
} }
...@@ -718,15 +733,16 @@ import java.util.concurrent.ExecutionException; ...@@ -718,15 +733,16 @@ import java.util.concurrent.ExecutionException;
} }
dispatchSessionTaskWithSessionCommand( dispatchSessionTaskWithSessionCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CODE_SESSION_SET_RATING, COMMAND_CODE_SESSION_SET_RATING,
sendSessionResultWhenReady( sendSessionResultWhenReady(
(sessionImpl, controller, sequence) -> (sessionImpl, controller, sequenceNum) ->
sessionImpl.onSetRatingOnHandler(controller, mediaId, rating))); sessionImpl.onSetRatingOnHandler(controller, mediaId, rating)));
} }
@Override @Override
public void setRating(@Nullable IMediaController caller, int seq, @Nullable Bundle ratingBundle) { public void setRating(
@Nullable IMediaController caller, int sequenceNumber, @Nullable Bundle ratingBundle) {
if (caller == null || ratingBundle == null) { if (caller == null || ratingBundle == null) {
return; return;
} }
...@@ -739,28 +755,28 @@ import java.util.concurrent.ExecutionException; ...@@ -739,28 +755,28 @@ import java.util.concurrent.ExecutionException;
} }
dispatchSessionTaskWithSessionCommand( dispatchSessionTaskWithSessionCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CODE_SESSION_SET_RATING, COMMAND_CODE_SESSION_SET_RATING,
sendSessionResultWhenReady( sendSessionResultWhenReady(
(sessionImpl, controller, sequence) -> (sessionImpl, controller, sequenceNum) ->
sessionImpl.onSetRatingOnHandler(controller, rating))); sessionImpl.onSetRatingOnHandler(controller, rating)));
} }
@Override @Override
public void setPlaybackSpeed(@Nullable IMediaController caller, int seq, float speed) { public void setPlaybackSpeed(@Nullable IMediaController caller, int sequenceNumber, float speed) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SET_SPEED_AND_PITCH, COMMAND_SET_SPEED_AND_PITCH,
sendSessionResultSuccess(player -> player.setPlaybackSpeed(speed))); sendSessionResultSuccess(player -> player.setPlaybackSpeed(speed)));
} }
@Override @Override
public void setPlaybackParameters( public void setPlaybackParameters(
@Nullable IMediaController caller, int seq, Bundle playbackParametersBundle) { @Nullable IMediaController caller, int sequenceNumber, Bundle playbackParametersBundle) {
if (caller == null || playbackParametersBundle == null) { if (caller == null || playbackParametersBundle == null) {
return; return;
} }
...@@ -768,14 +784,14 @@ import java.util.concurrent.ExecutionException; ...@@ -768,14 +784,14 @@ import java.util.concurrent.ExecutionException;
PlaybackParameters.CREATOR.fromBundle(playbackParametersBundle); PlaybackParameters.CREATOR.fromBundle(playbackParametersBundle);
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SET_SPEED_AND_PITCH, COMMAND_SET_SPEED_AND_PITCH,
sendSessionResultSuccess(player -> player.setPlaybackParameters(playbackParameters))); sendSessionResultSuccess(player -> player.setPlaybackParameters(playbackParameters)));
} }
@Override @Override
public void setMediaItem( public void setMediaItem(
@Nullable IMediaController caller, int seq, @Nullable Bundle mediaItemBundle) { @Nullable IMediaController caller, int sequenceNumber, @Nullable Bundle mediaItemBundle) {
if (caller == null || mediaItemBundle == null) { if (caller == null || mediaItemBundle == null) {
return; return;
} }
...@@ -788,11 +804,11 @@ import java.util.concurrent.ExecutionException; ...@@ -788,11 +804,11 @@ import java.util.concurrent.ExecutionException;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SET_MEDIA_ITEM, COMMAND_SET_MEDIA_ITEM,
sendSessionResultWhenReady( sendSessionResultWhenReady(
handleMediaItemsWhenReady( handleMediaItemsWhenReady(
(sessionImpl, controller, sequence) -> (sessionImpl, controller, sequenceNum) ->
sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)),
Player::setMediaItems))); Player::setMediaItems)));
} }
...@@ -800,7 +816,7 @@ import java.util.concurrent.ExecutionException; ...@@ -800,7 +816,7 @@ import java.util.concurrent.ExecutionException;
@Override @Override
public void setMediaItemWithStartPosition( public void setMediaItemWithStartPosition(
@Nullable IMediaController caller, @Nullable IMediaController caller,
int seq, int sequenceNumber,
@Nullable Bundle mediaItemBundle, @Nullable Bundle mediaItemBundle,
long startPositionMs) { long startPositionMs) {
if (caller == null || mediaItemBundle == null) { if (caller == null || mediaItemBundle == null) {
...@@ -815,11 +831,11 @@ import java.util.concurrent.ExecutionException; ...@@ -815,11 +831,11 @@ import java.util.concurrent.ExecutionException;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SET_MEDIA_ITEM, COMMAND_SET_MEDIA_ITEM,
sendSessionResultWhenReady( sendSessionResultWhenReady(
handleMediaItemsWhenReady( handleMediaItemsWhenReady(
(sessionImpl, controller, sequence) -> (sessionImpl, controller, sequenceNum) ->
sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)),
(player, mediaItems) -> (player, mediaItems) ->
player.setMediaItems(mediaItems, /* startIndex= */ 0, startPositionMs)))); player.setMediaItems(mediaItems, /* startIndex= */ 0, startPositionMs))));
...@@ -828,7 +844,7 @@ import java.util.concurrent.ExecutionException; ...@@ -828,7 +844,7 @@ import java.util.concurrent.ExecutionException;
@Override @Override
public void setMediaItemWithResetPosition( public void setMediaItemWithResetPosition(
@Nullable IMediaController caller, @Nullable IMediaController caller,
int seq, int sequenceNumber,
@Nullable Bundle mediaItemBundle, @Nullable Bundle mediaItemBundle,
boolean resetPosition) { boolean resetPosition) {
if (caller == null || mediaItemBundle == null) { if (caller == null || mediaItemBundle == null) {
...@@ -843,18 +859,20 @@ import java.util.concurrent.ExecutionException; ...@@ -843,18 +859,20 @@ import java.util.concurrent.ExecutionException;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SET_MEDIA_ITEM, COMMAND_SET_MEDIA_ITEM,
sendSessionResultWhenReady( sendSessionResultWhenReady(
handleMediaItemsWhenReady( handleMediaItemsWhenReady(
(sessionImpl, controller, sequence) -> (sessionImpl, controller, sequenceNum) ->
sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)),
(player, mediaItems) -> player.setMediaItems(mediaItems, resetPosition)))); (player, mediaItems) -> player.setMediaItems(mediaItems, resetPosition))));
} }
@Override @Override
public void setMediaItems( public void setMediaItems(
@Nullable IMediaController caller, int seq, @Nullable IBinder mediaItemsRetriever) { @Nullable IMediaController caller,
int sequenceNumber,
@Nullable IBinder mediaItemsRetriever) {
if (caller == null || mediaItemsRetriever == null) { if (caller == null || mediaItemsRetriever == null) {
return; return;
} }
...@@ -870,11 +888,11 @@ import java.util.concurrent.ExecutionException; ...@@ -870,11 +888,11 @@ import java.util.concurrent.ExecutionException;
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
sendSessionResultWhenReady( sendSessionResultWhenReady(
handleMediaItemsWhenReady( handleMediaItemsWhenReady(
(sessionImpl, controller, sequence) -> (sessionImpl, controller, sequenceNum) ->
sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList), sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList),
Player::setMediaItems))); Player::setMediaItems)));
} }
...@@ -882,7 +900,7 @@ import java.util.concurrent.ExecutionException; ...@@ -882,7 +900,7 @@ import java.util.concurrent.ExecutionException;
@Override @Override
public void setMediaItemsWithResetPosition( public void setMediaItemsWithResetPosition(
@Nullable IMediaController caller, @Nullable IMediaController caller,
int seq, int sequenceNumber,
@Nullable IBinder mediaItemsRetriever, @Nullable IBinder mediaItemsRetriever,
boolean resetPosition) { boolean resetPosition) {
if (caller == null || mediaItemsRetriever == null) { if (caller == null || mediaItemsRetriever == null) {
...@@ -899,11 +917,11 @@ import java.util.concurrent.ExecutionException; ...@@ -899,11 +917,11 @@ import java.util.concurrent.ExecutionException;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
sendSessionResultWhenReady( sendSessionResultWhenReady(
handleMediaItemsWhenReady( handleMediaItemsWhenReady(
(sessionImpl, controller, sequence) -> (sessionImpl, controller, sequenceNum) ->
sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList), sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList),
(player, mediaItems) -> player.setMediaItems(mediaItems, resetPosition)))); (player, mediaItems) -> player.setMediaItems(mediaItems, resetPosition))));
} }
...@@ -911,7 +929,7 @@ import java.util.concurrent.ExecutionException; ...@@ -911,7 +929,7 @@ import java.util.concurrent.ExecutionException;
@Override @Override
public void setMediaItemsWithStartIndex( public void setMediaItemsWithStartIndex(
@Nullable IMediaController caller, @Nullable IMediaController caller,
int seq, int sequenceNumber,
@Nullable IBinder mediaItemsRetriever, @Nullable IBinder mediaItemsRetriever,
int startIndex, int startIndex,
long startPositionMs) { long startPositionMs) {
...@@ -929,11 +947,11 @@ import java.util.concurrent.ExecutionException; ...@@ -929,11 +947,11 @@ import java.util.concurrent.ExecutionException;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
sendSessionResultWhenReady( sendSessionResultWhenReady(
handleMediaItemsWhenReady( handleMediaItemsWhenReady(
(sessionImpl, controller, sequence) -> (sessionImpl, controller, sequenceNum) ->
sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList), sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList),
(player, mediaItems) -> (player, mediaItems) ->
player.setMediaItems(mediaItems, startIndex, startPositionMs)))); player.setMediaItems(mediaItems, startIndex, startPositionMs))));
...@@ -941,7 +959,9 @@ import java.util.concurrent.ExecutionException; ...@@ -941,7 +959,9 @@ import java.util.concurrent.ExecutionException;
@Override @Override
public void setPlaylistMetadata( public void setPlaylistMetadata(
@Nullable IMediaController caller, int seq, @Nullable Bundle playlistMetadataBundle) { @Nullable IMediaController caller,
int sequenceNumber,
@Nullable Bundle playlistMetadataBundle) {
if (caller == null || playlistMetadataBundle == null) { if (caller == null || playlistMetadataBundle == null) {
return; return;
} }
...@@ -954,13 +974,14 @@ import java.util.concurrent.ExecutionException; ...@@ -954,13 +974,14 @@ import java.util.concurrent.ExecutionException;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SET_MEDIA_ITEMS_METADATA, COMMAND_SET_MEDIA_ITEMS_METADATA,
sendSessionResultSuccess(player -> player.setPlaylistMetadata(playlistMetadata))); sendSessionResultSuccess(player -> player.setPlaylistMetadata(playlistMetadata)));
} }
@Override @Override
public void addMediaItem(@Nullable IMediaController caller, int seq, Bundle mediaItemBundle) { public void addMediaItem(
@Nullable IMediaController caller, int sequenceNumber, Bundle mediaItemBundle) {
if (caller == null || mediaItemBundle == null) { if (caller == null || mediaItemBundle == null) {
return; return;
} }
...@@ -973,18 +994,18 @@ import java.util.concurrent.ExecutionException; ...@@ -973,18 +994,18 @@ import java.util.concurrent.ExecutionException;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
sendSessionResultWhenReady( sendSessionResultWhenReady(
handleMediaItemsWhenReady( handleMediaItemsWhenReady(
(sessionImpl, controller, sequence) -> (sessionImpl, controller, sequenceNum) ->
sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)),
Player::addMediaItems))); Player::addMediaItems)));
} }
@Override @Override
public void addMediaItemWithIndex( public void addMediaItemWithIndex(
@Nullable IMediaController caller, int seq, int index, Bundle mediaItemBundle) { @Nullable IMediaController caller, int sequenceNumber, int index, Bundle mediaItemBundle) {
if (caller == null || mediaItemBundle == null) { if (caller == null || mediaItemBundle == null) {
return; return;
} }
...@@ -997,18 +1018,20 @@ import java.util.concurrent.ExecutionException; ...@@ -997,18 +1018,20 @@ import java.util.concurrent.ExecutionException;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
sendSessionResultWhenReady( sendSessionResultWhenReady(
handleMediaItemsWhenReady( handleMediaItemsWhenReady(
(sessionImpl, controller, sequence) -> (sessionImpl, controller, sequenceNum) ->
sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)),
(player, mediaItems) -> player.addMediaItems(index, mediaItems)))); (player, mediaItems) -> player.addMediaItems(index, mediaItems))));
} }
@Override @Override
public void addMediaItems( public void addMediaItems(
@Nullable IMediaController caller, int seq, @Nullable IBinder mediaItemsRetriever) { @Nullable IMediaController caller,
int sequenceNumber,
@Nullable IBinder mediaItemsRetriever) {
if (caller == null || mediaItemsRetriever == null) { if (caller == null || mediaItemsRetriever == null) {
return; return;
} }
...@@ -1023,11 +1046,11 @@ import java.util.concurrent.ExecutionException; ...@@ -1023,11 +1046,11 @@ import java.util.concurrent.ExecutionException;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
sendSessionResultWhenReady( sendSessionResultWhenReady(
handleMediaItemsWhenReady( handleMediaItemsWhenReady(
(sessionImpl, controller, sequence) -> (sessionImpl, controller, sequenceNum) ->
sessionImpl.onAddMediaItemsOnHandler(controller, mediaItems), sessionImpl.onAddMediaItemsOnHandler(controller, mediaItems),
Player::addMediaItems))); Player::addMediaItems)));
} }
...@@ -1035,7 +1058,7 @@ import java.util.concurrent.ExecutionException; ...@@ -1035,7 +1058,7 @@ import java.util.concurrent.ExecutionException;
@Override @Override
public void addMediaItemsWithIndex( public void addMediaItemsWithIndex(
@Nullable IMediaController caller, @Nullable IMediaController caller,
int seq, int sequenceNumber,
int index, int index,
@Nullable IBinder mediaItemsRetriever) { @Nullable IBinder mediaItemsRetriever) {
if (caller == null || mediaItemsRetriever == null) { if (caller == null || mediaItemsRetriever == null) {
...@@ -1052,224 +1075,235 @@ import java.util.concurrent.ExecutionException; ...@@ -1052,224 +1075,235 @@ import java.util.concurrent.ExecutionException;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
sendSessionResultWhenReady( sendSessionResultWhenReady(
handleMediaItemsWhenReady( handleMediaItemsWhenReady(
(sessionImpl, controller, sequence) -> (sessionImpl, controller, sequenceNum) ->
sessionImpl.onAddMediaItemsOnHandler(controller, mediaItems), sessionImpl.onAddMediaItemsOnHandler(controller, mediaItems),
(player, items) -> player.addMediaItems(index, items)))); (player, items) -> player.addMediaItems(index, items))));
} }
@Override @Override
public void removeMediaItem(@Nullable IMediaController caller, int seq, int index) { public void removeMediaItem(@Nullable IMediaController caller, int sequenceNumber, int index) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
sendSessionResultSuccess(player -> player.removeMediaItem(index))); sendSessionResultSuccess(player -> player.removeMediaItem(index)));
} }
@Override @Override
public void removeMediaItems( public void removeMediaItems(
@Nullable IMediaController caller, int seq, int fromIndex, int toIndex) { @Nullable IMediaController caller, int sequenceNumber, int fromIndex, int toIndex) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
sendSessionResultSuccess(player -> player.removeMediaItems(fromIndex, toIndex))); sendSessionResultSuccess(player -> player.removeMediaItems(fromIndex, toIndex)));
} }
@Override @Override
public void clearMediaItems(@Nullable IMediaController caller, int seq) { public void clearMediaItems(@Nullable IMediaController caller, int sequenceNumber) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultSuccess(Player::clearMediaItems)); caller,
sequenceNumber,
COMMAND_CHANGE_MEDIA_ITEMS,
sendSessionResultSuccess(Player::clearMediaItems));
} }
@Override @Override
public void moveMediaItem( public void moveMediaItem(
@Nullable IMediaController caller, int seq, int currentIndex, int newIndex) { @Nullable IMediaController caller, int sequenceNumber, int currentIndex, int newIndex) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
sendSessionResultSuccess(player -> player.moveMediaItem(currentIndex, newIndex))); sendSessionResultSuccess(player -> player.moveMediaItem(currentIndex, newIndex)));
} }
@Override @Override
public void moveMediaItems( public void moveMediaItems(
@Nullable IMediaController caller, int seq, int fromIndex, int toIndex, int newIndex) { @Nullable IMediaController caller,
int sequenceNumber,
int fromIndex,
int toIndex,
int newIndex) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CHANGE_MEDIA_ITEMS, COMMAND_CHANGE_MEDIA_ITEMS,
sendSessionResultSuccess(player -> player.moveMediaItems(fromIndex, toIndex, newIndex))); sendSessionResultSuccess(player -> player.moveMediaItems(fromIndex, toIndex, newIndex)));
} }
@Override @Override
public void seekToPreviousMediaItem(@Nullable IMediaController caller, int seq) { public void seekToPreviousMediaItem(@Nullable IMediaController caller, int sequenceNumber) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM, COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM,
sendSessionResultSuccess(Player::seekToPreviousMediaItem)); sendSessionResultSuccess(Player::seekToPreviousMediaItem));
} }
@Override @Override
public void seekToNextMediaItem(@Nullable IMediaController caller, int seq) { public void seekToNextMediaItem(@Nullable IMediaController caller, int sequenceNumber) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT_MEDIA_ITEM,
sendSessionResultSuccess(Player::seekToNextMediaItem)); sendSessionResultSuccess(Player::seekToNextMediaItem));
} }
@Override @Override
public void seekToPrevious(@Nullable IMediaController caller, int seq) { public void seekToPrevious(@Nullable IMediaController caller, int sequenceNumber) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, seq, COMMAND_SEEK_TO_PREVIOUS, sendSessionResultSuccess(Player::seekToPrevious)); caller,
sequenceNumber,
COMMAND_SEEK_TO_PREVIOUS,
sendSessionResultSuccess(Player::seekToPrevious));
} }
@Override @Override
public void seekToNext(@Nullable IMediaController caller, int seq) { public void seekToNext(@Nullable IMediaController caller, int sequenceNumber) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, seq, COMMAND_SEEK_TO_NEXT, sendSessionResultSuccess(Player::seekToNext)); caller, sequenceNumber, COMMAND_SEEK_TO_NEXT, sendSessionResultSuccess(Player::seekToNext));
} }
@Override @Override
public void setRepeatMode( public void setRepeatMode(
@Nullable IMediaController caller, int seq, @Player.RepeatMode int repeatMode) { @Nullable IMediaController caller, int sequenceNumber, @Player.RepeatMode int repeatMode) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SET_REPEAT_MODE, COMMAND_SET_REPEAT_MODE,
sendSessionResultSuccess(player -> player.setRepeatMode(repeatMode))); sendSessionResultSuccess(player -> player.setRepeatMode(repeatMode)));
} }
@Override @Override
public void setShuffleModeEnabled( public void setShuffleModeEnabled(
@Nullable IMediaController caller, int seq, boolean shuffleModeEnabled) { @Nullable IMediaController caller, int sequenceNumber, boolean shuffleModeEnabled) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SET_SHUFFLE_MODE, COMMAND_SET_SHUFFLE_MODE,
sendSessionResultSuccess(player -> player.setShuffleModeEnabled(shuffleModeEnabled))); sendSessionResultSuccess(player -> player.setShuffleModeEnabled(shuffleModeEnabled)));
} }
@Override @Override
public void setVideoSurface( public void setVideoSurface(
@Nullable IMediaController caller, int seq, @Nullable Surface surface) { @Nullable IMediaController caller, int sequenceNumber, @Nullable Surface surface) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SET_VIDEO_SURFACE, COMMAND_SET_VIDEO_SURFACE,
sendSessionResultSuccess(player -> player.setVideoSurface(surface))); sendSessionResultSuccess(player -> player.setVideoSurface(surface)));
} }
@Override @Override
public void setVolume(@Nullable IMediaController caller, int seq, float volume) { public void setVolume(@Nullable IMediaController caller, int sequenceNumber, float volume) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SET_VOLUME, COMMAND_SET_VOLUME,
sendSessionResultSuccess(player -> player.setVolume(volume))); sendSessionResultSuccess(player -> player.setVolume(volume)));
} }
@Override @Override
public void setDeviceVolume(@Nullable IMediaController caller, int seq, int volume) { public void setDeviceVolume(@Nullable IMediaController caller, int sequenceNumber, int volume) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SET_DEVICE_VOLUME, COMMAND_SET_DEVICE_VOLUME,
sendSessionResultSuccess(player -> player.setDeviceVolume(volume))); sendSessionResultSuccess(player -> player.setDeviceVolume(volume)));
} }
@Override @Override
public void increaseDeviceVolume(@Nullable IMediaController caller, int seq) { public void increaseDeviceVolume(@Nullable IMediaController caller, int sequenceNumber) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_ADJUST_DEVICE_VOLUME, COMMAND_ADJUST_DEVICE_VOLUME,
sendSessionResultSuccess(Player::increaseDeviceVolume)); sendSessionResultSuccess(Player::increaseDeviceVolume));
} }
@Override @Override
public void decreaseDeviceVolume(@Nullable IMediaController caller, int seq) { public void decreaseDeviceVolume(@Nullable IMediaController caller, int sequenceNumber) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_ADJUST_DEVICE_VOLUME, COMMAND_ADJUST_DEVICE_VOLUME,
sendSessionResultSuccess(Player::decreaseDeviceVolume)); sendSessionResultSuccess(Player::decreaseDeviceVolume));
} }
@Override @Override
public void setDeviceMuted(@Nullable IMediaController caller, int seq, boolean muted) { public void setDeviceMuted(@Nullable IMediaController caller, int sequenceNumber, boolean muted) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SET_DEVICE_VOLUME, COMMAND_SET_DEVICE_VOLUME,
sendSessionResultSuccess(player -> player.setDeviceMuted(muted))); sendSessionResultSuccess(player -> player.setDeviceMuted(muted)));
} }
@Override @Override
public void setPlayWhenReady(@Nullable IMediaController caller, int seq, boolean playWhenReady) { public void setPlayWhenReady(
@Nullable IMediaController caller, int sequenceNumber, boolean playWhenReady) {
if (caller == null) { if (caller == null) {
return; return;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_PLAY_PAUSE, COMMAND_PLAY_PAUSE,
sendSessionResultSuccess(player -> player.setPlayWhenReady(playWhenReady))); sendSessionResultSuccess(player -> player.setPlayWhenReady(playWhenReady)));
} }
...@@ -1298,7 +1332,7 @@ import java.util.concurrent.ExecutionException; ...@@ -1298,7 +1332,7 @@ import java.util.concurrent.ExecutionException;
@Override @Override
public void setTrackSelectionParameters( public void setTrackSelectionParameters(
@Nullable IMediaController caller, int seq, Bundle trackSelectionParametersBundle) @Nullable IMediaController caller, int sequenceNumber, Bundle trackSelectionParametersBundle)
throws RemoteException { throws RemoteException {
if (caller == null) { if (caller == null) {
return; return;
...@@ -1313,7 +1347,7 @@ import java.util.concurrent.ExecutionException; ...@@ -1313,7 +1347,7 @@ import java.util.concurrent.ExecutionException;
} }
queueSessionTaskWithPlayerCommand( queueSessionTaskWithPlayerCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_SET_TRACK_SELECTION_PARAMETERS, COMMAND_SET_TRACK_SELECTION_PARAMETERS,
sendSessionResultSuccess( sendSessionResultSuccess(
player -> player.setTrackSelectionParameters(trackSelectionParameters))); player -> player.setTrackSelectionParameters(trackSelectionParameters)));
...@@ -1325,7 +1359,7 @@ import java.util.concurrent.ExecutionException; ...@@ -1325,7 +1359,7 @@ import java.util.concurrent.ExecutionException;
@Override @Override
public void getLibraryRoot( public void getLibraryRoot(
@Nullable IMediaController caller, int seq, @Nullable Bundle libraryParamsBundle) @Nullable IMediaController caller, int sequenceNumber, @Nullable Bundle libraryParamsBundle)
throws RuntimeException { throws RuntimeException {
if (caller == null) { if (caller == null) {
return; return;
...@@ -1335,15 +1369,16 @@ import java.util.concurrent.ExecutionException; ...@@ -1335,15 +1369,16 @@ import java.util.concurrent.ExecutionException;
libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle);
dispatchSessionTaskWithSessionCommand( dispatchSessionTaskWithSessionCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CODE_LIBRARY_GET_LIBRARY_ROOT, COMMAND_CODE_LIBRARY_GET_LIBRARY_ROOT,
sendLibraryResultWhenReady( sendLibraryResultWhenReady(
(librarySessionImpl, controller, sequence) -> (librarySessionImpl, controller, sequenceNum) ->
librarySessionImpl.onGetLibraryRootOnHandler(controller, libraryParams))); librarySessionImpl.onGetLibraryRootOnHandler(controller, libraryParams)));
} }
@Override @Override
public void getItem(@Nullable IMediaController caller, int seq, @Nullable String mediaId) public void getItem(
@Nullable IMediaController caller, int sequenceNumber, @Nullable String mediaId)
throws RuntimeException { throws RuntimeException {
if (caller == null) { if (caller == null) {
return; return;
...@@ -1354,17 +1389,17 @@ import java.util.concurrent.ExecutionException; ...@@ -1354,17 +1389,17 @@ import java.util.concurrent.ExecutionException;
} }
dispatchSessionTaskWithSessionCommand( dispatchSessionTaskWithSessionCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CODE_LIBRARY_GET_ITEM, COMMAND_CODE_LIBRARY_GET_ITEM,
sendLibraryResultWhenReady( sendLibraryResultWhenReady(
(librarySessionImpl, controller, sequence) -> (librarySessionImpl, controller, sequenceNum) ->
librarySessionImpl.onGetItemOnHandler(controller, mediaId))); librarySessionImpl.onGetItemOnHandler(controller, mediaId)));
} }
@Override @Override
public void getChildren( public void getChildren(
@Nullable IMediaController caller, @Nullable IMediaController caller,
int seq, int sequenceNumber,
String parentId, String parentId,
int page, int page,
int pageSize, int pageSize,
...@@ -1390,10 +1425,10 @@ import java.util.concurrent.ExecutionException; ...@@ -1390,10 +1425,10 @@ import java.util.concurrent.ExecutionException;
libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle);
dispatchSessionTaskWithSessionCommand( dispatchSessionTaskWithSessionCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CODE_LIBRARY_GET_CHILDREN, COMMAND_CODE_LIBRARY_GET_CHILDREN,
sendLibraryResultWhenReady( sendLibraryResultWhenReady(
(librarySessionImpl, controller, sequence) -> (librarySessionImpl, controller, sequenceNum) ->
librarySessionImpl.onGetChildrenOnHandler( librarySessionImpl.onGetChildrenOnHandler(
controller, parentId, page, pageSize, libraryParams))); controller, parentId, page, pageSize, libraryParams)));
} }
...@@ -1401,7 +1436,7 @@ import java.util.concurrent.ExecutionException; ...@@ -1401,7 +1436,7 @@ import java.util.concurrent.ExecutionException;
@Override @Override
public void search( public void search(
@Nullable IMediaController caller, @Nullable IMediaController caller,
int seq, int sequenceNumber,
String query, String query,
@Nullable Bundle libraryParamsBundle) { @Nullable Bundle libraryParamsBundle) {
if (caller == null) { if (caller == null) {
...@@ -1416,17 +1451,17 @@ import java.util.concurrent.ExecutionException; ...@@ -1416,17 +1451,17 @@ import java.util.concurrent.ExecutionException;
libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle);
dispatchSessionTaskWithSessionCommand( dispatchSessionTaskWithSessionCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CODE_LIBRARY_SEARCH, COMMAND_CODE_LIBRARY_SEARCH,
sendLibraryResultWhenReady( sendLibraryResultWhenReady(
(librarySessionImpl, controller, sequence) -> (librarySessionImpl, controller, sequenceNum) ->
librarySessionImpl.onSearchOnHandler(controller, query, libraryParams))); librarySessionImpl.onSearchOnHandler(controller, query, libraryParams)));
} }
@Override @Override
public void getSearchResult( public void getSearchResult(
@Nullable IMediaController caller, @Nullable IMediaController caller,
int seq, int sequenceNumber,
String query, String query,
int page, int page,
int pageSize, int pageSize,
...@@ -1451,10 +1486,10 @@ import java.util.concurrent.ExecutionException; ...@@ -1451,10 +1486,10 @@ import java.util.concurrent.ExecutionException;
libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle);
dispatchSessionTaskWithSessionCommand( dispatchSessionTaskWithSessionCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CODE_LIBRARY_GET_SEARCH_RESULT, COMMAND_CODE_LIBRARY_GET_SEARCH_RESULT,
sendLibraryResultWhenReady( sendLibraryResultWhenReady(
(librarySessionImpl, controller, sequence) -> (librarySessionImpl, controller, sequenceNum) ->
librarySessionImpl.onGetSearchResultOnHandler( librarySessionImpl.onGetSearchResultOnHandler(
controller, query, page, pageSize, libraryParams))); controller, query, page, pageSize, libraryParams)));
} }
...@@ -1462,7 +1497,7 @@ import java.util.concurrent.ExecutionException; ...@@ -1462,7 +1497,7 @@ import java.util.concurrent.ExecutionException;
@Override @Override
public void subscribe( public void subscribe(
@Nullable IMediaController caller, @Nullable IMediaController caller,
int seq, int sequenceNumber,
String parentId, String parentId,
@Nullable Bundle libraryParamsBundle) { @Nullable Bundle libraryParamsBundle) {
if (caller == null) { if (caller == null) {
...@@ -1477,15 +1512,15 @@ import java.util.concurrent.ExecutionException; ...@@ -1477,15 +1512,15 @@ import java.util.concurrent.ExecutionException;
libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle);
dispatchSessionTaskWithSessionCommand( dispatchSessionTaskWithSessionCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CODE_LIBRARY_SUBSCRIBE, COMMAND_CODE_LIBRARY_SUBSCRIBE,
sendLibraryResultWhenReady( sendLibraryResultWhenReady(
(librarySessionImpl, controller, sequence) -> (librarySessionImpl, controller, sequenceNum) ->
librarySessionImpl.onSubscribeOnHandler(controller, parentId, libraryParams))); librarySessionImpl.onSubscribeOnHandler(controller, parentId, libraryParams)));
} }
@Override @Override
public void unsubscribe(@Nullable IMediaController caller, int seq, String parentId) { public void unsubscribe(@Nullable IMediaController caller, int sequenceNumber, String parentId) {
if (caller == null) { if (caller == null) {
return; return;
} }
...@@ -1495,16 +1530,16 @@ import java.util.concurrent.ExecutionException; ...@@ -1495,16 +1530,16 @@ import java.util.concurrent.ExecutionException;
} }
dispatchSessionTaskWithSessionCommand( dispatchSessionTaskWithSessionCommand(
caller, caller,
seq, sequenceNumber,
COMMAND_CODE_LIBRARY_UNSUBSCRIBE, COMMAND_CODE_LIBRARY_UNSUBSCRIBE,
sendLibraryResultWhenReady( sendLibraryResultWhenReady(
(librarySessionImpl, controller, sequence) -> (librarySessionImpl, controller, sequenceNum) ->
librarySessionImpl.onUnsubscribeOnHandler(controller, parentId))); librarySessionImpl.onUnsubscribeOnHandler(controller, parentId)));
} }
/** Common interface for code snippets to handle all incoming commands from the controller. */ /** Common interface for code snippets to handle all incoming commands from the controller. */
private interface SessionTask<T, K extends MediaSessionImpl> { private interface SessionTask<T, K extends MediaSessionImpl> {
T run(K sessionImpl, ControllerInfo controller, int seq); T run(K sessionImpl, ControllerInfo controller, int sequenceNumber);
} }
private interface MediaItemPlayerTask { private interface MediaItemPlayerTask {
...@@ -1524,18 +1559,19 @@ import java.util.concurrent.ExecutionException; ...@@ -1524,18 +1559,19 @@ import java.util.concurrent.ExecutionException;
} }
@Override @Override
public void onSessionResult(int seq, SessionResult result) throws RemoteException { public void onSessionResult(int sequenceNumber, SessionResult result) throws RemoteException {
iController.onSessionResult(seq, result.toBundle()); iController.onSessionResult(sequenceNumber, result.toBundle());
} }
@Override @Override
public void onLibraryResult(int seq, LibraryResult<?> result) throws RemoteException { public void onLibraryResult(int sequenceNumber, LibraryResult<?> result)
iController.onLibraryResult(seq, result.toBundle()); throws RemoteException {
iController.onLibraryResult(sequenceNumber, result.toBundle());
} }
@Override @Override
public void onPlayerInfoChanged( public void onPlayerInfoChanged(
int seq, int sequenceNumber,
PlayerInfo playerInfo, PlayerInfo playerInfo,
boolean excludeMediaItems, boolean excludeMediaItems,
boolean excludeMediaItemsMetadata, boolean excludeMediaItemsMetadata,
...@@ -1544,7 +1580,7 @@ import java.util.concurrent.ExecutionException; ...@@ -1544,7 +1580,7 @@ import java.util.concurrent.ExecutionException;
boolean excludeTracks) boolean excludeTracks)
throws RemoteException { throws RemoteException {
iController.onPlayerInfoChanged( iController.onPlayerInfoChanged(
seq, sequenceNumber,
playerInfo.toBundle( playerInfo.toBundle(
excludeMediaItems, excludeMediaItems,
excludeMediaItemsMetadata, excludeMediaItemsMetadata,
...@@ -1555,67 +1591,71 @@ import java.util.concurrent.ExecutionException; ...@@ -1555,67 +1591,71 @@ import java.util.concurrent.ExecutionException;
} }
@Override @Override
public void setCustomLayout(int seq, List<CommandButton> layout) throws RemoteException { public void setCustomLayout(int sequenceNumber, List<CommandButton> layout)
iController.onSetCustomLayout(seq, BundleableUtil.toBundleList(layout)); throws RemoteException {
iController.onSetCustomLayout(sequenceNumber, BundleableUtil.toBundleList(layout));
} }
@Override @Override
public void onAvailableCommandsChangedFromSession( public void onAvailableCommandsChangedFromSession(
int seq, SessionCommands sessionCommands, Player.Commands playerCommands) int sequenceNumber, SessionCommands sessionCommands, Player.Commands playerCommands)
throws RemoteException { throws RemoteException {
iController.onAvailableCommandsChangedFromSession( iController.onAvailableCommandsChangedFromSession(
seq, sessionCommands.toBundle(), playerCommands.toBundle()); sequenceNumber, sessionCommands.toBundle(), playerCommands.toBundle());
} }
@Override @Override
public void onAvailableCommandsChangedFromPlayer(int seq, Player.Commands availableCommands) public void onAvailableCommandsChangedFromPlayer(
throws RemoteException { int sequenceNumber, Player.Commands availableCommands) throws RemoteException {
iController.onAvailableCommandsChangedFromPlayer(seq, availableCommands.toBundle()); iController.onAvailableCommandsChangedFromPlayer(
sequenceNumber, availableCommands.toBundle());
} }
@Override @Override
public void sendCustomCommand(int seq, SessionCommand command, Bundle args) public void sendCustomCommand(int sequenceNumber, SessionCommand command, Bundle args)
throws RemoteException { throws RemoteException {
iController.onCustomCommand(seq, command.toBundle(), args); iController.onCustomCommand(sequenceNumber, command.toBundle(), args);
} }
@SuppressWarnings("nullness:argument") // params can be null. @SuppressWarnings("nullness:argument") // params can be null.
@Override @Override
public void onChildrenChanged( public void onChildrenChanged(
int seq, String parentId, int itemCount, @Nullable LibraryParams params) int sequenceNumber, String parentId, int itemCount, @Nullable LibraryParams params)
throws RemoteException { throws RemoteException {
iController.onChildrenChanged( iController.onChildrenChanged(
seq, parentId, itemCount, params == null ? null : params.toBundle()); sequenceNumber, parentId, itemCount, params == null ? null : params.toBundle());
} }
@SuppressWarnings("nullness:argument") // params can be null. @SuppressWarnings("nullness:argument") // params can be null.
@Override @Override
public void onSearchResultChanged( public void onSearchResultChanged(
int seq, String query, int itemCount, @Nullable LibraryParams params) int sequenceNumber, String query, int itemCount, @Nullable LibraryParams params)
throws RemoteException { throws RemoteException {
iController.onSearchResultChanged( iController.onSearchResultChanged(
seq, query, itemCount, params == null ? null : params.toBundle()); sequenceNumber, query, itemCount, params == null ? null : params.toBundle());
} }
@Override @Override
public void onDisconnected(int seq) throws RemoteException { public void onDisconnected(int sequenceNumber) throws RemoteException {
iController.onDisconnected(seq); iController.onDisconnected(sequenceNumber);
} }
@Override @Override
public void onPeriodicSessionPositionInfoChanged( public void onPeriodicSessionPositionInfoChanged(
int seq, SessionPositionInfo sessionPositionInfo) throws RemoteException { int sequenceNumber, SessionPositionInfo sessionPositionInfo) throws RemoteException {
iController.onPeriodicSessionPositionInfoChanged(seq, sessionPositionInfo.toBundle()); iController.onPeriodicSessionPositionInfoChanged(
sequenceNumber, sessionPositionInfo.toBundle());
} }
@Override @Override
public void onRenderedFirstFrame(int seq) throws RemoteException { public void onRenderedFirstFrame(int sequenceNumber) throws RemoteException {
iController.onRenderedFirstFrame(seq); iController.onRenderedFirstFrame(sequenceNumber);
} }
@Override @Override
public void onSessionExtrasChanged(int seq, Bundle sessionExtras) throws RemoteException { public void onSessionExtrasChanged(int sequenceNumber, Bundle sessionExtras)
iController.onExtrasChanged(seq, sessionExtras); throws RemoteException {
iController.onExtrasChanged(sequenceNumber, sessionExtras);
} }
@Override @Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment