Selaa lähdekoodia

Add unique key to thumbnails

Vishnu Mohandas 4 vuotta sitten
vanhempi
commit
2a37af87b4

+ 1 - 0
lib/ui/backup_folder_selection_widget.dart

@@ -162,6 +162,7 @@ class _BackupFolderSelectionWidgetState
         child: ThumbnailWidget(
           file,
           shouldShowSyncStatus: false,
+          key: Key("backup_selection_widget" + file.tag()),
         ),
         height: 50,
         width: 50,

+ 1 - 0
lib/ui/blurred_file_backdrop.dart

@@ -19,6 +19,7 @@ class BlurredFileBackdrop extends StatelessWidget {
         ThumbnailWidget(
           file,
           fit: BoxFit.cover,
+          key: Key("memory_backdrop" + file.tag()),
         ),
         BackdropFilter(
           filter: new ImageFilter.blur(sigmaX: 64.0, sigmaY: 64.0),

+ 4 - 0
lib/ui/collections_gallery_widget.dart

@@ -243,6 +243,9 @@ class DeviceFolderIcon extends StatelessWidget {
                       ThumbnailWidget(
                         folder.thumbnail,
                         shouldShowSyncStatus: false,
+                        key: Key("device_folder:" +
+                            folder.path +
+                            folder.thumbnail.tag()),
                       ),
                       isBackedUp
                           ? Container()
@@ -310,6 +313,7 @@ class CollectionItem extends StatelessWidget {
                   tag: "collection" + c.thumbnail.tag(),
                   child: ThumbnailWidget(
                     c.thumbnail,
+                    key: Key("collection" + c.thumbnail.tag()),
                   )),
               height: 140,
               width: 140,

+ 1 - 0
lib/ui/create_collection_page.dart

@@ -120,6 +120,7 @@ class _CreateCollectionPageState extends State<CreateCollectionPage> {
                 child: ThumbnailWidget(item.thumbnail),
                 height: 64,
                 width: 64,
+                key: Key("collection_item:" + item.thumbnail.tag()),
               ),
             ),
             Padding(padding: EdgeInsets.all(8)),

+ 1 - 0
lib/ui/huge_listview/lazy_loading_gallery.dart

@@ -322,6 +322,7 @@ class _LazyLoadingGridViewState extends State<LazyLoadingGridView> {
                 LazyLoadingGridView.kThumbnailDiskLoadDeferDuration,
             serverLoadDeferDuration:
                 LazyLoadingGridView.kThumbnailServerLoadDeferDuration,
+            key: Key(widget.tag + file.tag()),
           ),
         ),
       ),

+ 2 - 1
lib/ui/memories_widget.dart

@@ -181,6 +181,7 @@ class MemoryWidget extends StatelessWidget {
             child: ThumbnailWidget(
               memories[index].file,
               shouldShowSyncStatus: false,
+              key: Key("memories" + memories[index].file.tag()),
             ),
           ),
         ),
@@ -190,7 +191,7 @@ class MemoryWidget extends StatelessWidget {
 
   int _getNextMemoryIndex() {
     int lastSeenIndex = 0;
-    for (var index = memories.length - 1; index >=0; index--) {
+    for (var index = memories.length - 1; index >= 0; index--) {
       if (!memories[index].isSeen()) {
         lastSeenIndex = index;
       } else {

+ 8 - 3
lib/ui/shared_collections_gallery.dart

@@ -56,8 +56,9 @@ class _SharedCollectionGalleryState extends State<SharedCollectionGallery>
   Widget build(BuildContext context) {
     super.build(context);
     return FutureBuilder<SharedCollections>(
-      future: Future.value(CollectionsService.instance.getLatestCollectionFiles())
-          .then((files) async {
+      future:
+          Future.value(CollectionsService.instance.getLatestCollectionFiles())
+              .then((files) async {
         final List<CollectionWithThumbnail> outgoing = [];
         final List<CollectionWithThumbnail> incoming = [];
         for (final file in files) {
@@ -309,6 +310,7 @@ class OutgoingCollectionItem extends StatelessWidget {
                     tag: "outgoing_collection" + c.thumbnail.tag(),
                     child: ThumbnailWidget(
                       c.thumbnail,
+                      key: Key("outgoing_collection" + c.thumbnail.tag()),
                     )),
                 height: 60,
                 width: 60,
@@ -378,7 +380,10 @@ class IncomingCollectionItem extends StatelessWidget {
                 children: [
                   Hero(
                       tag: "shared_collection" + c.thumbnail.tag(),
-                      child: ThumbnailWidget(c.thumbnail)),
+                      child: ThumbnailWidget(
+                        c.thumbnail,
+                        key: Key("shared_collection" + c.thumbnail.tag()),
+                      )),
                   Align(
                     alignment: Alignment.bottomRight,
                     child: Container(

+ 1 - 1
lib/ui/thumbnail_widget.dart

@@ -25,7 +25,7 @@ class ThumbnailWidget extends StatefulWidget {
     this.shouldShowSyncStatus = true,
     this.diskLoadDeferDuration,
     this.serverLoadDeferDuration,
-  }) : super(key: key ?? Key(file.generatedID.toString()));
+  }) : super(key: key ?? Key(file.tag()));
   @override
   _ThumbnailWidgetState createState() => _ThumbnailWidgetState();
 }