Skip to content

Commit 52ff052

Browse files
Merge pull request #12347 from Isira-Seneviratne/PlayQueueItem-equals
Add PlayQueueItem equals and hashCode
2 parents 840084d + 31f8dd0 commit 52ff052

9 files changed

Lines changed: 587 additions & 722 deletions

File tree

app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -852,8 +852,7 @@ private void runWorker(final boolean forceLoad, final boolean addToBackStack) {
852852
if (playQueue == null) {
853853
playQueue = new SinglePlayQueue(result);
854854
}
855-
if (stack.isEmpty() || !stack.peek().getPlayQueue()
856-
.equalStreams(playQueue)) {
855+
if (stack.isEmpty() || !stack.peek().getPlayQueue().equals(playQueue)) {
857856
stack.push(new StackItem(serviceId, url, title, playQueue));
858857
}
859858
}
@@ -1739,7 +1738,7 @@ public void onQueueUpdate(final PlayQueue queue) {
17391738
// deleted/added items inside Channel/Playlist queue and makes possible to have
17401739
// a history of played items
17411740
@Nullable final StackItem stackPeek = stack.peek();
1742-
if (stackPeek != null && !stackPeek.getPlayQueue().equalStreams(queue)) {
1741+
if (stackPeek != null && !stackPeek.getPlayQueue().equals(queue)) {
17431742
@Nullable final PlayQueueItem playQueueItem = queue.getItem();
17441743
if (playQueueItem != null) {
17451744
stack.push(new StackItem(playQueueItem.getServiceId(), playQueueItem.getUrl(),
@@ -1803,7 +1802,7 @@ public void onMetadataUpdate(final StreamInfo info, final PlayQueue queue) {
18031802
// They are not equal when user watches something in popup while browsing in fragment and
18041803
// then changes screen orientation. In that case the fragment will set itself as
18051804
// a service listener and will receive initial call to onMetadataUpdate()
1806-
if (!queue.equalStreams(playQueue)) {
1805+
if (!queue.equals(playQueue)) {
18071806
return;
18081807
}
18091808

@@ -2075,7 +2074,7 @@ private StackItem findQueueInStack(final PlayQueue queue) {
20752074
final Iterator<StackItem> iterator = stack.descendingIterator();
20762075
while (iterator.hasNext()) {
20772076
final StackItem next = iterator.next();
2078-
if (next.getPlayQueue().equalStreams(queue)) {
2077+
if (next.getPlayQueue().equals(queue)) {
20792078
item = next;
20802079
break;
20812080
}
@@ -2089,8 +2088,7 @@ private void replaceQueueIfUserConfirms(final Runnable onAllow) {
20892088
// Player will have STATE_IDLE when a user pressed back button
20902089
if (isClearingQueueConfirmationRequired(activity)
20912090
&& playerIsNotStopped()
2092-
&& activeQueue != null
2093-
&& !activeQueue.equalStreams(playQueue)) {
2091+
&& !Objects.equals(activeQueue, playQueue)) {
20942092
showClearingQueueConfirmation(onAllow);
20952093
} else {
20962094
onAllow.run();

app/src/main/java/org/schabi/newpipe/player/Player.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ public void handleIntent(@NonNull final Intent intent) {
397397
&& newQueue.size() == 1 && newQueue.getItem() != null
398398
&& playQueue != null && playQueue.size() == 1 && playQueue.getItem() != null
399399
&& newQueue.getItem().getUrl().equals(playQueue.getItem().getUrl())
400-
&& newQueue.getItem().getRecoveryPosition() != PlayQueueItem.RECOVERY_UNSET) {
400+
&& newQueue.getItem().getRecoveryPosition() != Long.MIN_VALUE) {
401401
// Player can have state = IDLE when playback is stopped or failed
402402
// and we should retry in this case
403403
if (simpleExoPlayer.getPlaybackState()
@@ -425,7 +425,7 @@ public void handleIntent(@NonNull final Intent intent) {
425425
&& !samePlayQueue
426426
&& !newQueue.isEmpty()
427427
&& newQueue.getItem() != null
428-
&& newQueue.getItem().getRecoveryPosition() == PlayQueueItem.RECOVERY_UNSET) {
428+
&& newQueue.getItem().getRecoveryPosition() == Long.MIN_VALUE) {
429429
databaseUpdateDisposable.add(recordManager.loadStreamState(newQueue.getItem())
430430
.observeOn(AndroidSchedulers.mainThread())
431431
// Do not place initPlayback() in doFinally() because
@@ -1588,7 +1588,7 @@ public void onPlaybackSynchronize(@NonNull final PlayQueueItem item, final boole
15881588
}
15891589

15901590
// sync the player index with the queue index, and seek to the correct position
1591-
if (item.getRecoveryPosition() != PlayQueueItem.RECOVERY_UNSET) {
1591+
if (item.getRecoveryPosition() != Long.MIN_VALUE) {
15921592
simpleExoPlayer.seekTo(playQueueIndex, item.getRecoveryPosition());
15931593
playQueue.unsetRecovery(playQueueIndex);
15941594
} else {

app/src/main/java/org/schabi/newpipe/player/playback/MediaSourceManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@
3838
import io.reactivex.rxjava3.schedulers.Schedulers;
3939
import io.reactivex.rxjava3.subjects.PublishSubject;
4040

41+
import static org.schabi.newpipe.BuildConfig.DEBUG;
4142
import static org.schabi.newpipe.player.mediasource.FailedMediaSource.MediaSourceResolutionException;
4243
import static org.schabi.newpipe.player.mediasource.FailedMediaSource.StreamInfoLoadException;
43-
import static org.schabi.newpipe.player.playqueue.PlayQueue.DEBUG;
4444
import static org.schabi.newpipe.util.ServiceHelper.getCacheExpirationMillis;
4545

4646
public class MediaSourceManager {

0 commit comments

Comments
 (0)