This commit is contained in:
ocean 2024-06-26 18:41:40 +08:00
parent 1156dc4c34
commit 55df7e9988
2 changed files with 36 additions and 24 deletions

View File

@ -50,15 +50,20 @@ class MoListDetailsActivity : MoBaseActivity(), DetailsListAdapter.OnItemMoreCli
data class UpdateFavorite(val bean: Innertube.MoPlaylistOrAlbumPage.MoPlaylistOrAlbumListBean) :
Request()
data class OnFavorites(val bean: Innertube.MoPlaylistOrAlbumPage.MoPlaylistOrAlbumListBean) :
Request()
data class OnFavorites(
val bean: Innertube.MoPlaylistOrAlbumPage.MoPlaylistOrAlbumListBean, val imgUrl: String
) : Request()
data class OnDownload(val bean: Innertube.MoPlaylistOrAlbumPage.MoPlaylistOrAlbumListBean) :
Request()
data class OnDownload(
val bean: Innertube.MoPlaylistOrAlbumPage.MoPlaylistOrAlbumListBean, val imgUrl: String
) : Request()
data class OnDownloadRemove(val id: String) : Request()
data class OnUpdateDownloadUi(val id: String) : Request()
data class OnAddPlaylist(val bean: Innertube.MoPlaylistOrAlbumPage.MoPlaylistOrAlbumListBean) :
data class OnAddPlaylist(
val bean: Innertube.MoPlaylistOrAlbumPage.MoPlaylistOrAlbumListBean,
val imgUrl: String
) :
Request()
}
@ -146,7 +151,7 @@ class MoListDetailsActivity : MoBaseActivity(), DetailsListAdapter.OnItemMoreCli
videoId = it.bean.videoId,
title = it.bean.title.toString(),
name = it.bean.name.toString(),
thumbnail = it.bean.thumbnailUrl,
thumbnail = it.bean.thumbnailUrl ?: it.imgUrl,
isFavorite = true
)
App.appFavoriteDBManager.insertFavoriteBean(b)
@ -172,7 +177,7 @@ class MoListDetailsActivity : MoBaseActivity(), DetailsListAdapter.OnItemMoreCli
id,
it.bean.title.toString(),
it.bean.name.toString(),
it.bean.thumbnailUrl,
it.bean.thumbnailUrl ?: it.imgUrl,
isFavorite
)
insertOfflineData(favoriteBean)
@ -196,7 +201,6 @@ class MoListDetailsActivity : MoBaseActivity(), DetailsListAdapter.OnItemMoreCli
false
)
LolAdWrapper.shared.showAdTiming(
this@MoListDetailsActivity, AdPlacement.INST_DOWNLOAD
)
@ -204,13 +208,13 @@ class MoListDetailsActivity : MoBaseActivity(), DetailsListAdapter.OnItemMoreCli
id,
it.bean.title.toString(),
it.bean.name.toString(),
it.bean.thumbnailUrl,
it.bean.thumbnailUrl ?: it.imgUrl,
isFavorite
)
insertOfflineData(favoriteBean)
val jsonObject = JSONObject()
jsonObject.put(
"download_id", "${favoriteBean.videoId}"
"download_id", favoriteBean.videoId
)
val songMap = mutableMapOf(
Pair(
@ -258,7 +262,7 @@ class MoListDetailsActivity : MoBaseActivity(), DetailsListAdapter.OnItemMoreCli
videoId = it.bean.videoId.toString(),
title = it.bean.title.toString(),
name = it.bean.name.toString(),
thumbnail = it.bean.thumbnailUrl.toString(),
thumbnail = it.bean.thumbnailUrl ?: it.imgUrl,
isFavorite
)
)
@ -343,17 +347,32 @@ class MoListDetailsActivity : MoBaseActivity(), DetailsListAdapter.OnItemMoreCli
}
binding.favoritesBtn.setOnClickListener {
if (currentPosition >= 0) {
requests.trySend(Request.OnFavorites(myList[currentPosition]))
requests.trySend(
Request.OnFavorites(
myList[currentPosition],
myBean?.thumbnail.toString()
)
)
}
}
binding.moreDownloadBtn.setOnClickListener {
if (currentPosition >= 0) {
requests.trySend(Request.OnDownload(myList[currentPosition]))
requests.trySend(
Request.OnDownload(
myList[currentPosition],
myBean?.thumbnail.toString()
)
)
}
}
binding.moreAddPlaylistBtn.setOnClickListener {
if (currentPosition >= 0) {
requests.trySend(Request.OnAddPlaylist(myList[currentPosition]))
requests.trySend(
Request.OnAddPlaylist(
myList[currentPosition],
myBean?.thumbnail.toString()
)
)
hideBottomLayout()
}
}
@ -497,7 +516,8 @@ class MoListDetailsActivity : MoBaseActivity(), DetailsListAdapter.OnItemMoreCli
binding.bottomLayout.visibility = View.VISIBLE
val bean = myList[position]
Glide.with(this).load(bean.thumbnailUrl).into(binding.songImg)
val imgUrl = bean.thumbnailUrl ?: myBean?.thumbnail
Glide.with(this).load(imgUrl).into(binding.songImg)
binding.title.text = bean.title
if (bean.name?.isEmpty() == true) {
binding.name.visibility = View.GONE

View File

@ -121,15 +121,7 @@ suspend fun Innertube.moPlaylistPage(browseId: String): Result<Innertube.MoPlayl
params = watchEndpoint?.params,
musicVideoType = watchEndpoint?.type,
pageType = browseEndpoint?.type,
thumbnailUrl = thumbnailUrl ?: musicResponsiveHeaderRenderer
?.thumbnail
?.musicThumbnailRenderer
?.thumbnail
?.thumbnails
?.let {
it.getOrNull(3) ?: it.getOrNull(2) ?: it.getOrNull(1) ?: it.getOrNull(0)
}
?.url
thumbnailUrl = thumbnailUrl
)
list.add(bean)