Skip to content

Commit

Permalink
Fix icons from getting stuck
Browse files Browse the repository at this point in the history
Update ItemViewModel.cs
  • Loading branch information
yaira2 committed Mar 11, 2024
1 parent 6f1c26f commit 847a900
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions src/Files.App/Data/Models/ItemViewModel.cs
Expand Up @@ -914,11 +914,11 @@ private async Task<BitmapImage> GetShieldIcon()
return shieldIcon;
}

private async Task LoadThumbnailAsync(ListedItem item)
private async Task LoadThumbnailAsync(ListedItem item, bool loadBasicFolderIcon)
{
// Cancel if thumbnails aren't enabled
var thumbnailSize = folderSettings.GetRoundedIconSize();
var returnIconOnly = UserSettingsService.FoldersSettingsService.ShowThumbnails == false || thumbnailSize < 48;
var returnIconOnly = UserSettingsService.FoldersSettingsService.ShowThumbnails == false || thumbnailSize < 48 ||
(item.IsFolder && loadBasicFolderIcon);

// Get thumbnail
var result = await FileThumbnailHelper.GetIconAsync(
Expand Down Expand Up @@ -990,7 +990,7 @@ public async Task LoadExtendedItemPropertiesAsync(ListedItem item)
}

cts.Token.ThrowIfCancellationRequested();
await LoadThumbnailAsync(item);
await LoadThumbnailAsync(item, true);

cts.Token.ThrowIfCancellationRequested();
if (item.IsLibrary || item.PrimaryItemAttribute == StorageItemTypes.File || item.IsArchive)
Expand Down Expand Up @@ -1097,16 +1097,16 @@ public async Task LoadExtendedItemPropertiesAsync(ListedItem item)
SetFileTag(item);
});
}
else
else if (UserSettingsService.FoldersSettingsService.ShowThumbnails &&
(item.IsFolder || item.SyncStatusUI.SyncStatus != CloudDriveSyncStatus.NotSynced && item.SyncStatusUI.SyncStatus != CloudDriveSyncStatus.Unknown))
{
// Try loading thumbnail for cloud files in case they weren't cached the first time
if (item.SyncStatusUI.SyncStatus != CloudDriveSyncStatus.NotSynced && item.SyncStatusUI.SyncStatus != CloudDriveSyncStatus.Unknown)
// Load thumbnail for folders (we initially load a basic folder icon to prevent a bug where thumbnails stop loading #14817)
// Also reload thumbnails cloud files in case they weren't cached the first time
_ = Task.Run(async () =>
{
_ = Task.Run(async () => {
await Task.Delay(500);
await LoadThumbnailAsync(item);
});
}
await Task.Delay(500);
await LoadThumbnailAsync(item, false);
});
}

if (loadGroupHeaderInfo)
Expand Down

0 comments on commit 847a900

Please sign in to comment.