VoiceMessageFragment 문자열 리소스화

This commit is contained in:
2025-12-01 18:37:12 +09:00
parent 480b47ee3d
commit 9782462345
2 changed files with 36 additions and 17 deletions

View File

@@ -103,7 +103,7 @@ class VoiceMessageFragment : BaseFragment<FragmentVoiceMessageBinding>(
viewModel.deleteMessage(it) { viewModel.deleteMessage(it) {
Toast.makeText( Toast.makeText(
requireContext(), requireContext(),
"메시지가 삭제되었습니다.", getString(R.string.screen_message_detail_delete_success),
Toast.LENGTH_LONG Toast.LENGTH_LONG
).show() ).show()
@@ -115,7 +115,7 @@ class VoiceMessageFragment : BaseFragment<FragmentVoiceMessageBinding>(
if (isKept) { if (isKept) {
Toast.makeText( Toast.makeText(
requireContext(), requireContext(),
"이미 보관된 메시지 입니다.", getString(R.string.screen_message_detail_keep_already),
Toast.LENGTH_LONG Toast.LENGTH_LONG
).show() ).show()
return@VoiceMessageAdapter return@VoiceMessageAdapter
@@ -252,7 +252,18 @@ class VoiceMessageFragment : BaseFragment<FragmentVoiceMessageBinding>(
@SuppressLint("NotifyDataSetChanged") @SuppressLint("NotifyDataSetChanged")
private fun bindData() { private fun bindData() {
viewModel.toastLiveData.observe(viewLifecycleOwner) { viewModel.toastLiveData.observe(viewLifecycleOwner) {
it?.let { Toast.makeText(requireActivity(), it, Toast.LENGTH_LONG).show() } it?.let { toast ->
val message = toast.message
val text = message ?: toast.resId?.let { resId -> getString(resId) }
text?.let { textMessage ->
Toast.makeText(
requireActivity(),
textMessage,
Toast.LENGTH_LONG
).show()
}
}
} }
viewModel.isLoading.observe(viewLifecycleOwner) { viewModel.isLoading.observe(viewLifecycleOwner) {

View File

@@ -5,8 +5,10 @@ import androidx.lifecycle.MutableLiveData
import com.orhanobut.logger.Logger import com.orhanobut.logger.Logger
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers import io.reactivex.rxjava3.schedulers.Schedulers
import kr.co.vividnext.sodalive.R
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.ToastMessage
import kr.co.vividnext.sodalive.message.GetVoiceMessageResponse import kr.co.vividnext.sodalive.message.GetVoiceMessageResponse
import kr.co.vividnext.sodalive.message.MessageBox import kr.co.vividnext.sodalive.message.MessageBox
import kr.co.vividnext.sodalive.message.MessageRepository import kr.co.vividnext.sodalive.message.MessageRepository
@@ -21,8 +23,8 @@ class VoiceMessageViewModel(private val repository: MessageRepository) : BaseVie
val getMessagesLiveData: LiveData<List<GetVoiceMessageResponse.VoiceMessageItem>> val getMessagesLiveData: LiveData<List<GetVoiceMessageResponse.VoiceMessageItem>>
get() = _getMessagesLiveData get() = _getMessagesLiveData
private val _toastLiveData = MutableLiveData<String?>() private val _toastLiveData = MutableLiveData<ToastMessage?>()
val toastLiveData: LiveData<String?> val toastLiveData: LiveData<ToastMessage?>
get() = _toastLiveData get() = _toastLiveData
var page = 1 var page = 1
@@ -87,10 +89,10 @@ class VoiceMessageViewModel(private val repository: MessageRepository) : BaseVie
} }
} else { } else {
if (it.message != null) { if (it.message != null) {
_toastLiveData.postValue(it.message) _toastLiveData.postValue(ToastMessage(message = it.message))
} else { } else {
_toastLiveData.postValue( _toastLiveData.postValue(
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." ToastMessage(resId = R.string.common_error_unknown)
) )
} }
} }
@@ -98,7 +100,9 @@ class VoiceMessageViewModel(private val repository: MessageRepository) : BaseVie
}, },
{ {
it.message?.let { message -> Logger.e(message) } it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") _toastLiveData.postValue(
ToastMessage(resId = R.string.common_error_unknown)
)
_isLoading.postValue(false) _isLoading.postValue(false)
} }
) )
@@ -108,7 +112,7 @@ class VoiceMessageViewModel(private val repository: MessageRepository) : BaseVie
fun deleteMessage(messageId: Long, onSuccess: () -> Unit) { fun deleteMessage(messageId: Long, onSuccess: () -> Unit) {
if (messageId <= 0) { if (messageId <= 0) {
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") _toastLiveData.postValue(ToastMessage(resId = R.string.common_error_unknown))
return return
} }
@@ -125,17 +129,19 @@ class VoiceMessageViewModel(private val repository: MessageRepository) : BaseVie
onSuccess() onSuccess()
} else { } else {
if (it.message != null) { if (it.message != null) {
_toastLiveData.postValue(it.message) _toastLiveData.postValue(ToastMessage(message = it.message))
} else { } else {
_toastLiveData.postValue( _toastLiveData.postValue(
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." ToastMessage(resId = R.string.common_error_unknown)
) )
} }
} }
}, },
{ {
it.message?.let { message -> Logger.e(message) } it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") _toastLiveData.postValue(
ToastMessage(resId = R.string.common_error_unknown)
)
} }
) )
) )
@@ -143,7 +149,7 @@ class VoiceMessageViewModel(private val repository: MessageRepository) : BaseVie
fun keepVoiceMessage(messageId: Long) { fun keepVoiceMessage(messageId: Long) {
if (messageId <= 0) { if (messageId <= 0) {
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") _toastLiveData.postValue(ToastMessage(resId = R.string.common_error_unknown))
return return
} }
@@ -159,21 +165,23 @@ class VoiceMessageViewModel(private val repository: MessageRepository) : BaseVie
_isLoading.value = false _isLoading.value = false
if (it.success) { if (it.success) {
_toastLiveData.postValue( _toastLiveData.postValue(
"보관되었습니다." ToastMessage(resId = R.string.screen_message_detail_keep_success)
) )
} else { } else {
if (it.message != null) { if (it.message != null) {
_toastLiveData.postValue(it.message) _toastLiveData.postValue(ToastMessage(message = it.message))
} else { } else {
_toastLiveData.postValue( _toastLiveData.postValue(
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." ToastMessage(resId = R.string.common_error_unknown)
) )
} }
} }
}, },
{ {
it.message?.let { message -> Logger.e(message) } it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") _toastLiveData.postValue(
ToastMessage(resId = R.string.common_error_unknown)
)
_isLoading.value = false _isLoading.value = false
} }
) )