Avoid potential copying of item list

This commit is contained in:
Ming Ming 2021-07-08 02:51:34 +08:00
parent 4fb6c022d2
commit c04c9ae7b0
5 changed files with 11 additions and 9 deletions

View file

@ -278,7 +278,8 @@ class _AlbumViewerState extends State<AlbumViewer>
"[_transformItems] Unsupported file format: ${f.contentType}");
}
}
}();
}()
.toList();
}
bool _shouldPropagateResyncedAlbum(Album album) {

View file

@ -280,7 +280,8 @@ class _ArchiveViewerState extends State<ArchiveViewer>
"[_transformItems] Unsupported file format: ${f.contentType}");
}
}
}();
}()
.toList();
}
void _reqQuery() {

View file

@ -402,7 +402,8 @@ class _DynamicAlbumViewerState extends State<DynamicAlbumViewer>
"[_onBackingFilesUpdated] Unsupported file format: ${f.contentType}");
}
}
}();
}()
.toList();
}
Album _album;

View file

@ -483,7 +483,8 @@ class _HomePhotosState extends State<HomePhotos>
"[_transformItems] Unsupported file format: ${f.contentType}");
}
}
}();
}()
.toList();
}
void _reqQuery() {

View file

@ -78,13 +78,11 @@ mixin SelectableItemStreamListMixin<T extends StatefulWidget> on State<T> {
List<SelectableItem> get itemStreamListItems => UnmodifiableListView(_items);
@protected
set itemStreamListItems(Iterable<SelectableItem> newItems) {
set itemStreamListItems(List<SelectableItem> newItems) {
final lastSelectedItem =
_lastSelectPosition != null ? _items[_lastSelectPosition] : null;
_items.clear();
_items.addAll(newItems);
_items = newItems;
_transformSelectedItems();
// Keep _lastSelectPosition if no changes, drop otherwise
@ -216,7 +214,7 @@ mixin SelectableItemStreamListMixin<T extends StatefulWidget> on State<T> {
int _lastSelectPosition;
bool _isRangeSelectionMode = false;
final _items = <SelectableItem>[];
var _items = <SelectableItem>[];
final _selectedItems = <SelectableItem>{};
final _listKey = GlobalKey();