Add possible support for animated lottie, webp, apng.
This commit is contained in:
parent
f225be338b
commit
4841a9eefb
@ -61,12 +61,13 @@ public class StickerView: NSObject {
|
||||
|
||||
let stickerView: UIView
|
||||
switch stickerType {
|
||||
case .webp:
|
||||
case .webp, .apng:
|
||||
guard let stickerImage = YYImage(contentsOfFile: stickerDataUrl.path) else {
|
||||
owsFailDebug("Sticker could not be parsed.")
|
||||
return nil
|
||||
}
|
||||
let yyView = YYAnimatedImageView()
|
||||
yyView.alwaysInfiniteLoop = true
|
||||
yyView.contentMode = .scaleAspectFit
|
||||
yyView.image = stickerImage
|
||||
stickerView = yyView
|
||||
|
||||
@ -9,6 +9,7 @@ import PromiseKit
|
||||
public enum StickerType: UInt {
|
||||
case webp
|
||||
case signalLottie
|
||||
case apng
|
||||
|
||||
public static func stickerType(forContentType contentType: String?) -> StickerType {
|
||||
if let contentType = contentType {
|
||||
@ -17,6 +18,8 @@ public enum StickerType: UInt {
|
||||
return .webp
|
||||
case OWSMimeTypeLottieSticker:
|
||||
return .signalLottie
|
||||
case OWSMimeTypeImagePng:
|
||||
return .apng
|
||||
default:
|
||||
owsFailDebug("Unknown content type: \(contentType)")
|
||||
return .webp
|
||||
@ -33,6 +36,8 @@ public enum StickerType: UInt {
|
||||
return OWSMimeTypeWebp
|
||||
case .signalLottie:
|
||||
return OWSMimeTypeLottieSticker
|
||||
case .apng:
|
||||
return OWSMimeTypeImagePng
|
||||
}
|
||||
}
|
||||
|
||||
@ -42,6 +47,8 @@ public enum StickerType: UInt {
|
||||
return "webp"
|
||||
case .signalLottie:
|
||||
return kLottieStickerFileExtension
|
||||
case .apng:
|
||||
return "png"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user