Skip to content

Commit c4a9b53

Browse files
authored
Fixed folder size visibility in properties for hidden folders (#7538)
1 parent 270314f commit c4a9b53

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/Files/ViewModels/Properties/FolderProperties.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,11 @@ public async override void GetSpecialProperties()
9999
}
100100
}
101101

102+
string folderPath = (Item as ShortcutItem)?.TargetPath ?? Item.ItemPath;
102103
BaseStorageFolder storageFolder;
103104
try
104105
{
105-
storageFolder = await AppInstance.FilesystemViewModel.GetFolderFromPathAsync((Item as ShortcutItem)?.TargetPath ?? Item.ItemPath);
106+
storageFolder = await AppInstance.FilesystemViewModel.GetFolderFromPathAsync(folderPath);
106107
}
107108
catch (Exception ex)
108109
{
@@ -120,7 +121,7 @@ public async override void GetSpecialProperties()
120121
{
121122
GetOtherProperties(storageFolder.Properties);
122123
}
123-
GetFolderSize(storageFolder, TokenSource.Token);
124+
GetFolderSize(storageFolder.Path, TokenSource.Token);
124125
}
125126
else if (Item.ItemPath.Equals(CommonPaths.RecycleBinPath, StringComparison.OrdinalIgnoreCase))
126127
{
@@ -162,11 +163,15 @@ public async override void GetSpecialProperties()
162163
}
163164
}
164165
}
166+
else
167+
{
168+
GetFolderSize(folderPath, TokenSource.Token);
169+
}
165170
}
166171

167-
private async void GetFolderSize(BaseStorageFolder storageFolder, CancellationToken token)
172+
private async void GetFolderSize(string folderPath, CancellationToken token)
168173
{
169-
if (string.IsNullOrEmpty(storageFolder.Path))
174+
if (string.IsNullOrEmpty(folderPath))
170175
{
171176
// In MTP devices calculating folder size would be too slow
172177
// Also should use StorageFolder methods instead of FindFirstFileExFromApp
@@ -178,7 +183,7 @@ private async void GetFolderSize(BaseStorageFolder storageFolder, CancellationTo
178183

179184
var fileSizeTask = Task.Run(async () =>
180185
{
181-
var size = await CalculateFolderSizeAsync(storageFolder.Path, token);
186+
var size = await CalculateFolderSizeAsync(folderPath, token);
182187
return size;
183188
});
184189
try

0 commit comments

Comments
 (0)