From 8b7640a620f36d13ed89e00d562a4ef151276b2d Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Mon, 15 Apr 2024 19:30:09 +0800 Subject: [PATCH] Use thumbnail fetching procedure from NCFPK Signed-off-by: Claudio Cambra --- .../FileProviderExtension+Thumbnailing.swift | 48 +++---------------- 1 file changed, 7 insertions(+), 41 deletions(-) diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderExtension+Thumbnailing.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderExtension+Thumbnailing.swift index 193d47d5c..f0d0bbe0e 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderExtension+Thumbnailing.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderExtension+Thumbnailing.swift @@ -29,46 +29,12 @@ extension FileProviderExtension: NSFileProviderThumbnailing { ) -> Void, completionHandler: @escaping (Error?) -> Void ) -> Progress { - let progress = Progress(totalUnitCount: Int64(itemIdentifiers.count)) - var progressCounter: Int64 = 0 - - func finishCurrent() { - progressCounter += 1 - - if progressCounter == progress.totalUnitCount { - completionHandler(nil) - } - } - - for itemIdentifier in itemIdentifiers { - Logger.fileProviderExtension.debug( - "Fetching thumbnail for item with identifier:\(itemIdentifier.rawValue, privacy: .public)" - ) - guard - let metadata = FilesDatabaseManager.shared - .itemMetadataFromFileProviderItemIdentifier(itemIdentifier), - let thumbnailUrl = metadata.thumbnailUrl(size: size) - else { - Logger.fileProviderExtension.debug("Did not fetch thumbnail URL") - finishCurrent() - continue - } - - Logger.fileProviderExtension.debug( - "Fetching thumbnail for file:\(metadata.fileName) at:\(thumbnailUrl.absoluteString, privacy: .public)" - ) - - ncKit.getPreview(url: thumbnailUrl) { _, data, error in - if error == .success, data != nil { - perThumbnailCompletionHandler(itemIdentifier, data, nil) - } else { - perThumbnailCompletionHandler( - itemIdentifier, nil, NSFileProviderError(.serverUnreachable)) - } - finishCurrent() - } - } - - return progress + return NextcloudFileProviderKit.fetchThumbnails( + for: itemIdentifiers, + requestedSize: size, + usingKit: self.ncKit, + perThumbnailCompletionHandler: perThumbnailCompletionHandler, + completionHandler: completionHandler + ) } } -- 2.30.2