Fix #49
This commit is contained in:
parent
f7a6481323
commit
6c15889360
|
@ -481,7 +481,7 @@ object YouTube {
|
||||||
info = Info(
|
info = Info(
|
||||||
name = renderer
|
name = renderer
|
||||||
.title
|
.title
|
||||||
.text,
|
?.text ?: return@let null,
|
||||||
endpoint = renderer
|
endpoint = renderer
|
||||||
.navigationEndpoint
|
.navigationEndpoint
|
||||||
.watchEndpoint
|
.watchEndpoint
|
||||||
|
@ -504,7 +504,7 @@ object YouTube {
|
||||||
.getOrNull(0),
|
.getOrNull(0),
|
||||||
durationText = renderer
|
durationText = renderer
|
||||||
.lengthText
|
.lengthText
|
||||||
.text
|
?.text
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -592,12 +592,12 @@ object YouTube {
|
||||||
?.playlistPanelRenderer
|
?.playlistPanelRenderer
|
||||||
?.contents
|
?.contents
|
||||||
?.mapNotNull { it.playlistPanelVideoRenderer }
|
?.mapNotNull { it.playlistPanelVideoRenderer }
|
||||||
?.map { renderer ->
|
?.mapNotNull { renderer ->
|
||||||
Item.Song(
|
Item.Song(
|
||||||
info = Info(
|
info = Info(
|
||||||
name = renderer
|
name = renderer
|
||||||
.title
|
.title
|
||||||
.text,
|
?.text ?: return@mapNotNull null,
|
||||||
endpoint = renderer
|
endpoint = renderer
|
||||||
.navigationEndpoint
|
.navigationEndpoint
|
||||||
.watchEndpoint
|
.watchEndpoint
|
||||||
|
@ -620,7 +620,7 @@ object YouTube {
|
||||||
.firstOrNull(),
|
.firstOrNull(),
|
||||||
durationText = renderer
|
durationText = renderer
|
||||||
.lengthText
|
.lengthText
|
||||||
.text
|
?.text
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
lyrics = NextResult.Lyrics(
|
lyrics = NextResult.Lyrics(
|
||||||
|
|
|
@ -30,10 +30,10 @@ data class NextResponse(
|
||||||
) {
|
) {
|
||||||
@Serializable
|
@Serializable
|
||||||
data class PlaylistPanelVideoRenderer(
|
data class PlaylistPanelVideoRenderer(
|
||||||
val title: Runs,
|
val title: Runs?,
|
||||||
val longBylineText: Runs?,
|
val longBylineText: Runs?,
|
||||||
val shortBylineText: Runs,
|
val shortBylineText: Runs?,
|
||||||
val lengthText: Runs,
|
val lengthText: Runs?,
|
||||||
val navigationEndpoint: NavigationEndpoint,
|
val navigationEndpoint: NavigationEndpoint,
|
||||||
val thumbnail: ThumbnailRenderer.MusicThumbnailRenderer.Thumbnail,
|
val thumbnail: ThumbnailRenderer.MusicThumbnailRenderer.Thumbnail,
|
||||||
val videoId: String,
|
val videoId: String,
|
||||||
|
|
|
@ -8,7 +8,7 @@ data class PlayerResponse(
|
||||||
val playabilityStatus: PlayabilityStatus,
|
val playabilityStatus: PlayabilityStatus,
|
||||||
val playerConfig: PlayerConfig?,
|
val playerConfig: PlayerConfig?,
|
||||||
val streamingData: StreamingData?,
|
val streamingData: StreamingData?,
|
||||||
val videoDetails: VideoDetails,
|
val videoDetails: VideoDetails?,
|
||||||
) {
|
) {
|
||||||
@Serializable
|
@Serializable
|
||||||
data class PlayabilityStatus(
|
data class PlayabilityStatus(
|
||||||
|
|
|
@ -20,20 +20,12 @@ data class ThumbnailRenderer(
|
||||||
@Serializable
|
@Serializable
|
||||||
data class Thumbnail(
|
data class Thumbnail(
|
||||||
val url: String,
|
val url: String,
|
||||||
val height: Int,
|
val height: Int?,
|
||||||
val width: Int
|
val width: Int?
|
||||||
) {
|
) {
|
||||||
val isResizable: Boolean
|
val isResizable: Boolean
|
||||||
get() = !url.startsWith("https://i.ytimg.com")
|
get() = !url.startsWith("https://i.ytimg.com")
|
||||||
|
|
||||||
fun width(width: Int): String {
|
|
||||||
return when {
|
|
||||||
url.startsWith("https://lh3.googleusercontent.com") -> "$url-w$width-h${width * height / this.width}"
|
|
||||||
url.startsWith("https://yt3.ggpht.com") -> "$url-s$width"
|
|
||||||
else -> url
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun size(size: Int): String {
|
fun size(size: Int): String {
|
||||||
return when {
|
return when {
|
||||||
url.startsWith("https://lh3.googleusercontent.com") -> "$url-w$size-h$size"
|
url.startsWith("https://lh3.googleusercontent.com") -> "$url-w$size-h$size"
|
||||||
|
|
Loading…
Reference in a new issue