diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/detail/GetSeriesDetailResponse.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/detail/GetSeriesDetailResponse.kt index 4315af15..58f53c45 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/detail/GetSeriesDetailResponse.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/detail/GetSeriesDetailResponse.kt @@ -17,6 +17,7 @@ data class GetSeriesDetailResponse( @SerializedName("writer") val writer: String?, @SerializedName("studio") val studio: String?, @SerializedName("publishedDate") val publishedDate: String, + @SerializedName("publishedDateUtc") val publishedDateUtc: String, @SerializedName("creator") val creator: GetSeriesDetailCreator, @SerializedName("rentalMinPrice") var rentalMinPrice: Int, @SerializedName("rentalMaxPrice") var rentalMaxPrice: Int, @@ -26,7 +27,9 @@ data class GetSeriesDetailResponse( @SerializedName("keywordList") var keywordList: List, @SerializedName("publishedDaysOfWeek") var publishedDaysOfWeek: String, @SerializedName("contentList") val contentList: List, - @SerializedName("contentCount") val contentCount: Int + @SerializedName("contentCount") val contentCount: Int, + @SerializedName("translated") val translated: TranslatedSeries?, + @SerializedName("translatedGenre") val translatedGenre: String? ) : Parcelable { @Parcelize @Keep @@ -38,3 +41,11 @@ data class GetSeriesDetailResponse( @SerializedName("isNotify") var isNotify: Boolean ) : Parcelable } + +@Parcelize +@Keep +data class TranslatedSeries( + @SerializedName("title") val title: String, + @SerializedName("introduction") val introduction: String, + @SerializedName("keywords") val keywords: List +) : Parcelable diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/detail/SeriesDetailActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/detail/SeriesDetailActivity.kt index fa11628e..ffcaaf8c 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/detail/SeriesDetailActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/detail/SeriesDetailActivity.kt @@ -118,10 +118,13 @@ class SeriesDetailActivity : BaseActivity( } viewModel.seriesDetailLiveData.observe(this) { + // GetSeriesDetailResponse에 추가한대로 번역 데이터가 있으면 번역데이터 표시 + // 없으면 지금과 동일하게 원본 데이터 표시 setSeriesBg(it.coverImage) setSeriesInfo(it) setSeriesCreator(it.creator) - setSeriesKeywordChipList(it.keywordList) + // 번역 키워드가 있으면 번역 키워드 표시, 없으면 기존 키워드 표시 + setSeriesKeywordChipList(it.translated?.keywords ?: it.keywordList) changeFragment("home") } @@ -160,8 +163,14 @@ class SeriesDetailActivity : BaseActivity( transformations(RoundedCornersTransformation(5f.dpToPx())) } - binding.tvTitle.text = seriesDetail.title - binding.tvGenre.text = seriesDetail.genre + // 번역 데이터 사용 우선, 없으면 원본 사용 + val displayTitle = seriesDetail.translated?.title?.takeIf { it.isNotBlank() } + ?: seriesDetail.title + val displayGenre = seriesDetail.translatedGenre?.takeIf { it.isNotBlank() } + ?: seriesDetail.genre + + binding.tvTitle.text = displayTitle + binding.tvGenre.text = displayGenre val publishedDays = if (seriesDetail.publishedDaysOfWeek == getString(R.string.day_random)) { getString(R.string.day_random) } else { diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/detail/SeriesDetailIntroductionFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/detail/SeriesDetailIntroductionFragment.kt index 58198edc..73ec784d 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/detail/SeriesDetailIntroductionFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/detail/SeriesDetailIntroductionFragment.kt @@ -13,6 +13,9 @@ import kr.co.vividnext.sodalive.base.BaseFragment import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.databinding.FragmentSeriesDetailIntroductionBinding import kr.co.vividnext.sodalive.extensions.dpToPx +import java.text.SimpleDateFormat +import java.util.Locale +import java.util.TimeZone class SeriesDetailIntroductionFragment : BaseFragment( FragmentSeriesDetailIntroductionBinding::inflate @@ -38,8 +41,15 @@ class SeriesDetailIntroductionFragment : BaseFragment