From b18f7d1aaf53cda0e57986024bde7a459758efb6 Mon Sep 17 00:00:00 2001 From: "Pfeil, Scott Robert" Date: Fri, 4 Sep 2020 17:04:12 -0400 Subject: [PATCH 1/2] remove freebee --- MVMCoreUI/Atomic/Atoms/Views/MFTransparentGIFView.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MVMCoreUI/Atomic/Atoms/Views/MFTransparentGIFView.swift b/MVMCoreUI/Atomic/Atoms/Views/MFTransparentGIFView.swift index 0c220de5..df748d85 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/MFTransparentGIFView.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/MFTransparentGIFView.swift @@ -48,7 +48,9 @@ import UIKit } else { url = MVMCoreUIUtility.bundleForMVMCoreUI()?.url(forResource: imageName, withExtension: "gif") } - imageData = MFFreebeeHandler.shared()?.freebee_data(withContentsOf: url) + if let url = url { + imageData = try? Data(contentsOf: url) + } runLoopMode = RunLoop.Mode.common.rawValue if startImmediately { From 07d41e57c49f4c4141a252eef857888250349f1d Mon Sep 17 00:00:00 2001 From: "Pfeil, Scott Robert" Date: Tue, 8 Sep 2020 18:00:22 -0400 Subject: [PATCH 2/2] review changes --- .../Atoms/Views/MFTransparentGIFView.swift | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/MVMCoreUI/Atomic/Atoms/Views/MFTransparentGIFView.swift b/MVMCoreUI/Atomic/Atoms/Views/MFTransparentGIFView.swift index df748d85..7dd9e15f 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/MFTransparentGIFView.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/MFTransparentGIFView.swift @@ -8,20 +8,24 @@ import UIKit +enum MFTransparentGIFViewError: Error { + case gifNotFoundError +} + @objcMembers public class MFTransparentGIFView: FLAnimatedImageView { var imageData: Data? /** Creates the GIF display view with the passed in frame. frame: frame to set the view to. - ImageName: name of the .gif to load. Should not contain the extension. + ImageName: name of the .gif to load. Should not contain the extension. Local images only. StartImmediately: should the gif immeidately begin playing. If YES, it will start. If NO, call [performAnimations] to start it. Duration: how long the animation takes to loop. Pass a negative value to use the default. LoopCompletionBlock: a block called whenever the gif finishes a loop. animatedImage : set as nil when use this view in reusable cell */ - public init(withFrame frame: CGRect, imageName: String, startImmediately: Bool, duration: TimeInterval, loopCompletionBlock: ((UInt) -> Void)?) { + public init(withFrame frame: CGRect, imageName: String, startImmediately: Bool, duration: TimeInterval, loopCompletionBlock: ((UInt) -> Void)?) throws { super.init(frame: frame) - loadImage(imageName, startImmediately: startImmediately, duration: duration, loopCompletionBlock: loopCompletionBlock) + try loadImage(imageName, startImmediately: startImmediately, duration: duration, loopCompletionBlock: loopCompletionBlock) } public override init(frame: CGRect) { @@ -32,7 +36,7 @@ import UIKit super.init(coder: aDecoder) } - public func loadImage(_ imageName: String, startImmediately: Bool, duration: TimeInterval, loopCompletionBlock: ((UInt) -> Void)?) { + public func loadImage(_ imageName: String, startImmediately: Bool, duration: TimeInterval, loopCompletionBlock: ((UInt) -> Void)?) throws { contentMode = UIView.ContentMode.scaleAspectFill clipsToBounds = true @@ -42,15 +46,10 @@ import UIKit self.loopCompletionBlock = loopCompletionBlock backgroundColor = .clear - var url: URL? - if imageName.contains("http") { - url = URL(string: imageName) - } else { - url = MVMCoreUIUtility.bundleForMVMCoreUI()?.url(forResource: imageName, withExtension: "gif") - } - if let url = url { - imageData = try? Data(contentsOf: url) + guard let url = MVMCoreUIUtility.bundleForMVMCoreUI()?.url(forResource: imageName, withExtension: "gif") else { + throw MFTransparentGIFViewError.gifNotFoundError } + imageData = try Data(contentsOf: url) runLoopMode = RunLoop.Mode.common.rawValue if startImmediately {