diff options
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/filter')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java index 8a2555eb5..7cd3c1c80 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java @@ -17,7 +17,8 @@ import it.niedermann.nextcloud.deck.model.enums.EDueType; import it.niedermann.nextcloud.deck.model.internal.FilterInformation; import it.niedermann.nextcloud.deck.persistence.sync.SyncManager; -import static it.niedermann.nextcloud.deck.model.internal.FilterInformation.hasActiveFilter; +import static androidx.lifecycle.Transformations.distinctUntilChanged; +import static androidx.lifecycle.Transformations.map; @SuppressWarnings("WeakerAccess") public class FilterViewModel extends AndroidViewModel { @@ -38,7 +39,7 @@ public class FilterViewModel extends AndroidViewModel { } public void publishFilterInformationDraft() { - this.filterInformation.postValue(hasActiveFilter(filterInformationDraft.getValue()) ? filterInformationDraft.getValue() : null); + this.filterInformation.postValue(FilterInformation.hasActiveFilter(filterInformationDraft.getValue()) ? filterInformationDraft.getValue() : null); } public void clearFilterInformation(boolean alsoFilterText) { @@ -57,6 +58,11 @@ public class FilterViewModel extends AndroidViewModel { return this.filterInformationDraft; } + @NonNull + public LiveData<Boolean> hasActiveFilter() { + return distinctUntilChanged(map(getFilterInformation(), FilterInformation::hasActiveFilter)); + } + public void createFilterInformationDraft() { this.filterInformationDraft.postValue(new FilterInformation(this.filterInformation.getValue())); } |