@@ -229,7 +229,9 @@ func resetStats() {
229
229
TypeInfo ( name: LocalizedTypeNames . images, color: UIColor ( named: " ColorTypeImages " ) !, size: 0 , number: 0 , paths: [ ] , sizes: [ ] ) ,
230
230
TypeInfo ( name: LocalizedTypeNames . code, color: UIColor ( named: " ColorTypeCode " ) !, size: 0 , number: 0 , paths: [ ] , sizes: [ ] ) ,
231
231
TypeInfo ( name: LocalizedTypeNames . archives, color: UIColor ( named: " ColorTypeArchives " ) !, size: 0 , number: 0 , paths: [ ] , sizes: [ ] ) ,
232
- TypeInfo ( name: LocalizedTypeNames . other, color: UIColor ( named: " ColorTypeOther " ) !, size: 0 , number: 0 , paths: [ ] , sizes: [ ] ) ]
232
+ TypeInfo ( name: LocalizedTypeNames . other, color: UIColor ( named: " ColorTypeOther " ) !, size: 0 , number: 0 , paths: [ ] , sizes: [ ] ) ,
233
+ TypeInfo ( name: LocalizedTypeNames . trash, color: UIColor . magenta, size: 0 , number: 0 , paths: [ ] , sizes: [ ] )
234
+ ]
233
235
234
236
AppState . files. allValues = [ ]
235
237
AppState . files. fileInfos = [ ]
@@ -254,17 +256,22 @@ func addToType(name: String, size: Int64, path: String) {
254
256
let documentsPathEndIndex = path. index ( AppState . documentsPath. endIndex, offsetBy: 1 )
255
257
let filePath = String ( path [ documentsPathEndIndex... ] )
256
258
257
- if filePath. name . range ( of : " .Trash/ " ) {
259
+ if ! filePath. contains ( " .Trash/ " ) {
258
260
AppState . types [ n] . size += size
259
261
AppState . types [ n] . number += 1
260
262
AppState . types [ n] . paths. append ( filePath)
261
263
AppState . types [ n] . sizes. append ( size)
262
-
264
+
263
265
AppState . files. allValues. append ( Double ( size) )
264
266
AppState . files. fileInfos. append ( FileInfo ( name: filePath, type: type_info. name) )
265
-
266
- break
267
+ } else {
268
+ AppState . types [ n] . size += size
269
+ AppState . types [ n] . number += 1
270
+ AppState . types [ n] . paths. append ( filePath)
271
+ AppState . types [ n] . sizes. append ( size)
267
272
}
273
+
274
+ break
268
275
}
269
276
}
270
277
}
@@ -370,7 +377,9 @@ func getStats() {
370
377
}
371
378
372
379
if let fileType: String = elementURL. typeIdentifier {
373
- if UtiLookup . audio. contains ( fileType) {
380
+ if elementURL. absoluteString. contains ( " .Trash/ " ) {
381
+ addToType ( name: LocalizedTypeNames . trash, size: fileSize, path: elementURL. path)
382
+ } else if UtiLookup . audio. contains ( fileType) {
374
383
addToType ( name: LocalizedTypeNames . audio, size: fileSize, path: elementURL. path)
375
384
} else if UtiLookup . videos. contains ( fileType) {
376
385
addToType ( name: LocalizedTypeNames . videos, size: fileSize, path: elementURL. path)
@@ -384,7 +393,7 @@ func getStats() {
384
393
addToType ( name: LocalizedTypeNames . archives, size: fileSize, path: elementURL. path)
385
394
} else if UtiLookup . other. contains ( fileType) {
386
395
addToType ( name: LocalizedTypeNames . other, size: fileSize, path: elementURL. path)
387
- } else {
396
+ } else {
388
397
if fileType. starts ( with: " dyn. " ) {
389
398
// No UTI available for this file, use extension based lookup. Less stable but whatever.
390
399
@@ -402,7 +411,7 @@ func getStats() {
402
411
addToType ( name: LocalizedTypeNames . code, size: fileSize, path: elementURL. path)
403
412
} else if FileExtensionLookup . archives. contains ( fileExtension) {
404
413
addToType ( name: LocalizedTypeNames . archives, size: fileSize, path: elementURL. path)
405
- } else {
414
+ } else if elementURL . absoluteString . contains ( " .Trash/ " ) {
406
415
addToType ( name: LocalizedTypeNames . other, size: fileSize, path: elementURL. path)
407
416
}
408
417
} else {
0 commit comments