diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-05-04 23:38:10 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-05-04 23:38:10 +0300 |
commit | b5978199e6cfda0986d7b11d97ed0e5f05e498f5 (patch) | |
tree | 955873becb894c4285dab933da11400c17b4418d /app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsFragment.java | |
parent | a364c0ce949cc27715edda6b3760c9649b8bda71 (diff) |
Wire filterInformation and filterInformationDraft
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsFragment.java')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsFragment.java | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsFragment.java index 59d0006ac..cf20f0d06 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsFragment.java @@ -11,15 +11,16 @@ import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; import it.niedermann.nextcloud.deck.databinding.DialogFilterLabelsBinding; +import it.niedermann.nextcloud.deck.model.Label; import it.niedermann.nextcloud.deck.model.internal.FilterInformation; 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; -public class FilterLabelsFragment extends Fragment { +public class FilterLabelsFragment extends Fragment implements SelectionListener<Label> { - private FilterInformation filterInformation; + private FilterInformation filterInformationDraft; private DialogFilterLabelsBinding binding; private MainViewModel mainViewModel; private LabelFilterAdapter labelAdapter; @@ -31,15 +32,22 @@ public class FilterLabelsFragment extends Fragment { mainViewModel = new ViewModelProvider(requireActivity()).get(MainViewModel.class); final SyncManager syncManager = new SyncManager(requireActivity()); - this.filterInformation = mainViewModel.getFilterInformation().getValue(); - if (this.filterInformation == null) { - this.filterInformation = new FilterInformation(); - } + this.filterInformationDraft = mainViewModel.getFilterInformationDraft(); observeOnce(syncManager.findProposalsForLabelsToAssign(mainViewModel.getCurrentAccount().getId(), mainViewModel.getCurrentBoardLocalId()), requireActivity(), (labels) -> { - labelAdapter = new LabelFilterAdapter(labels, this.filterInformation.getLabels()); + labelAdapter = new LabelFilterAdapter(labels, this.filterInformationDraft.getLabels(), this); binding.labels.setNestedScrollingEnabled(false); binding.labels.setAdapter(labelAdapter); }); return binding.getRoot(); } + + @Override + public void onItemSelected(Label item) { + filterInformationDraft.addLabel(item); + } + + @Override + public void onItemDeselected(Label item) { + filterInformationDraft.removeLabel(item); + } } |