Rename youtubemusic package to innertube

This commit is contained in:
vfsfitvnm
2022-10-16 15:31:27 +02:00
parent e1f85b1d6a
commit 58720f8cb9
83 changed files with 222 additions and 222 deletions

View File

@@ -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

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(

View File

@@ -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>

View File

@@ -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

View File

@@ -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

View File

@@ -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(

View File

@@ -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(

View File

@@ -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

View File

@@ -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(

View File

@@ -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(

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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()

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -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

View File

@@ -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

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -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

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -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

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -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

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -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

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -1,4 +1,4 @@
package it.vfsfitvnm.youtubemusic.models package it.vfsfitvnm.innertube.models
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@@ -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>?
) )
} }
} }

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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 ->

View File

@@ -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 {

View File

@@ -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,

View File

@@ -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) {

View File

@@ -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

View File

@@ -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 {

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -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,

View File

@@ -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) {

View File

@@ -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(

View File

@@ -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

View File

@@ -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(

View File

@@ -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(

View File

@@ -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 ->