Used the Media object where previously the Song object was used

This commit is contained in:
CappielloAntonio 2022-02-07 17:38:15 +01:00
parent c3c214a6e2
commit 27ea7e4efa

View file

@ -64,9 +64,9 @@ public class MediaManager {
try { try {
if (mediaBrowserListenableFuture.isDone()) { if (mediaBrowserListenableFuture.isDone()) {
if (mediaBrowserListenableFuture.get().getMediaItemCount() < 1) { if (mediaBrowserListenableFuture.get().getMediaItemCount() < 1) {
List<Media> songs = getQueueRepository().getSongs(); List<Media> media = getQueueRepository().getMedia();
if (songs != null && songs.size() >= 1) { if (media != null && media.size() >= 1) {
init(mediaBrowserListenableFuture, context, songs); init(mediaBrowserListenableFuture, context, media);
} }
} }
} }
@ -77,14 +77,14 @@ public class MediaManager {
} }
} }
public static void init(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, Context context, List<Media> songs) { public static void init(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, Context context, List<Media> media) {
if (mediaBrowserListenableFuture != null) { if (mediaBrowserListenableFuture != null) {
mediaBrowserListenableFuture.addListener(() -> { mediaBrowserListenableFuture.addListener(() -> {
try { try {
if (mediaBrowserListenableFuture.isDone()) { if (mediaBrowserListenableFuture.isDone()) {
mediaBrowserListenableFuture.get().clearMediaItems(); mediaBrowserListenableFuture.get().clearMediaItems();
mediaBrowserListenableFuture.get().setMediaItems(MappingUtil.mapMediaItems(context, songs, true)); mediaBrowserListenableFuture.get().setMediaItems(MappingUtil.mapMediaItems(context, media, true));
mediaBrowserListenableFuture.get().seekTo(getQueueRepository().getLastPlayedSongIndex(), getQueueRepository().getLastPlayedSongTimestamp()); mediaBrowserListenableFuture.get().seekTo(getQueueRepository().getLastPlayedMediaIndex(), getQueueRepository().getLastPlayedMediaTimestamp());
mediaBrowserListenableFuture.get().prepare(); mediaBrowserListenableFuture.get().prepare();
} }
} catch (ExecutionException | InterruptedException e) { } catch (ExecutionException | InterruptedException e) {
@ -164,17 +164,17 @@ public class MediaManager {
} }
} }
public static void startQueue(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, Context context, List<Media> songs, int startIndex) { public static void startQueue(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, Context context, List<Media> media, int startIndex) {
if (mediaBrowserListenableFuture != null) { if (mediaBrowserListenableFuture != null) {
mediaBrowserListenableFuture.addListener(() -> { mediaBrowserListenableFuture.addListener(() -> {
try { try {
if (mediaBrowserListenableFuture.isDone()) { if (mediaBrowserListenableFuture.isDone()) {
mediaBrowserListenableFuture.get().clearMediaItems(); mediaBrowserListenableFuture.get().clearMediaItems();
mediaBrowserListenableFuture.get().setMediaItems(MappingUtil.mapMediaItems(context, songs, true)); mediaBrowserListenableFuture.get().setMediaItems(MappingUtil.mapMediaItems(context, media, true));
mediaBrowserListenableFuture.get().prepare(); mediaBrowserListenableFuture.get().prepare();
mediaBrowserListenableFuture.get().seekTo(startIndex, 0); mediaBrowserListenableFuture.get().seekTo(startIndex, 0);
mediaBrowserListenableFuture.get().play(); mediaBrowserListenableFuture.get().play();
enqueueDatabase(songs, true, 0); enqueueDatabase(media, true, 0);
} }
} catch (ExecutionException | InterruptedException e) { } catch (ExecutionException | InterruptedException e) {
Log.e(TAG, e.getMessage()); Log.e(TAG, e.getMessage());
@ -183,16 +183,16 @@ public class MediaManager {
} }
} }
public static void startQueue(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, Context context, Media song) { public static void startQueue(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, Context context, Media media) {
if (mediaBrowserListenableFuture != null) { if (mediaBrowserListenableFuture != null) {
mediaBrowserListenableFuture.addListener(() -> { mediaBrowserListenableFuture.addListener(() -> {
try { try {
if (mediaBrowserListenableFuture.isDone()) { if (mediaBrowserListenableFuture.isDone()) {
mediaBrowserListenableFuture.get().clearMediaItems(); mediaBrowserListenableFuture.get().clearMediaItems();
mediaBrowserListenableFuture.get().setMediaItem(MappingUtil.mapMediaItem(context, song, true)); mediaBrowserListenableFuture.get().setMediaItem(MappingUtil.mapMediaItem(context, media, true));
mediaBrowserListenableFuture.get().prepare(); mediaBrowserListenableFuture.get().prepare();
mediaBrowserListenableFuture.get().play(); mediaBrowserListenableFuture.get().play();
enqueueDatabase(song, true, 0); enqueueDatabase(media, true, 0);
} }
} catch (ExecutionException | InterruptedException e) { } catch (ExecutionException | InterruptedException e) {
Log.e(TAG, e.getMessage()); Log.e(TAG, e.getMessage());
@ -201,17 +201,17 @@ public class MediaManager {
} }
} }
public static void enqueue(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, Context context, List<Media> songs, boolean playImmediatelyAfter) { public static void enqueue(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, Context context, List<Media> media, boolean playImmediatelyAfter) {
if (mediaBrowserListenableFuture != null) { if (mediaBrowserListenableFuture != null) {
mediaBrowserListenableFuture.addListener(() -> { mediaBrowserListenableFuture.addListener(() -> {
try { try {
if (mediaBrowserListenableFuture.isDone()) { if (mediaBrowserListenableFuture.isDone()) {
if (playImmediatelyAfter && mediaBrowserListenableFuture.get().getNextMediaItemIndex() != -1) { if (playImmediatelyAfter && mediaBrowserListenableFuture.get().getNextMediaItemIndex() != -1) {
enqueueDatabase(songs, false, mediaBrowserListenableFuture.get().getNextMediaItemIndex()); enqueueDatabase(media, false, mediaBrowserListenableFuture.get().getNextMediaItemIndex());
mediaBrowserListenableFuture.get().addMediaItems(mediaBrowserListenableFuture.get().getNextMediaItemIndex(), MappingUtil.mapMediaItems(context, songs, true)); mediaBrowserListenableFuture.get().addMediaItems(mediaBrowserListenableFuture.get().getNextMediaItemIndex(), MappingUtil.mapMediaItems(context, media, true));
} else { } else {
enqueueDatabase(songs, false, mediaBrowserListenableFuture.get().getMediaItemCount()); enqueueDatabase(media, false, mediaBrowserListenableFuture.get().getMediaItemCount());
mediaBrowserListenableFuture.get().addMediaItems(MappingUtil.mapMediaItems(context, songs, true)); mediaBrowserListenableFuture.get().addMediaItems(MappingUtil.mapMediaItems(context, media, true));
} }
} }
} catch (ExecutionException | InterruptedException e) { } catch (ExecutionException | InterruptedException e) {
@ -221,17 +221,17 @@ public class MediaManager {
} }
} }
public static void enqueue(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, Context context, Media song, boolean playImmediatelyAfter) { public static void enqueue(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, Context context, Media media, boolean playImmediatelyAfter) {
if (mediaBrowserListenableFuture != null) { if (mediaBrowserListenableFuture != null) {
mediaBrowserListenableFuture.addListener(() -> { mediaBrowserListenableFuture.addListener(() -> {
try { try {
if (mediaBrowserListenableFuture.isDone()) { if (mediaBrowserListenableFuture.isDone()) {
if (playImmediatelyAfter && mediaBrowserListenableFuture.get().getNextMediaItemIndex() != -1) { if (playImmediatelyAfter && mediaBrowserListenableFuture.get().getNextMediaItemIndex() != -1) {
enqueueDatabase(song, false, mediaBrowserListenableFuture.get().getNextMediaItemIndex()); enqueueDatabase(media, false, mediaBrowserListenableFuture.get().getNextMediaItemIndex());
mediaBrowserListenableFuture.get().addMediaItem(mediaBrowserListenableFuture.get().getNextMediaItemIndex(), MappingUtil.mapMediaItem(context, song, true)); mediaBrowserListenableFuture.get().addMediaItem(mediaBrowserListenableFuture.get().getNextMediaItemIndex(), MappingUtil.mapMediaItem(context, media, true));
} else { } else {
enqueueDatabase(song, false, mediaBrowserListenableFuture.get().getMediaItemCount()); enqueueDatabase(media, false, mediaBrowserListenableFuture.get().getMediaItemCount());
mediaBrowserListenableFuture.get().addMediaItem(MappingUtil.mapMediaItem(context, song, true)); mediaBrowserListenableFuture.get().addMediaItem(MappingUtil.mapMediaItem(context, media, true));
} }
} }
} catch (ExecutionException | InterruptedException e) { } catch (ExecutionException | InterruptedException e) {
@ -241,13 +241,13 @@ public class MediaManager {
} }
} }
public static void swap(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, List<Media> songs, int from, int to) { public static void swap(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, List<Media> media, int from, int to) {
if (mediaBrowserListenableFuture != null) { if (mediaBrowserListenableFuture != null) {
mediaBrowserListenableFuture.addListener(() -> { mediaBrowserListenableFuture.addListener(() -> {
try { try {
if (mediaBrowserListenableFuture.isDone()) { if (mediaBrowserListenableFuture.isDone()) {
mediaBrowserListenableFuture.get().moveMediaItem(from, to); mediaBrowserListenableFuture.get().moveMediaItem(from, to);
swapDatabase(songs); swapDatabase(media);
} }
} catch (ExecutionException | InterruptedException e) { } catch (ExecutionException | InterruptedException e) {
Log.e(TAG, e.getMessage()); Log.e(TAG, e.getMessage());
@ -256,16 +256,16 @@ public class MediaManager {
} }
} }
public static void remove(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, List<Media> songs, int toRemove) { public static void remove(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture, List<Media> media, int toRemove) {
if (mediaBrowserListenableFuture != null) { if (mediaBrowserListenableFuture != null) {
mediaBrowserListenableFuture.addListener(() -> { mediaBrowserListenableFuture.addListener(() -> {
try { try {
if (mediaBrowserListenableFuture.isDone()) { if (mediaBrowserListenableFuture.isDone()) {
if (mediaBrowserListenableFuture.get().getMediaItemCount() > 1 && mediaBrowserListenableFuture.get().getCurrentMediaItemIndex() != toRemove) { if (mediaBrowserListenableFuture.get().getMediaItemCount() > 1 && mediaBrowserListenableFuture.get().getCurrentMediaItemIndex() != toRemove) {
mediaBrowserListenableFuture.get().removeMediaItem(toRemove); mediaBrowserListenableFuture.get().removeMediaItem(toRemove);
removeDatabase(songs, toRemove); removeDatabase(media, toRemove);
} else { } else {
removeDatabase(songs, -1); removeDatabase(media, -1);
} }
} }
} catch (ExecutionException | InterruptedException e) { } catch (ExecutionException | InterruptedException e) {
@ -312,22 +312,22 @@ public class MediaManager {
return new SongRepository(App.getInstance()); return new SongRepository(App.getInstance());
} }
private static void enqueueDatabase(List<Media> songs, boolean reset, int afterIndex) { private static void enqueueDatabase(List<Media> media, boolean reset, int afterIndex) {
getQueueRepository().insertAll(songs, reset, afterIndex); getQueueRepository().insertAll(media, reset, afterIndex);
} }
private static void enqueueDatabase(Media song, boolean reset, int afterIndex) { private static void enqueueDatabase(Media media, boolean reset, int afterIndex) {
getQueueRepository().insert(song, reset, afterIndex); getQueueRepository().insert(media, reset, afterIndex);
} }
private static void swapDatabase(List<Media> songs) { private static void swapDatabase(List<Media> media) {
getQueueRepository().insertAll(songs, true, 0); getQueueRepository().insertAll(media, true, 0);
} }
private static void removeDatabase(List<Media> songs, int toRemove) { private static void removeDatabase(List<Media> media, int toRemove) {
if (toRemove != -1) { if (toRemove != -1) {
songs.remove(toRemove); media.remove(toRemove);
getQueueRepository().insertAll(songs, true, 0); getQueueRepository().insertAll(media, true, 0);
} }
} }