split playback listener and interface into separate files

This commit is contained in:
dkanada 2022-08-27 12:04:13 +09:00
commit 17075ef586
4 changed files with 20 additions and 18 deletions

View file

@ -46,6 +46,7 @@ import com.dkanada.gramophone.service.notifications.PlayingNotificationMarshmall
import com.dkanada.gramophone.service.notifications.PlayingNotificationNougat;
import com.dkanada.gramophone.service.playback.LocalPlayer;
import com.dkanada.gramophone.service.playback.Playback;
import com.dkanada.gramophone.service.playback.PlaybackListener;
import com.dkanada.gramophone.service.receivers.MediaButtonIntentReceiver;
import com.dkanada.gramophone.util.PreferenceUtil;
import com.dkanada.gramophone.util.Util;
@ -152,7 +153,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
}
};
private final Playback.PlaybackCallbacks playbackCallbacks = new Playback.PlaybackCallbacks() {
private final PlaybackListener playbackCallbacks = new PlaybackListener() {
@Override
public void onStateChanged(int state) {
notifyChange(STATE_CHANGED);
@ -236,7 +237,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
wakeLock.setReferenceCounted(false);
playback = new LocalPlayer(this);
playback.setCallbacks(playbackCallbacks);
playback.setListener(playbackCallbacks);
queueManager = new QueueManager(this, queueCallbacks);

View file

@ -42,7 +42,7 @@ public class LocalPlayer implements Playback {
private final SimpleExoPlayer exoPlayer;
private final SimpleCache simpleCache;
private PlaybackCallbacks callbacks;
private PlaybackListener listener;
private final ExecutorService executorService = Executors.newSingleThreadExecutor();
@ -51,25 +51,25 @@ public class LocalPlayer implements Playback {
@Override
public void onPlayWhenReadyChanged(boolean playWhenReady, int reason) {
Log.i(TAG, String.format("onPlayWhenReadyChanged: %b %d", playWhenReady, reason));
if (callbacks != null) callbacks.onReadyChanged(playWhenReady, reason);
if (listener != null) listener.onReadyChanged(playWhenReady, reason);
}
@Override
public void onPlaybackStateChanged(int state) {
Log.i(TAG, String.format("onPlaybackStateChanged: %d", state));
if (callbacks != null) callbacks.onStateChanged(state);
if (listener != null) listener.onStateChanged(state);
}
@Override
public void onPlaybackSuppressionReasonChanged(@Player.PlaybackSuppressionReason int playbackSuppressionReason) {
Log.i(TAG, String.format("onPlaybackSuppressionReasonChanged: %d", playbackSuppressionReason));
if (callbacks != null) callbacks.onStateChanged(Player.STATE_READY);
if (listener != null) listener.onStateChanged(Player.STATE_READY);
}
@Override
public void onMediaItemTransition(MediaItem mediaItem, int reason) {
Log.i(TAG, String.format("onMediaItemTransition: %s %d", mediaItem, reason));
if (callbacks != null) callbacks.onTrackChanged(reason);
if (listener != null) listener.onTrackChanged(reason);
}
@Override
@ -194,8 +194,8 @@ public class LocalPlayer implements Playback {
}
@Override
public void setCallbacks(Playback.PlaybackCallbacks callbacks) {
this.callbacks = callbacks;
public void setListener(PlaybackListener listener) {
this.listener = listener;
}
@Override

View file

@ -10,7 +10,7 @@ public interface Playback {
void playSongAt(int position);
void setCallbacks(PlaybackCallbacks callbacks);
void setListener(PlaybackListener listener);
boolean isReady();
@ -39,12 +39,4 @@ public interface Playback {
void setVolume(int volume);
int getVolume();
interface PlaybackCallbacks {
void onStateChanged(int state);
void onReadyChanged(boolean ready, int reason);
void onTrackChanged(int reason);
}
}

View file

@ -0,0 +1,9 @@
package com.dkanada.gramophone.service.playback;
public interface PlaybackListener {
void onStateChanged(int state);
void onReadyChanged(boolean ready, int reason);
void onTrackChanged(int reason);
}