Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java29
1 files changed, 21 insertions, 8 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java
index 64bc1db1f..6ffaec6a6 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java
@@ -10,14 +10,13 @@ import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
+import it.niedermann.android.util.DimensionUtil;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.databinding.DialogFilterAssigneesBinding;
import it.niedermann.nextcloud.deck.model.User;
-import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
import it.niedermann.nextcloud.deck.ui.MainViewModel;
import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
-import static it.niedermann.nextcloud.deck.util.DimensionUtil.dpToPx;
import static java.util.Objects.requireNonNull;
public class FilterUserFragment extends Fragment implements SelectionListener<User> {
@@ -33,21 +32,35 @@ public class FilterUserFragment extends Fragment implements SelectionListener<Us
filterViewModel = new ViewModelProvider(requireActivity()).get(FilterViewModel.class);
- observeOnce(new SyncManager(requireContext()).findProposalsForUsersToAssign(mainViewModel.getCurrentAccount().getId(), mainViewModel.getCurrentBoardLocalId()), requireActivity(), (users) -> {
+ observeOnce(filterViewModel.findProposalsForUsersToAssign(mainViewModel.getCurrentAccount().getId(), mainViewModel.getCurrentBoardLocalId()), requireActivity(), (users) -> {
binding.users.setNestedScrollingEnabled(false);
- binding.users.setAdapter(new FilterUserAdapter(dpToPx(requireContext(), R.dimen.avatar_size), mainViewModel.getCurrentAccount(), users, requireNonNull(filterViewModel.getFilterInformationDraft().getValue()).getUsers(), this));
+ binding.users.setAdapter(new FilterUserAdapter(
+ DimensionUtil.INSTANCE.dpToPx(requireContext(), R.dimen.avatar_size),
+ mainViewModel.getCurrentAccount(),
+ users,
+ requireNonNull(filterViewModel.getFilterInformationDraft().getValue()).getUsers(),
+ requireNonNull(filterViewModel.getFilterInformationDraft().getValue()).isNoAssignedUser(),
+ this));
});
return binding.getRoot();
}
@Override
- public void onItemSelected(User item) {
- filterViewModel.addFilterInformationUser(item);
+ public void onItemSelected(@Nullable User item) {
+ if (item == null) {
+ filterViewModel.setNotAssignedUser(true);
+ } else {
+ filterViewModel.addFilterInformationUser(item);
+ }
}
@Override
- public void onItemDeselected(User item) {
- filterViewModel.removeFilterInformationUser(item);
+ public void onItemDeselected(@Nullable User item) {
+ if (item == null) {
+ filterViewModel.setNotAssignedUser(false);
+ } else {
+ filterViewModel.removeFilterInformationUser(item);
+ }
}
}