Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios

This commit is contained in:
overtake
2021-11-20 13:17:08 +04:00
5360 changed files with 6179 additions and 1190346 deletions

View File

@@ -64,7 +64,7 @@ public final class CachedUserData: CachedPeerData {
public let autoremoveTimeout: CachedPeerAutoremoveTimeout
public let themeEmoticon: String?
public let peerIds = Set<PeerId>()
public let peerIds: Set<PeerId>
public let messageIds: Set<MessageId>
public let associatedHistoryMessageId: MessageId? = nil
@@ -82,6 +82,7 @@ public final class CachedUserData: CachedPeerData {
self.hasScheduledMessages = false
self.autoremoveTimeout = .unknown
self.themeEmoticon = nil
self.peerIds = Set()
self.messageIds = Set()
}
@@ -100,6 +101,12 @@ public final class CachedUserData: CachedPeerData {
self.autoremoveTimeout = autoremoveTimeout
self.themeEmoticon = themeEmoticon
var peerIds = Set<PeerId>()
if let requestChatPeerId = peerStatusSettings?.requestChatPeerId {
peerIds.insert(requestChatPeerId)
}
self.peerIds = peerIds
var messageIds = Set<MessageId>()
if let pinnedMessageId = self.pinnedMessageId {
messageIds.insert(pinnedMessageId)
@@ -132,6 +139,12 @@ public final class CachedUserData: CachedPeerData {
self.autoremoveTimeout = decoder.decodeObjectForKey("artv", decoder: CachedPeerAutoremoveTimeout.init(decoder:)) as? CachedPeerAutoremoveTimeout ?? .unknown
self.themeEmoticon = decoder.decodeOptionalStringForKey("te")
var peerIds = Set<PeerId>()
if let requestChatPeerId = self.peerStatusSettings?.requestChatPeerId {
peerIds.insert(requestChatPeerId)
}
self.peerIds = peerIds
var messageIds = Set<MessageId>()
if let pinnedMessageId = self.pinnedMessageId {
messageIds.insert(pinnedMessageId)

View File

@@ -21,20 +21,28 @@ public struct PeerStatusSettings: PostboxCoding, Equatable {
public var flags: PeerStatusSettings.Flags
public var geoDistance: Int32?
public var requestChatPeerId: PeerId?
public var requestChatDate: Int32?
public init() {
self.flags = PeerStatusSettings.Flags()
self.geoDistance = nil
self.requestChatPeerId = nil
self.requestChatDate = nil
}
public init(flags: PeerStatusSettings.Flags, geoDistance: Int32? = nil) {
public init(flags: PeerStatusSettings.Flags, geoDistance: Int32? = nil, requestChatPeerId: PeerId? = nil, requestChatDate: Int32? = nil) {
self.flags = flags
self.geoDistance = geoDistance
self.requestChatPeerId = requestChatPeerId
self.requestChatDate = requestChatDate
}
public init(decoder: PostboxDecoder) {
self.flags = Flags(rawValue: decoder.decodeInt32ForKey("flags", orElse: 0))
self.geoDistance = decoder.decodeOptionalInt32ForKey("geoDistance")
self.requestChatPeerId = decoder.decodeOptionalInt64ForKey("requestChatPeerId").map { PeerId($0) }
self.requestChatDate = decoder.decodeOptionalInt32ForKey("requestChatDate")
}
public func encode(_ encoder: PostboxEncoder) {
@@ -44,6 +52,16 @@ public struct PeerStatusSettings: PostboxCoding, Equatable {
} else {
encoder.encodeNil(forKey: "geoDistance")
}
if let requestChatPeerId = self.requestChatPeerId {
encoder.encodeInt64(requestChatPeerId.toInt64(), forKey: "requestChatPeerId")
} else {
encoder.encodeNil(forKey: "requestPeerId")
}
if let requestChatDate = self.requestChatDate {
encoder.encodeInt32(requestChatDate, forKey: "requestChatDate")
} else {
encoder.encodeNil(forKey: "requestChatDate")
}
}
public func contains(_ member: PeerStatusSettings.Flags) -> Bool {