Skip to content

Commit 651d6d7

Browse files
committed
Fixed pausing state being overridden by halt listener
1 parent 553fa31 commit 651d6d7

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

core/src/main/java/xyz/gianlu/librespot/player/Player.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ public void notActive() {
231231
@Override
232232
public void startedLoading(@NotNull TrackHandler handler) {
233233
if (handler == trackHandler) {
234-
state.setState(true, null, true);
234+
state.setBuffering(true);
235235
state.updated();
236236
}
237237
}
@@ -249,7 +249,7 @@ private void updateStateWithHandler() {
249249
@Override
250250
public void finishedLoading(@NotNull TrackHandler handler, int pos) {
251251
if (handler == trackHandler) {
252-
state.setState(true, null, false);
252+
state.setBuffering(false);
253253

254254
updateStateWithHandler();
255255

@@ -368,7 +368,7 @@ public void playbackHalted(@NotNull TrackHandler handler, int chunk) {
368368
if (handler == trackHandler) {
369369
LOGGER.debug(String.format("Playback halted on retrieving chunk %d.", chunk));
370370

371-
state.setState(true, false, true);
371+
state.setBuffering(true);
372372
state.updated();
373373

374374
events.playbackHaltStateChanged(true);
@@ -381,7 +381,7 @@ public void playbackResumedFromHalt(@NotNull TrackHandler handler, int chunk, lo
381381
LOGGER.debug(String.format("Playback resumed, chunk %d retrieved, took %dms.", chunk, diff));
382382

383383
state.setPosition(state.getPosition() - diff);
384-
state.setState(true, false, false);
384+
state.setBuffering(false);
385385
state.updated();
386386

387387
events.playbackHaltStateChanged(false);

core/src/main/java/xyz/gianlu/librespot/player/StateWrapper.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,8 @@ private static boolean shouldPlay(@NotNull ContextTrack track) {
9696
return PlayableId.isSupported(track.getUri()) && PlayableId.shouldPlay(track);
9797
}
9898

99-
void setState(@Nullable Boolean playing, @Nullable Boolean paused, @Nullable Boolean buffering) {
100-
setState(playing == null ? state.getIsPlaying() : playing, paused == null ? state.getIsPaused() : paused,
101-
buffering == null ? state.getIsBuffering() : buffering);
99+
void setBuffering(boolean buffering) {
100+
setState(state.getIsPlaying(), state.getIsPaused(), buffering);
102101
}
103102

104103
synchronized void setState(boolean playing, boolean paused, boolean buffering) {

0 commit comments

Comments
 (0)