VoiceMessageWriteFragment 문자열 리소스화
This commit is contained in:
@@ -96,7 +96,7 @@ class VoiceMessageWriteFragment(
|
||||
dismiss()
|
||||
}
|
||||
})
|
||||
.setDeniedMessage("오디오 녹음 권한을 거부하시면 음성 메시지를 이용하실 수 없습니다.")
|
||||
.setDeniedMessage(getString(R.string.screen_voice_message_write_permission_denied))
|
||||
.setPermissions(Manifest.permission.RECORD_AUDIO)
|
||||
.check()
|
||||
}
|
||||
@@ -173,7 +173,7 @@ class VoiceMessageWriteFragment(
|
||||
if (viewModel.recipientId <= 0) {
|
||||
Toast.makeText(
|
||||
requireContext(),
|
||||
"받는 사람을 선택해 주세요.",
|
||||
R.string.screen_message_write_toast_select_recipient,
|
||||
Toast.LENGTH_LONG
|
||||
).show()
|
||||
|
||||
@@ -246,7 +246,16 @@ class VoiceMessageWriteFragment(
|
||||
|
||||
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 = if (message != null) {
|
||||
message
|
||||
} else {
|
||||
toast.resId?.let { resId -> getString(resId) }
|
||||
}
|
||||
|
||||
text?.let { Toast.makeText(requireActivity(), it, Toast.LENGTH_LONG).show() }
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.isLoading.observe(this) {
|
||||
|
||||
@@ -6,8 +6,10 @@ import com.google.gson.Gson
|
||||
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.MessageRepository
|
||||
import kr.co.vividnext.sodalive.message.SendVoiceMessageRequest
|
||||
import okhttp3.MediaType.Companion.toMediaType
|
||||
@@ -19,8 +21,8 @@ import java.io.File
|
||||
class VoiceMessageWriteViewModel(private val repository: MessageRepository) : BaseViewModel() {
|
||||
var recipientId: Long = 0
|
||||
|
||||
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)
|
||||
@@ -29,7 +31,9 @@ class VoiceMessageWriteViewModel(private val repository: MessageRepository) : Ba
|
||||
|
||||
fun write(file: File, onSuccess: () -> Unit) {
|
||||
if (recipientId <= 0) {
|
||||
_toastLiveData.postValue("받는 사람을 선택해 주세요.")
|
||||
_toastLiveData.postValue(
|
||||
ToastMessage(resId = R.string.screen_message_write_toast_select_recipient)
|
||||
)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -54,21 +58,25 @@ class VoiceMessageWriteViewModel(private val repository: MessageRepository) : Ba
|
||||
{
|
||||
_isLoading.value = false
|
||||
if (it.success) {
|
||||
_toastLiveData.postValue("메시지 전송이 완료되었습니다.")
|
||||
_toastLiveData.postValue(
|
||||
ToastMessage(resId = R.string.screen_message_write_toast_send_success)
|
||||
)
|
||||
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)
|
||||
)
|
||||
_isLoading.postValue(false)
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user