diff --git a/submodules/TelegramCore/Sources/ApiUtils/TelegramMediaFile.swift b/submodules/TelegramCore/Sources/ApiUtils/TelegramMediaFile.swift index ed092ea532..eab7c442fe 100644 --- a/submodules/TelegramCore/Sources/ApiUtils/TelegramMediaFile.swift +++ b/submodules/TelegramCore/Sources/ApiUtils/TelegramMediaFile.swift @@ -112,7 +112,8 @@ func telegramMediaFileAttributesFromApiAttributes(_ attributes: [Api.DocumentAtt result.append(.Audio(isVoice: isVoice, duration: Int(duration), title: title, performer: performer, waveform: waveformBuffer)) case let .documentAttributeCustomEmoji(flags, alt, stickerSet): let isFree = (flags & (1 << 0)) != 0 - result.append(.CustomEmoji(isPremium: !isFree, alt: alt, packReference: StickerPackReference(apiInputSet: stickerSet))) + let paintToText = (flags & (1 << 1)) != 0 + result.append(.CustomEmoji(isPremium: !isFree, paintToText: paintToText, alt: alt, packReference: StickerPackReference(apiInputSet: stickerSet))) } } return result diff --git a/submodules/TelegramCore/Sources/SyncCore/SyncCore_TelegramMediaFile.swift b/submodules/TelegramCore/Sources/SyncCore/SyncCore_TelegramMediaFile.swift index ca35456751..dce8c7ffc7 100644 --- a/submodules/TelegramCore/Sources/SyncCore/SyncCore_TelegramMediaFile.swift +++ b/submodules/TelegramCore/Sources/SyncCore/SyncCore_TelegramMediaFile.swift @@ -229,7 +229,7 @@ public enum TelegramMediaFileAttribute: PostboxCoding { case hintFileIsLarge case hintIsValidated case NoPremium - case CustomEmoji(isPremium: Bool, alt: String, packReference: StickerPackReference?) + case CustomEmoji(isPremium: Bool, paintToText: Bool, alt: String, packReference: StickerPackReference?) public init(decoder: PostboxDecoder) { let type: Int32 = decoder.decodeInt32ForKey("t", orElse: 0) @@ -260,7 +260,7 @@ public enum TelegramMediaFileAttribute: PostboxCoding { case typeNoPremium: self = .NoPremium case typeCustomEmoji: - self = .CustomEmoji(isPremium: decoder.decodeBoolForKey("ip", orElse: true), alt: decoder.decodeStringForKey("dt", orElse: ""), packReference: decoder.decodeObjectForKey("pr", decoder: { StickerPackReference(decoder: $0) }) as? StickerPackReference) + self = .CustomEmoji(isPremium: decoder.decodeBoolForKey("ip", orElse: true), paintToText: decoder.decodeBoolForKey("ptt", orElse: false), alt: decoder.decodeStringForKey("dt", orElse: ""), packReference: decoder.decodeObjectForKey("pr", decoder: { StickerPackReference(decoder: $0) }) as? StickerPackReference) default: preconditionFailure() } @@ -317,9 +317,10 @@ public enum TelegramMediaFileAttribute: PostboxCoding { encoder.encodeInt32(typeHintIsValidated, forKey: "t") case .NoPremium: encoder.encodeInt32(typeNoPremium, forKey: "t") - case let .CustomEmoji(isPremium, alt, packReference): + case let .CustomEmoji(isPremium, paintToText, alt, packReference): encoder.encodeInt32(typeCustomEmoji, forKey: "t") encoder.encodeBool(isPremium, forKey: "ip") + encoder.encodeBool(paintToText, forKey: "ptt") encoder.encodeString(alt, forKey: "dt") if let packReference = packReference { encoder.encodeObject(packReference, forKey: "pr") @@ -652,7 +653,7 @@ public final class TelegramMediaFile: Media, Equatable, Codable { public var isPremiumEmoji: Bool { for attribute in self.attributes { - if case let .CustomEmoji(isPremium, _, _) = attribute { + if case let .CustomEmoji(isPremium, _, _, _) = attribute { return isPremium } }