|
@@ -40,6 +40,7 @@ class _GalleryState extends State<Gallery> {
|
|
|
// TODO: Investigate reason for multiple rebuilds on selection change
|
|
|
_photos = widget.photos;
|
|
|
_selectedPhotos = widget.selectedPhotos;
|
|
|
+ _deduplicatePhotos();
|
|
|
_collatePhotos();
|
|
|
|
|
|
return ListView.builder(
|
|
@@ -136,6 +137,16 @@ class _GalleryState extends State<Gallery> {
|
|
|
);
|
|
|
}
|
|
|
|
|
|
+ void _deduplicatePhotos() {
|
|
|
+ for (int index = 1; index < _photos.length; index++) {
|
|
|
+ final current = _photos[index], previous = _photos[index - 1];
|
|
|
+ if (current.localId == previous.localId) {
|
|
|
+ _photos.removeAt(index);
|
|
|
+ index--;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
void _collatePhotos() {
|
|
|
final dailyPhotos = List<Photo>();
|
|
|
final collatedPhotos = List<List<Photo>>();
|