Merge pull request #12922 from TobiGr/enqueue-ui

[PlayQueue] Fix incorrect UI states of PlayQueue items
This commit is contained in:
Tobi 2026-01-07 04:01:51 -08:00 committed by GitHub
commit 61077c9ad9

View file

@ -23,7 +23,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.core.BackpressureStrategy; import io.reactivex.rxjava3.core.BackpressureStrategy;
import io.reactivex.rxjava3.core.Flowable; import io.reactivex.rxjava3.core.Flowable;
import io.reactivex.rxjava3.subjects.BehaviorSubject; import io.reactivex.rxjava3.subjects.PublishSubject;
/** /**
* PlayQueue is responsible for keeping track of a list of streams and the index of * PlayQueue is responsible for keeping track of a list of streams and the index of
@ -46,7 +46,7 @@ public abstract class PlayQueue implements Serializable {
private List<PlayQueueItem> backup; private List<PlayQueueItem> backup;
private List<PlayQueueItem> streams; private List<PlayQueueItem> streams;
private transient BehaviorSubject<PlayQueueEvent> eventBroadcast; private transient PublishSubject<PlayQueueEvent> eventBroadcast;
private transient Flowable<PlayQueueEvent> broadcastReceiver; private transient Flowable<PlayQueueEvent> broadcastReceiver;
private transient boolean disposed = false; private transient boolean disposed = false;
@ -71,7 +71,7 @@ public abstract class PlayQueue implements Serializable {
* </p> * </p>
*/ */
public void init() { public void init() {
eventBroadcast = BehaviorSubject.create(); eventBroadcast = PublishSubject.create();
broadcastReceiver = eventBroadcast.toFlowable(BackpressureStrategy.BUFFER) broadcastReceiver = eventBroadcast.toFlowable(BackpressureStrategy.BUFFER)
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())