У меня есть изменяемые данные в реальном времени, которые я использую для настройки видимости (с привязкой адаптера) в моем макете. Я использую логическое значение живых данных для достижения этого с помощью приведенного ниже кода.
@BindingAdapter("viewVisibility")
fun setVisibility(view: View, visible: Boolean) {
view.visibility = if (visible) View.VISIBLE else View.GONE
}
Для получения этих данных я использую следующий метод
Flowable.just(
Sdk().searchContact(CHATBOT_NAME)).map {!(it.isEmpty()) }
it.isEmpty () дает мне Flowable > вместо Flowable, и я хочу преобразовать этот Single в логическое значение (чтобы передать его в качестве параметра моему адаптеру привязки), но я не смог найти способ преобразовать это. Мое временное (вероятно, плохое) решение ниже.
it.blockingLast().isEmpty() // Blocking last gives me a list so I can get non-single boolean with isEmpty. Since I need one element from search contact method blocking last or first works same in this case.
Это приемлемое решение? Как я могу преобразовать Single в обычный Boolean?