refactor: notify changes in MusicService with callbacks and reduce duplicate notifyChange() calls

This commit is contained in:
Jakob Kukla 2021-11-16 00:07:09 +01:00
commit 588759c6d3

View file

@ -121,7 +121,6 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
public QueueManager queueManager; public QueueManager queueManager;
private boolean notHandledMetaChangedForCurrentTrack;
private boolean queuesRestored; private boolean queuesRestored;
private PlayingNotification playingNotification; private PlayingNotification playingNotification;
@ -186,6 +185,9 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
progressHandler.sendEmptyMessage(TRACK_CHANGED); progressHandler.sendEmptyMessage(TRACK_CHANGED);
prepareNext(); prepareNext();
} }
notifyChange(STATE_CHANGED);
notifyChange(META_CHANGED);
} }
}; };
@ -453,7 +455,6 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
if (restoredProgress > 0) seek(restoredProgress); if (restoredProgress > 0) seek(restoredProgress);
notHandledMetaChangedForCurrentTrack = true;
handleChangeInternal(META_CHANGED); handleChangeInternal(META_CHANGED);
handleChangeInternal(QUEUE_CHANGED); handleChangeInternal(QUEUE_CHANGED);
} }
@ -501,9 +502,6 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
openCurrent(); openCurrent();
playback.start(); playback.start();
notifyChange(META_CHANGED);
notHandledMetaChangedForCurrentTrack = false;
} }
private synchronized void openCurrent() { private synchronized void openCurrent() {
@ -645,7 +643,6 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
public void pause() { public void pause() {
if (playback.isPlaying()) { if (playback.isPlaying()) {
playback.pause(); playback.pause();
notifyChange(STATE_CHANGED);
} }
} }
@ -655,12 +652,6 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
playSongAt(queueManager.position); playSongAt(queueManager.position);
} else { } else {
playback.start(); playback.start();
if (notHandledMetaChangedForCurrentTrack) {
handleChangeInternal(META_CHANGED);
notHandledMetaChangedForCurrentTrack = false;
}
notifyChange(STATE_CHANGED);
} }
} }
} }
@ -786,11 +777,9 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
if (service.queueManager.getRepeatMode() == QueueManager.REPEAT_MODE_NONE && service.queueManager.isLastTrack()) { if (service.queueManager.getRepeatMode() == QueueManager.REPEAT_MODE_NONE && service.queueManager.isLastTrack()) {
service.pause(); service.pause();
service.seek(0); service.seek(0);
service.notifyChange(STATE_CHANGED);
} else { } else {
service.queueManager.position = service.queueManager.nextPosition; service.queueManager.position = service.queueManager.nextPosition;
service.prepareNextImpl(); service.prepareNextImpl();
service.notifyChange(META_CHANGED);
service.notifyChange(QUEUE_CHANGED); service.notifyChange(QUEUE_CHANGED);
} }
break; break;
@ -816,7 +805,6 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
case PLAY_SONG: case PLAY_SONG:
service.openTrackAndPrepareNextAt(msg.arg1); service.openTrackAndPrepareNextAt(msg.arg1);
service.notifyChange(STATE_CHANGED);
break; break;
case PREPARE_NEXT: case PREPARE_NEXT: