Only show "Enqueue next" when in the middle of the queue
Add a check that the queue position is not the last in the queue before showing "Enqueue next". Previously the "Enqueue next" action would always be shown if the queue length was greater than one, this meant even if you were at the end of the queue (when "Enqueue" would have the same effect as "Enqueue next") the action would still be shown.
This commit is contained in:
parent
1d53389ca9
commit
e5f30a07bf
2 changed files with 10 additions and 2 deletions
|
@ -252,10 +252,11 @@ public final class InfoItemDialog {
|
||||||
* @return the current {@link Builder} instance
|
* @return the current {@link Builder} instance
|
||||||
*/
|
*/
|
||||||
public Builder addEnqueueEntriesIfNeeded() {
|
public Builder addEnqueueEntriesIfNeeded() {
|
||||||
if (PlayerHolder.getInstance().isPlayQueueReady()) {
|
final PlayerHolder holder = PlayerHolder.getInstance();
|
||||||
|
if (holder.isPlayQueueReady()) {
|
||||||
addEntry(StreamDialogDefaultEntry.ENQUEUE);
|
addEntry(StreamDialogDefaultEntry.ENQUEUE);
|
||||||
|
|
||||||
if (PlayerHolder.getInstance().getQueueSize() > 1) {
|
if (holder.getQueuePosition() < holder.getQueueSize() - 1) {
|
||||||
addEntry(StreamDialogDefaultEntry.ENQUEUE_NEXT);
|
addEntry(StreamDialogDefaultEntry.ENQUEUE_NEXT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,6 +92,13 @@ public final class PlayerHolder {
|
||||||
return player.getPlayQueue().size();
|
return player.getPlayQueue().size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getQueuePosition() {
|
||||||
|
if (player == null || player.getPlayQueue() == null) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return player.getPlayQueue().getIndex();
|
||||||
|
}
|
||||||
|
|
||||||
public void setListener(@Nullable final PlayerServiceExtendedEventListener newListener) {
|
public void setListener(@Nullable final PlayerServiceExtendedEventListener newListener) {
|
||||||
listener = newListener;
|
listener = newListener;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue