From e75602fc8da3c31be65bde7752077c8627778f76 Mon Sep 17 00:00:00 2001 From: klaus Date: Mon, 17 Feb 2025 23:40:37 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=EB=8B=A8=ED=8E=B8=20=ED=83=AD=20-=20=ED=81=90?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=85=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AudioContentMainTabContentFragment.kt | 68 +++++++++++++++++++ .../AudioContentMainTabContentViewModel.kt | 6 ++ .../GetContentMainTabContentResponse.kt | 4 +- ...ragment_audio_content_main_tab_content.xml | 6 ++ 4 files changed, 83 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/AudioContentMainTabContentFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/AudioContentMainTabContentFragment.kt index f92ab00..f2e6d7f 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/AudioContentMainTabContentFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/AudioContentMainTabContentFragment.kt @@ -25,6 +25,7 @@ import kr.co.vividnext.sodalive.audio_content.main.AudioContentMainContentAdapte import kr.co.vividnext.sodalive.audio_content.main.banner.AudioContentMainBannerAdapter import kr.co.vividnext.sodalive.audio_content.main.new_content.AudioContentMainNewContentThemeAdapter import kr.co.vividnext.sodalive.audio_content.main.ranking.AudioContentMainRankingAdapter +import kr.co.vividnext.sodalive.audio_content.main.v2.AudioContentMainContentCurationAdapter import kr.co.vividnext.sodalive.audio_content.main.v2.ContentRankCreatorAdapter import kr.co.vividnext.sodalive.audio_content.main.v2.PopularContentByCreatorAdapter import kr.co.vividnext.sodalive.audio_content.series.detail.SeriesDetailActivity @@ -53,6 +54,7 @@ class AudioContentMainTabContentFragment : BaseFragment { + outRect.top = 30f.dpToPx().toInt() + outRect.bottom = 15f.dpToPx().toInt() + } + + curationAdapter.itemCount - 1 -> { + outRect.top = 15f.dpToPx().toInt() + outRect.bottom = 30f.dpToPx().toInt() + } + + else -> { + outRect.top = 15f.dpToPx().toInt() + outRect.bottom = 15f.dpToPx().toInt() + } + } + } + }) + + binding.rvCuration.adapter = curationAdapter + + viewModel.curationListLiveData.observe(viewLifecycleOwner) { + curationAdapter.addItems(it) + + binding.rvCuration.visibility = if (curationAdapter.itemCount <= 0 && it.isEmpty()) { + View.GONE + } else { + View.VISIBLE + } + } + } + private fun bindData() { viewModel.toastLiveData.observe(viewLifecycleOwner) { it?.let { Toast.makeText(requireContext(), it, Toast.LENGTH_LONG).show() } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/AudioContentMainTabContentViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/AudioContentMainTabContentViewModel.kt index a433d7d..ab602d1 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/AudioContentMainTabContentViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/AudioContentMainTabContentViewModel.kt @@ -9,6 +9,7 @@ import kr.co.vividnext.sodalive.audio_content.main.ContentCreatorResponse import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentBannerResponse import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentMainItem import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentRankingItem +import kr.co.vividnext.sodalive.audio_content.main.v2.GetContentCurationResponse import kr.co.vividnext.sodalive.base.BaseViewModel import kr.co.vividnext.sodalive.common.SharedPreferenceManager import kr.co.vividnext.sodalive.settings.event.EventItem @@ -48,6 +49,10 @@ class AudioContentMainTabContentViewModel( val eventLiveData: LiveData> get() = _eventLiveData + private var _curationListLiveData = MutableLiveData>() + val curationListLiveData: LiveData> + get() = _curationListLiveData + private val _contentRankCreatorListLiveData = MutableLiveData>() val contentRankCreatorListLiveData: LiveData> get() = _contentRankCreatorListLiveData @@ -81,6 +86,7 @@ class AudioContentMainTabContentViewModel( _contentRankCreatorListLiveData.value = data.contentRankCreatorList _salesCountRankContentListLiveData.value = data.salesCountRankContentList + _curationListLiveData.value = data.curationList } else { if (it.message != null) { _toastLiveData.postValue(it.message) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/GetContentMainTabContentResponse.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/GetContentMainTabContentResponse.kt index cc033a4..ba93587 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/GetContentMainTabContentResponse.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/GetContentMainTabContentResponse.kt @@ -6,6 +6,7 @@ import kr.co.vividnext.sodalive.audio_content.main.ContentCreatorResponse import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentBannerResponse import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentMainItem import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentRankingItem +import kr.co.vividnext.sodalive.audio_content.main.v2.GetContentCurationResponse import kr.co.vividnext.sodalive.settings.event.GetEventResponse @Keep @@ -17,5 +18,6 @@ data class GetContentMainTabContentResponse( @SerializedName("rankContentList") val rankContentList: List, @SerializedName("contentRankCreatorList") val contentRankCreatorList: List, @SerializedName("salesCountRankContentList") val salesCountRankContentList: List, - @SerializedName("eventBannerList") val eventBannerList: GetEventResponse + @SerializedName("eventBannerList") val eventBannerList: GetEventResponse, + @SerializedName("curationList") val curationList: List ) diff --git a/app/src/main/res/layout/fragment_audio_content_main_tab_content.xml b/app/src/main/res/layout/fragment_audio_content_main_tab_content.xml index 331ab9a..fe51a31 100644 --- a/app/src/main/res/layout/fragment_audio_content_main_tab_content.xml +++ b/app/src/main/res/layout/fragment_audio_content_main_tab_content.xml @@ -184,5 +184,11 @@ android:layout_gravity="center" android:layout_marginTop="6.7dp" android:visibility="gone" /> + +