Musicoo/app/src/main/java/melody/offline/music/view/SingerDetailsOtherView.kt
2024-06-03 15:12:46 +08:00

54 lines
2.0 KiB
Kotlin

package melody.offline.music.view
import android.annotation.SuppressLint
import android.app.Activity
import android.content.Intent
import android.widget.LinearLayout
import android.widget.TextView
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import melody.offline.music.R
import melody.offline.music.activity.MoSingerMoreSongActivity
import melody.offline.music.adapter.TowRowListAdapter
import melody.offline.music.innertube.Innertube
@SuppressLint("ViewConstructor")
class SingerDetailsOtherView(context: Activity, bean: Innertube.SingerDetailsListPage) :
ModuleView(context) {
init {
contentView = inflate(getContext(), R.layout.singer_music_list_layout, this)
val title = contentView?.findViewById<TextView>(R.id.title)
title?.text = bean.title
val moreBtn = contentView?.findViewById<LinearLayout>(R.id.moreBtn)
moreBtn?.setOnClickListener {
val intent = Intent(context, MoSingerMoreSongActivity::class.java)
intent.putExtra(
MoSingerMoreSongActivity.SINGER_MORE_SONG_BROWSE_ID,
bean.browseId
)
intent.putExtra(MoSingerMoreSongActivity.SINGER_MORE_SONG_PARAMS, bean.params)
intent.putExtra(MoSingerMoreSongActivity.SINGER_MORE_TYPE, bean.pageType)
context.startActivity(intent)
}
when (bean.pageType) {
"MUSIC_PAGE_TYPE_ARTIST_DISCOGRAPHY" -> {
moreBtn?.visibility = VISIBLE
}
"MUSIC_PAGE_TYPE_PLAYLIST" -> {
moreBtn?.visibility = VISIBLE
}
else -> {
moreBtn?.visibility = GONE
}
}
val rv = contentView?.findViewById<RecyclerView>(R.id.rv)
val adapter = TowRowListAdapter(context, bean.contents?.musicCarouselShelfContentList!!)
rv?.layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
rv?.adapter = adapter
}
}