NCViewerImageCommon.swift 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. //
  2. // NCViewerImageCommon.swift
  3. // Nextcloud
  4. //
  5. // Created by Marino Faggiana on 04/03/2020.
  6. // Copyright © 2020 Marino Faggiana. All rights reserved.
  7. //
  8. import Foundation
  9. class NCViewerImageCommon: NSObject {
  10. @objc static let shared: NCViewerImageCommon = {
  11. let instance = NCViewerImageCommon()
  12. return instance
  13. }()
  14. func getThumbnailImage(metadata: tableMetadata) -> UIImage? {
  15. if CCUtility.fileProviderStorageIconExists(metadata.ocId, fileNameView: metadata.fileNameView) {
  16. let imagePath = CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
  17. return UIImage.init(contentsOfFile: imagePath)
  18. }
  19. return nil
  20. }
  21. func imageChangeSizeView(mediaBrowser: MediaBrowserViewController?, size: CGSize, metadata: tableMetadata?) {
  22. guard let mediaBrowser = mediaBrowser else { return }
  23. var image: UIImage?
  24. var contentViewSaved : MediaContentView?
  25. for contentView in mediaBrowser.contentViews {
  26. if contentView.position == 0 && contentView.isLoading == false {
  27. image = contentView.image
  28. contentViewSaved = contentView
  29. if metadata != nil , let thumbnailImage = self.getThumbnailImage(metadata: metadata!) {
  30. contentView.image = thumbnailImage
  31. } else {
  32. contentView.image = nil
  33. }
  34. }
  35. }
  36. DispatchQueue.main.async {
  37. //DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(100)) {
  38. mediaBrowser.changeInViewSize(to: size)
  39. if image != nil {
  40. contentViewSaved?.image = image
  41. }
  42. }
  43. }
  44. }