mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-10-09 11:23:48 +00:00
Various improvements
This commit is contained in:
parent
d4bc3277a3
commit
340075d4f1
@ -77,7 +77,10 @@ private func mediaForMessage(message: Message) -> [(Media, TelegramMediaImage?)]
|
|||||||
case let .Loaded(content):
|
case let .Loaded(content):
|
||||||
if let embedUrl = content.embedUrl, !embedUrl.isEmpty {
|
if let embedUrl = content.embedUrl, !embedUrl.isEmpty {
|
||||||
return [(webpage, nil)]
|
return [(webpage, nil)]
|
||||||
} else if let file = content.file {
|
} else if var file = content.file {
|
||||||
|
if content.imageIsVideoCover, let image = content.image {
|
||||||
|
file = file.withUpdatedVideoCover(image)
|
||||||
|
}
|
||||||
if let result = galleryMediaForMedia(media: file) {
|
if let result = galleryMediaForMedia(media: file) {
|
||||||
return [(result, content.image)]
|
return [(result, content.image)]
|
||||||
}
|
}
|
||||||
|
@ -922,6 +922,10 @@ public final class TelegramMediaFile: Media, Equatable, Codable {
|
|||||||
public func withUpdatedAttributes(_ attributes: [TelegramMediaFileAttribute]) -> TelegramMediaFile {
|
public func withUpdatedAttributes(_ attributes: [TelegramMediaFileAttribute]) -> TelegramMediaFile {
|
||||||
return TelegramMediaFile(fileId: self.fileId, partialReference: self.partialReference, resource: self.resource, previewRepresentations: self.previewRepresentations, videoThumbnails: self.videoThumbnails, videoCover: self.videoCover, immediateThumbnailData: self.immediateThumbnailData, mimeType: self.mimeType, size: self.size, attributes: attributes, alternativeRepresentations: self.alternativeRepresentations)
|
return TelegramMediaFile(fileId: self.fileId, partialReference: self.partialReference, resource: self.resource, previewRepresentations: self.previewRepresentations, videoThumbnails: self.videoThumbnails, videoCover: self.videoCover, immediateThumbnailData: self.immediateThumbnailData, mimeType: self.mimeType, size: self.size, attributes: attributes, alternativeRepresentations: self.alternativeRepresentations)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public func withUpdatedVideoCover(_ videoCover: TelegramMediaImage?) -> TelegramMediaFile {
|
||||||
|
return TelegramMediaFile(fileId: self.fileId, partialReference: self.partialReference, resource: self.resource, previewRepresentations: self.previewRepresentations, videoThumbnails: self.videoThumbnails, videoCover: videoCover, immediateThumbnailData: self.immediateThumbnailData, mimeType: self.mimeType, size: self.size, attributes: self.attributes, alternativeRepresentations: self.alternativeRepresentations)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public func ==(lhs: TelegramMediaFile, rhs: TelegramMediaFile) -> Bool {
|
public func ==(lhs: TelegramMediaFile, rhs: TelegramMediaFile) -> Bool {
|
||||||
|
@ -360,7 +360,9 @@ public final class ChatMessageAttachedContentNode: ASDisplayNode {
|
|||||||
contentMediaAutomaticDownload = .prefetch
|
contentMediaAutomaticDownload = .prefetch
|
||||||
}
|
}
|
||||||
|
|
||||||
if file.isAnimated {
|
if let _ = file.videoCover {
|
||||||
|
contentMediaAutomaticPlayback = false
|
||||||
|
} else if file.isAnimated {
|
||||||
contentMediaAutomaticPlayback = context.sharedContext.energyUsageSettings.autoplayGif
|
contentMediaAutomaticPlayback = context.sharedContext.energyUsageSettings.autoplayGif
|
||||||
} else if file.isVideo && context.sharedContext.energyUsageSettings.autoplayVideo {
|
} else if file.isVideo && context.sharedContext.energyUsageSettings.autoplayVideo {
|
||||||
var willDownloadOrLocal = false
|
var willDownloadOrLocal = false
|
||||||
|
@ -344,7 +344,11 @@ public final class ChatMessageWebpageBubbleContentNode: ChatMessageBubbleContent
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
if let file = mainMedia as? TelegramMediaFile, webpage.type != "telegram_theme" {
|
if var file = mainMedia as? TelegramMediaFile, webpage.type != "telegram_theme" {
|
||||||
|
if webpage.imageIsVideoCover, let image = webpage.image {
|
||||||
|
file = file.withUpdatedVideoCover(image)
|
||||||
|
}
|
||||||
|
|
||||||
if let embedUrl = webpage.embedUrl, !embedUrl.isEmpty {
|
if let embedUrl = webpage.embedUrl, !embedUrl.isEmpty {
|
||||||
if automaticPlayback {
|
if automaticPlayback {
|
||||||
mediaAndFlags = ([file], [.preferMediaBeforeText])
|
mediaAndFlags = ([file], [.preferMediaBeforeText])
|
||||||
@ -689,7 +693,10 @@ public final class ChatMessageWebpageBubbleContentNode: ChatMessageBubbleContent
|
|||||||
if let image = content.image {
|
if let image = content.image {
|
||||||
mediaList.append(image)
|
mediaList.append(image)
|
||||||
}
|
}
|
||||||
if let file = content.file {
|
if var file = content.file {
|
||||||
|
if content.imageIsVideoCover, let image = content.image {
|
||||||
|
file = file.withUpdatedVideoCover(image)
|
||||||
|
}
|
||||||
mediaList.append(file)
|
mediaList.append(file)
|
||||||
}
|
}
|
||||||
updatedMedia = mediaList
|
updatedMedia = mediaList
|
||||||
@ -698,7 +705,10 @@ public final class ChatMessageWebpageBubbleContentNode: ChatMessageBubbleContent
|
|||||||
if let image = content.image {
|
if let image = content.image {
|
||||||
mediaList.append(image)
|
mediaList.append(image)
|
||||||
}
|
}
|
||||||
if let file = content.file {
|
if var file = content.file {
|
||||||
|
if content.imageIsVideoCover, let image = content.image {
|
||||||
|
file = file.withUpdatedVideoCover(image)
|
||||||
|
}
|
||||||
mediaList.append(file)
|
mediaList.append(file)
|
||||||
}
|
}
|
||||||
updatedMedia = mediaList
|
updatedMedia = mediaList
|
||||||
|
Loading…
x
Reference in New Issue
Block a user