Skip to content

Commit c9d8471

Browse files
Fix: Fixed issue where transfer progress was always shown as 0% (#11769)
1 parent ac52d9f commit c9d8471

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

src/Files.App/Filesystem/FilesystemOperations/ShellFilesystemOperations.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,15 @@ public async Task<IStorageHistory> CopyItemsAsync(IList<IStorageItemWithPath> so
8585
var copyResult = new ShellOperationResult();
8686
if (sourceRename.Any())
8787
{
88-
var resultItem = await FileOperationsHelpers.CopyItemAsync(sourceRename.Select(s => s.Path).ToArray(), destinationRename.ToArray(), false, NativeWinApiHelper.CoreWindowHandle.ToInt64(), operationID);
88+
var resultItem = await FileOperationsHelpers.CopyItemAsync(sourceRename.Select(s => s.Path).ToArray(), destinationRename.ToArray(), false, NativeWinApiHelper.CoreWindowHandle.ToInt64(), progress, operationID);
8989

9090
result &= (FilesystemResult)resultItem.Item1;
9191

9292
copyResult.Items.AddRange(resultItem.Item2?.Final ?? Enumerable.Empty<ShellOperationItemResult>());
9393
}
9494
if (sourceReplace.Any())
9595
{
96-
var resultItem = await FileOperationsHelpers.CopyItemAsync(sourceReplace.Select(s => s.Path).ToArray(), destinationReplace.ToArray(), true, NativeWinApiHelper.CoreWindowHandle.ToInt64(), operationID, progress);
96+
var resultItem = await FileOperationsHelpers.CopyItemAsync(sourceReplace.Select(s => s.Path).ToArray(), destinationReplace.ToArray(), true, NativeWinApiHelper.CoreWindowHandle.ToInt64(), progress, operationID);
9797

9898
result &= (FilesystemResult)resultItem.Item1;
9999

@@ -335,7 +335,7 @@ public async Task<IStorageHistory> DeleteItemsAsync(IList<IStorageItemWithPath>
335335
var operationID = Guid.NewGuid().ToString();
336336
using var r = cancellationToken.Register(CancelOperation, operationID, false);
337337

338-
var (success, response) = await FileOperationsHelpers.DeleteItemAsync(deleleFilePaths.ToArray(), permanently, NativeWinApiHelper.CoreWindowHandle.ToInt64(), operationID, progress);
338+
var (success, response) = await FileOperationsHelpers.DeleteItemAsync(deleleFilePaths.ToArray(), permanently, NativeWinApiHelper.CoreWindowHandle.ToInt64(), progress, operationID);
339339

340340
var result = (FilesystemResult)success;
341341
var deleteResult = new ShellOperationResult();
@@ -449,14 +449,14 @@ public async Task<IStorageHistory> MoveItemsAsync(IList<IStorageItemWithPath> so
449449

450450
if (sourceRename.Any())
451451
{
452-
var (status, response) = await FileOperationsHelpers.MoveItemAsync(sourceRename.Select(s => s.Path).ToArray(), destinationRename.ToArray(), false, NativeWinApiHelper.CoreWindowHandle.ToInt64(), operationID, progress);
452+
var (status, response) = await FileOperationsHelpers.MoveItemAsync(sourceRename.Select(s => s.Path).ToArray(), destinationRename.ToArray(), false, NativeWinApiHelper.CoreWindowHandle.ToInt64(), progress, operationID);
453453

454454
result &= (FilesystemResult)status;
455455
moveResult.Items.AddRange(response?.Final ?? Enumerable.Empty<ShellOperationItemResult>());
456456
}
457457
if (sourceReplace.Any())
458458
{
459-
var (status, response) = await FileOperationsHelpers.MoveItemAsync(sourceReplace.Select(s => s.Path).ToArray(), destinationReplace.ToArray(), true, NativeWinApiHelper.CoreWindowHandle.ToInt64(), operationID, progress);
459+
var (status, response) = await FileOperationsHelpers.MoveItemAsync(sourceReplace.Select(s => s.Path).ToArray(), destinationReplace.ToArray(), true, NativeWinApiHelper.CoreWindowHandle.ToInt64(), progress, operationID);
460460

461461
result &= (FilesystemResult)status;
462462
moveResult.Items.AddRange(response?.Final ?? Enumerable.Empty<ShellOperationItemResult>());
@@ -663,7 +663,7 @@ public async Task<IStorageHistory> RestoreItemsFromTrashAsync(IList<IStorageItem
663663
using var r = cancellationToken.Register(CancelOperation, operationID, false);
664664

665665
var moveResult = new ShellOperationResult();
666-
var (status, response) = await FileOperationsHelpers.MoveItemAsync(source.Select(s => s.Path).ToArray(), destination.ToArray(), false, NativeWinApiHelper.CoreWindowHandle.ToInt64(), operationID, progress);
666+
var (status, response) = await FileOperationsHelpers.MoveItemAsync(source.Select(s => s.Path).ToArray(), destination.ToArray(), false, NativeWinApiHelper.CoreWindowHandle.ToInt64(), progress, operationID);
667667

668668
var result = (FilesystemResult)status;
669669
moveResult.Items.AddRange(response?.Final ?? Enumerable.Empty<ShellOperationItemResult>());

src/Files.App/Helpers/FileOperationsHelpers.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ public static Task SetClipboard(string[] filesToCopy, DataPackageOperation opera
198198
});
199199
}
200200

201-
public static Task<(bool, ShellOperationResult)> DeleteItemAsync(string[] fileToDeletePath, bool permanently, long ownerHwnd, string operationID = "", IProgress<FileSystemProgress>? progress = default)
201+
public static Task<(bool, ShellOperationResult)> DeleteItemAsync(string[] fileToDeletePath, bool permanently, long ownerHwnd, IProgress<FileSystemProgress> progress, string operationID = "")
202202
{
203203
operationID = string.IsNullOrEmpty(operationID) ? Guid.NewGuid().ToString() : operationID;
204204

@@ -347,7 +347,7 @@ public static Task SetClipboard(string[] filesToCopy, DataPackageOperation opera
347347
});
348348
}
349349

350-
public static Task<(bool, ShellOperationResult)> MoveItemAsync(string[] fileToMovePath, string[] moveDestination, bool overwriteOnMove, long ownerHwnd, string operationID = "", IProgress<FileSystemProgress>? progress = default)
350+
public static Task<(bool, ShellOperationResult)> MoveItemAsync(string[] fileToMovePath, string[] moveDestination, bool overwriteOnMove, long ownerHwnd, IProgress<FileSystemProgress> progress, string operationID = "")
351351
{
352352
operationID = string.IsNullOrEmpty(operationID) ? Guid.NewGuid().ToString() : operationID;
353353

@@ -427,7 +427,7 @@ public static Task SetClipboard(string[] filesToCopy, DataPackageOperation opera
427427
});
428428
}
429429

430-
public static Task<(bool, ShellOperationResult)> CopyItemAsync(string[] fileToCopyPath, string[] copyDestination, bool overwriteOnCopy, long ownerHwnd, string operationID = "", IProgress<FileSystemProgress>? progress = default)
430+
public static Task<(bool, ShellOperationResult)> CopyItemAsync(string[] fileToCopyPath, string[] copyDestination, bool overwriteOnCopy, long ownerHwnd, IProgress<FileSystemProgress> progress, string operationID = "")
431431
{
432432
operationID = string.IsNullOrEmpty(operationID) ? Guid.NewGuid().ToString() : operationID;
433433

0 commit comments

Comments
 (0)