First song played: What she said - The Smiths

This commit is contained in:
Antonio Cappiello 2021-03-18 16:20:20 +01:00
parent c1c02b3c37
commit 0f19fc3190
12 changed files with 47 additions and 221 deletions

View file

@ -7,6 +7,7 @@ import android.content.ContextWrapper;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;
import androidx.annotation.NonNull;
@ -18,10 +19,11 @@ import com.cappielloantonio.play.service.MusicService;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.WeakHashMap;
public class MusicPlayerRemote {
private static final String TAG = "MusicPlayerRemote";
public static MusicService musicService;
private static final WeakHashMap<Context, ServiceBinder> mConnectionMap = new WeakHashMap<>();
@ -143,22 +145,13 @@ public class MusicPlayerRemote {
}
public static void openQueue(final List<Song> queue, final int startPosition, final boolean startPlaying) {
Log.d(TAG, "MusicPlayerRemote - openQueue: S " + queue.size() + " P " + startPosition + " SP " + startPlaying);
if (!tryToHandleOpenPlayingQueue(queue, startPosition, startPlaying) && musicService != null) {
musicService.openQueue(queue, startPosition, startPlaying);
}
}
public static void openAndShuffleQueue(final List<Song> queue, boolean startPlaying) {
int startPosition = 0;
if (!queue.isEmpty()) {
startPosition = new Random().nextInt(queue.size());
}
if (!tryToHandleOpenPlayingQueue(queue, startPosition, startPlaying) && musicService != null) {
openQueue(queue, startPosition, startPlaying);
}
}
private static boolean tryToHandleOpenPlayingQueue(final List<Song> queue, final int startPosition, final boolean startPlaying) {
if (getPlayingQueue() == queue) {
if (startPlaying) {
@ -173,10 +166,6 @@ public class MusicPlayerRemote {
return false;
}
public static Song getCurrentSong() {
return musicService.getCurrentSong();
}
public static int getPosition() {
if (musicService != null) {
return musicService.getPosition();
@ -209,14 +198,6 @@ public class MusicPlayerRemote {
return -1;
}
public static long getQueueDurationMillis(int position) {
if (musicService != null) {
return musicService.getQueueDurationMillis(position);
}
return -1;
}
public static int seekTo(int millis) {
if (musicService != null) {
return musicService.seek(millis);
@ -225,23 +206,6 @@ public class MusicPlayerRemote {
return -1;
}
public static int getRepeatMode() {
if (musicService != null) {
return musicService.getRepeatMode();
}
return MusicService.REPEAT_MODE_NONE;
}
public static boolean cycleRepeatMode() {
if (musicService != null) {
musicService.cycleRepeatMode();
return true;
}
return false;
}
public static boolean playNext(Song song) {
if (musicService != null) {
if (getPlayingQueue().size() > 0) {