TextMessageFragment 문자열 리소스화

This commit is contained in:
2025-12-01 18:03:47 +09:00
parent 09a8019c66
commit 7e4202db1b
2 changed files with 15 additions and 6 deletions

View File

@@ -128,7 +128,12 @@ class TextMessageFragment : BaseFragment<FragmentTextMessageBinding>(
@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 { Toast.makeText(requireActivity(), it, Toast.LENGTH_LONG).show() }
}
} }
viewModel.isLoading.observe(viewLifecycleOwner) { viewModel.isLoading.observe(viewLifecycleOwner) {

View File

@@ -7,9 +7,11 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers import io.reactivex.rxjava3.schedulers.Schedulers
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.GetTextMessageResponse import kr.co.vividnext.sodalive.message.GetTextMessageResponse
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
import kr.co.vividnext.sodalive.R
class TextMessageViewModel(private val repository: MessageRepository) : BaseViewModel() { class TextMessageViewModel(private val repository: MessageRepository) : BaseViewModel() {
private val _messageBoxLiveData = MutableLiveData(MessageBox.RECEIVE) private val _messageBoxLiveData = MutableLiveData(MessageBox.RECEIVE)
@@ -21,8 +23,8 @@ class TextMessageViewModel(private val repository: MessageRepository) : BaseView
val getMessagesLiveData: LiveData<List<GetTextMessageResponse.TextMessageItem>> val getMessagesLiveData: LiveData<List<GetTextMessageResponse.TextMessageItem>>
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
@@ -88,10 +90,10 @@ class TextMessageViewModel(private val repository: MessageRepository) : BaseView
} }
} 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)
) )
} }
} }
@@ -99,7 +101,9 @@ class TextMessageViewModel(private val repository: MessageRepository) : BaseView
}, },
{ {
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)
} }
) )