diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesApi.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesApi.kt index 1820ac1a..a9d5c864 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesApi.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesApi.kt @@ -18,6 +18,7 @@ interface SeriesApi { @Query("isAdultContentVisible") isAdultContentVisible: Boolean, @Query("contentType") contentType: ContentType, @Query("isOriginal") isOriginal: Boolean?, + @Query("isCompleted") isCompleted: Boolean?, @Query("page") page: Int, @Query("size") size: Int, @Header("Authorization") authHeader: String diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesListAllActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesListAllActivity.kt index c1281a23..8648265b 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesListAllActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesListAllActivity.kt @@ -30,6 +30,7 @@ class SeriesListAllActivity : BaseActivity( val passedCreatorId = intent.getLongExtra(Constants.EXTRA_USER_ID, 0) val isOriginal = intent.getBooleanExtra(Constants.EXTRA_IS_ORIGINAL, false) + val isCompleted = intent.getBooleanExtra(Constants.EXTRA_IS_COMPLETED, false) bindData() @@ -38,6 +39,11 @@ class SeriesListAllActivity : BaseActivity( } else { null } + viewModel.isCompleted = if (isCompleted) { + true + } else { + null + } viewModel.isOriginal = if (isOriginal) { true } else { @@ -49,7 +55,9 @@ class SeriesListAllActivity : BaseActivity( override fun setupView() { loadingDialog = LoadingDialog(this, layoutInflater) binding.toolbar.tvBack.text = - if (intent.getBooleanExtra(Constants.EXTRA_IS_ORIGINAL, false)) { + if (intent.getBooleanExtra(Constants.EXTRA_IS_COMPLETED, false)) { + "완결 시리즈" + } else if (intent.getBooleanExtra(Constants.EXTRA_IS_ORIGINAL, false)) { "오직 보이스온에서만" } else { "시리즈 전체보기" diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesListAllViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesListAllViewModel.kt index d9d86d7e..a4d2be1e 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesListAllViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesListAllViewModel.kt @@ -29,10 +29,11 @@ class SeriesListAllViewModel(private val repository: SeriesRepository) : BaseVie get() = _seriesListLiveData var creatorId: Long? = null + var isCompleted: Boolean? = null var isOriginal: Boolean? = null var isLast = false var page = 1 - private val size = 10 + private val size = 20 fun getSeriesList() { if (!_isLoading.value!! && !isLast) { @@ -42,6 +43,7 @@ class SeriesListAllViewModel(private val repository: SeriesRepository) : BaseVie repository.getSeriesList( creatorId = creatorId, isOriginal = isOriginal, + isCompleted = isCompleted, sortType = SeriesSortType.NEWEST, page = page, size = size, diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesRepository.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesRepository.kt index 82a3b769..e20399f7 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesRepository.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/SeriesRepository.kt @@ -7,6 +7,7 @@ class SeriesRepository(private val api: SeriesApi) { fun getSeriesList( creatorId: Long?, isOriginal: Boolean?, + isCompleted: Boolean?, sortType: SeriesListAllViewModel.SeriesSortType, page: Int, size: Int, @@ -17,6 +18,7 @@ class SeriesRepository(private val api: SeriesApi) { isAdultContentVisible = SharedPreferenceManager.isAdultContentVisible, contentType = ContentType.entries[SharedPreferenceManager.contentPreference], isOriginal = isOriginal, + isCompleted = isCompleted, page = page - 1, size = size, authHeader = token diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/main/home/SeriesMainHomeFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/main/home/SeriesMainHomeFragment.kt index 6938169d..3cf4cbf1 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/main/home/SeriesMainHomeFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/main/home/SeriesMainHomeFragment.kt @@ -16,6 +16,7 @@ import com.zhpan.bannerview.BaseBannerAdapter import com.zhpan.indicator.enums.IndicatorSlideMode import com.zhpan.indicator.enums.IndicatorStyle import kr.co.vividnext.sodalive.R +import kr.co.vividnext.sodalive.audio_content.series.SeriesListAllActivity import kr.co.vividnext.sodalive.audio_content.series.detail.SeriesDetailActivity import kr.co.vividnext.sodalive.base.BaseFragment import kr.co.vividnext.sodalive.common.Constants @@ -166,6 +167,17 @@ class SeriesMainHomeFragment : BaseFragment( }) recyclerView.adapter = completedAdapter + binding.tvCompletedSeriesAll.setOnClickListener { + startActivity( + Intent( + requireContext(), + SeriesListAllActivity::class.java + ).apply { + putExtra(Constants.EXTRA_IS_COMPLETED, true) + } + ) + } + viewModel.completedSeriesLiveData.observe(viewLifecycleOwner) { if (it.isNotEmpty()) { binding.llCompletedSeries.visibility = View.VISIBLE diff --git a/app/src/main/java/kr/co/vividnext/sodalive/common/Constants.kt b/app/src/main/java/kr/co/vividnext/sodalive/common/Constants.kt index 9b96cb92..bc59949d 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/common/Constants.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/common/Constants.kt @@ -96,4 +96,5 @@ object Constants { // Series List All options const val EXTRA_IS_ORIGINAL = "extra_is_original" + const val EXTRA_IS_COMPLETED = "extra_is_completed" } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt index 99bf6122..9663ecc8 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt @@ -653,7 +653,7 @@ class HomeFragment : BaseFragment(FragmentHomeBinding::infl requireContext(), SeriesListAllActivity::class.java ).apply { - putExtra(kr.co.vividnext.sodalive.common.Constants.EXTRA_IS_ORIGINAL, true) + putExtra(Constants.EXTRA_IS_ORIGINAL, true) } ) } else { diff --git a/app/src/main/res/layout/fragment_series_main_home.xml b/app/src/main/res/layout/fragment_series_main_home.xml index 91729c6f..79aca2b0 100644 --- a/app/src/main/res/layout/fragment_series_main_home.xml +++ b/app/src/main/res/layout/fragment_series_main_home.xml @@ -42,16 +42,33 @@ android:orientation="vertical" android:visibility="gone"> - + android:gravity="center_vertical" + android:orientation="horizontal" + android:paddingHorizontal="24dp"> + + + + +