From b332739eaca457dba9d1447b64e16f4e35f91603 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 7 Jun 2021 14:47:42 +0900 Subject: [PATCH] fixed collection entries when filters include/exclude faved/unfaved entry --- lib/model/source/collection_lens.dart | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/model/source/collection_lens.dart b/lib/model/source/collection_lens.dart index 6c8fef13d..51c0c8926 100644 --- a/lib/model/source/collection_lens.dart +++ b/lib/model/source/collection_lens.dart @@ -2,7 +2,9 @@ import 'dart:async'; import 'dart:collection'; import 'package:aves/model/entry.dart'; +import 'package:aves/model/favourites.dart'; import 'package:aves/model/filters/album.dart'; +import 'package:aves/model/filters/favourite.dart'; import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/location.dart'; import 'package:aves/model/settings/settings.dart'; @@ -52,6 +54,7 @@ class CollectionLens with ChangeNotifier, CollectionActivityMixin { _refresh(); } })); + favourites.addListener(onFavouritesChanged); } _refresh(); } @@ -61,6 +64,7 @@ class CollectionLens with ChangeNotifier, CollectionActivityMixin { _subscriptions ..forEach((sub) => sub.cancel()) ..clear(); + favourites.removeListener(onFavouritesChanged); super.dispose(); } @@ -183,6 +187,12 @@ class CollectionLens with ChangeNotifier, CollectionActivityMixin { _applyGroup(); } + void onFavouritesChanged() { + if (filters.any((filter) => filter is FavouriteFilter)) { + _refresh(); + } + } + void onEntryAdded(Set? entries) { _refresh(); }