feat(home): 온에어 라이브 더보기를 연결한다
This commit is contained in:
@@ -16,6 +16,7 @@ import kr.co.vividnext.sodalive.databinding.ViewSectionTitleBinding
|
||||
import kr.co.vividnext.sodalive.explorer.profile.creator_community.all.CreatorCommunityAllActivity
|
||||
import kr.co.vividnext.sodalive.chat.talk.room.ChatRoomActivity
|
||||
import kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivity
|
||||
import kr.co.vividnext.sodalive.v2.live.onair.HomeOnAirLiveActivity
|
||||
import kr.co.vividnext.sodalive.v2.main.chat.dm.DmChatRoomActivity
|
||||
import kr.co.vividnext.sodalive.v2.main.chat.model.ChatRoomListUiItem
|
||||
import kr.co.vividnext.sodalive.v2.main.chat.model.ChatRoomType
|
||||
@@ -154,6 +155,7 @@ class HomeMainFragment : BaseFragment<FragmentV2MainHomeBinding>(
|
||||
setOnBannerClick { onBannerClick(it) }
|
||||
}
|
||||
liveAdapter.setOnLiveClick { onLiveClick(it) }
|
||||
liveAdapter.setOnMoreClick { openHomeOnAirLive() }
|
||||
binding.rvHomeLives.adapter = liveAdapter
|
||||
binding.rvHomeRecentActivityCreators.adapter = recentActivityCreatorAdapter
|
||||
binding.rvHomeRecentDebutCreators.adapter = recentDebutCreatorAdapter
|
||||
@@ -484,6 +486,10 @@ class HomeMainFragment : BaseFragment<FragmentV2MainHomeBinding>(
|
||||
|
||||
private fun onLiveClick(item: HomeRecommendationLiveUiModel) = Unit
|
||||
|
||||
private fun openHomeOnAirLive() {
|
||||
startActivity(HomeOnAirLiveActivity.newIntent(requireContext()))
|
||||
}
|
||||
|
||||
private fun onFollowingSectionMoreClick(section: HomeFollowingSection) = Unit
|
||||
|
||||
private fun onFollowingLiveClick(item: HomeFollowingLiveUiItem) = Unit
|
||||
|
||||
@@ -16,6 +16,7 @@ class HomeLiveAdapter : RecyclerView.Adapter<HomeLiveAdapter.LiveViewHolder>() {
|
||||
private var items: List<HomeRecommendationLiveUiModel> = emptyList()
|
||||
private var hasMore: Boolean = false
|
||||
private var onClick: ((HomeRecommendationLiveUiModel) -> Unit)? = null
|
||||
private var onMoreClick: (() -> Unit)? = null
|
||||
|
||||
fun submitItems(items: List<HomeRecommendationLiveUiModel>) {
|
||||
this.items = items.take(MAX_VISIBLE_LIVE_COUNT)
|
||||
@@ -27,6 +28,10 @@ class HomeLiveAdapter : RecyclerView.Adapter<HomeLiveAdapter.LiveViewHolder>() {
|
||||
onClick = listener
|
||||
}
|
||||
|
||||
fun setOnMoreClick(listener: (() -> Unit)?) {
|
||||
onMoreClick = listener
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): LiveViewHolder {
|
||||
return if (viewType == VIEW_TYPE_MORE) {
|
||||
MoreViewHolder(createMoreView(parent))
|
||||
@@ -40,7 +45,7 @@ class HomeLiveAdapter : RecyclerView.Adapter<HomeLiveAdapter.LiveViewHolder>() {
|
||||
override fun onBindViewHolder(holder: LiveViewHolder, position: Int) {
|
||||
when (holder) {
|
||||
is LiveItemViewHolder -> holder.bind(items[position], onClick)
|
||||
is MoreViewHolder -> holder.bind()
|
||||
is MoreViewHolder -> holder.bind(onMoreClick)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,8 +102,8 @@ class HomeLiveAdapter : RecyclerView.Adapter<HomeLiveAdapter.LiveViewHolder>() {
|
||||
class MoreViewHolder(
|
||||
private val view: TextView
|
||||
) : LiveViewHolder(view) {
|
||||
fun bind() {
|
||||
view.setOnClickListener(null)
|
||||
fun bind(onClick: (() -> Unit)?) {
|
||||
view.setOnClickListener(if (onClick == null) null else View.OnClickListener { onClick.invoke() })
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user