succes: MutableLiveData<Boolean> = MutableLiveData<Boolean>(false) val errorData: MutableLiveData<ErrorData> = MutableLiveData<ErrorData>() if (response.body()?.error == null){ preferencesHelper.putStringValue(userTokenKey,response.body()!!.result.token) succes.value = true }else { error.value = true errorData.value = response.body()!!.error } а во view так viewModel.succes.observe(viewLifecycleOwner){ println("succes. if need replase screen and more") } viewModel.error.observe(viewLifecycleOwner){ viewModel.errorData.observe(viewLifecycleOwner){ println("Show error") } } Теперь вопрос. На сколько этот код костыль? И как сделать лучше?
russian programming software itтакую логику обычно выполняет репозиторий а viewModel получает данные от remoLocal либо repoRemote и обзервит их во view
на один раз думаю не страшно, но если всегда так делать, то плохо
зачем oдин observe внутри другого observe?
Вот и я думаю что слишком костильно
ну один проверяет на error true. А второй отдает ErrorData
должен быть один обзервер и он будет возращать статус
ты можешь просто обзервить error, и вытягивать errorData когда прилетает уведомление подписчику