refactor: move playbackCallbacks in MusicService to own anonymous class
This commit is contained in:
parent
0fe1001f70
commit
2c2fbb09b2
1 changed files with 34 additions and 32 deletions
|
|
@ -74,7 +74,7 @@ import static com.google.android.exoplayer2.Player.MEDIA_ITEM_TRANSITION_REASON_
|
||||||
import static com.google.android.exoplayer2.Player.MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED;
|
import static com.google.android.exoplayer2.Player.MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED;
|
||||||
import static com.google.android.exoplayer2.Player.PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM;
|
import static com.google.android.exoplayer2.Player.PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM;
|
||||||
|
|
||||||
public class MusicService extends Service implements SharedPreferences.OnSharedPreferenceChangeListener, Playback.PlaybackCallbacks {
|
public class MusicService extends Service implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
public static final String PACKAGE_NAME = BuildConfig.APPLICATION_ID;
|
public static final String PACKAGE_NAME = BuildConfig.APPLICATION_ID;
|
||||||
|
|
||||||
public static final String ACTION_TOGGLE = PACKAGE_NAME + ".toggle";
|
public static final String ACTION_TOGGLE = PACKAGE_NAME + ".toggle";
|
||||||
|
|
@ -159,6 +159,38 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private final Playback.PlaybackCallbacks playbackCallbacks = new Playback.PlaybackCallbacks() {
|
||||||
|
@Override
|
||||||
|
public void onStateChanged(int state) {
|
||||||
|
notifyChange(STATE_CHANGED);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onReadyChanged(boolean ready, int reason) {
|
||||||
|
notifyChange(STATE_CHANGED);
|
||||||
|
|
||||||
|
if (ready) {
|
||||||
|
progressHandler.sendEmptyMessage(TRACK_STARTED);
|
||||||
|
prepareNext();
|
||||||
|
} else if (reason == PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM) {
|
||||||
|
progressHandler.sendEmptyMessage(TRACK_ENDED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTrackChanged(int reason) {
|
||||||
|
acquireWakeLock(30000);
|
||||||
|
|
||||||
|
if (reason == MEDIA_ITEM_TRANSITION_REASON_AUTO) {
|
||||||
|
playerHandler.sendEmptyMessage(TRACK_CHANGED);
|
||||||
|
progressHandler.sendEmptyMessage(TRACK_CHANGED);
|
||||||
|
} else if (reason == MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED) {
|
||||||
|
progressHandler.sendEmptyMessage(TRACK_CHANGED);
|
||||||
|
prepareNext();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
private final BroadcastReceiver becomingNoisyReceiver = new BroadcastReceiver() {
|
private final BroadcastReceiver becomingNoisyReceiver = new BroadcastReceiver() {
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, @NonNull Intent intent) {
|
public void onReceive(Context context, @NonNull Intent intent) {
|
||||||
|
|
@ -205,7 +237,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
||||||
wakeLock.setReferenceCounted(false);
|
wakeLock.setReferenceCounted(false);
|
||||||
|
|
||||||
playback = new LocalPlayer(this);
|
playback = new LocalPlayer(this);
|
||||||
playback.setCallbacks(this);
|
playback.setCallbacks(playbackCallbacks);
|
||||||
|
|
||||||
queueManager = new QueueManager(this, queueCallbacks);
|
queueManager = new QueueManager(this, queueCallbacks);
|
||||||
|
|
||||||
|
|
@ -760,36 +792,6 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStateChanged(int state) {
|
|
||||||
notifyChange(STATE_CHANGED);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onReadyChanged(boolean ready, int reason) {
|
|
||||||
notifyChange(STATE_CHANGED);
|
|
||||||
|
|
||||||
if (ready) {
|
|
||||||
progressHandler.sendEmptyMessage(TRACK_STARTED);
|
|
||||||
prepareNext();
|
|
||||||
} else if (reason == PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM) {
|
|
||||||
progressHandler.sendEmptyMessage(TRACK_ENDED);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onTrackChanged(int reason) {
|
|
||||||
acquireWakeLock(30000);
|
|
||||||
|
|
||||||
if (reason == MEDIA_ITEM_TRANSITION_REASON_AUTO) {
|
|
||||||
playerHandler.sendEmptyMessage(TRACK_CHANGED);
|
|
||||||
progressHandler.sendEmptyMessage(TRACK_CHANGED);
|
|
||||||
} else if (reason == MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED) {
|
|
||||||
progressHandler.sendEmptyMessage(TRACK_CHANGED);
|
|
||||||
prepareNext();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static final class PlaybackHandler extends Handler {
|
private static final class PlaybackHandler extends Handler {
|
||||||
private final WeakReference<MusicService> mService;
|
private final WeakReference<MusicService> mService;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue