From 66c8c699788879ad60489de9548b2c7302bc8f61 Mon Sep 17 00:00:00 2001 From: CappielloAntonio Date: Wed, 29 Dec 2021 10:18:09 +0100 Subject: [PATCH] TODO - New Media3 player helper class --- .../play/service/MediaManager.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 app/src/main/java/com/cappielloantonio/play/service/MediaManager.java diff --git a/app/src/main/java/com/cappielloantonio/play/service/MediaManager.java b/app/src/main/java/com/cappielloantonio/play/service/MediaManager.java new file mode 100644 index 00000000..214c7298 --- /dev/null +++ b/app/src/main/java/com/cappielloantonio/play/service/MediaManager.java @@ -0,0 +1,36 @@ +package com.cappielloantonio.play.service; + +import androidx.media3.common.MediaItem; +import androidx.media3.session.MediaController; + +import com.cappielloantonio.play.App; +import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.repository.QueueRepository; + +import java.util.List; + +public class MediaManager { + public static void clearQueue(MediaController mediaController) { + mediaController.clearMediaItems(); + getQueueRepository().deleteAll(); + } + + public static void startQueue(MediaController mediaController, List mediaItems, List songs) { + clearQueue(mediaController); + mediaController.addMediaItems(mediaItems); + getQueueRepository().insertAllAndStartNew(songs); + } + + public static void enqueue(MediaController mediaController, List mediaItems, List songs) { + mediaController.addMediaItems(mediaItems); + getQueueRepository().insertAll(songs); + } + + private static QueueRepository getQueueRepository() { + return new QueueRepository(App.getInstance()); + } + + private static int getCurrentMediaIndex(MediaController mediaController) { + return mediaController.getCurrentMediaItemIndex(); + } +}