@@ -71,6 +71,8 @@ private static async Task PasteItem(DataPackageView packageView, string destinat
71
71
List < IStorageItem > pastedSourceItems = new List < IStorageItem > ( ) ;
72
72
HashSet < IStorageItem > pastedItems = new HashSet < IStorageItem > ( ) ;
73
73
var totalItemsSize = CalculateTotalItemsSize ( itemsToPaste ) ;
74
+ bool isItemSizeUnreported = totalItemsSize <= 0 ;
75
+
74
76
foreach ( IStorageItem item in itemsToPaste )
75
77
{
76
78
if ( item . IsOfType ( StorageItemTypes . Folder ) )
@@ -106,9 +108,12 @@ private static async Task PasteItem(DataPackageView packageView, string destinat
106
108
}
107
109
else
108
110
{
109
- var pastedItemSize = await Task . Run ( ( ) => CalculateTotalItemsSize ( pastedSourceItems ) ) ;
110
- uint progressValue = ( uint ) ( pastedItemSize * 100 / totalItemsSize ) ;
111
- progress . Report ( progressValue ) ;
111
+ if ( ! isItemSizeUnreported )
112
+ {
113
+ var pastedItemSize = await Task . Run ( ( ) => CalculateTotalItemsSize ( pastedSourceItems ) ) ;
114
+ uint progressValue = ( uint ) ( pastedItemSize * 100 / totalItemsSize ) ;
115
+ progress . Report ( progressValue ) ;
116
+ }
112
117
113
118
try
114
119
{
@@ -128,9 +133,12 @@ await ItemViewModel.GetFolderFromPathAsync(destinationPath),
128
133
}
129
134
else if ( item . IsOfType ( StorageItemTypes . File ) )
130
135
{
131
- var pastedItemSize = await Task . Run ( ( ) => CalculateTotalItemsSize ( pastedSourceItems ) ) ;
132
- uint progressValue = ( uint ) ( pastedItemSize * 100 / totalItemsSize ) ;
133
- progress . Report ( progressValue ) ;
136
+ if ( ! isItemSizeUnreported )
137
+ {
138
+ var pastedItemSize = await Task . Run ( ( ) => CalculateTotalItemsSize ( pastedSourceItems ) ) ;
139
+ uint progressValue = ( uint ) ( pastedItemSize * 100 / totalItemsSize ) ;
140
+ progress . Report ( progressValue ) ;
141
+ }
134
142
135
143
try
136
144
{
@@ -161,10 +169,16 @@ await ItemViewModel.GetFolderFromPathAsync(destinationPath),
161
169
}
162
170
}
163
171
}
164
-
165
- var finalPastedItemSize = await Task . Run ( ( ) => CalculateTotalItemsSize ( pastedSourceItems ) ) ;
166
- uint finalProgressValue = ( uint ) ( finalPastedItemSize * 100 / totalItemsSize ) ;
167
- progress . Report ( finalProgressValue ) ;
172
+ if ( ! isItemSizeUnreported )
173
+ {
174
+ var finalPastedItemSize = await Task . Run ( ( ) => CalculateTotalItemsSize ( pastedSourceItems ) ) ;
175
+ uint finalProgressValue = ( uint ) ( finalPastedItemSize * 100 / totalItemsSize ) ;
176
+ progress . Report ( finalProgressValue ) ;
177
+ }
178
+ else
179
+ {
180
+ progress . Report ( 100 ) ;
181
+ }
168
182
169
183
if ( acceptedOperation == DataPackageOperation . Move )
170
184
{
0 commit comments