Migrate usages of deprecated Player COMMAND_ constants
PiperOrigin-RevId: 401292817
This commit is contained in:
parent
d5f71a5dbd
commit
ee71c8387c
@ -96,7 +96,7 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
COMMAND_PLAY_PAUSE,
|
COMMAND_PLAY_PAUSE,
|
||||||
COMMAND_PREPARE_STOP,
|
COMMAND_PREPARE_STOP,
|
||||||
COMMAND_SEEK_TO_DEFAULT_POSITION,
|
COMMAND_SEEK_TO_DEFAULT_POSITION,
|
||||||
COMMAND_SEEK_TO_WINDOW,
|
COMMAND_SEEK_TO_MEDIA_ITEM,
|
||||||
COMMAND_SET_REPEAT_MODE,
|
COMMAND_SET_REPEAT_MODE,
|
||||||
COMMAND_SET_SPEED_AND_PITCH,
|
COMMAND_SET_SPEED_AND_PITCH,
|
||||||
COMMAND_GET_CURRENT_MEDIA_ITEM,
|
COMMAND_GET_CURRENT_MEDIA_ITEM,
|
||||||
|
@ -28,13 +28,13 @@ import static com.google.android.exoplayer2.Player.COMMAND_PLAY_PAUSE;
|
|||||||
import static com.google.android.exoplayer2.Player.COMMAND_PREPARE_STOP;
|
import static com.google.android.exoplayer2.Player.COMMAND_PREPARE_STOP;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_BACK;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_BACK;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_FORWARD;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_FORWARD;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_WINDOW;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_DEFAULT_POSITION;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_DEFAULT_POSITION;
|
||||||
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT_WINDOW;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS_WINDOW;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_WINDOW;
|
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SET_DEVICE_VOLUME;
|
import static com.google.android.exoplayer2.Player.COMMAND_SET_DEVICE_VOLUME;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SET_MEDIA_ITEMS_METADATA;
|
import static com.google.android.exoplayer2.Player.COMMAND_SET_MEDIA_ITEMS_METADATA;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SET_REPEAT_MODE;
|
import static com.google.android.exoplayer2.Player.COMMAND_SET_REPEAT_MODE;
|
||||||
@ -1317,12 +1317,12 @@ public class CastPlayerTest {
|
|||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_PLAY_PAUSE)).isTrue();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_PLAY_PAUSE)).isTrue();
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_PREPARE_STOP)).isTrue();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_PREPARE_STOP)).isTrue();
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_DEFAULT_POSITION)).isTrue();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_DEFAULT_POSITION)).isTrue();
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_WINDOW)).isTrue();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM)).isTrue();
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS_WINDOW)).isFalse();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM)).isFalse();
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS)).isTrue();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS)).isTrue();
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_NEXT_WINDOW)).isTrue();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM)).isTrue();
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_NEXT)).isTrue();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_NEXT)).isTrue();
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_WINDOW)).isTrue();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_MEDIA_ITEM)).isTrue();
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_BACK)).isTrue();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_BACK)).isTrue();
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_FORWARD)).isTrue();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_FORWARD)).isTrue();
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SET_SPEED_AND_PITCH)).isTrue();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_SET_SPEED_AND_PITCH)).isTrue();
|
||||||
@ -1360,7 +1360,7 @@ public class CastPlayerTest {
|
|||||||
durationsMs,
|
durationsMs,
|
||||||
/* positionMs= */ C.TIME_UNSET);
|
/* positionMs= */ C.TIME_UNSET);
|
||||||
|
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_WINDOW)).isFalse();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM)).isFalse();
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_BACK)).isFalse();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_BACK)).isFalse();
|
||||||
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_FORWARD)).isFalse();
|
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_FORWARD)).isFalse();
|
||||||
}
|
}
|
||||||
@ -1430,12 +1430,14 @@ public class CastPlayerTest {
|
|||||||
when(mockRemoteMediaClient.queueJumpToItem(anyInt(), anyLong(), eq(null)))
|
when(mockRemoteMediaClient.queueJumpToItem(anyInt(), anyLong(), eq(null)))
|
||||||
.thenReturn(mockPendingResult);
|
.thenReturn(mockPendingResult);
|
||||||
Player.Commands commandsWithSeekToPreviousWindow =
|
Player.Commands commandsWithSeekToPreviousWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_WINDOW);
|
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM);
|
||||||
Player.Commands commandsWithSeekToNextWindow =
|
Player.Commands commandsWithSeekToNextWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT);
|
||||||
Player.Commands commandsWithSeekToPreviousAndNextWindow =
|
Player.Commands commandsWithSeekToPreviousAndNextWindow =
|
||||||
createWithDefaultCommands(
|
createWithDefaultCommands(
|
||||||
COMMAND_SEEK_TO_PREVIOUS_WINDOW, COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM,
|
||||||
|
COMMAND_SEEK_TO_NEXT_MEDIA_ITEM,
|
||||||
|
COMMAND_SEEK_TO_NEXT);
|
||||||
int[] mediaQueueItemIds = new int[] {1, 2, 3, 4};
|
int[] mediaQueueItemIds = new int[] {1, 2, 3, 4};
|
||||||
List<MediaItem> mediaItems = createMediaItems(mediaQueueItemIds);
|
List<MediaItem> mediaItems = createMediaItems(mediaQueueItemIds);
|
||||||
|
|
||||||
@ -1462,12 +1464,14 @@ public class CastPlayerTest {
|
|||||||
when(mockRemoteMediaClient.queueJumpToItem(anyInt(), anyLong(), eq(null)))
|
when(mockRemoteMediaClient.queueJumpToItem(anyInt(), anyLong(), eq(null)))
|
||||||
.thenReturn(mockPendingResult);
|
.thenReturn(mockPendingResult);
|
||||||
Player.Commands commandsWithSeekToPreviousWindow =
|
Player.Commands commandsWithSeekToPreviousWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_WINDOW);
|
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM);
|
||||||
Player.Commands commandsWithSeekToNextWindow =
|
Player.Commands commandsWithSeekToNextWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT);
|
||||||
Player.Commands commandsWithSeekToPreviousAndNextWindow =
|
Player.Commands commandsWithSeekToPreviousAndNextWindow =
|
||||||
createWithDefaultCommands(
|
createWithDefaultCommands(
|
||||||
COMMAND_SEEK_TO_PREVIOUS_WINDOW, COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM,
|
||||||
|
COMMAND_SEEK_TO_NEXT_MEDIA_ITEM,
|
||||||
|
COMMAND_SEEK_TO_NEXT);
|
||||||
int[] mediaQueueItemIds = new int[] {1, 2, 3, 4};
|
int[] mediaQueueItemIds = new int[] {1, 2, 3, 4};
|
||||||
List<MediaItem> mediaItems = createMediaItems(mediaQueueItemIds);
|
List<MediaItem> mediaItems = createMediaItems(mediaQueueItemIds);
|
||||||
|
|
||||||
@ -1511,7 +1515,7 @@ public class CastPlayerTest {
|
|||||||
public void addMediaItem_atTheEnd_notifiesAvailableCommandsChanged() {
|
public void addMediaItem_atTheEnd_notifiesAvailableCommandsChanged() {
|
||||||
Player.Commands defaultCommands = createWithDefaultCommands();
|
Player.Commands defaultCommands = createWithDefaultCommands();
|
||||||
Player.Commands commandsWithSeekToNextWindow =
|
Player.Commands commandsWithSeekToNextWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT);
|
||||||
MediaItem mediaItem1 = createMediaItem(/* mediaQueueItemId= */ 1);
|
MediaItem mediaItem1 = createMediaItem(/* mediaQueueItemId= */ 1);
|
||||||
MediaItem mediaItem2 = createMediaItem(/* mediaQueueItemId= */ 2);
|
MediaItem mediaItem2 = createMediaItem(/* mediaQueueItemId= */ 2);
|
||||||
MediaItem mediaItem3 = createMediaItem(/* mediaQueueItemId= */ 3);
|
MediaItem mediaItem3 = createMediaItem(/* mediaQueueItemId= */ 3);
|
||||||
@ -1545,7 +1549,7 @@ public class CastPlayerTest {
|
|||||||
public void addMediaItem_atTheStart_notifiesAvailableCommandsChanged() {
|
public void addMediaItem_atTheStart_notifiesAvailableCommandsChanged() {
|
||||||
Player.Commands defaultCommands = createWithDefaultCommands();
|
Player.Commands defaultCommands = createWithDefaultCommands();
|
||||||
Player.Commands commandsWithSeekToPreviousWindow =
|
Player.Commands commandsWithSeekToPreviousWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_WINDOW);
|
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM);
|
||||||
MediaItem mediaItem1 = createMediaItem(/* mediaQueueItemId= */ 1);
|
MediaItem mediaItem1 = createMediaItem(/* mediaQueueItemId= */ 1);
|
||||||
MediaItem mediaItem2 = createMediaItem(/* mediaQueueItemId= */ 2);
|
MediaItem mediaItem2 = createMediaItem(/* mediaQueueItemId= */ 2);
|
||||||
MediaItem mediaItem3 = createMediaItem(/* mediaQueueItemId= */ 3);
|
MediaItem mediaItem3 = createMediaItem(/* mediaQueueItemId= */ 3);
|
||||||
@ -1579,7 +1583,7 @@ public class CastPlayerTest {
|
|||||||
public void removeMediaItem_atTheEnd_notifiesAvailableCommandsChanged() {
|
public void removeMediaItem_atTheEnd_notifiesAvailableCommandsChanged() {
|
||||||
Player.Commands defaultCommands = createWithDefaultCommands();
|
Player.Commands defaultCommands = createWithDefaultCommands();
|
||||||
Player.Commands commandsWithSeekToNextWindow =
|
Player.Commands commandsWithSeekToNextWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT);
|
||||||
Player.Commands emptyTimelineCommands = createWithDefaultCommands(/* isTimelineEmpty= */ true);
|
Player.Commands emptyTimelineCommands = createWithDefaultCommands(/* isTimelineEmpty= */ true);
|
||||||
MediaItem mediaItem1 = createMediaItem(/* mediaQueueItemId= */ 1);
|
MediaItem mediaItem1 = createMediaItem(/* mediaQueueItemId= */ 1);
|
||||||
MediaItem mediaItem2 = createMediaItem(/* mediaQueueItemId= */ 2);
|
MediaItem mediaItem2 = createMediaItem(/* mediaQueueItemId= */ 2);
|
||||||
@ -1624,7 +1628,7 @@ public class CastPlayerTest {
|
|||||||
.thenReturn(mockPendingResult);
|
.thenReturn(mockPendingResult);
|
||||||
Player.Commands defaultCommands = createWithDefaultCommands();
|
Player.Commands defaultCommands = createWithDefaultCommands();
|
||||||
Player.Commands commandsWithSeekToPreviousWindow =
|
Player.Commands commandsWithSeekToPreviousWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_WINDOW);
|
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM);
|
||||||
Player.Commands emptyTimelineCommands = createWithDefaultCommands(/* isTimelineEmpty= */ true);
|
Player.Commands emptyTimelineCommands = createWithDefaultCommands(/* isTimelineEmpty= */ true);
|
||||||
MediaItem mediaItem1 = createMediaItem(/* mediaQueueItemId= */ 1);
|
MediaItem mediaItem1 = createMediaItem(/* mediaQueueItemId= */ 1);
|
||||||
MediaItem mediaItem2 = createMediaItem(/* mediaQueueItemId= */ 2);
|
MediaItem mediaItem2 = createMediaItem(/* mediaQueueItemId= */ 2);
|
||||||
@ -1667,7 +1671,7 @@ public class CastPlayerTest {
|
|||||||
public void removeMediaItem_current_notifiesAvailableCommandsChanged() {
|
public void removeMediaItem_current_notifiesAvailableCommandsChanged() {
|
||||||
Player.Commands defaultCommands = createWithDefaultCommands();
|
Player.Commands defaultCommands = createWithDefaultCommands();
|
||||||
Player.Commands commandsWithSeekToNextWindow =
|
Player.Commands commandsWithSeekToNextWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT);
|
||||||
MediaItem mediaItem1 = createMediaItem(/* mediaQueueItemId= */ 1);
|
MediaItem mediaItem1 = createMediaItem(/* mediaQueueItemId= */ 1);
|
||||||
MediaItem mediaItem2 = createMediaItem(/* mediaQueueItemId= */ 2);
|
MediaItem mediaItem2 = createMediaItem(/* mediaQueueItemId= */ 2);
|
||||||
|
|
||||||
@ -1696,7 +1700,9 @@ public class CastPlayerTest {
|
|||||||
Player.Commands defaultCommands = createWithDefaultCommands();
|
Player.Commands defaultCommands = createWithDefaultCommands();
|
||||||
Player.Commands commandsWithSeekToPreviousAndNextWindow =
|
Player.Commands commandsWithSeekToPreviousAndNextWindow =
|
||||||
createWithDefaultCommands(
|
createWithDefaultCommands(
|
||||||
COMMAND_SEEK_TO_PREVIOUS_WINDOW, COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM,
|
||||||
|
COMMAND_SEEK_TO_NEXT_MEDIA_ITEM,
|
||||||
|
COMMAND_SEEK_TO_NEXT);
|
||||||
int[] mediaQueueItemIds = new int[] {1};
|
int[] mediaQueueItemIds = new int[] {1};
|
||||||
List<MediaItem> mediaItems = createMediaItems(mediaQueueItemIds);
|
List<MediaItem> mediaItems = createMediaItems(mediaQueueItemIds);
|
||||||
|
|
||||||
@ -1821,7 +1827,7 @@ public class CastPlayerTest {
|
|||||||
Player.Commands.Builder builder = new Player.Commands.Builder();
|
Player.Commands.Builder builder = new Player.Commands.Builder();
|
||||||
builder.addAll(CastPlayer.PERMANENT_AVAILABLE_COMMANDS);
|
builder.addAll(CastPlayer.PERMANENT_AVAILABLE_COMMANDS);
|
||||||
if (!isTimelineEmpty) {
|
if (!isTimelineEmpty) {
|
||||||
builder.add(COMMAND_SEEK_IN_CURRENT_WINDOW);
|
builder.add(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM);
|
||||||
builder.add(COMMAND_SEEK_TO_PREVIOUS);
|
builder.add(COMMAND_SEEK_TO_PREVIOUS);
|
||||||
builder.add(COMMAND_SEEK_BACK);
|
builder.add(COMMAND_SEEK_BACK);
|
||||||
builder.add(COMMAND_SEEK_FORWARD);
|
builder.add(COMMAND_SEEK_FORWARD);
|
||||||
|
@ -17,10 +17,10 @@ package com.google.android.exoplayer2.ext.media2;
|
|||||||
|
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_GET_AUDIO_ATTRIBUTES;
|
import static com.google.android.exoplayer2.Player.COMMAND_GET_AUDIO_ATTRIBUTES;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_PLAY_PAUSE;
|
import static com.google.android.exoplayer2.Player.COMMAND_PLAY_PAUSE;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_WINDOW;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM;
|
||||||
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_WINDOW;
|
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SET_REPEAT_MODE;
|
import static com.google.android.exoplayer2.Player.COMMAND_SET_REPEAT_MODE;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SET_SHUFFLE_MODE;
|
import static com.google.android.exoplayer2.Player.COMMAND_SET_SHUFFLE_MODE;
|
||||||
import static com.google.android.exoplayer2.util.Util.postOrRun;
|
import static com.google.android.exoplayer2.util.Util.postOrRun;
|
||||||
@ -264,7 +264,7 @@ import java.util.List;
|
|||||||
Assertions.checkState(0 <= index && index < timeline.getWindowCount());
|
Assertions.checkState(0 <= index && index < timeline.getWindowCount());
|
||||||
int windowIndex = player.getCurrentWindowIndex();
|
int windowIndex = player.getCurrentWindowIndex();
|
||||||
if (windowIndex != index) {
|
if (windowIndex != index) {
|
||||||
return player.isCommandAvailable(COMMAND_SEEK_TO_WINDOW)
|
return player.isCommandAvailable(COMMAND_SEEK_TO_MEDIA_ITEM)
|
||||||
&& controlDispatcher.dispatchSeekTo(player, index, C.TIME_UNSET);
|
&& controlDispatcher.dispatchSeekTo(player, index, C.TIME_UNSET);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -334,7 +334,7 @@ import java.util.List;
|
|||||||
public boolean play() {
|
public boolean play() {
|
||||||
if (player.getPlaybackState() == Player.STATE_ENDED) {
|
if (player.getPlaybackState() == Player.STATE_ENDED) {
|
||||||
boolean seekHandled =
|
boolean seekHandled =
|
||||||
player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_WINDOW)
|
player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM)
|
||||||
&& controlDispatcher.dispatchSeekTo(
|
&& controlDispatcher.dispatchSeekTo(
|
||||||
player, player.getCurrentWindowIndex(), /* positionMs= */ 0);
|
player, player.getCurrentWindowIndex(), /* positionMs= */ 0);
|
||||||
if (!seekHandled) {
|
if (!seekHandled) {
|
||||||
@ -361,7 +361,7 @@ import java.util.List;
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean seekTo(long position) {
|
public boolean seekTo(long position) {
|
||||||
return player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_WINDOW)
|
return player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM)
|
||||||
&& controlDispatcher.dispatchSeekTo(player, player.getCurrentWindowIndex(), position);
|
&& controlDispatcher.dispatchSeekTo(player, player.getCurrentWindowIndex(), position);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ package com.google.android.exoplayer2.ext.mediasession;
|
|||||||
import static androidx.media.utils.MediaConstants.PLAYBACK_STATE_EXTRAS_KEY_MEDIA_ID;
|
import static androidx.media.utils.MediaConstants.PLAYBACK_STATE_EXTRAS_KEY_MEDIA_ID;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_BACK;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_BACK;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_FORWARD;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_FORWARD;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_WINDOW;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.EVENT_IS_PLAYING_CHANGED;
|
import static com.google.android.exoplayer2.Player.EVENT_IS_PLAYING_CHANGED;
|
||||||
import static com.google.android.exoplayer2.Player.EVENT_PLAYBACK_PARAMETERS_CHANGED;
|
import static com.google.android.exoplayer2.Player.EVENT_PLAYBACK_PARAMETERS_CHANGED;
|
||||||
import static com.google.android.exoplayer2.Player.EVENT_PLAYBACK_STATE_CHANGED;
|
import static com.google.android.exoplayer2.Player.EVENT_PLAYBACK_STATE_CHANGED;
|
||||||
@ -931,7 +931,7 @@ public final class MediaSessionConnector {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private long buildPlaybackActions(Player player) {
|
private long buildPlaybackActions(Player player) {
|
||||||
boolean enableSeeking = player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_WINDOW);
|
boolean enableSeeking = player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM);
|
||||||
boolean enableRewind =
|
boolean enableRewind =
|
||||||
player.isCommandAvailable(COMMAND_SEEK_BACK) && controlDispatcher.isRewindEnabled();
|
player.isCommandAvailable(COMMAND_SEEK_BACK) && controlDispatcher.isRewindEnabled();
|
||||||
boolean enableFastForward =
|
boolean enableFastForward =
|
||||||
|
@ -15,9 +15,9 @@
|
|||||||
*/
|
*/
|
||||||
package com.google.android.exoplayer2.ext.mediasession;
|
package com.google.android.exoplayer2.ext.mediasession;
|
||||||
|
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_WINDOW;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT_WINDOW;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS_WINDOW;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM;
|
||||||
import static java.lang.Math.min;
|
import static java.lang.Math.min;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@ -102,12 +102,12 @@ public abstract class TimelineQueueNavigator implements MediaSessionConnector.Qu
|
|||||||
timeline.getWindow(player.getCurrentWindowIndex(), window);
|
timeline.getWindow(player.getCurrentWindowIndex(), window);
|
||||||
enableSkipTo = timeline.getWindowCount() > 1;
|
enableSkipTo = timeline.getWindowCount() > 1;
|
||||||
enablePrevious =
|
enablePrevious =
|
||||||
player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_WINDOW)
|
player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM)
|
||||||
|| !window.isLive()
|
|| !window.isLive()
|
||||||
|| player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS_WINDOW);
|
|| player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM);
|
||||||
enableNext =
|
enableNext =
|
||||||
(window.isLive() && window.isDynamic)
|
(window.isLive() && window.isDynamic)
|
||||||
|| player.isCommandAvailable(COMMAND_SEEK_TO_NEXT_WINDOW);
|
|| player.isCommandAvailable(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM);
|
||||||
}
|
}
|
||||||
|
|
||||||
long actions = 0;
|
long actions = 0;
|
||||||
|
@ -389,20 +389,20 @@ public abstract class BasePlayer implements Player {
|
|||||||
return new Commands.Builder()
|
return new Commands.Builder()
|
||||||
.addAll(permanentAvailableCommands)
|
.addAll(permanentAvailableCommands)
|
||||||
.addIf(COMMAND_SEEK_TO_DEFAULT_POSITION, !isPlayingAd())
|
.addIf(COMMAND_SEEK_TO_DEFAULT_POSITION, !isPlayingAd())
|
||||||
.addIf(COMMAND_SEEK_IN_CURRENT_WINDOW, isCurrentWindowSeekable() && !isPlayingAd())
|
.addIf(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM, isCurrentWindowSeekable() && !isPlayingAd())
|
||||||
.addIf(COMMAND_SEEK_TO_PREVIOUS_WINDOW, hasPreviousWindow() && !isPlayingAd())
|
.addIf(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM, hasPreviousWindow() && !isPlayingAd())
|
||||||
.addIf(
|
.addIf(
|
||||||
COMMAND_SEEK_TO_PREVIOUS,
|
COMMAND_SEEK_TO_PREVIOUS,
|
||||||
!getCurrentTimeline().isEmpty()
|
!getCurrentTimeline().isEmpty()
|
||||||
&& (hasPreviousWindow() || !isCurrentWindowLive() || isCurrentWindowSeekable())
|
&& (hasPreviousWindow() || !isCurrentWindowLive() || isCurrentWindowSeekable())
|
||||||
&& !isPlayingAd())
|
&& !isPlayingAd())
|
||||||
.addIf(COMMAND_SEEK_TO_NEXT_WINDOW, hasNextWindow() && !isPlayingAd())
|
.addIf(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, hasNextWindow() && !isPlayingAd())
|
||||||
.addIf(
|
.addIf(
|
||||||
COMMAND_SEEK_TO_NEXT,
|
COMMAND_SEEK_TO_NEXT,
|
||||||
!getCurrentTimeline().isEmpty()
|
!getCurrentTimeline().isEmpty()
|
||||||
&& (hasNextWindow() || (isCurrentWindowLive() && isCurrentWindowDynamic()))
|
&& (hasNextWindow() || (isCurrentWindowLive() && isCurrentWindowDynamic()))
|
||||||
&& !isPlayingAd())
|
&& !isPlayingAd())
|
||||||
.addIf(COMMAND_SEEK_TO_WINDOW, !isPlayingAd())
|
.addIf(COMMAND_SEEK_TO_MEDIA_ITEM, !isPlayingAd())
|
||||||
.addIf(COMMAND_SEEK_BACK, isCurrentWindowSeekable() && !isPlayingAd())
|
.addIf(COMMAND_SEEK_BACK, isCurrentWindowSeekable() && !isPlayingAd())
|
||||||
.addIf(COMMAND_SEEK_FORWARD, isCurrentWindowSeekable() && !isPlayingAd())
|
.addIf(COMMAND_SEEK_FORWARD, isCurrentWindowSeekable() && !isPlayingAd())
|
||||||
.build();
|
.build();
|
||||||
|
@ -220,7 +220,7 @@ import java.util.concurrent.CopyOnWriteArraySet;
|
|||||||
new Commands.Builder()
|
new Commands.Builder()
|
||||||
.addAll(permanentAvailableCommands)
|
.addAll(permanentAvailableCommands)
|
||||||
.add(COMMAND_SEEK_TO_DEFAULT_POSITION)
|
.add(COMMAND_SEEK_TO_DEFAULT_POSITION)
|
||||||
.add(COMMAND_SEEK_TO_WINDOW)
|
.add(COMMAND_SEEK_TO_MEDIA_ITEM)
|
||||||
.build();
|
.build();
|
||||||
mediaMetadata = MediaMetadata.EMPTY;
|
mediaMetadata = MediaMetadata.EMPTY;
|
||||||
playlistMetadata = MediaMetadata.EMPTY;
|
playlistMetadata = MediaMetadata.EMPTY;
|
||||||
|
@ -29,13 +29,13 @@ import static com.google.android.exoplayer2.Player.COMMAND_PLAY_PAUSE;
|
|||||||
import static com.google.android.exoplayer2.Player.COMMAND_PREPARE_STOP;
|
import static com.google.android.exoplayer2.Player.COMMAND_PREPARE_STOP;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_BACK;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_BACK;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_FORWARD;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_FORWARD;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_WINDOW;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_DEFAULT_POSITION;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_DEFAULT_POSITION;
|
||||||
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT_WINDOW;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS_WINDOW;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_WINDOW;
|
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SET_DEVICE_VOLUME;
|
import static com.google.android.exoplayer2.Player.COMMAND_SET_DEVICE_VOLUME;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SET_MEDIA_ITEMS_METADATA;
|
import static com.google.android.exoplayer2.Player.COMMAND_SET_MEDIA_ITEMS_METADATA;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SET_REPEAT_MODE;
|
import static com.google.android.exoplayer2.Player.COMMAND_SET_REPEAT_MODE;
|
||||||
@ -8320,12 +8320,12 @@ public final class ExoPlayerTest {
|
|||||||
assertThat(player.isCommandAvailable(COMMAND_PLAY_PAUSE)).isTrue();
|
assertThat(player.isCommandAvailable(COMMAND_PLAY_PAUSE)).isTrue();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_PREPARE_STOP)).isTrue();
|
assertThat(player.isCommandAvailable(COMMAND_PREPARE_STOP)).isTrue();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_DEFAULT_POSITION)).isTrue();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_DEFAULT_POSITION)).isTrue();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_WINDOW)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM)).isFalse();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS_WINDOW)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM)).isFalse();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS)).isTrue();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS)).isTrue();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_NEXT_WINDOW)).isTrue();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM)).isTrue();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_NEXT)).isTrue();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_NEXT)).isTrue();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_WINDOW)).isTrue();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_MEDIA_ITEM)).isTrue();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_BACK)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_BACK)).isFalse();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_FORWARD)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_FORWARD)).isFalse();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SET_SPEED_AND_PITCH)).isTrue();
|
assertThat(player.isCommandAvailable(COMMAND_SET_SPEED_AND_PITCH)).isTrue();
|
||||||
@ -8373,12 +8373,12 @@ public final class ExoPlayerTest {
|
|||||||
player.prepare();
|
player.prepare();
|
||||||
runUntilPlaybackState(player, Player.STATE_READY);
|
runUntilPlaybackState(player, Player.STATE_READY);
|
||||||
|
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_WINDOW)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM)).isFalse();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS_WINDOW)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM)).isFalse();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS)).isFalse();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_NEXT_WINDOW)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM)).isFalse();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_NEXT)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_NEXT)).isFalse();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_WINDOW)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_MEDIA_ITEM)).isFalse();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_BACK)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_BACK)).isFalse();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_FORWARD)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_FORWARD)).isFalse();
|
||||||
}
|
}
|
||||||
@ -8398,7 +8398,7 @@ public final class ExoPlayerTest {
|
|||||||
player.prepare();
|
player.prepare();
|
||||||
runUntilPlaybackState(player, Player.STATE_READY);
|
runUntilPlaybackState(player, Player.STATE_READY);
|
||||||
|
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_WINDOW)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM)).isFalse();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_BACK)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_BACK)).isFalse();
|
||||||
assertThat(player.isCommandAvailable(COMMAND_SEEK_FORWARD)).isFalse();
|
assertThat(player.isCommandAvailable(COMMAND_SEEK_FORWARD)).isFalse();
|
||||||
}
|
}
|
||||||
@ -8483,12 +8483,14 @@ public final class ExoPlayerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void seekTo_nextWindow_notifiesAvailableCommandsChanged() {
|
public void seekTo_nextWindow_notifiesAvailableCommandsChanged() {
|
||||||
Player.Commands commandsWithSeekToPreviousWindow =
|
Player.Commands commandsWithSeekToPreviousWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_WINDOW);
|
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM);
|
||||||
Player.Commands commandsWithSeekToNextWindow =
|
Player.Commands commandsWithSeekToNextWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT);
|
||||||
Player.Commands commandsWithSeekToPreviousAndNextWindow =
|
Player.Commands commandsWithSeekToPreviousAndNextWindow =
|
||||||
createWithDefaultCommands(
|
createWithDefaultCommands(
|
||||||
COMMAND_SEEK_TO_PREVIOUS_WINDOW, COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM,
|
||||||
|
COMMAND_SEEK_TO_NEXT_MEDIA_ITEM,
|
||||||
|
COMMAND_SEEK_TO_NEXT);
|
||||||
Player.Listener mockListener = mock(Player.Listener.class);
|
Player.Listener mockListener = mock(Player.Listener.class);
|
||||||
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
||||||
player.addListener(mockListener);
|
player.addListener(mockListener);
|
||||||
@ -8518,12 +8520,14 @@ public final class ExoPlayerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void seekTo_previousWindow_notifiesAvailableCommandsChanged() {
|
public void seekTo_previousWindow_notifiesAvailableCommandsChanged() {
|
||||||
Player.Commands commandsWithSeekToPreviousWindow =
|
Player.Commands commandsWithSeekToPreviousWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_WINDOW);
|
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM);
|
||||||
Player.Commands commandsWithSeekToNextWindow =
|
Player.Commands commandsWithSeekToNextWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT);
|
||||||
Player.Commands commandsWithSeekToPreviousAndNextWindow =
|
Player.Commands commandsWithSeekToPreviousAndNextWindow =
|
||||||
createWithDefaultCommands(
|
createWithDefaultCommands(
|
||||||
COMMAND_SEEK_TO_PREVIOUS_WINDOW, COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM,
|
||||||
|
COMMAND_SEEK_TO_NEXT_MEDIA_ITEM,
|
||||||
|
COMMAND_SEEK_TO_NEXT);
|
||||||
Player.Listener mockListener = mock(Player.Listener.class);
|
Player.Listener mockListener = mock(Player.Listener.class);
|
||||||
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
||||||
player.addListener(mockListener);
|
player.addListener(mockListener);
|
||||||
@ -8570,25 +8574,25 @@ public final class ExoPlayerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void automaticWindowTransition_notifiesAvailableCommandsChanged() throws Exception {
|
public void automaticWindowTransition_notifiesAvailableCommandsChanged() throws Exception {
|
||||||
Player.Commands commandsWithSeekToNextWindow =
|
Player.Commands commandsWithSeekToNextWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT);
|
||||||
Player.Commands commandsWithSeekInCurrentAndToNextWindow =
|
Player.Commands commandsWithSeekInCurrentAndToNextWindow =
|
||||||
createWithDefaultCommands(
|
createWithDefaultCommands(
|
||||||
COMMAND_SEEK_IN_CURRENT_WINDOW,
|
COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM,
|
||||||
COMMAND_SEEK_TO_NEXT_WINDOW,
|
COMMAND_SEEK_TO_NEXT_MEDIA_ITEM,
|
||||||
COMMAND_SEEK_TO_NEXT,
|
COMMAND_SEEK_TO_NEXT,
|
||||||
COMMAND_SEEK_BACK,
|
COMMAND_SEEK_BACK,
|
||||||
COMMAND_SEEK_FORWARD);
|
COMMAND_SEEK_FORWARD);
|
||||||
Player.Commands commandsWithSeekInCurrentAndToPreviousWindow =
|
Player.Commands commandsWithSeekInCurrentAndToPreviousWindow =
|
||||||
createWithDefaultCommands(
|
createWithDefaultCommands(
|
||||||
COMMAND_SEEK_IN_CURRENT_WINDOW,
|
COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM,
|
||||||
COMMAND_SEEK_TO_PREVIOUS_WINDOW,
|
COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM,
|
||||||
COMMAND_SEEK_BACK,
|
COMMAND_SEEK_BACK,
|
||||||
COMMAND_SEEK_FORWARD);
|
COMMAND_SEEK_FORWARD);
|
||||||
Player.Commands commandsWithSeekAnywhere =
|
Player.Commands commandsWithSeekAnywhere =
|
||||||
createWithDefaultCommands(
|
createWithDefaultCommands(
|
||||||
COMMAND_SEEK_IN_CURRENT_WINDOW,
|
COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM,
|
||||||
COMMAND_SEEK_TO_PREVIOUS_WINDOW,
|
COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM,
|
||||||
COMMAND_SEEK_TO_NEXT_WINDOW,
|
COMMAND_SEEK_TO_NEXT_MEDIA_ITEM,
|
||||||
COMMAND_SEEK_TO_NEXT,
|
COMMAND_SEEK_TO_NEXT,
|
||||||
COMMAND_SEEK_BACK,
|
COMMAND_SEEK_BACK,
|
||||||
COMMAND_SEEK_FORWARD);
|
COMMAND_SEEK_FORWARD);
|
||||||
@ -8630,7 +8634,7 @@ public final class ExoPlayerTest {
|
|||||||
public void addMediaSource_atTheEnd_notifiesAvailableCommandsChanged() {
|
public void addMediaSource_atTheEnd_notifiesAvailableCommandsChanged() {
|
||||||
Player.Commands defaultCommands = createWithDefaultCommands();
|
Player.Commands defaultCommands = createWithDefaultCommands();
|
||||||
Player.Commands commandsWithSeekToNextWindow =
|
Player.Commands commandsWithSeekToNextWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT);
|
||||||
Player.Listener mockListener = mock(Player.Listener.class);
|
Player.Listener mockListener = mock(Player.Listener.class);
|
||||||
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
||||||
player.addListener(mockListener);
|
player.addListener(mockListener);
|
||||||
@ -8652,7 +8656,7 @@ public final class ExoPlayerTest {
|
|||||||
public void addMediaSource_atTheStart_notifiesAvailableCommandsChanged() {
|
public void addMediaSource_atTheStart_notifiesAvailableCommandsChanged() {
|
||||||
Player.Commands defaultCommands = createWithDefaultCommands();
|
Player.Commands defaultCommands = createWithDefaultCommands();
|
||||||
Player.Commands commandsWithSeekToPreviousWindow =
|
Player.Commands commandsWithSeekToPreviousWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_WINDOW);
|
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM);
|
||||||
Player.Listener mockListener = mock(Player.Listener.class);
|
Player.Listener mockListener = mock(Player.Listener.class);
|
||||||
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
||||||
player.addListener(mockListener);
|
player.addListener(mockListener);
|
||||||
@ -8674,7 +8678,7 @@ public final class ExoPlayerTest {
|
|||||||
public void removeMediaItem_atTheEnd_notifiesAvailableCommandsChanged() {
|
public void removeMediaItem_atTheEnd_notifiesAvailableCommandsChanged() {
|
||||||
Player.Commands defaultCommands = createWithDefaultCommands();
|
Player.Commands defaultCommands = createWithDefaultCommands();
|
||||||
Player.Commands commandsWithSeekToNextWindow =
|
Player.Commands commandsWithSeekToNextWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT);
|
||||||
Player.Commands emptyTimelineCommands = createWithDefaultCommands(/* isTimelineEmpty */ true);
|
Player.Commands emptyTimelineCommands = createWithDefaultCommands(/* isTimelineEmpty */ true);
|
||||||
Player.Listener mockListener = mock(Player.Listener.class);
|
Player.Listener mockListener = mock(Player.Listener.class);
|
||||||
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
||||||
@ -8702,7 +8706,7 @@ public final class ExoPlayerTest {
|
|||||||
public void removeMediaItem_atTheStart_notifiesAvailableCommandsChanged() {
|
public void removeMediaItem_atTheStart_notifiesAvailableCommandsChanged() {
|
||||||
Player.Commands defaultCommands = createWithDefaultCommands();
|
Player.Commands defaultCommands = createWithDefaultCommands();
|
||||||
Player.Commands commandsWithSeekToPreviousWindow =
|
Player.Commands commandsWithSeekToPreviousWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_WINDOW);
|
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM);
|
||||||
Player.Commands emptyTimelineCommands = createWithDefaultCommands(/* isTimelineEmpty */ true);
|
Player.Commands emptyTimelineCommands = createWithDefaultCommands(/* isTimelineEmpty */ true);
|
||||||
Player.Listener mockListener = mock(Player.Listener.class);
|
Player.Listener mockListener = mock(Player.Listener.class);
|
||||||
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
||||||
@ -8731,7 +8735,7 @@ public final class ExoPlayerTest {
|
|||||||
public void removeMediaItem_current_notifiesAvailableCommandsChanged() {
|
public void removeMediaItem_current_notifiesAvailableCommandsChanged() {
|
||||||
Player.Commands defaultCommands = createWithDefaultCommands();
|
Player.Commands defaultCommands = createWithDefaultCommands();
|
||||||
Player.Commands commandsWithSeekToNextWindow =
|
Player.Commands commandsWithSeekToNextWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT);
|
||||||
Player.Listener mockListener = mock(Player.Listener.class);
|
Player.Listener mockListener = mock(Player.Listener.class);
|
||||||
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
||||||
player.addListener(mockListener);
|
player.addListener(mockListener);
|
||||||
@ -8751,7 +8755,9 @@ public final class ExoPlayerTest {
|
|||||||
Player.Commands defaultCommands = createWithDefaultCommands();
|
Player.Commands defaultCommands = createWithDefaultCommands();
|
||||||
Player.Commands commandsWithSeekToPreviousAndNextWindow =
|
Player.Commands commandsWithSeekToPreviousAndNextWindow =
|
||||||
createWithDefaultCommands(
|
createWithDefaultCommands(
|
||||||
COMMAND_SEEK_TO_PREVIOUS_WINDOW, COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM,
|
||||||
|
COMMAND_SEEK_TO_NEXT_MEDIA_ITEM,
|
||||||
|
COMMAND_SEEK_TO_NEXT);
|
||||||
Player.Listener mockListener = mock(Player.Listener.class);
|
Player.Listener mockListener = mock(Player.Listener.class);
|
||||||
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
||||||
player.addListener(mockListener);
|
player.addListener(mockListener);
|
||||||
@ -8783,9 +8789,9 @@ public final class ExoPlayerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void setShuffleModeEnabled_notifiesAvailableCommandsChanged() {
|
public void setShuffleModeEnabled_notifiesAvailableCommandsChanged() {
|
||||||
Player.Commands commandsWithSeekToPreviousWindow =
|
Player.Commands commandsWithSeekToPreviousWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_WINDOW);
|
createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM);
|
||||||
Player.Commands commandsWithSeekToNextWindow =
|
Player.Commands commandsWithSeekToNextWindow =
|
||||||
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_WINDOW, COMMAND_SEEK_TO_NEXT);
|
createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT);
|
||||||
Player.Listener mockListener = mock(Player.Listener.class);
|
Player.Listener mockListener = mock(Player.Listener.class);
|
||||||
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
||||||
player.addListener(mockListener);
|
player.addListener(mockListener);
|
||||||
@ -11223,7 +11229,7 @@ public final class ExoPlayerTest {
|
|||||||
COMMAND_PLAY_PAUSE,
|
COMMAND_PLAY_PAUSE,
|
||||||
COMMAND_PREPARE_STOP,
|
COMMAND_PREPARE_STOP,
|
||||||
COMMAND_SEEK_TO_DEFAULT_POSITION,
|
COMMAND_SEEK_TO_DEFAULT_POSITION,
|
||||||
COMMAND_SEEK_TO_WINDOW,
|
COMMAND_SEEK_TO_MEDIA_ITEM,
|
||||||
COMMAND_SET_SPEED_AND_PITCH,
|
COMMAND_SET_SPEED_AND_PITCH,
|
||||||
COMMAND_SET_SHUFFLE_MODE,
|
COMMAND_SET_SHUFFLE_MODE,
|
||||||
COMMAND_SET_REPEAT_MODE,
|
COMMAND_SET_REPEAT_MODE,
|
||||||
|
@ -17,7 +17,7 @@ package com.google.android.exoplayer2.ui;
|
|||||||
|
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_BACK;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_BACK;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_FORWARD;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_FORWARD;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_WINDOW;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS;
|
||||||
import static com.google.android.exoplayer2.Player.EVENT_AVAILABLE_COMMANDS_CHANGED;
|
import static com.google.android.exoplayer2.Player.EVENT_AVAILABLE_COMMANDS_CHANGED;
|
||||||
@ -880,7 +880,7 @@ public class PlayerControlView extends FrameLayout {
|
|||||||
boolean enableFastForward = false;
|
boolean enableFastForward = false;
|
||||||
boolean enableNext = false;
|
boolean enableNext = false;
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
enableSeeking = player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_WINDOW);
|
enableSeeking = player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM);
|
||||||
enablePrevious = player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS);
|
enablePrevious = player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS);
|
||||||
enableRewind =
|
enableRewind =
|
||||||
player.isCommandAvailable(COMMAND_SEEK_BACK) && controlDispatcher.isRewindEnabled();
|
player.isCommandAvailable(COMMAND_SEEK_BACK) && controlDispatcher.isRewindEnabled();
|
||||||
|
@ -17,7 +17,7 @@ package com.google.android.exoplayer2.ui;
|
|||||||
|
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_BACK;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_BACK;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_FORWARD;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_FORWARD;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_WINDOW;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_NEXT;
|
||||||
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS;
|
import static com.google.android.exoplayer2.Player.COMMAND_SEEK_TO_PREVIOUS;
|
||||||
import static com.google.android.exoplayer2.Player.EVENT_AVAILABLE_COMMANDS_CHANGED;
|
import static com.google.android.exoplayer2.Player.EVENT_AVAILABLE_COMMANDS_CHANGED;
|
||||||
@ -1126,7 +1126,7 @@ public class StyledPlayerControlView extends FrameLayout {
|
|||||||
boolean enableFastForward = false;
|
boolean enableFastForward = false;
|
||||||
boolean enableNext = false;
|
boolean enableNext = false;
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
enableSeeking = player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_WINDOW);
|
enableSeeking = player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM);
|
||||||
enablePrevious = player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS);
|
enablePrevious = player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS);
|
||||||
enableRewind =
|
enableRewind =
|
||||||
player.isCommandAvailable(COMMAND_SEEK_BACK) && controlDispatcher.isRewindEnabled();
|
player.isCommandAvailable(COMMAND_SEEK_BACK) && controlDispatcher.isRewindEnabled();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user