feat(creator): 시리즈 탭 activity 연동을 추가한다
This commit is contained in:
@@ -60,6 +60,7 @@ import kr.co.vividnext.sodalive.v2.creator.channel.model.CreatorChannelHeaderUiM
|
||||
import kr.co.vividnext.sodalive.v2.creator.channel.model.CreatorChannelScrollState
|
||||
import kr.co.vividnext.sodalive.v2.creator.channel.model.CreatorChannelTab
|
||||
import kr.co.vividnext.sodalive.v2.creator.channel.model.CreatorChannelTitleBarState
|
||||
import kr.co.vividnext.sodalive.v2.creator.channel.series.CreatorChannelSeriesFragment
|
||||
import kr.co.vividnext.sodalive.v2.main.MainV2Activity
|
||||
import kr.co.vividnext.sodalive.v2.main.chat.dm.DmChatRoomActivity
|
||||
import kr.co.vividnext.sodalive.splash.SplashActivity
|
||||
@@ -70,7 +71,8 @@ class CreatorChannelActivity :
|
||||
BaseActivity<ActivityCreatorChannelBinding>(ActivityCreatorChannelBinding::inflate),
|
||||
CreatorChannelHomeFragment.Host,
|
||||
CreatorChannelLiveFragment.Host,
|
||||
CreatorChannelAudioFragment.Host {
|
||||
CreatorChannelAudioFragment.Host,
|
||||
CreatorChannelSeriesFragment.Host {
|
||||
|
||||
private val liveViewModel: LiveViewModel by inject()
|
||||
private val myPageViewModel: MyPageViewModel by inject()
|
||||
@@ -402,6 +404,9 @@ class CreatorChannelActivity :
|
||||
CreatorChannelTab.Audio.ordinal -> binding.viewPager.post {
|
||||
findAudioFragment()?.onCreatorChannelAudioTabSelected()
|
||||
}
|
||||
CreatorChannelTab.Series.ordinal -> binding.viewPager.post {
|
||||
findSeriesFragment()?.onCreatorChannelSeriesTabSelected()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -420,6 +425,11 @@ class CreatorChannelActivity :
|
||||
findAudioFragment()?.onCreatorChannelAudioTabSelected()
|
||||
}
|
||||
}
|
||||
if (binding.viewPager.currentItem == CreatorChannelTab.Series.ordinal) {
|
||||
binding.viewPager.post {
|
||||
findSeriesFragment()?.onCreatorChannelSeriesTabSelected()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreatorChannelFollowProgressChanged(inProgress: Boolean) {
|
||||
@@ -471,6 +481,20 @@ class CreatorChannelActivity :
|
||||
postCheckCreatorChannelCurrentTabNeedsMore()
|
||||
}
|
||||
|
||||
override fun onCreatorChannelSeriesClicked(seriesId: Long) {
|
||||
startActivity(
|
||||
Intent(this, SeriesDetailActivity::class.java).apply {
|
||||
putExtra(Constants.EXTRA_SERIES_ID, seriesId)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
override fun onCreatorChannelSeriesContentChanged() {
|
||||
updateCreatorChannelTabViewportHeight()
|
||||
updateViewPagerHeight()
|
||||
postCheckCreatorChannelCurrentTabNeedsMore()
|
||||
}
|
||||
|
||||
private fun setupOwnerFabInsets() {
|
||||
binding.viewPager.updatePadding(bottom = OWNER_FAB_CONTENT_BOTTOM_PADDING_DP.dpToPx().toInt())
|
||||
}
|
||||
@@ -646,15 +670,23 @@ class CreatorChannelActivity :
|
||||
return supportFragmentManager.findFragmentByTag(fragmentTag) as? CreatorChannelAudioFragment
|
||||
}
|
||||
|
||||
private fun findSeriesFragment(): CreatorChannelSeriesFragment? {
|
||||
val fragmentTag = "f${CreatorChannelTab.Series.ordinal}"
|
||||
return supportFragmentManager.findFragmentByTag(fragmentTag) as? CreatorChannelSeriesFragment
|
||||
}
|
||||
|
||||
private fun notifyCurrentCreatorChannelTabScrolledToBottom() {
|
||||
when (binding.viewPager.currentItem) {
|
||||
CreatorChannelTab.Live.ordinal -> findLiveFragment()?.onCreatorChannelLiveScrolledToBottom()
|
||||
CreatorChannelTab.Audio.ordinal -> findAudioFragment()?.onCreatorChannelAudioScrolledToBottom()
|
||||
CreatorChannelTab.Series.ordinal -> findSeriesFragment()?.onCreatorChannelSeriesScrolledToBottom()
|
||||
}
|
||||
}
|
||||
|
||||
private fun isCreatorChannelLoadMoreTab(position: Int): Boolean {
|
||||
return position == CreatorChannelTab.Live.ordinal || position == CreatorChannelTab.Audio.ordinal
|
||||
return position == CreatorChannelTab.Live.ordinal ||
|
||||
position == CreatorChannelTab.Audio.ordinal ||
|
||||
position == CreatorChannelTab.Series.ordinal
|
||||
}
|
||||
|
||||
private fun ensureLoginAndAdultAuth(isAdult: Boolean, onAuthed: () -> Unit) {
|
||||
@@ -746,6 +778,7 @@ class CreatorChannelActivity :
|
||||
when (binding.viewPager.currentItem) {
|
||||
CreatorChannelTab.Live.ordinal -> findLiveFragment()?.onCreatorChannelLiveViewportHeightChanged(minHeight)
|
||||
CreatorChannelTab.Audio.ordinal -> findAudioFragment()?.onCreatorChannelAudioViewportHeightChanged(minHeight)
|
||||
CreatorChannelTab.Series.ordinal -> findSeriesFragment()?.onCreatorChannelSeriesViewportHeightChanged(minHeight)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user