github Arturo254/OpenTune 0.7.9

latest releases: 2.0.5, 2.0.4, 2.0.3...
14 months ago

0.7.9.Beta

Diseño sin título

Cambios:

  • Se agrego la Barra de busqueda en el apartado de playlist
  • Se rediseño las cards de contribuiciones
  • En esta version se quitaron caracteristicas API
import androidx.media3.common.MediaItem
import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.withContext

class YouTubeAlbumRadio(
    private val playlistId: String,
) : Queue {
    override val preloadItem: MediaMetadata? = null
    private val endpoint =
        WatchEndpoint(
            playlistId = playlistId,
            params = "wAEB",
        )
    private var continuation: String? = null

    override suspend fun getInitialStatus(): Queue.Status =
        withContext(IO) {
            val albumSongs = YouTube.albumSongs(playlistId).getOrThrow()
            val nextResult = YouTube.next(endpoint, continuation).getOrThrow()
            continuation = nextResult.continuation
            Queue.Status(
                title = nextResult.title,
                items = (albumSongs + nextResult.items.subList(albumSongs.size, nextResult.items.size)).map { it.toMediaItem() },
                mediaItemIndex = nextResult.currentIndex ?: 0,
            )
        }

    override fun hasNextPage(): Boolean = continuation != null

    override suspend fun nextPage(): List<MediaItem> {
        val nextResult =
            withContext(IO) {
                YouTube.next(endpoint, continuation).getOrThrow()
            }
        continuation = nextResult.continuation
        return nextResult.items.map { it.toMediaItem() }
    }
}

Don't miss a new OpenTune release

NewReleases is sending notifications on new releases.