У меня есть действие, и внутри этого действия у меня есть код инициализации:
private fun init() {
val authorFullName = photo?.user?.name ?: "?"
val source = getString(R.string.unknown)
photoAuthorText.text = String.format(getString(R.string.photo_by_s_on_s), authorFullName, source)
Utils.makeUnderlineBold(photoAuthorText, arrayOf(authorFullName, source))
}
private fun loadPhoto() {
Glide.with(this)
.asBitmap()
.load(photo?.urls?.regular)
.into(object : SimpleTarget<Bitmap>() {
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
photoImageView.setImageBitmap(resource)
}
})
}
Тогда внутри onCreate я просто звоню:
init()
loadPhoto()
У меня вопрос: нужно ли переместить эту логику из этих двух методов инициализации во ViewModel? Я не думаю, что держать эту логику в Activity - хорошая идея.
Я знаю о связывании данных, но не хочу его использовать. Есть ли другие подходы?