Add chat list video icon

This commit is contained in:
Ali 2020-07-10 00:04:01 +04:00
parent c64badc37c
commit 6303b56fd1
3 changed files with 24 additions and 0 deletions

View File

@ -328,12 +328,15 @@ private final class CachedChatListSearchResult {
} }
} }
private let playIconImage = UIImage(bundleImageName: "Chat List/MiniThumbnailPlay")?.precomposed()
private final class ChatListMediaPreviewNode: ASDisplayNode { private final class ChatListMediaPreviewNode: ASDisplayNode {
private let context: AccountContext private let context: AccountContext
private let message: Message private let message: Message
private let media: Media private let media: Media
private let imageNode: TransformImageNode private let imageNode: TransformImageNode
private let playIcon: ASImageNode
private var requestedImage: Bool = false private var requestedImage: Bool = false
private var disposable: Disposable? private var disposable: Disposable?
@ -344,10 +347,13 @@ private final class ChatListMediaPreviewNode: ASDisplayNode {
self.media = media self.media = media
self.imageNode = TransformImageNode() self.imageNode = TransformImageNode()
self.playIcon = ASImageNode()
self.playIcon.image = playIconImage
super.init() super.init()
self.addSubnode(self.imageNode) self.addSubnode(self.imageNode)
self.addSubnode(self.playIcon)
} }
deinit { deinit {
@ -355,8 +361,13 @@ private final class ChatListMediaPreviewNode: ASDisplayNode {
} }
func updateLayout(size: CGSize, synchronousLoads: Bool) { func updateLayout(size: CGSize, synchronousLoads: Bool) {
if let image = self.playIcon.image {
self.playIcon.frame = CGRect(origin: CGPoint(x: floor((size.width - image.size.width) / 2.0), y: floor((size.height - image.size.height) / 2.0)), size: image.size)
}
var dimensions = CGSize(width: 100.0, height: 100.0) var dimensions = CGSize(width: 100.0, height: 100.0)
if let image = self.media as? TelegramMediaImage { if let image = self.media as? TelegramMediaImage {
self.playIcon.isHidden = true
if let largest = largestImageRepresentation(image.representations) { if let largest = largestImageRepresentation(image.representations) {
dimensions = largest.dimensions.cgSize dimensions = largest.dimensions.cgSize
if !self.requestedImage { if !self.requestedImage {
@ -366,6 +377,7 @@ private final class ChatListMediaPreviewNode: ASDisplayNode {
} }
} }
} else if let file = self.media as? TelegramMediaFile { } else if let file = self.media as? TelegramMediaFile {
self.playIcon.isHidden = false
if let mediaDimensions = file.dimensions { if let mediaDimensions = file.dimensions {
dimensions = mediaDimensions.cgSize dimensions = mediaDimensions.cgSize
if !self.requestedImage { if !self.requestedImage {

View File

@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "playchats.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}