Rename youtubemusic package to innertube
This commit is contained in:
@@ -84,10 +84,10 @@ import it.vfsfitvnm.vimusic.utils.intent
|
|||||||
import it.vfsfitvnm.vimusic.utils.listener
|
import it.vfsfitvnm.vimusic.utils.listener
|
||||||
import it.vfsfitvnm.vimusic.utils.preferences
|
import it.vfsfitvnm.vimusic.utils.preferences
|
||||||
import it.vfsfitvnm.vimusic.utils.thumbnailRoundnessKey
|
import it.vfsfitvnm.vimusic.utils.thumbnailRoundnessKey
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.BrowseBody
|
import it.vfsfitvnm.innertube.models.bodies.BrowseBody
|
||||||
import it.vfsfitvnm.youtubemusic.requests.playlistPage
|
import it.vfsfitvnm.innertube.requests.playlistPage
|
||||||
import it.vfsfitvnm.youtubemusic.requests.song
|
import it.vfsfitvnm.innertube.requests.song
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
import kotlinx.coroutines.flow.filterNotNull
|
import kotlinx.coroutines.flow.filterNotNull
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
|
|
||||||
object InnertubeAlbumItemSaver : Saver<Innertube.AlbumItem, List<Any?>> {
|
object InnertubeAlbumItemSaver : Saver<Innertube.AlbumItem, List<Any?>> {
|
||||||
override fun SaverScope.save(value: Innertube.AlbumItem): List<Any?> = listOf(
|
override fun SaverScope.save(value: Innertube.AlbumItem): List<Any?> = listOf(
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
|
|
||||||
object InnertubeArtistItemSaver : Saver<Innertube.ArtistItem, List<Any?>> {
|
object InnertubeArtistItemSaver : Saver<Innertube.ArtistItem, List<Any?>> {
|
||||||
override fun SaverScope.save(value: Innertube.ArtistItem): List<Any?> = listOf(
|
override fun SaverScope.save(value: Innertube.ArtistItem): List<Any?> = listOf(
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
|
|
||||||
object InnertubeArtistPageSaver : Saver<Innertube.ArtistPage, List<Any?>> {
|
object InnertubeArtistPageSaver : Saver<Innertube.ArtistPage, List<Any?>> {
|
||||||
override fun SaverScope.save(value: Innertube.ArtistPage) = listOf(
|
override fun SaverScope.save(value: Innertube.ArtistPage) = listOf(
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
|
|
||||||
object InnertubeBrowseEndpointSaver : Saver<NavigationEndpoint.Endpoint.Browse, List<Any?>> {
|
object InnertubeBrowseEndpointSaver : Saver<NavigationEndpoint.Endpoint.Browse, List<Any?>> {
|
||||||
override fun SaverScope.save(value: NavigationEndpoint.Endpoint.Browse) = listOf(
|
override fun SaverScope.save(value: NavigationEndpoint.Endpoint.Browse) = listOf(
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
|
|
||||||
object InnertubeBrowseInfoSaver : Saver<Innertube.Info<NavigationEndpoint.Endpoint.Browse>, List<Any?>> {
|
object InnertubeBrowseInfoSaver : Saver<Innertube.Info<NavigationEndpoint.Endpoint.Browse>, List<Any?>> {
|
||||||
override fun SaverScope.save(value: Innertube.Info<NavigationEndpoint.Endpoint.Browse>) = listOf(
|
override fun SaverScope.save(value: Innertube.Info<NavigationEndpoint.Endpoint.Browse>) = listOf(
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
|
|
||||||
object InnertubePlaylistItemSaver : Saver<Innertube.PlaylistItem, List<Any?>> {
|
object InnertubePlaylistItemSaver : Saver<Innertube.PlaylistItem, List<Any?>> {
|
||||||
override fun SaverScope.save(value: Innertube.PlaylistItem): List<Any?> = listOf(
|
override fun SaverScope.save(value: Innertube.PlaylistItem): List<Any?> = listOf(
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
|
|
||||||
object InnertubePlaylistOrAlbumPageSaver : Saver<Innertube.PlaylistOrAlbumPage, List<Any?>> {
|
object InnertubePlaylistOrAlbumPageSaver : Saver<Innertube.PlaylistOrAlbumPage, List<Any?>> {
|
||||||
override fun SaverScope.save(value: Innertube.PlaylistOrAlbumPage): List<Any?> = listOf(
|
override fun SaverScope.save(value: Innertube.PlaylistOrAlbumPage): List<Any?> = listOf(
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
|
|
||||||
object InnertubeRelatedPageSaver : Saver<Innertube.RelatedPage, List<Any?>> {
|
object InnertubeRelatedPageSaver : Saver<Innertube.RelatedPage, List<Any?>> {
|
||||||
override fun SaverScope.save(value: Innertube.RelatedPage): List<Any?> = listOf(
|
override fun SaverScope.save(value: Innertube.RelatedPage): List<Any?> = listOf(
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
|
|
||||||
object InnertubeSongItemSaver : Saver<Innertube.SongItem, List<Any?>> {
|
object InnertubeSongItemSaver : Saver<Innertube.SongItem, List<Any?>> {
|
||||||
override fun SaverScope.save(value: Innertube.SongItem): List<Any?> = listOf(
|
override fun SaverScope.save(value: Innertube.SongItem): List<Any?> = listOf(
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.models.Thumbnail
|
import it.vfsfitvnm.innertube.models.Thumbnail
|
||||||
|
|
||||||
object InnertubeThumbnailSaver : Saver<Thumbnail, List<Any?>> {
|
object InnertubeThumbnailSaver : Saver<Thumbnail, List<Any?>> {
|
||||||
override fun SaverScope.save(value: Thumbnail) = listOf(
|
override fun SaverScope.save(value: Thumbnail) = listOf(
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
|
|
||||||
object InnertubeVideoItemSaver : Saver<Innertube.VideoItem, List<Any?>> {
|
object InnertubeVideoItemSaver : Saver<Innertube.VideoItem, List<Any?>> {
|
||||||
override fun SaverScope.save(value: Innertube.VideoItem): List<Any?> = listOf(
|
override fun SaverScope.save(value: Innertube.VideoItem): List<Any?> = listOf(
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
|
|
||||||
object InnertubeWatchEndpointSaver : Saver<NavigationEndpoint.Endpoint.Watch, List<Any?>> {
|
object InnertubeWatchEndpointSaver : Saver<NavigationEndpoint.Endpoint.Watch, List<Any?>> {
|
||||||
override fun SaverScope.save(value: NavigationEndpoint.Endpoint.Watch) = listOf(
|
override fun SaverScope.save(value: NavigationEndpoint.Endpoint.Watch) = listOf(
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
|
|
||||||
object InnertubeWatchInfoSaver : Saver<Innertube.Info<NavigationEndpoint.Endpoint.Watch>, List<Any?>> {
|
object InnertubeWatchInfoSaver : Saver<Innertube.Info<NavigationEndpoint.Endpoint.Watch>, List<Any?>> {
|
||||||
override fun SaverScope.save(value: Innertube.Info<NavigationEndpoint.Endpoint.Watch>) = listOf(
|
override fun SaverScope.save(value: Innertube.Info<NavigationEndpoint.Endpoint.Watch>) = listOf(
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package it.vfsfitvnm.vimusic.savers
|
|||||||
|
|
||||||
import androidx.compose.runtime.saveable.Saver
|
import androidx.compose.runtime.saveable.Saver
|
||||||
import androidx.compose.runtime.saveable.SaverScope
|
import androidx.compose.runtime.saveable.SaverScope
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
|
|
||||||
interface ListSaver<Original, Saveable : Any> : Saver<List<Original>, List<Saveable>> {
|
interface ListSaver<Original, Saveable : Any> : Saver<List<Original>, List<Saveable>> {
|
||||||
override fun SaverScope.save(value: List<Original>): List<Saveable>
|
override fun SaverScope.save(value: List<Original>): List<Saveable>
|
||||||
|
|||||||
@@ -93,10 +93,10 @@ import it.vfsfitvnm.vimusic.utils.shouldBePlaying
|
|||||||
import it.vfsfitvnm.vimusic.utils.skipSilenceKey
|
import it.vfsfitvnm.vimusic.utils.skipSilenceKey
|
||||||
import it.vfsfitvnm.vimusic.utils.timer
|
import it.vfsfitvnm.vimusic.utils.timer
|
||||||
import it.vfsfitvnm.vimusic.utils.volumeNormalizationKey
|
import it.vfsfitvnm.vimusic.utils.volumeNormalizationKey
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.PlayerBody
|
import it.vfsfitvnm.innertube.models.bodies.PlayerBody
|
||||||
import it.vfsfitvnm.youtubemusic.requests.player
|
import it.vfsfitvnm.innertube.requests.player
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
import kotlin.system.exitProcess
|
import kotlin.system.exitProcess
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ import it.vfsfitvnm.vimusic.utils.enqueue
|
|||||||
import it.vfsfitvnm.vimusic.utils.forcePlay
|
import it.vfsfitvnm.vimusic.utils.forcePlay
|
||||||
import it.vfsfitvnm.vimusic.utils.semiBold
|
import it.vfsfitvnm.vimusic.utils.semiBold
|
||||||
import it.vfsfitvnm.vimusic.utils.thumbnail
|
import it.vfsfitvnm.vimusic.utils.thumbnail
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||||
import kotlinx.coroutines.flow.flowOf
|
import kotlinx.coroutines.flow.flowOf
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import it.vfsfitvnm.vimusic.ui.styling.shimmer
|
|||||||
import it.vfsfitvnm.vimusic.utils.secondary
|
import it.vfsfitvnm.vimusic.utils.secondary
|
||||||
import it.vfsfitvnm.vimusic.utils.semiBold
|
import it.vfsfitvnm.vimusic.utils.semiBold
|
||||||
import it.vfsfitvnm.vimusic.utils.thumbnail
|
import it.vfsfitvnm.vimusic.utils.thumbnail
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun AlbumItem(
|
fun AlbumItem(
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import it.vfsfitvnm.vimusic.ui.styling.shimmer
|
|||||||
import it.vfsfitvnm.vimusic.utils.secondary
|
import it.vfsfitvnm.vimusic.utils.secondary
|
||||||
import it.vfsfitvnm.vimusic.utils.semiBold
|
import it.vfsfitvnm.vimusic.utils.semiBold
|
||||||
import it.vfsfitvnm.vimusic.utils.thumbnail
|
import it.vfsfitvnm.vimusic.utils.thumbnail
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ArtistItem(
|
fun ArtistItem(
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ import it.vfsfitvnm.vimusic.utils.medium
|
|||||||
import it.vfsfitvnm.vimusic.utils.secondary
|
import it.vfsfitvnm.vimusic.utils.secondary
|
||||||
import it.vfsfitvnm.vimusic.utils.semiBold
|
import it.vfsfitvnm.vimusic.utils.semiBold
|
||||||
import it.vfsfitvnm.vimusic.utils.thumbnail
|
import it.vfsfitvnm.vimusic.utils.thumbnail
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import it.vfsfitvnm.vimusic.utils.medium
|
|||||||
import it.vfsfitvnm.vimusic.utils.secondary
|
import it.vfsfitvnm.vimusic.utils.secondary
|
||||||
import it.vfsfitvnm.vimusic.utils.semiBold
|
import it.vfsfitvnm.vimusic.utils.semiBold
|
||||||
import it.vfsfitvnm.vimusic.utils.thumbnail
|
import it.vfsfitvnm.vimusic.utils.thumbnail
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SongItem(
|
fun SongItem(
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import it.vfsfitvnm.vimusic.utils.color
|
|||||||
import it.vfsfitvnm.vimusic.utils.medium
|
import it.vfsfitvnm.vimusic.utils.medium
|
||||||
import it.vfsfitvnm.vimusic.utils.secondary
|
import it.vfsfitvnm.vimusic.utils.secondary
|
||||||
import it.vfsfitvnm.vimusic.utils.semiBold
|
import it.vfsfitvnm.vimusic.utils.semiBold
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun VideoItem(
|
fun VideoItem(
|
||||||
|
|||||||
@@ -41,9 +41,9 @@ import it.vfsfitvnm.vimusic.ui.screens.searchresult.ItemsPage
|
|||||||
import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance
|
import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance
|
||||||
import it.vfsfitvnm.vimusic.ui.styling.px
|
import it.vfsfitvnm.vimusic.ui.styling.px
|
||||||
import it.vfsfitvnm.vimusic.utils.asMediaItem
|
import it.vfsfitvnm.vimusic.utils.asMediaItem
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.BrowseBody
|
import it.vfsfitvnm.innertube.models.bodies.BrowseBody
|
||||||
import it.vfsfitvnm.youtubemusic.requests.albumPage
|
import it.vfsfitvnm.innertube.requests.albumPage
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.flow.combine
|
import kotlinx.coroutines.flow.combine
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
|
|||||||
@@ -49,8 +49,8 @@ import it.vfsfitvnm.vimusic.utils.color
|
|||||||
import it.vfsfitvnm.vimusic.utils.forcePlay
|
import it.vfsfitvnm.vimusic.utils.forcePlay
|
||||||
import it.vfsfitvnm.vimusic.utils.secondary
|
import it.vfsfitvnm.vimusic.utils.secondary
|
||||||
import it.vfsfitvnm.vimusic.utils.semiBold
|
import it.vfsfitvnm.vimusic.utils.semiBold
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
|
|
||||||
@ExperimentalFoundationApi
|
@ExperimentalFoundationApi
|
||||||
@ExperimentalAnimationApi
|
@ExperimentalAnimationApi
|
||||||
|
|||||||
@@ -51,12 +51,12 @@ import it.vfsfitvnm.vimusic.utils.artistScreenTabIndexKey
|
|||||||
import it.vfsfitvnm.vimusic.utils.asMediaItem
|
import it.vfsfitvnm.vimusic.utils.asMediaItem
|
||||||
import it.vfsfitvnm.vimusic.utils.forcePlay
|
import it.vfsfitvnm.vimusic.utils.forcePlay
|
||||||
import it.vfsfitvnm.vimusic.utils.rememberPreference
|
import it.vfsfitvnm.vimusic.utils.rememberPreference
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.BrowseBody
|
import it.vfsfitvnm.innertube.models.bodies.BrowseBody
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.ContinuationBody
|
import it.vfsfitvnm.innertube.models.bodies.ContinuationBody
|
||||||
import it.vfsfitvnm.youtubemusic.requests.artistPage
|
import it.vfsfitvnm.innertube.requests.artistPage
|
||||||
import it.vfsfitvnm.youtubemusic.requests.itemsPage
|
import it.vfsfitvnm.innertube.requests.itemsPage
|
||||||
import it.vfsfitvnm.youtubemusic.utils.from
|
import it.vfsfitvnm.innertube.utils.from
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.flow.combine
|
import kotlinx.coroutines.flow.combine
|
||||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||||
|
|||||||
@@ -72,10 +72,10 @@ import it.vfsfitvnm.vimusic.utils.center
|
|||||||
import it.vfsfitvnm.vimusic.utils.forcePlay
|
import it.vfsfitvnm.vimusic.utils.forcePlay
|
||||||
import it.vfsfitvnm.vimusic.utils.secondary
|
import it.vfsfitvnm.vimusic.utils.secondary
|
||||||
import it.vfsfitvnm.vimusic.utils.semiBold
|
import it.vfsfitvnm.vimusic.utils.semiBold
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.NextBody
|
import it.vfsfitvnm.innertube.models.bodies.NextBody
|
||||||
import it.vfsfitvnm.youtubemusic.requests.relatedPage
|
import it.vfsfitvnm.innertube.requests.relatedPage
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||||
import kotlinx.coroutines.flow.flowOn
|
import kotlinx.coroutines.flow.flowOn
|
||||||
|
|||||||
@@ -58,9 +58,9 @@ import it.vfsfitvnm.vimusic.utils.enqueue
|
|||||||
import it.vfsfitvnm.vimusic.utils.forcePlayAtIndex
|
import it.vfsfitvnm.vimusic.utils.forcePlayAtIndex
|
||||||
import it.vfsfitvnm.vimusic.utils.forcePlayFromBeginning
|
import it.vfsfitvnm.vimusic.utils.forcePlayFromBeginning
|
||||||
import it.vfsfitvnm.vimusic.utils.produceSaveableState
|
import it.vfsfitvnm.vimusic.utils.produceSaveableState
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.BrowseBody
|
import it.vfsfitvnm.innertube.models.bodies.BrowseBody
|
||||||
import it.vfsfitvnm.youtubemusic.requests.playlistPage
|
import it.vfsfitvnm.innertube.requests.playlistPage
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.flow.filterNotNull
|
import kotlinx.coroutines.flow.filterNotNull
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
|
|||||||
@@ -68,9 +68,9 @@ import it.vfsfitvnm.vimusic.utils.medium
|
|||||||
import it.vfsfitvnm.vimusic.utils.produceSaveableState
|
import it.vfsfitvnm.vimusic.utils.produceSaveableState
|
||||||
import it.vfsfitvnm.vimusic.utils.rememberPreference
|
import it.vfsfitvnm.vimusic.utils.rememberPreference
|
||||||
import it.vfsfitvnm.vimusic.utils.verticalFadingEdge
|
import it.vfsfitvnm.vimusic.utils.verticalFadingEdge
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.NextBody
|
import it.vfsfitvnm.innertube.models.bodies.NextBody
|
||||||
import it.vfsfitvnm.youtubemusic.requests.lyrics
|
import it.vfsfitvnm.innertube.requests.lyrics
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ import it.vfsfitvnm.vimusic.utils.seamlessPlay
|
|||||||
import it.vfsfitvnm.vimusic.utils.secondary
|
import it.vfsfitvnm.vimusic.utils.secondary
|
||||||
import it.vfsfitvnm.vimusic.utils.semiBold
|
import it.vfsfitvnm.vimusic.utils.semiBold
|
||||||
import it.vfsfitvnm.vimusic.utils.thumbnail
|
import it.vfsfitvnm.vimusic.utils.thumbnail
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
import kotlin.math.absoluteValue
|
import kotlin.math.absoluteValue
|
||||||
|
|
||||||
@ExperimentalFoundationApi
|
@ExperimentalFoundationApi
|
||||||
|
|||||||
@@ -38,9 +38,9 @@ import it.vfsfitvnm.vimusic.ui.styling.overlay
|
|||||||
import it.vfsfitvnm.vimusic.utils.color
|
import it.vfsfitvnm.vimusic.utils.color
|
||||||
import it.vfsfitvnm.vimusic.utils.medium
|
import it.vfsfitvnm.vimusic.utils.medium
|
||||||
import it.vfsfitvnm.vimusic.utils.rememberVolume
|
import it.vfsfitvnm.vimusic.utils.rememberVolume
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.PlayerBody
|
import it.vfsfitvnm.innertube.models.bodies.PlayerBody
|
||||||
import it.vfsfitvnm.youtubemusic.requests.player
|
import it.vfsfitvnm.innertube.requests.player
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||||
|
|||||||
@@ -57,9 +57,9 @@ import it.vfsfitvnm.vimusic.utils.forcePlayAtIndex
|
|||||||
import it.vfsfitvnm.vimusic.utils.forcePlayFromBeginning
|
import it.vfsfitvnm.vimusic.utils.forcePlayFromBeginning
|
||||||
import it.vfsfitvnm.vimusic.utils.isLandscape
|
import it.vfsfitvnm.vimusic.utils.isLandscape
|
||||||
import it.vfsfitvnm.vimusic.utils.produceSaveableState
|
import it.vfsfitvnm.vimusic.utils.produceSaveableState
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.BrowseBody
|
import it.vfsfitvnm.innertube.models.bodies.BrowseBody
|
||||||
import it.vfsfitvnm.youtubemusic.requests.playlistPage
|
import it.vfsfitvnm.innertube.requests.playlistPage
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ import it.vfsfitvnm.vimusic.utils.asMediaItem
|
|||||||
import it.vfsfitvnm.vimusic.utils.forcePlay
|
import it.vfsfitvnm.vimusic.utils.forcePlay
|
||||||
import it.vfsfitvnm.vimusic.utils.medium
|
import it.vfsfitvnm.vimusic.utils.medium
|
||||||
import it.vfsfitvnm.vimusic.utils.produceSaveableState
|
import it.vfsfitvnm.vimusic.utils.produceSaveableState
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.flow.flowOn
|
import kotlinx.coroutines.flow.flowOn
|
||||||
|
|
||||||
|
|||||||
@@ -62,9 +62,9 @@ import it.vfsfitvnm.vimusic.utils.center
|
|||||||
import it.vfsfitvnm.vimusic.utils.medium
|
import it.vfsfitvnm.vimusic.utils.medium
|
||||||
import it.vfsfitvnm.vimusic.utils.produceSaveableState
|
import it.vfsfitvnm.vimusic.utils.produceSaveableState
|
||||||
import it.vfsfitvnm.vimusic.utils.secondary
|
import it.vfsfitvnm.vimusic.utils.secondary
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.SearchSuggestionsBody
|
import it.vfsfitvnm.innertube.models.bodies.SearchSuggestionsBody
|
||||||
import it.vfsfitvnm.youtubemusic.requests.searchSuggestions
|
import it.vfsfitvnm.innertube.requests.searchSuggestions
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance
|
|||||||
import it.vfsfitvnm.vimusic.utils.center
|
import it.vfsfitvnm.vimusic.utils.center
|
||||||
import it.vfsfitvnm.vimusic.utils.produceSaveableState
|
import it.vfsfitvnm.vimusic.utils.produceSaveableState
|
||||||
import it.vfsfitvnm.vimusic.utils.secondary
|
import it.vfsfitvnm.vimusic.utils.secondary
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.utils.plus
|
import it.vfsfitvnm.innertube.utils.plus
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
|
|
||||||
|
|||||||
@@ -43,11 +43,11 @@ import it.vfsfitvnm.vimusic.utils.asMediaItem
|
|||||||
import it.vfsfitvnm.vimusic.utils.forcePlay
|
import it.vfsfitvnm.vimusic.utils.forcePlay
|
||||||
import it.vfsfitvnm.vimusic.utils.rememberPreference
|
import it.vfsfitvnm.vimusic.utils.rememberPreference
|
||||||
import it.vfsfitvnm.vimusic.utils.searchResultScreenTabIndexKey
|
import it.vfsfitvnm.vimusic.utils.searchResultScreenTabIndexKey
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.ContinuationBody
|
import it.vfsfitvnm.innertube.models.bodies.ContinuationBody
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.SearchBody
|
import it.vfsfitvnm.innertube.models.bodies.SearchBody
|
||||||
import it.vfsfitvnm.youtubemusic.requests.searchPage
|
import it.vfsfitvnm.innertube.requests.searchPage
|
||||||
import it.vfsfitvnm.youtubemusic.utils.from
|
import it.vfsfitvnm.innertube.utils.from
|
||||||
|
|
||||||
@ExperimentalFoundationApi
|
@ExperimentalFoundationApi
|
||||||
@ExperimentalAnimationApi
|
@ExperimentalAnimationApi
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ import androidx.core.os.bundleOf
|
|||||||
import androidx.media3.common.MediaItem
|
import androidx.media3.common.MediaItem
|
||||||
import androidx.media3.common.MediaMetadata
|
import androidx.media3.common.MediaMetadata
|
||||||
import it.vfsfitvnm.vimusic.models.DetailedSong
|
import it.vfsfitvnm.vimusic.models.DetailedSong
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.ContinuationBody
|
import it.vfsfitvnm.innertube.models.bodies.ContinuationBody
|
||||||
import it.vfsfitvnm.youtubemusic.requests.playlistPage
|
import it.vfsfitvnm.innertube.requests.playlistPage
|
||||||
import it.vfsfitvnm.youtubemusic.utils.plus
|
import it.vfsfitvnm.innertube.utils.plus
|
||||||
|
|
||||||
val Innertube.SongItem.asMediaItem: MediaItem
|
val Innertube.SongItem.asMediaItem: MediaItem
|
||||||
get() = MediaItem.Builder()
|
get() = MediaItem.Builder()
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package it.vfsfitvnm.vimusic.utils
|
package it.vfsfitvnm.vimusic.utils
|
||||||
|
|
||||||
import androidx.media3.common.MediaItem
|
import androidx.media3.common.MediaItem
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.ContinuationBody
|
import it.vfsfitvnm.innertube.models.bodies.ContinuationBody
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.NextBody
|
import it.vfsfitvnm.innertube.models.bodies.NextBody
|
||||||
import it.vfsfitvnm.youtubemusic.requests.nextPage
|
import it.vfsfitvnm.innertube.requests.nextPage
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic
|
package it.vfsfitvnm.innertube
|
||||||
|
|
||||||
import io.ktor.client.HttpClient
|
import io.ktor.client.HttpClient
|
||||||
import io.ktor.client.engine.okhttp.OkHttp
|
import io.ktor.client.engine.okhttp.OkHttp
|
||||||
@@ -12,9 +12,9 @@ import io.ktor.client.request.header
|
|||||||
import io.ktor.http.ContentType
|
import io.ktor.http.ContentType
|
||||||
import io.ktor.http.HttpHeaders
|
import io.ktor.http.HttpHeaders
|
||||||
import io.ktor.serialization.kotlinx.json.json
|
import io.ktor.serialization.kotlinx.json.json
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
import it.vfsfitvnm.youtubemusic.models.Runs
|
import it.vfsfitvnm.innertube.models.Runs
|
||||||
import it.vfsfitvnm.youtubemusic.models.Thumbnail
|
import it.vfsfitvnm.innertube.models.Thumbnail
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models
|
package it.vfsfitvnm.innertube.models
|
||||||
|
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -16,7 +16,7 @@ data class ThumbnailRenderer(
|
|||||||
) {
|
) {
|
||||||
@Serializable
|
@Serializable
|
||||||
data class Thumbnail(
|
data class Thumbnail(
|
||||||
val thumbnails: List<it.vfsfitvnm.youtubemusic.models.Thumbnail>?
|
val thumbnails: List<it.vfsfitvnm.innertube.models.Thumbnail>?
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models.bodies
|
package it.vfsfitvnm.innertube.models.bodies
|
||||||
|
|
||||||
import it.vfsfitvnm.youtubemusic.models.Context
|
import it.vfsfitvnm.innertube.models.Context
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models.bodies
|
package it.vfsfitvnm.innertube.models.bodies
|
||||||
|
|
||||||
import it.vfsfitvnm.youtubemusic.models.Context
|
import it.vfsfitvnm.innertube.models.Context
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models.bodies
|
package it.vfsfitvnm.innertube.models.bodies
|
||||||
|
|
||||||
import it.vfsfitvnm.youtubemusic.models.Context
|
import it.vfsfitvnm.innertube.models.Context
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models.bodies
|
package it.vfsfitvnm.innertube.models.bodies
|
||||||
|
|
||||||
import it.vfsfitvnm.youtubemusic.models.Context
|
import it.vfsfitvnm.innertube.models.Context
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models.bodies
|
package it.vfsfitvnm.innertube.models.bodies
|
||||||
|
|
||||||
import it.vfsfitvnm.youtubemusic.models.Context
|
import it.vfsfitvnm.innertube.models.Context
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models.bodies
|
package it.vfsfitvnm.innertube.models.bodies
|
||||||
|
|
||||||
import it.vfsfitvnm.youtubemusic.models.Context
|
import it.vfsfitvnm.innertube.models.Context
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.models.bodies
|
package it.vfsfitvnm.innertube.models.bodies
|
||||||
|
|
||||||
import it.vfsfitvnm.youtubemusic.models.Context
|
import it.vfsfitvnm.innertube.models.Context
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.requests
|
package it.vfsfitvnm.innertube.requests
|
||||||
|
|
||||||
import io.ktor.http.Url
|
import io.ktor.http.Url
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.BrowseBody
|
import it.vfsfitvnm.innertube.models.bodies.BrowseBody
|
||||||
|
|
||||||
suspend fun Innertube.albumPage(body: BrowseBody): Result<Innertube.PlaylistOrAlbumPage>? {
|
suspend fun Innertube.albumPage(body: BrowseBody): Result<Innertube.PlaylistOrAlbumPage>? {
|
||||||
return playlistPage(body)?.map { album ->
|
return playlistPage(body)?.map { album ->
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.requests
|
package it.vfsfitvnm.innertube.requests
|
||||||
|
|
||||||
import io.ktor.client.call.body
|
import io.ktor.client.call.body
|
||||||
import io.ktor.client.request.post
|
import io.ktor.client.request.post
|
||||||
import io.ktor.client.request.setBody
|
import io.ktor.client.request.setBody
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.BrowseResponse
|
import it.vfsfitvnm.innertube.models.BrowseResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.MusicCarouselShelfRenderer
|
import it.vfsfitvnm.innertube.models.MusicCarouselShelfRenderer
|
||||||
import it.vfsfitvnm.youtubemusic.models.MusicShelfRenderer
|
import it.vfsfitvnm.innertube.models.MusicShelfRenderer
|
||||||
import it.vfsfitvnm.youtubemusic.models.SectionListRenderer
|
import it.vfsfitvnm.innertube.models.SectionListRenderer
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.BrowseBody
|
import it.vfsfitvnm.innertube.models.bodies.BrowseBody
|
||||||
import it.vfsfitvnm.youtubemusic.utils.findSectionByTitle
|
import it.vfsfitvnm.innertube.utils.findSectionByTitle
|
||||||
import it.vfsfitvnm.youtubemusic.utils.from
|
import it.vfsfitvnm.innertube.utils.from
|
||||||
import it.vfsfitvnm.youtubemusic.utils.runCatchingNonCancellable
|
import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable
|
||||||
|
|
||||||
suspend fun Innertube.artistPage(body: BrowseBody): Result<Innertube.ArtistPage>? =
|
suspend fun Innertube.artistPage(body: BrowseBody): Result<Innertube.ArtistPage>? =
|
||||||
runCatchingNonCancellable {
|
runCatchingNonCancellable {
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.requests
|
package it.vfsfitvnm.innertube.requests
|
||||||
|
|
||||||
import io.ktor.client.call.body
|
import io.ktor.client.call.body
|
||||||
import io.ktor.client.request.post
|
import io.ktor.client.request.post
|
||||||
import io.ktor.client.request.setBody
|
import io.ktor.client.request.setBody
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.BrowseResponse
|
import it.vfsfitvnm.innertube.models.BrowseResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.ContinuationResponse
|
import it.vfsfitvnm.innertube.models.ContinuationResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.GridRenderer
|
import it.vfsfitvnm.innertube.models.GridRenderer
|
||||||
import it.vfsfitvnm.youtubemusic.models.MusicResponsiveListItemRenderer
|
import it.vfsfitvnm.innertube.models.MusicResponsiveListItemRenderer
|
||||||
import it.vfsfitvnm.youtubemusic.models.MusicShelfRenderer
|
import it.vfsfitvnm.innertube.models.MusicShelfRenderer
|
||||||
import it.vfsfitvnm.youtubemusic.models.MusicTwoRowItemRenderer
|
import it.vfsfitvnm.innertube.models.MusicTwoRowItemRenderer
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.BrowseBody
|
import it.vfsfitvnm.innertube.models.bodies.BrowseBody
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.ContinuationBody
|
import it.vfsfitvnm.innertube.models.bodies.ContinuationBody
|
||||||
import it.vfsfitvnm.youtubemusic.utils.runCatchingNonCancellable
|
import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable
|
||||||
|
|
||||||
suspend fun <T : Innertube.Item> Innertube.itemsPage(
|
suspend fun <T : Innertube.Item> Innertube.itemsPage(
|
||||||
body: BrowseBody,
|
body: BrowseBody,
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.requests
|
package it.vfsfitvnm.innertube.requests
|
||||||
|
|
||||||
import io.ktor.client.call.body
|
import io.ktor.client.call.body
|
||||||
import io.ktor.client.request.post
|
import io.ktor.client.request.post
|
||||||
import io.ktor.client.request.setBody
|
import io.ktor.client.request.setBody
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.BrowseResponse
|
import it.vfsfitvnm.innertube.models.BrowseResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.NextResponse
|
import it.vfsfitvnm.innertube.models.NextResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.BrowseBody
|
import it.vfsfitvnm.innertube.models.bodies.BrowseBody
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.NextBody
|
import it.vfsfitvnm.innertube.models.bodies.NextBody
|
||||||
import it.vfsfitvnm.youtubemusic.utils.runCatchingNonCancellable
|
import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable
|
||||||
|
|
||||||
suspend fun Innertube.lyrics(body: NextBody): Result<String?>? = runCatchingNonCancellable {
|
suspend fun Innertube.lyrics(body: NextBody): Result<String?>? = runCatchingNonCancellable {
|
||||||
val nextResponse = client.post(next) {
|
val nextResponse = client.post(next) {
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.requests
|
package it.vfsfitvnm.innertube.requests
|
||||||
|
|
||||||
import io.ktor.client.call.body
|
import io.ktor.client.call.body
|
||||||
import io.ktor.client.request.post
|
import io.ktor.client.request.post
|
||||||
import io.ktor.client.request.setBody
|
import io.ktor.client.request.setBody
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.ContinuationResponse
|
import it.vfsfitvnm.innertube.models.ContinuationResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.NextResponse
|
import it.vfsfitvnm.innertube.models.NextResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.ContinuationBody
|
import it.vfsfitvnm.innertube.models.bodies.ContinuationBody
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.NextBody
|
import it.vfsfitvnm.innertube.models.bodies.NextBody
|
||||||
import it.vfsfitvnm.youtubemusic.utils.from
|
import it.vfsfitvnm.innertube.utils.from
|
||||||
import it.vfsfitvnm.youtubemusic.utils.runCatchingNonCancellable
|
import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.requests
|
package it.vfsfitvnm.innertube.requests
|
||||||
|
|
||||||
import io.ktor.client.call.body
|
import io.ktor.client.call.body
|
||||||
import io.ktor.client.request.get
|
import io.ktor.client.request.get
|
||||||
@@ -6,11 +6,11 @@ import io.ktor.client.request.post
|
|||||||
import io.ktor.client.request.setBody
|
import io.ktor.client.request.setBody
|
||||||
import io.ktor.http.ContentType
|
import io.ktor.http.ContentType
|
||||||
import io.ktor.http.contentType
|
import io.ktor.http.contentType
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.Context
|
import it.vfsfitvnm.innertube.models.Context
|
||||||
import it.vfsfitvnm.youtubemusic.models.PlayerResponse
|
import it.vfsfitvnm.innertube.models.PlayerResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.PlayerBody
|
import it.vfsfitvnm.innertube.models.bodies.PlayerBody
|
||||||
import it.vfsfitvnm.youtubemusic.utils.runCatchingNonCancellable
|
import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
suspend fun Innertube.player(body: PlayerBody) = runCatchingNonCancellable {
|
suspend fun Innertube.player(body: PlayerBody) = runCatchingNonCancellable {
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.requests
|
package it.vfsfitvnm.innertube.requests
|
||||||
|
|
||||||
import io.ktor.client.call.body
|
import io.ktor.client.call.body
|
||||||
import io.ktor.client.request.post
|
import io.ktor.client.request.post
|
||||||
import io.ktor.client.request.setBody
|
import io.ktor.client.request.setBody
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.BrowseResponse
|
import it.vfsfitvnm.innertube.models.BrowseResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.ContinuationResponse
|
import it.vfsfitvnm.innertube.models.ContinuationResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.MusicCarouselShelfRenderer
|
import it.vfsfitvnm.innertube.models.MusicCarouselShelfRenderer
|
||||||
import it.vfsfitvnm.youtubemusic.models.MusicShelfRenderer
|
import it.vfsfitvnm.innertube.models.MusicShelfRenderer
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.BrowseBody
|
import it.vfsfitvnm.innertube.models.bodies.BrowseBody
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.ContinuationBody
|
import it.vfsfitvnm.innertube.models.bodies.ContinuationBody
|
||||||
import it.vfsfitvnm.youtubemusic.utils.from
|
import it.vfsfitvnm.innertube.utils.from
|
||||||
import it.vfsfitvnm.youtubemusic.utils.runCatchingNonCancellable
|
import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable
|
||||||
|
|
||||||
suspend fun Innertube.playlistPage(body: BrowseBody) = runCatchingNonCancellable {
|
suspend fun Innertube.playlistPage(body: BrowseBody) = runCatchingNonCancellable {
|
||||||
val response = client.post(browse) {
|
val response = client.post(browse) {
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.requests
|
package it.vfsfitvnm.innertube.requests
|
||||||
|
|
||||||
import io.ktor.client.call.body
|
import io.ktor.client.call.body
|
||||||
import io.ktor.client.request.post
|
import io.ktor.client.request.post
|
||||||
import io.ktor.client.request.setBody
|
import io.ktor.client.request.setBody
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.GetQueueResponse
|
import it.vfsfitvnm.innertube.models.GetQueueResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.QueueBody
|
import it.vfsfitvnm.innertube.models.bodies.QueueBody
|
||||||
import it.vfsfitvnm.youtubemusic.utils.from
|
import it.vfsfitvnm.innertube.utils.from
|
||||||
import it.vfsfitvnm.youtubemusic.utils.runCatchingNonCancellable
|
import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable
|
||||||
|
|
||||||
suspend fun Innertube.queue(body: QueueBody) = runCatchingNonCancellable {
|
suspend fun Innertube.queue(body: QueueBody) = runCatchingNonCancellable {
|
||||||
val response = client.post(queue) {
|
val response = client.post(queue) {
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.requests
|
package it.vfsfitvnm.innertube.requests
|
||||||
|
|
||||||
import io.ktor.client.call.body
|
import io.ktor.client.call.body
|
||||||
import io.ktor.client.request.post
|
import io.ktor.client.request.post
|
||||||
import io.ktor.client.request.setBody
|
import io.ktor.client.request.setBody
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.BrowseResponse
|
import it.vfsfitvnm.innertube.models.BrowseResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.MusicCarouselShelfRenderer
|
import it.vfsfitvnm.innertube.models.MusicCarouselShelfRenderer
|
||||||
import it.vfsfitvnm.youtubemusic.models.NextResponse
|
import it.vfsfitvnm.innertube.models.NextResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.BrowseBody
|
import it.vfsfitvnm.innertube.models.bodies.BrowseBody
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.NextBody
|
import it.vfsfitvnm.innertube.models.bodies.NextBody
|
||||||
import it.vfsfitvnm.youtubemusic.utils.findSectionByStrapline
|
import it.vfsfitvnm.innertube.utils.findSectionByStrapline
|
||||||
import it.vfsfitvnm.youtubemusic.utils.findSectionByTitle
|
import it.vfsfitvnm.innertube.utils.findSectionByTitle
|
||||||
import it.vfsfitvnm.youtubemusic.utils.from
|
import it.vfsfitvnm.innertube.utils.from
|
||||||
import it.vfsfitvnm.youtubemusic.utils.runCatchingNonCancellable
|
import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable
|
||||||
|
|
||||||
suspend fun Innertube.relatedPage(body: NextBody) = runCatchingNonCancellable {
|
suspend fun Innertube.relatedPage(body: NextBody) = runCatchingNonCancellable {
|
||||||
val nextResponse = client.post(next) {
|
val nextResponse = client.post(next) {
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.requests
|
package it.vfsfitvnm.innertube.requests
|
||||||
|
|
||||||
import io.ktor.client.call.body
|
import io.ktor.client.call.body
|
||||||
import io.ktor.client.request.post
|
import io.ktor.client.request.post
|
||||||
import io.ktor.client.request.setBody
|
import io.ktor.client.request.setBody
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.ContinuationResponse
|
import it.vfsfitvnm.innertube.models.ContinuationResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.MusicShelfRenderer
|
import it.vfsfitvnm.innertube.models.MusicShelfRenderer
|
||||||
import it.vfsfitvnm.youtubemusic.models.SearchResponse
|
import it.vfsfitvnm.innertube.models.SearchResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.ContinuationBody
|
import it.vfsfitvnm.innertube.models.bodies.ContinuationBody
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.SearchBody
|
import it.vfsfitvnm.innertube.models.bodies.SearchBody
|
||||||
import it.vfsfitvnm.youtubemusic.utils.runCatchingNonCancellable
|
import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable
|
||||||
|
|
||||||
suspend fun <T : Innertube.Item> Innertube.searchPage(
|
suspend fun <T : Innertube.Item> Innertube.searchPage(
|
||||||
body: SearchBody,
|
body: SearchBody,
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.requests
|
package it.vfsfitvnm.innertube.requests
|
||||||
|
|
||||||
import io.ktor.client.call.body
|
import io.ktor.client.call.body
|
||||||
import io.ktor.client.request.post
|
import io.ktor.client.request.post
|
||||||
import io.ktor.client.request.setBody
|
import io.ktor.client.request.setBody
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.SearchSuggestionsResponse
|
import it.vfsfitvnm.innertube.models.SearchSuggestionsResponse
|
||||||
import it.vfsfitvnm.youtubemusic.models.bodies.SearchSuggestionsBody
|
import it.vfsfitvnm.innertube.models.bodies.SearchSuggestionsBody
|
||||||
import it.vfsfitvnm.youtubemusic.utils.runCatchingNonCancellable
|
import it.vfsfitvnm.innertube.utils.runCatchingNonCancellable
|
||||||
|
|
||||||
suspend fun Innertube.searchSuggestions(body: SearchSuggestionsBody) = runCatchingNonCancellable {
|
suspend fun Innertube.searchSuggestions(body: SearchSuggestionsBody) = runCatchingNonCancellable {
|
||||||
val response = client.post(searchSuggestions) {
|
val response = client.post(searchSuggestions) {
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.utils
|
package it.vfsfitvnm.innertube.utils
|
||||||
|
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.MusicResponsiveListItemRenderer
|
import it.vfsfitvnm.innertube.models.MusicResponsiveListItemRenderer
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
import it.vfsfitvnm.youtubemusic.models.Runs
|
import it.vfsfitvnm.innertube.models.Runs
|
||||||
|
|
||||||
fun Innertube.SongItem.Companion.from(renderer: MusicResponsiveListItemRenderer): Innertube.SongItem? {
|
fun Innertube.SongItem.Companion.from(renderer: MusicResponsiveListItemRenderer): Innertube.SongItem? {
|
||||||
return Innertube.SongItem(
|
return Innertube.SongItem(
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.utils
|
package it.vfsfitvnm.innertube.utils
|
||||||
|
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.MusicShelfRenderer
|
import it.vfsfitvnm.innertube.models.MusicShelfRenderer
|
||||||
import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint
|
import it.vfsfitvnm.innertube.models.NavigationEndpoint
|
||||||
|
|
||||||
fun Innertube.SongItem.Companion.from(content: MusicShelfRenderer.Content): Innertube.SongItem? {
|
fun Innertube.SongItem.Companion.from(content: MusicShelfRenderer.Content): Innertube.SongItem? {
|
||||||
val (mainRuns, otherRuns) = content.runs
|
val (mainRuns, otherRuns) = content.runs
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.utils
|
package it.vfsfitvnm.innertube.utils
|
||||||
|
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.MusicTwoRowItemRenderer
|
import it.vfsfitvnm.innertube.models.MusicTwoRowItemRenderer
|
||||||
|
|
||||||
fun Innertube.AlbumItem.Companion.from(renderer: MusicTwoRowItemRenderer): Innertube.AlbumItem? {
|
fun Innertube.AlbumItem.Companion.from(renderer: MusicTwoRowItemRenderer): Innertube.AlbumItem? {
|
||||||
return Innertube.AlbumItem(
|
return Innertube.AlbumItem(
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.utils
|
package it.vfsfitvnm.innertube.utils
|
||||||
|
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.PlaylistPanelVideoRenderer
|
import it.vfsfitvnm.innertube.models.PlaylistPanelVideoRenderer
|
||||||
|
|
||||||
fun Innertube.SongItem.Companion.from(renderer: PlaylistPanelVideoRenderer): Innertube.SongItem? {
|
fun Innertube.SongItem.Companion.from(renderer: PlaylistPanelVideoRenderer): Innertube.SongItem? {
|
||||||
return Innertube.SongItem(
|
return Innertube.SongItem(
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package it.vfsfitvnm.youtubemusic.utils
|
package it.vfsfitvnm.innertube.utils
|
||||||
|
|
||||||
import io.ktor.utils.io.CancellationException
|
import io.ktor.utils.io.CancellationException
|
||||||
import it.vfsfitvnm.youtubemusic.Innertube
|
import it.vfsfitvnm.innertube.Innertube
|
||||||
import it.vfsfitvnm.youtubemusic.models.SectionListRenderer
|
import it.vfsfitvnm.innertube.models.SectionListRenderer
|
||||||
|
|
||||||
internal fun SectionListRenderer.findSectionByTitle(text: String): SectionListRenderer.Content? {
|
internal fun SectionListRenderer.findSectionByTitle(text: String): SectionListRenderer.Content? {
|
||||||
return contents?.find { content ->
|
return contents?.find { content ->
|
||||||
Reference in New Issue
Block a user