오디션 문자열 리소스로 이관

This commit is contained in:
2025-12-01 15:12:02 +09:00
parent e727658b24
commit e9afa55aa0
9 changed files with 53 additions and 19 deletions

View File

@@ -124,8 +124,13 @@ class AuditionFragment : BaseFragment<FragmentAuditionBinding>(
}
private fun bindData() {
viewModel.toastLiveData.observe(viewLifecycleOwner) {
it?.let { Toast.makeText(requireActivity(), it, Toast.LENGTH_LONG).show() }
viewModel.toastLiveData.observe(viewLifecycleOwner) { toastMessage ->
toastMessage?.let {
val message = it.message ?: it.resId?.let(::getString)
message?.let { text ->
Toast.makeText(requireActivity(), text, Toast.LENGTH_LONG).show()
}
}
}
viewModel.isLoading.observe(viewLifecycleOwner) {

View File

@@ -1,6 +1,5 @@
package kr.co.vividnext.sodalive.audition
import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
@@ -47,18 +46,18 @@ class AuditionListAdapter(
inner class InProgressHeaderViewHolder(
private val binding: ItemAuditionListInProgressHeaderBinding
) : RecyclerView.ViewHolder(binding.root) {
@SuppressLint("SetTextI18n")
fun bind(totalCount: Int) {
binding.tvTotalCount.text = "${totalCount}"
binding.tvTotalCount.text =
binding.root.context.getString(R.string.screen_audition_total_count, totalCount)
}
}
inner class CompletedHeaderViewHolder(
private val binding: ItemAuditionListCompletedHeaderBinding
) : RecyclerView.ViewHolder(binding.root) {
@SuppressLint("SetTextI18n")
fun bind(totalCount: Int) {
binding.tvTotalCount.text = "${totalCount}"
binding.tvTotalCount.text =
binding.root.context.getString(R.string.screen_audition_total_count, totalCount)
}
}

View File

@@ -6,7 +6,9 @@ import com.orhanobut.logger.Logger
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
import kr.co.vividnext.sodalive.base.BaseViewModel
import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
import kr.co.vividnext.sodalive.common.ToastMessage
import kr.co.vividnext.sodalive.settings.notification.UpdateNotificationSettingRequest
import kr.co.vividnext.sodalive.user.UserRepository
@@ -14,8 +16,8 @@ class AuditionViewModel(
private val repository: AuditionRepository,
private val userRepository: UserRepository
) : BaseViewModel() {
private val _toastLiveData = MutableLiveData<String?>()
val toastLiveData: LiveData<String?>
private val _toastLiveData = MutableLiveData<ToastMessage?>()
val toastLiveData: LiveData<ToastMessage?>
get() = _toastLiveData
private var _isLoading = MutableLiveData(false)
@@ -53,10 +55,10 @@ class AuditionViewModel(
}
} else {
if (it.message != null) {
_toastLiveData.postValue(it.message)
_toastLiveData.postValue(ToastMessage(message = it.message))
} else {
_toastLiveData.postValue(
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
ToastMessage(resId = R.string.common_error_unknown)
)
}
}
@@ -64,7 +66,9 @@ class AuditionViewModel(
{
_isLoading.postValue(false)
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
_toastLiveData.postValue(
ToastMessage(resId = R.string.common_error_unknown)
)
}
)
)