캔 내역 화면 문자열 리소스화

This commit is contained in:
2025-12-02 14:22:07 +09:00
parent 50edf85de5
commit 98a6fb6637
6 changed files with 80 additions and 50 deletions

View File

@@ -39,7 +39,7 @@ class CanStatusActivity : BaseActivity<ActivityCanStatusBinding>(
}
override fun setupView() {
binding.toolbar.tvBack.text = "캔내역"
binding.toolbar.tvBack.text = getString(R.string.screen_can_status_title)
binding.toolbar.tvBack.setOnClickListener { onClickBackButton() }
binding.flChargeCan.setOnClickListener {
startActivity(
@@ -52,8 +52,16 @@ class CanStatusActivity : BaseActivity<ActivityCanStatusBinding>(
loadingDialog = LoadingDialog(this, layoutInflater)
val tabs = binding.tabs
tabs.addTab(tabs.newTab().setText("충전내역").setTag("charge_status"))
tabs.addTab(tabs.newTab().setText("사용내역").setTag("use_status"))
tabs.addTab(
tabs.newTab()
.setText(R.string.screen_can_status_tab_charge)
.setTag("charge_status")
)
tabs.addTab(
tabs.newTab()
.setText(R.string.screen_can_status_tab_use)
.setTag("use_status")
)
changeFragment("charge_status")
@@ -113,7 +121,10 @@ class CanStatusActivity : BaseActivity<ActivityCanStatusBinding>(
}
viewModel.toastLiveData.observe(this) {
it?.let { Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() }
val message = it?.resId?.let(::getString) ?: it?.message
message?.let { text ->
Toast.makeText(applicationContext, text, Toast.LENGTH_LONG).show()
}
}
viewModel.isLoading.observe(this) {

View File

@@ -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.common.ToastMessage
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.mypage.can.CanRepository
import kr.co.vividnext.sodalive.mypage.can.status.charge.GetCanChargeStatusResponseItem
import kr.co.vividnext.sodalive.mypage.can.status.use.GetCanUseStatusResponseItem
@@ -32,8 +34,8 @@ class CanStatusViewModel(private val repository: CanRepository) : BaseViewModel(
val canChargeStatusLiveData: LiveData<List<GetCanChargeStatusResponseItem>>
get() = _canChargeStatusLiveData
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)
@@ -57,19 +59,17 @@ class CanStatusViewModel(private val repository: CanRepository) : BaseViewModel(
_paidCanLiveData.postValue(it.data.chargeCan)
_rewardCanLiveData.postValue(it.data.rewardCan)
} else {
if (it.message != null) {
_toastLiveData.postValue(it.message)
} else {
_toastLiveData.postValue(
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
)
}
_toastLiveData.postValue(
it.message?.let { message ->
ToastMessage(message = message)
} ?: ToastMessage(resId = R.string.common_error_unknown)
)
}
},
{
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
_toastLiveData.postValue(ToastMessage(resId = R.string.common_error_unknown))
}
)
)
@@ -91,19 +91,17 @@ class CanStatusViewModel(private val repository: CanRepository) : BaseViewModel(
if (it.success && it.data != null) {
_canUseStatusLiveData.postValue(it.data!!)
} else {
if (it.message != null) {
_toastLiveData.postValue(it.message)
} else {
_toastLiveData.postValue(
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
)
}
_toastLiveData.postValue(
it.message?.let { message ->
ToastMessage(message = message)
} ?: ToastMessage(resId = R.string.common_error_unknown)
)
}
},
{
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
_toastLiveData.postValue(ToastMessage(resId = R.string.common_error_unknown))
}
)
)
@@ -125,19 +123,17 @@ class CanStatusViewModel(private val repository: CanRepository) : BaseViewModel(
if (it.success && it.data != null) {
_canChargeStatusLiveData.postValue(it.data!!)
} else {
if (it.message != null) {
_toastLiveData.postValue(it.message)
} else {
_toastLiveData.postValue(
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
)
}
_toastLiveData.postValue(
it.message?.let { message ->
ToastMessage(message = message)
} ?: ToastMessage(resId = R.string.common_error_unknown)
)
}
},
{
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
_toastLiveData.postValue(ToastMessage(resId = R.string.common_error_unknown))
}
)
)