From 31ce2b530542bb1b075af9ce2362249c5be78f13 Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Thu, 9 Nov 2023 17:48:03 +0200 Subject: [PATCH] Fix selected users visibility --- .../feature/select_users/SelectUsersFragment.kt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/futo/circles/core/feature/select_users/SelectUsersFragment.kt b/core/src/main/java/org/futo/circles/core/feature/select_users/SelectUsersFragment.kt index c46793392..7b347a898 100644 --- a/core/src/main/java/org/futo/circles/core/feature/select_users/SelectUsersFragment.kt +++ b/core/src/main/java/org/futo/circles/core/feature/select_users/SelectUsersFragment.kt @@ -13,9 +13,9 @@ import org.futo.circles.core.databinding.FragmentSelectUsersBinding import org.futo.circles.core.extensions.getQueryTextChangeStateFlow import org.futo.circles.core.extensions.observeData import org.futo.circles.core.extensions.setIsVisible -import org.futo.circles.core.model.NoResultsItem import org.futo.circles.core.feature.select_users.list.search.InviteMembersSearchListAdapter import org.futo.circles.core.feature.select_users.list.selected.SelectedUsersListAdapter +import org.futo.circles.core.model.NoResultsItem @AndroidEntryPoint class SelectUsersFragment : Fragment(R.layout.fragment_select_users) { @@ -50,16 +50,26 @@ class SelectUsersFragment : Fragment(R.layout.fragment_select_users) { private fun setupObservers() { viewModel.searchUsersLiveData.observeData(this) { items -> - binding.lSelectedItems.setIsVisible(items.firstOrNull { it is NoResultsItem } == null) searchListAdapter.submitList(items) + handleSelectUsersMessageVisibility() } viewModel.selectedUsersLiveData.observeData(this) { items -> selectedUsersListAdapter.submitList(items) - binding.tvSelectedUsersPlaceholder.setIsVisible(items.isEmpty()) selectUsersListener?.onUserSelected(items.map { it.id }) + handleSelectUsersMessageVisibility() } } + private fun handleSelectUsersMessageVisibility() { + binding.lSelectedItems.setIsVisible( + viewModel.searchUsersLiveData.value?.firstOrNull { it is NoResultsItem } == null || + viewModel.selectedUsersLiveData.value?.isNotEmpty() == true + ) + binding.tvSelectedUsersPlaceholder.setIsVisible( + viewModel.selectedUsersLiveData.value?.isEmpty() == true + ) + } + companion object { private const val ROOM_ID = "roomId" fun create(roomId: String?) = SelectUsersFragment().apply { -- GitLab