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