오디션 문자열 리소스로 이관
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:gravity="center"
|
||||
android:minHeight="48dp"
|
||||
android:text="오디션"
|
||||
android:text="@string/screen_audition_title"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="21.3sp"
|
||||
app:drawableStartCompat="@drawable/ic_back"
|
||||
@@ -55,7 +55,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:text="보이스온 오디션 이용방법"
|
||||
android:text="@string/screen_audition_how_to_use"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="13.3sp" />
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:text="자세히>"
|
||||
android:text="@string/screen_audition_how_to_use_more"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="13.3sp" />
|
||||
</RelativeLayout>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="오디션"
|
||||
android:text="@string/screen_audition_title"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="18.3sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -31,8 +31,9 @@
|
||||
android:id="@+id/tv_audition_title_off"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text=" OFF"
|
||||
android:text="@string/screen_audition_off"
|
||||
android:textColor="@color/color_bbbbbb"
|
||||
android:textSize="18.3sp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tv_audition_title"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="오디션"
|
||||
android:text="@string/screen_audition_title"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="18.3sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -20,8 +20,9 @@
|
||||
android:id="@+id/tv_audition_title_on"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text=" ON"
|
||||
android:text="@string/screen_audition_on"
|
||||
android:textColor="@color/color_ff5c49"
|
||||
android:textSize="18.3sp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tv_audition_title"
|
||||
|
||||
@@ -185,6 +185,14 @@
|
||||
<string name="following_creator_total_suffix">creators</string>
|
||||
<string name="following_creator_empty">You are not following any channels.</string>
|
||||
|
||||
<!-- Audition -->
|
||||
<string name="screen_audition_title">Audition</string>
|
||||
<string name="screen_audition_on">ON</string>
|
||||
<string name="screen_audition_off">OFF</string>
|
||||
<string name="screen_audition_total_count">Total %1$d</string>
|
||||
<string name="screen_audition_how_to_use">How to use VoiceOn audition</string>
|
||||
<string name="screen_audition_how_to_use_more">See details></string>
|
||||
|
||||
<!-- Settings / Notices / Events -->
|
||||
<string name="screen_settings_title">Settings</string>
|
||||
<string name="screen_settings_notification">Notification settings</string>
|
||||
|
||||
@@ -185,6 +185,14 @@
|
||||
<string name="following_creator_total_suffix">人</string>
|
||||
<string name="following_creator_empty">フォロー中のチャンネルがありません。</string>
|
||||
|
||||
<!-- Audition -->
|
||||
<string name="screen_audition_title">オーディション</string>
|
||||
<string name="screen_audition_on">ON</string>
|
||||
<string name="screen_audition_off">OFF</string>
|
||||
<string name="screen_audition_total_count">合計 %1$d件</string>
|
||||
<string name="screen_audition_how_to_use">ボイスオンオーディションの利用方法</string>
|
||||
<string name="screen_audition_how_to_use_more">詳しく></string>
|
||||
|
||||
<!-- Settings / Notices / Events -->
|
||||
<string name="screen_settings_title">設定</string>
|
||||
<string name="screen_settings_notification">通知設定</string>
|
||||
|
||||
@@ -184,6 +184,14 @@
|
||||
<string name="following_creator_total_suffix">명</string>
|
||||
<string name="following_creator_empty">팔로우 중인 채널이 없습니다.</string>
|
||||
|
||||
<!-- Audition -->
|
||||
<string name="screen_audition_title">오디션</string>
|
||||
<string name="screen_audition_on">ON</string>
|
||||
<string name="screen_audition_off">OFF</string>
|
||||
<string name="screen_audition_total_count">총 %1$d개</string>
|
||||
<string name="screen_audition_how_to_use">보이스온 오디션 이용방법</string>
|
||||
<string name="screen_audition_how_to_use_more">자세히></string>
|
||||
|
||||
<!-- Settings / Notices / Events -->
|
||||
<string name="screen_settings_title">설정</string>
|
||||
<string name="screen_settings_notification">알림 설정</string>
|
||||
|
||||
Reference in New Issue
Block a user