123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- import Foundation
- import NCCommunication
- class NCViewerProviderContextMenu: UIViewController {
- private let imageView = UIImageView()
- private let standardSizeWidth = UIScreen.main.bounds.width / 2
- private let standardSizeHeight = UIScreen.main.bounds.height / 2
- private var player: AVPlayer?
- private var videoLayer: AVPlayerLayer?
- override func loadView() {
- view = imageView
- }
-
- init(metadata: tableMetadata) {
- super.init(nibName: nil, bundle: nil)
-
- let ext = CCUtility.getExtension(metadata.fileNameView)
- let imagePath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
- let imagePathPreview = CCUtility.getDirectoryProviderStoragePreviewOcId(metadata.ocId, etag: metadata.etag)!
- imageView.clipsToBounds = true
- imageView.contentMode = .scaleAspectFill
-
- if metadata.directory {
- imageView.image = UIImage(named: "folder")!.image(color: NCBrandColor.shared.brandElement, size: standardSizeWidth)
- } else {
-
- imageView.image = UIImage.init(named: metadata.iconName)?.resizeImage(size: CGSize(width: standardSizeWidth, height: standardSizeHeight), isAspectRation: true)
-
- if metadata.hasPreview {
-
-
- if CCUtility.fileProviderStoragePreviewIconExists(metadata.ocId, etag: metadata.etag) {
- imageView.image = UIImage.init(contentsOfFile: imagePathPreview)
- }
-
-
- if metadata.typeFile == NCBrandGlobal.shared.metadataTypeFileImage && CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) {
- if ext == "GIF" {
- imageView.image = UIImage.animatedImage(withAnimatedGIFURL: URL(fileURLWithPath: imagePath))
- } else {
- imageView.image = UIImage.init(contentsOfFile: imagePath)
- }
- }
-
-
- if metadata.typeFile == NCBrandGlobal.shared.metadataTypeFileVideo && CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) {
- player = AVPlayer(url: URL(fileURLWithPath: imagePath))
- player?.isMuted = false
- videoLayer = AVPlayerLayer(player: player)
-
- videoLayer!.frame = CGRect(x: 0, y: 0, width: imageView.image?.size.width ?? 0, height: imageView.image?.size.height ?? 0)
- videoLayer!.videoGravity = AVLayerVideoGravity.resizeAspectFill
-
- imageView.layer.addSublayer(videoLayer!)
-
- player?.play()
- }
- }
- }
-
- if let size = imageView.image?.size {
- preferredContentSize = size
- }
- }
-
- required init?(coder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- override func viewDidLoad() {
- super.viewDidLoad()
- }
- }
|