From f78cd6fe1792ae5a486a2db1ba0e6e713303e8b5 Mon Sep 17 00:00:00 2001 From: Peter Date: Tue, 21 Mar 2017 20:42:24 +0300 Subject: [PATCH] no message --- TelegramCore/CloudFileMediaResource.swift | 12 ++++++++++-- TelegramCore/PendingMessageUploadedContent.swift | 8 +++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/TelegramCore/CloudFileMediaResource.swift b/TelegramCore/CloudFileMediaResource.swift index 495ed18c8c..cbe6a9392c 100644 --- a/TelegramCore/CloudFileMediaResource.swift +++ b/TelegramCore/CloudFileMediaResource.swift @@ -299,20 +299,28 @@ public struct LocalFileReferenceMediaResourceId: MediaResourceId { public class LocalFileReferenceMediaResource: TelegramMediaResource { let localFilePath: String let randomId: Int64 + let size: Int32? - public init(localFilePath: String, randomId: Int64) { + public init(localFilePath: String, randomId: Int64, size: Int32? = nil) { self.localFilePath = localFilePath self.randomId = randomId + self.size = size } public required init(decoder: Decoder) { self.localFilePath = decoder.decodeStringForKey("p") self.randomId = decoder.decodeInt64ForKey("r") + self.size = decoder.decodeInt32ForKey("s") } public func encode(_ encoder: Encoder) { encoder.encodeString(self.localFilePath, forKey: "p") encoder.encodeInt64(self.randomId, forKey: "r") + if let size = self.size { + encoder.encodeInt32(size, forKey: "s") + } else { + encoder.encodeNil(forKey: "s") + } } public var id: MediaResourceId { @@ -321,7 +329,7 @@ public class LocalFileReferenceMediaResource: TelegramMediaResource { public func isEqual(to: TelegramMediaResource) -> Bool { if let to = to as? LocalFileReferenceMediaResource { - return self.localFilePath == to.localFilePath && self.randomId == to.randomId + return self.localFilePath == to.localFilePath && self.randomId == to.randomId && self.size == size } else { return false } diff --git a/TelegramCore/PendingMessageUploadedContent.swift b/TelegramCore/PendingMessageUploadedContent.swift index 6f2c811b3f..5ef7b0d757 100644 --- a/TelegramCore/PendingMessageUploadedContent.swift +++ b/TelegramCore/PendingMessageUploadedContent.swift @@ -202,7 +202,13 @@ private func uploadedThumbnail(network: Network, postbox: Postbox, image: Telegr } private func uploadedMediaFileContent(network: Network, postbox: Postbox, transformOutgoingMessageMedia: TransformOutgoingMessageMedia?, file: TelegramMediaFile, message: Message) -> Signal { - let upload = multipartUpload(network: network, postbox: postbox, resource: file.resource, encrypt: message.id.peerId.namespace == Namespaces.Peer.SecretChat, hintFileSize: file.size) + var hintSize: Int? + if let size = file.size { + hintSize = size + } else if let resource = file.resource as? LocalFileReferenceMediaResource, let size = resource.size { + hintSize = Int(size) + } + let upload = multipartUpload(network: network, postbox: postbox, resource: file.resource, encrypt: message.id.peerId.namespace == Namespaces.Peer.SecretChat, hintFileSize: hintSize) /*|> map { next -> UploadedMediaFileContent in switch next { case let .progress(progress):