move playback keys to preference utils

This commit is contained in:
dkanada 2020-09-25 16:20:30 +09:00
commit ad6aa91d74
7 changed files with 47 additions and 42 deletions

View file

@ -31,6 +31,7 @@ import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.internal.annotations.EverythingIsNonNull;
public class MultiPlayer implements Playback {
public static final String TAG = MultiPlayer.class.getSimpleName();
@ -50,23 +51,23 @@ public class MultiPlayer implements Playback {
private ExoPlayer.EventListener eventListener = new ExoPlayer.EventListener() {
@Override
public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {
Log.i(TAG,"onTracksChanged");
Log.i(TAG, "onTracksChanged");
}
@Override
public void onLoadingChanged(boolean isLoading) {
Log.i(TAG,"onLoadingChanged: isLoading = " + isLoading);
Log.i(TAG, "onLoadingChanged: " + isLoading);
}
@Override
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
Log.i(TAG,"onPlayerStateChanged: playWhenReady = " + playWhenReady);
Log.i(TAG,"onPlayerStateChanged: playbackState = " + playbackState);
Log.i(TAG, "onPlayerStateChanged playWhenReady: " + playWhenReady);
Log.i(TAG, "onPlayerStateChanged playbackState: " + playbackState);
}
@Override
public void onPositionDiscontinuity(int reason) {
Log.i(TAG,"onPositionDiscontinuity: reason = " + reason);
Log.i(TAG, "onPositionDiscontinuity: " + reason);
int windowIndex = exoPlayer.getCurrentWindowIndex();
if (windowIndex == 1) {
@ -82,7 +83,7 @@ public class MultiPlayer implements Playback {
@Override
public void onPlayerError(ExoPlaybackException error) {
Log.i(TAG,"onPlaybackError: " + error.getMessage());
Log.i(TAG, "onPlaybackError: " + error.getMessage());
if (context != null) {
Toast.makeText(context, context.getResources().getString(R.string.unplayable_file), Toast.LENGTH_SHORT).show();
}
@ -140,12 +141,14 @@ public class MultiPlayer implements Playback {
DataSource.Factory dataSource = new DefaultHttpDataSourceFactory(Util.getUserAgent(context, this.getClass().getName()));
httpClient.newCall(new Request.Builder().url(path).head().build()).enqueue(new Callback() {
@Override
@EverythingIsNonNull
public void onFailure(Call call, IOException e) {
Toast.makeText(context, context.getResources().getString(R.string.unplayable_file), Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
@Override
@EverythingIsNonNull
public void onResponse(Call call, Response response) {
MediaSource source;
if (response.header("Content-Type").equals("application/x-mpegURL")) {

View file

@ -84,11 +84,6 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
public static final String REPEAT_MODE_CHANGED = PHONOGRAPH_PACKAGE_NAME + ".repeatmodechanged";
public static final String SHUFFLE_MODE_CHANGED = PHONOGRAPH_PACKAGE_NAME + ".shufflemodechanged";
public static final String SAVED_POSITION = "POSITION";
public static final String SAVED_POSITION_IN_TRACK = "POSITION_IN_TRACK";
public static final String SAVED_SHUFFLE_MODE = "SHUFFLE_MODE";
public static final String SAVED_REPEAT_MODE = "REPEAT_MODE";
public static final int RELEASE_WAKELOCK = 0;
public static final int TRACK_ENDED = 1;
public static final int TRACK_WENT_TO_NEXT = 2;
@ -367,11 +362,11 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
}
private void savePosition() {
PreferenceManager.getDefaultSharedPreferences(this).edit().putInt(SAVED_POSITION, getPosition()).apply();
PreferenceManager.getDefaultSharedPreferences(this).edit().putInt(PreferenceUtil.POSITION, getPosition()).apply();
}
private void saveProgress() {
PreferenceManager.getDefaultSharedPreferences(this).edit().putInt(SAVED_POSITION_IN_TRACK, getSongProgressMillis()).apply();
PreferenceManager.getDefaultSharedPreferences(this).edit().putInt(PreferenceUtil.PROGRESS, getSongProgressMillis()).apply();
}
public void saveState() {
@ -386,8 +381,8 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
}
private void restoreState() {
shuffleMode = PreferenceManager.getDefaultSharedPreferences(this).getInt(SAVED_SHUFFLE_MODE, 0);
repeatMode = PreferenceManager.getDefaultSharedPreferences(this).getInt(SAVED_REPEAT_MODE, 0);
shuffleMode = PreferenceManager.getDefaultSharedPreferences(this).getInt(PreferenceUtil.SHUFFLE, 0);
repeatMode = PreferenceManager.getDefaultSharedPreferences(this).getInt(PreferenceUtil.REPEAT, 0);
notifyChange(SHUFFLE_MODE_CHANGED);
notifyChange(REPEAT_MODE_CHANGED);
@ -401,8 +396,8 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
List<Song> restoredQueue = QueueStore.getInstance(this).getSavedPlayingQueue();
List<Song> restoredOriginalQueue = QueueStore.getInstance(this).getSavedOriginalPlayingQueue();
int restoredPosition = PreferenceManager.getDefaultSharedPreferences(this).getInt(SAVED_POSITION, -1);
int restoredPositionInTrack = PreferenceManager.getDefaultSharedPreferences(this).getInt(SAVED_POSITION_IN_TRACK, -1);
int restoredPosition = PreferenceManager.getDefaultSharedPreferences(this).getInt(PreferenceUtil.POSITION, -1);
int restoredPositionInTrack = PreferenceManager.getDefaultSharedPreferences(this).getInt(PreferenceUtil.PROGRESS, -1);
if (restoredQueue.size() > 0 && restoredQueue.size() == restoredOriginalQueue.size() && restoredPosition != -1) {
this.originalPlayingQueue = restoredOriginalQueue;
@ -653,7 +648,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
case REPEAT_MODE_THIS:
this.repeatMode = repeatMode;
PreferenceManager.getDefaultSharedPreferences(this).edit()
.putInt(SAVED_REPEAT_MODE, repeatMode)
.putInt(PreferenceUtil.REPEAT, repeatMode)
.apply();
prepareNext();
notifyChange(REPEAT_MODE_CHANGED);
@ -930,7 +925,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
public void setShuffleMode(final int shuffleMode) {
PreferenceManager.getDefaultSharedPreferences(this).edit()
.putInt(SAVED_SHUFFLE_MODE, shuffleMode)
.putInt(PreferenceUtil.SHUFFLE, shuffleMode)
.apply();
switch (shuffleMode) {