diff --git a/app/src/main/java/melody/offline/music/activity/MoListDetailsActivity.kt b/app/src/main/java/melody/offline/music/activity/MoListDetailsActivity.kt index afca611..76e7242 100644 --- a/app/src/main/java/melody/offline/music/activity/MoListDetailsActivity.kt +++ b/app/src/main/java/melody/offline/music/activity/MoListDetailsActivity.kt @@ -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 diff --git a/app/src/main/java/melody/offline/music/innertube/requests/MoPlaylistPage.kt b/app/src/main/java/melody/offline/music/innertube/requests/MoPlaylistPage.kt index 8d6d88c..08ba8c5 100644 --- a/app/src/main/java/melody/offline/music/innertube/requests/MoPlaylistPage.kt +++ b/app/src/main/java/melody/offline/music/innertube/requests/MoPlaylistPage.kt @@ -121,15 +121,7 @@ suspend fun Innertube.moPlaylistPage(browseId: String): Result