Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
signalapp
GitHub Repository: signalapp/Signal-iOS
Path: blob/main/Signal/util/SDAnimatedImage+Duration.swift
1 views
//
// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//

import Foundation
public import SDWebImage

public extension SDAnimatedImage {

    /// SDAnimatedImageView's duration sometimes returns 0 duration even when this extended method works.
    var animationDuration: TimeInterval? {
        let frameCount = self.animatedImageFrameCount
        guard frameCount > 0 else {
            return nil
        }
        return (0..<frameCount).reduce(0, { sum, frame in
            return sum + self.animatedImageDuration(at: frame)
        })
    }
}