diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d52c47cb..47e4924c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file. - support for Samsung HEIC motion photos embedding video in sefd box - Cataloguing: identify video location from Apple QuickTime metadata, and 3GPP `loci` atom +- Collection: stack RAW and HEIC with same file names ### Changed diff --git a/lib/model/source/collection_lens.dart b/lib/model/source/collection_lens.dart index c77ddfef4..8fd67875e 100644 --- a/lib/model/source/collection_lens.dart +++ b/lib/model/source/collection_lens.dart @@ -6,11 +6,10 @@ import 'package:aves/model/entry/extensions/multipage.dart'; import 'package:aves/model/entry/extensions/props.dart'; import 'package:aves/model/entry/sort.dart'; import 'package:aves/model/favourites.dart'; +import 'package:aves/model/filters/covered/location.dart'; import 'package:aves/model/filters/covered/stored_album.dart'; import 'package:aves/model/filters/favourite.dart'; import 'package:aves/model/filters/filters.dart'; -import 'package:aves/model/filters/covered/location.dart'; -import 'package:aves/model/filters/mime.dart'; import 'package:aves/model/filters/query.dart'; import 'package:aves/model/filters/rating.dart'; import 'package:aves/model/filters/trash.dart'; @@ -230,7 +229,7 @@ class CollectionLens with ChangeNotifier { void _stackDevelopedRaws() { final allRawEntries = _filteredSortedEntries.where((entry) => entry.isRaw).toSet(); if (allRawEntries.isNotEmpty) { - final allDevelopedEntries = _filteredSortedEntries.where(MimeFilter(MimeTypes.jpeg).test).toSet(); + final allDevelopedEntries = _filteredSortedEntries.where((entry) => MimeTypes.developedRawImages.contains(entry.mimeType)).toSet(); final rawEntriesByDir = groupBy(allRawEntries, (entry) => entry.directory); rawEntriesByDir.forEach((dir, dirRawEntries) { if (dir != null) { diff --git a/lib/ref/mime_types.dart b/lib/ref/mime_types.dart index 4c2619539..2b3882dbd 100644 --- a/lib/ref/mime_types.dart +++ b/lib/ref/mime_types.dart @@ -86,6 +86,8 @@ class MimeTypes { static const Set rawImages = {arw, cr2, crw, dcr, dng, dngX, erf, k25, kdc, mrw, nef, nrw, orf, pef, raf, raw, rw2, sr2, srf, srw, x3f}; + static const Set developedRawImages = {jpeg, heic, heif}; + static bool canHaveAlpha(String mimeType) => MimeTypes.alphaImages.contains(mimeType); static bool isRaw(String mimeType) => MimeTypes.rawImages.contains(mimeType);