신규 캐릭터 전체 문자열 리소스화

This commit is contained in:
2025-12-01 17:49:55 +09:00
parent 2066dbc716
commit e44bd68152
6 changed files with 22 additions and 9 deletions

View File

@@ -6,6 +6,7 @@ import android.view.View
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.base.BaseActivity
import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailActivity
import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailActivity.Companion.EXTRA_CHARACTER_ID
@@ -32,7 +33,7 @@ class NewCharactersAllActivity : BaseActivity<ActivityNewCharactersAllBinding>(
override fun setupView() {
loadingDialog = LoadingDialog(this, layoutInflater)
binding.toolbar.tvBack.text = "신규 캐릭터 전체보기"
binding.toolbar.tvBack.text = getString(R.string.screen_new_characters_all_title)
binding.toolbar.tvBack.setOnClickListener { finish() }
val spanCount = 2
@@ -86,7 +87,7 @@ class NewCharactersAllActivity : BaseActivity<ActivityNewCharactersAllBinding>(
}
viewModel.toastLiveData.observe(this) { message ->
message?.let { showToast(it) }
message?.let { showToast(it.asString(this)) }
}
}
}

View File

@@ -5,16 +5,18 @@ 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.chat.character.Character
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
import kr.co.vividnext.sodalive.common.UiText
class NewCharactersAllViewModel(
private val repository: NewCharactersRepository
) : BaseViewModel() {
private val _toastLiveData = MutableLiveData<String?>()
val toastLiveData: LiveData<String?> get() = _toastLiveData
private val _toastLiveData = MutableLiveData<UiText?>()
val toastLiveData: LiveData<UiText?> get() = _toastLiveData
private val _isLoading = MutableLiveData(false)
val isLoading: LiveData<Boolean> get() = _isLoading
@@ -54,14 +56,15 @@ class NewCharactersAllViewModel(
isLast = true
}
} else {
_toastLiveData.value = response.message
?: "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
_toastLiveData.value = response.message?.takeIf { it.isNotBlank() }
?.let { UiText.DynamicString(it) }
?: UiText.StringResource(R.string.common_error_unknown)
}
_isLoading.value = false
}, { e ->
_isLoading.value = false
e.message?.let { Logger.e(it) }
_toastLiveData.value = "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
_toastLiveData.value = UiText.StringResource(R.string.common_error_unknown)
})
)
}