no message

This commit is contained in:
Peter 2017-03-21 20:42:24 +03:00
parent 5278f451f1
commit f78cd6fe17
2 changed files with 17 additions and 3 deletions

View File

@ -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
}

View File

@ -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<PendingMessageUploadedContentResult, NoError> {
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):