diff --git a/app/src/main/java/kr/co/vividnext/sodalive/message/voice/VoiceMessageFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/message/voice/VoiceMessageFragment.kt index 0fc89abf..ad3f7e35 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/message/voice/VoiceMessageFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/message/voice/VoiceMessageFragment.kt @@ -103,7 +103,7 @@ class VoiceMessageFragment : BaseFragment( viewModel.deleteMessage(it) { Toast.makeText( requireContext(), - "메시지가 삭제되었습니다.", + getString(R.string.screen_message_detail_delete_success), Toast.LENGTH_LONG ).show() @@ -115,7 +115,7 @@ class VoiceMessageFragment : BaseFragment( if (isKept) { Toast.makeText( requireContext(), - "이미 보관된 메시지 입니다.", + getString(R.string.screen_message_detail_keep_already), Toast.LENGTH_LONG ).show() return@VoiceMessageAdapter @@ -252,7 +252,18 @@ class VoiceMessageFragment : BaseFragment( @SuppressLint("NotifyDataSetChanged") private fun bindData() { 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) { diff --git a/app/src/main/java/kr/co/vividnext/sodalive/message/voice/VoiceMessageViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/message/voice/VoiceMessageViewModel.kt index 3a298b8d..c9b21de7 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/message/voice/VoiceMessageViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/message/voice/VoiceMessageViewModel.kt @@ -5,8 +5,10 @@ import androidx.lifecycle.MutableLiveData import com.orhanobut.logger.Logger import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers +import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.base.BaseViewModel 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.MessageBox import kr.co.vividnext.sodalive.message.MessageRepository @@ -21,8 +23,8 @@ class VoiceMessageViewModel(private val repository: MessageRepository) : BaseVie val getMessagesLiveData: LiveData> get() = _getMessagesLiveData - private val _toastLiveData = MutableLiveData() - val toastLiveData: LiveData + private val _toastLiveData = MutableLiveData() + val toastLiveData: LiveData get() = _toastLiveData var page = 1 @@ -87,10 +89,10 @@ class VoiceMessageViewModel(private val repository: MessageRepository) : BaseVie } } 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) ) } } @@ -98,7 +100,9 @@ class VoiceMessageViewModel(private val repository: MessageRepository) : BaseVie }, { it.message?.let { message -> Logger.e(message) } - _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + _toastLiveData.postValue( + ToastMessage(resId = R.string.common_error_unknown) + ) _isLoading.postValue(false) } ) @@ -108,7 +112,7 @@ class VoiceMessageViewModel(private val repository: MessageRepository) : BaseVie fun deleteMessage(messageId: Long, onSuccess: () -> Unit) { if (messageId <= 0) { - _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + _toastLiveData.postValue(ToastMessage(resId = R.string.common_error_unknown)) return } @@ -125,17 +129,19 @@ class VoiceMessageViewModel(private val repository: MessageRepository) : BaseVie onSuccess() } 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) ) } } }, { 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) { if (messageId <= 0) { - _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + _toastLiveData.postValue(ToastMessage(resId = R.string.common_error_unknown)) return } @@ -159,21 +165,23 @@ class VoiceMessageViewModel(private val repository: MessageRepository) : BaseVie _isLoading.value = false if (it.success) { _toastLiveData.postValue( - "보관되었습니다." + ToastMessage(resId = R.string.screen_message_detail_keep_success) ) } 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) ) } } }, { it.message?.let { message -> Logger.e(message) } - _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + _toastLiveData.postValue( + ToastMessage(resId = R.string.common_error_unknown) + ) _isLoading.value = false } )