시리즈 회차 목록 문자열 리소스화

This commit is contained in:
2025-12-03 18:52:00 +09:00
parent 4a5627bf36
commit 5ef7896f1d
8 changed files with 35 additions and 16 deletions

View File

@@ -47,7 +47,7 @@ class SeriesContentAdapter(
} else if (item.isRented) { } else if (item.isRented) {
binding.tvRented.visibility = View.VISIBLE binding.tvRented.visibility = View.VISIBLE
} else if (item.price > 0) { } else if (item.price > 0) {
binding.tvPrice.text = "${item.price}" binding.tvPrice.text = item.price.toString()
binding.tvPrice.visibility = View.VISIBLE binding.tvPrice.visibility = View.VISIBLE
} else { } else {
binding.tvPriceFree.visibility = View.VISIBLE binding.tvPriceFree.visibility = View.VISIBLE

View File

@@ -30,7 +30,11 @@ class SeriesContentAllActivity : BaseActivity<ActivitySeriesContentAllBinding>(
val seriesId = intent.getLongExtra(Constants.EXTRA_SERIES_ID, 0) val seriesId = intent.getLongExtra(Constants.EXTRA_SERIES_ID, 0)
if (seriesId <= 0) { if (seriesId <= 0) {
Toast.makeText(applicationContext, "잘못된 요청입니다.", Toast.LENGTH_LONG).show() Toast.makeText(
applicationContext,
getString(R.string.screen_audio_content_error_invalid_request),
Toast.LENGTH_LONG
).show()
finish() finish()
} }
@@ -45,9 +49,12 @@ class SeriesContentAllActivity : BaseActivity<ActivitySeriesContentAllBinding>(
val seriesTitle = intent.getStringExtra(Constants.EXTRA_SERIES_TITLE) ?: "" val seriesTitle = intent.getStringExtra(Constants.EXTRA_SERIES_TITLE) ?: ""
binding.toolbar.tvBack.text = if (seriesTitle.isNotBlank()) { binding.toolbar.tvBack.text = if (seriesTitle.isNotBlank()) {
"$seriesTitle - 전체회차 듣기" getString(
R.string.screen_series_content_all_title_format,
seriesTitle
)
} else { } else {
" 전체회차 듣기" getString(R.string.screen_series_content_all_title_default)
} }
binding.toolbar.tvBack.setOnClickListener { finish() } binding.toolbar.tvBack.setOnClickListener { finish() }

View File

@@ -10,6 +10,8 @@ import kr.co.vividnext.sodalive.audio_content.series.SeriesRepository
import kr.co.vividnext.sodalive.audio_content.series.detail.GetSeriesContentListItem import kr.co.vividnext.sodalive.audio_content.series.detail.GetSeriesContentListItem
import kr.co.vividnext.sodalive.base.BaseViewModel import kr.co.vividnext.sodalive.base.BaseViewModel
import kr.co.vividnext.sodalive.common.SharedPreferenceManager import kr.co.vividnext.sodalive.common.SharedPreferenceManager
import kr.co.vividnext.sodalive.common.SodaLiveApplicationHolder
import kr.co.vividnext.sodalive.R
class SeriesContentAllViewModel(private val repository: SeriesRepository) : BaseViewModel() { class SeriesContentAllViewModel(private val repository: SeriesRepository) : BaseViewModel() {
private val _toastLiveData = MutableLiveData<String?>() private val _toastLiveData = MutableLiveData<String?>()
@@ -33,6 +35,8 @@ class SeriesContentAllViewModel(private val repository: SeriesRepository) : Base
var page = 1 var page = 1
private var pageSize = 10 private var pageSize = 10
private var isLast = false private var isLast = false
private val unknownErrorMessage: String
get() = SodaLiveApplicationHolder.get().getString(R.string.common_error_unknown)
fun getSeriesContentList() { fun getSeriesContentList() {
if (!_isLoading.value!! && !isLast) { if (!_isLoading.value!! && !isLast) {
@@ -59,18 +63,14 @@ class SeriesContentAllViewModel(private val repository: SeriesRepository) : Base
isLast = true isLast = true
} }
} else { } else {
if (it.message != null) { _toastLiveData.value = it.message ?: unknownErrorMessage
_toastLiveData.value = it.message
} else {
_toastLiveData.value = "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
}
} }
_isLoading.value = false _isLoading.value = false
}, },
{ {
_isLoading.value = false _isLoading.value = false
it.message?.let { message -> Logger.e(message) } it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") _toastLiveData.postValue(unknownErrorMessage)
} }
) )
) )

View File

@@ -29,7 +29,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:gravity="center" android:gravity="center"
android:text="최신순" android:text="@string/screen_series_content_sort_newest"
android:textColor="@color/color_88e2e2e2" android:textColor="@color/color_88e2e2e2"
android:textSize="13.3sp" /> android:textSize="13.3sp" />
@@ -40,7 +40,7 @@
android:layout_marginStart="13.3dp" android:layout_marginStart="13.3dp"
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:gravity="center" android:gravity="center"
android:text="등록순" android:text="@string/screen_series_content_sort_oldest"
android:textColor="@color/color_88e2e2e2" android:textColor="@color/color_88e2e2e2"
android:textSize="13.3sp" /> android:textSize="13.3sp" />
</LinearLayout> </LinearLayout>

View File

@@ -49,7 +49,7 @@
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:gravity="center" android:gravity="center"
android:padding="2.6dp" android:padding="2.6dp"
android:text="포인트" android:text="@string/audio_content_badge_point"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="8sp" android:textSize="8sp"
android:visibility="gone" android:visibility="gone"
@@ -94,7 +94,7 @@
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:paddingHorizontal="5.3dp" android:paddingHorizontal="5.3dp"
android:paddingVertical="2.7dp" android:paddingVertical="2.7dp"
android:text="무료" android:text="@string/audio_content_price_free"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="13.3sp" android:textSize="13.3sp"
android:visibility="gone" android:visibility="gone"
@@ -108,7 +108,7 @@
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:paddingHorizontal="5.3dp" android:paddingHorizontal="5.3dp"
android:paddingVertical="2.7dp" android:paddingVertical="2.7dp"
android:text="소장중" android:text="@string/audio_content_badge_owned"
android:textColor="@color/color_111111" android:textColor="@color/color_111111"
android:textSize="13.3sp" android:textSize="13.3sp"
android:visibility="gone" android:visibility="gone"
@@ -122,7 +122,7 @@
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:paddingHorizontal="5.3dp" android:paddingHorizontal="5.3dp"
android:paddingVertical="2.7dp" android:paddingVertical="2.7dp"
android:text="대여중" android:text="@string/audio_content_badge_rented"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="13.3sp" android:textSize="13.3sp"
android:visibility="gone" android:visibility="gone"

View File

@@ -167,6 +167,10 @@
<string name="screen_home_series_popular">Popular</string> <string name="screen_home_series_popular">Popular</string>
<string name="screen_home_series_new">New</string> <string name="screen_home_series_new">New</string>
<string name="screen_home_series_complete">Complete</string> <string name="screen_home_series_complete">Complete</string>
<string name="screen_series_content_all_title_format">%1$s - Full episodes</string>
<string name="screen_series_content_all_title_default">Full episodes</string>
<string name="screen_series_content_sort_newest">Newest</string>
<string name="screen_series_content_sort_oldest">Oldest</string>
<string name="screen_series_main_title">All series</string> <string name="screen_series_main_title">All series</string>
<string name="screen_series_main_tab_home">Home</string> <string name="screen_series_main_tab_home">Home</string>
<string name="screen_series_main_tab_day_of_week">By day</string> <string name="screen_series_main_tab_day_of_week">By day</string>

View File

@@ -167,6 +167,10 @@
<string name="screen_home_series_popular">人気</string> <string name="screen_home_series_popular">人気</string>
<string name="screen_home_series_new">新作</string> <string name="screen_home_series_new">新作</string>
<string name="screen_home_series_complete">完結</string> <string name="screen_home_series_complete">完結</string>
<string name="screen_series_content_all_title_format">%1$s - 全話を聴く</string>
<string name="screen_series_content_all_title_default">全話を聴く</string>
<string name="screen_series_content_sort_newest">最新順</string>
<string name="screen_series_content_sort_oldest">登録順</string>
<string name="screen_series_main_title">シリーズ一覧</string> <string name="screen_series_main_title">シリーズ一覧</string>
<string name="screen_series_main_tab_home">ホーム</string> <string name="screen_series_main_tab_home">ホーム</string>
<string name="screen_series_main_tab_day_of_week">曜日別</string> <string name="screen_series_main_tab_day_of_week">曜日別</string>

View File

@@ -166,6 +166,10 @@
<string name="screen_home_series_popular">인기</string> <string name="screen_home_series_popular">인기</string>
<string name="screen_home_series_new">신작</string> <string name="screen_home_series_new">신작</string>
<string name="screen_home_series_complete">완결</string> <string name="screen_home_series_complete">완결</string>
<string name="screen_series_content_all_title_format">%1$s - 전체회차 듣기</string>
<string name="screen_series_content_all_title_default">전체회차 듣기</string>
<string name="screen_series_content_sort_newest">최신순</string>
<string name="screen_series_content_sort_oldest">등록순</string>
<string name="screen_series_main_title">시리즈 전체보기</string> <string name="screen_series_main_title">시리즈 전체보기</string>
<string name="screen_series_main_tab_home"></string> <string name="screen_series_main_tab_home"></string>
<string name="screen_series_main_tab_day_of_week">요일별</string> <string name="screen_series_main_tab_day_of_week">요일별</string>