From 2f41ae72dbf2be2307989364ad01f5da22aa6747 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Thu, 20 Jul 2023 11:49:13 +0530 Subject: [PATCH] Fix animation issue --- lib/services/collections_service.dart | 6 ++++++ lib/ui/collections/album/row_item.dart | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/services/collections_service.dart b/lib/services/collections_service.dart index 9c95b7ee2..1edcdcdf6 100644 --- a/lib/services/collections_service.dart +++ b/lib/services/collections_service.dart @@ -254,6 +254,12 @@ class CollectionsService { return null; } + File? getCoverCache(Collection c) { + final int localSyncTime = getCollectionSyncTime(c.id); + final String coverKey = '${c.id}_${localSyncTime}_${c.updationTime}'; + return _coverCache[coverKey]; + } + Future getFileCount(Collection c) async { if (_countCache.containsKey(c.id)) { return _countCache[c.id]!; diff --git a/lib/ui/collections/album/row_item.dart b/lib/ui/collections/album/row_item.dart index b366bb63d..d8be611c4 100644 --- a/lib/ui/collections/album/row_item.dart +++ b/lib/ui/collections/album/row_item.dart @@ -59,8 +59,13 @@ class AlbumRowItemWidget extends StatelessWidget { FutureBuilder( future: CollectionsService.instance.getCover(c), builder: (context, snapshot) { + File? thumbnail; if (snapshot.hasData) { - final thumbnail = snapshot.data!; + thumbnail = snapshot.data!; + } else { + thumbnail = CollectionsService.instance.getCoverCache(c); + } + if (thumbnail != null) { final String heroTag = tagPrefix + thumbnail.tag; return Hero( tag: heroTag,