temp ios attribute

This commit is contained in:
Mike Renoir 2022-06-01 14:26:04 +04:00
parent 985a8f9135
commit bed97623a7
2 changed files with 14 additions and 6 deletions

View File

@ -375,7 +375,7 @@ func messageTextEntitiesFromApiEntities(_ entities: [Api.MessageEntity]) -> [Mes
case let .messageEntitySpoiler(offset, length): case let .messageEntitySpoiler(offset, length):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Spoiler)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Spoiler))
case let .messageEntityAnimatedEmoji(offset, length): case let .messageEntityAnimatedEmoji(offset, length):
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .AnimatedEmoji)) result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .AnimatedEmoji(nil)))
} }
} }
return result return result

View File

@ -21,7 +21,7 @@ public enum MessageTextEntityType: Equatable {
case Underline case Underline
case BankCard case BankCard
case Spoiler case Spoiler
case AnimatedEmoji case AnimatedEmoji(MediaId?)
case Custom(type: CustomEntityType) case Custom(type: CustomEntityType)
} }
@ -73,7 +73,7 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable {
case 17: case 17:
self.type = .Spoiler self.type = .Spoiler
case 18: case 18:
self.type = .AnimatedEmoji self.type = .AnimatedEmoji(decoder.decodeObjectForKey("mediaId") as? MediaId)
case Int32.max: case Int32.max:
self.type = .Custom(type: decoder.decodeInt32ForKey("type", orElse: 0)) self.type = .Custom(type: decoder.decodeInt32ForKey("type", orElse: 0))
default: default:
@ -130,7 +130,7 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable {
case 17: case 17:
self.type = .Spoiler self.type = .Spoiler
case 18: case 18:
self.type = .AnimatedEmoji self.type = .AnimatedEmoji(try? container.decode(MediaId.self, forKey: "mediaId"))
case Int32.max: case Int32.max:
let customType: Int32 = (try? container.decode(Int32.self, forKey: "type")) ?? 0 let customType: Int32 = (try? container.decode(Int32.self, forKey: "type")) ?? 0
self.type = .Custom(type: customType) self.type = .Custom(type: customType)
@ -181,8 +181,13 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable {
encoder.encodeInt32(16, forKey: "_rawValue") encoder.encodeInt32(16, forKey: "_rawValue")
case .Spoiler: case .Spoiler:
encoder.encodeInt32(17, forKey: "_rawValue") encoder.encodeInt32(17, forKey: "_rawValue")
case .AnimatedEmoji: case let .AnimatedEmoji(mediaId):
encoder.encodeInt32(18, forKey: "_rawValue") encoder.encodeInt32(18, forKey: "_rawValue")
if let mediaId = mediaId {
encoder.encodeObject(mediaId, forKey: "mediaId")
} else {
encoder.encodeNil(forKey: "mediaId")
}
case let .Custom(type): case let .Custom(type):
encoder.encodeInt32(Int32.max, forKey: "_rawValue") encoder.encodeInt32(Int32.max, forKey: "_rawValue")
encoder.encodeInt32(type, forKey: "type") encoder.encodeInt32(type, forKey: "type")
@ -233,8 +238,11 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable {
try container.encode(16 as Int32, forKey: "_rawValue") try container.encode(16 as Int32, forKey: "_rawValue")
case .Spoiler: case .Spoiler:
try container.encode(17 as Int32, forKey: "_rawValue") try container.encode(17 as Int32, forKey: "_rawValue")
case .AnimatedEmoji: case let .AnimatedEmoji(mediaId):
try container.encode(18 as Int32, forKey: "_rawValue") try container.encode(18 as Int32, forKey: "_rawValue")
if let mediaId = mediaId {
try container.encode(mediaId, forKey: "mediaId")
}
case let .Custom(type): case let .Custom(type):
try container.encode(Int32.max as Int32, forKey: "_rawValue") try container.encode(Int32.max as Int32, forKey: "_rawValue")
try container.encode(type as Int32, forKey: "type") try container.encode(type as Int32, forKey: "type")