diff --git a/new-player/src/main/java/net/newpipe/newplayer/NewPlayerImpl.kt b/new-player/src/main/java/net/newpipe/newplayer/NewPlayerImpl.kt index 786864a3..42154192 100644 --- a/new-player/src/main/java/net/newpipe/newplayer/NewPlayerImpl.kt +++ b/new-player/src/main/java/net/newpipe/newplayer/NewPlayerImpl.kt @@ -55,6 +55,8 @@ import net.newpipe.newplayer.logic.ActionResponse import net.newpipe.newplayer.data.Chapter import net.newpipe.newplayer.logic.MediaSourceBuilder import net.newpipe.newplayer.data.NewPlayerException +import net.newpipe.newplayer.data.PlayMode +import net.newpipe.newplayer.data.RepeatMode import net.newpipe.newplayer.logic.NoResponse import net.newpipe.newplayer.logic.StreamExceptionResponse import net.newpipe.newplayer.data.StreamSelection diff --git a/new-player/src/main/java/net/newpipe/newplayer/data/RepeatMode.kt b/new-player/src/main/java/net/newpipe/newplayer/data/RepeatMode.kt index 371701bc..28d3c696 100644 --- a/new-player/src/main/java/net/newpipe/newplayer/data/RepeatMode.kt +++ b/new-player/src/main/java/net/newpipe/newplayer/data/RepeatMode.kt @@ -20,8 +20,25 @@ package net.newpipe.newplayer.data + +import net.newpipe.newplayer.data.PlayMode.IDLE +/** + * The playlist repeat mode. + */ enum class RepeatMode { + /** + * Don't repeat. Quit playback and switch to [IDLE] mode after being done playing the active + * playlist. + */ DO_NOT_REPEAT, + + /** + * Repeats the currently active playlist after playing the last item of the playlist. + */ REPEAT_ALL, + + /** + * Keeps repeating the current item of a playlist. + */ REPEAT_ONE } \ No newline at end of file diff --git a/new-player/src/main/java/net/newpipe/newplayer/service/NewPlayerService.kt b/new-player/src/main/java/net/newpipe/newplayer/service/NewPlayerService.kt index 9899b268..181e58f9 100644 --- a/new-player/src/main/java/net/newpipe/newplayer/service/NewPlayerService.kt +++ b/new-player/src/main/java/net/newpipe/newplayer/service/NewPlayerService.kt @@ -44,7 +44,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.launch import net.newpipe.newplayer.NewPlayer -import net.newpipe.newplayer.PlayMode +import net.newpipe.newplayer.data.PlayMode import javax.inject.Inject private const val TAG = "NewPlayerService" diff --git a/new-player/src/main/java/net/newpipe/newplayer/ui/common/PlaylistControllButtons.kt b/new-player/src/main/java/net/newpipe/newplayer/ui/common/PlaylistControllButtons.kt index 06a79817..199b5a72 100644 --- a/new-player/src/main/java/net/newpipe/newplayer/ui/common/PlaylistControllButtons.kt +++ b/new-player/src/main/java/net/newpipe/newplayer/ui/common/PlaylistControllButtons.kt @@ -34,7 +34,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.media3.common.util.UnstableApi import net.newpipe.newplayer.R -import net.newpipe.newplayer.RepeatMode +import net.newpipe.newplayer.data.RepeatMode + import net.newpipe.newplayer.uiModel.NewPlayerUIState import net.newpipe.newplayer.uiModel.InternalNewPlayerViewModel diff --git a/new-player/src/main/java/net/newpipe/newplayer/uiModel/NewPlayerUIState.kt b/new-player/src/main/java/net/newpipe/newplayer/uiModel/NewPlayerUIState.kt index 648fad9d..3a2b20c0 100644 --- a/new-player/src/main/java/net/newpipe/newplayer/uiModel/NewPlayerUIState.kt +++ b/new-player/src/main/java/net/newpipe/newplayer/uiModel/NewPlayerUIState.kt @@ -25,9 +25,9 @@ import androidx.media3.common.MediaItem import androidx.media3.common.MediaMetadata import androidx.media3.common.util.UnstableApi import net.newpipe.newplayer.data.Chapter -import net.newpipe.newplayer.RepeatMode import net.newpipe.newplayer.ui.ContentScale import net.newpipe.newplayer.data.AudioStreamTrack +import net.newpipe.newplayer.data.RepeatMode import net.newpipe.newplayer.data.StreamTrack import net.newpipe.newplayer.data.VideoStreamTrack diff --git a/new-player/src/main/java/net/newpipe/newplayer/uiModel/NewPlayerViewModelImpl.kt b/new-player/src/main/java/net/newpipe/newplayer/uiModel/NewPlayerViewModelImpl.kt index 26fa8821..8dd09eea 100644 --- a/new-player/src/main/java/net/newpipe/newplayer/uiModel/NewPlayerViewModelImpl.kt +++ b/new-player/src/main/java/net/newpipe/newplayer/uiModel/NewPlayerViewModelImpl.kt @@ -49,8 +49,8 @@ import kotlinx.coroutines.launch import net.newpipe.newplayer.data.VideoSize import net.newpipe.newplayer.NewPlayer import net.newpipe.newplayer.data.NewPlayerException -import net.newpipe.newplayer.PlayMode -import net.newpipe.newplayer.RepeatMode +import net.newpipe.newplayer.data.PlayMode +import net.newpipe.newplayer.data.RepeatMode import net.newpipe.newplayer.ui.ContentScale import java.util.LinkedList import kotlin.math.abs diff --git a/new-player/src/main/java/net/newpipe/newplayer/uiModel/UIModeState.kt b/new-player/src/main/java/net/newpipe/newplayer/uiModel/UIModeState.kt index 80f89785..f9b133c0 100644 --- a/new-player/src/main/java/net/newpipe/newplayer/uiModel/UIModeState.kt +++ b/new-player/src/main/java/net/newpipe/newplayer/uiModel/UIModeState.kt @@ -20,7 +20,7 @@ package net.newpipe.newplayer.uiModel -import net.newpipe.newplayer.PlayMode +import net.newpipe.newplayer.data.PlayMode enum class UIModeState { PLACEHOLDER, diff --git a/test-app/src/main/java/net/newpipe/newplayer/testapp/MainActivity.kt b/test-app/src/main/java/net/newpipe/newplayer/testapp/MainActivity.kt index f707b0f5..2b5a2bce 100644 --- a/test-app/src/main/java/net/newpipe/newplayer/testapp/MainActivity.kt +++ b/test-app/src/main/java/net/newpipe/newplayer/testapp/MainActivity.kt @@ -35,7 +35,7 @@ import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import net.newpipe.newplayer.ActivityBrainSlug import net.newpipe.newplayer.NewPlayer -import net.newpipe.newplayer.PlayMode +import net.newpipe.newplayer.data.PlayMode import net.newpipe.newplayer.uiModel.NewPlayerViewModel import net.newpipe.newplayer.uiModel.NewPlayerViewModelImpl import net.newpipe.newplayer.uiModel.UIModeState