mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-11-29 11:25:38 +00:00
StickerPack changes
This commit is contained in:
parent
bfe71c295e
commit
449a36aa6b
@ -39,8 +39,15 @@ func manageStickerPacks(network: Network, postbox: Postbox) -> Signal<Void, NoEr
|
|||||||
case let .allStickers(_, sets):
|
case let .allStickers(_, sets):
|
||||||
for apiPack in sets {
|
for apiPack in sets {
|
||||||
switch apiPack {
|
switch apiPack {
|
||||||
case let .stickerSet(_, id, accessHash, title, shortName, _, nHash):
|
case let .stickerSet(flags, id, accessHash, title, shortName, _, nHash):
|
||||||
stickerPackInfos.append(StickerPackCollectionInfo(id: ItemCollectionId(namespace: Namespaces.ItemCollection.CloudStickerPacks, id: id), accessHash: accessHash, title: title, shortName: shortName, hash: nHash))
|
var setFlags:StickerPackCollectionInfoFlags = StickerPackCollectionInfoFlags()
|
||||||
|
if (flags & (1 << 2)) != 0 {
|
||||||
|
setFlags.insert(.official)
|
||||||
|
}
|
||||||
|
if (flags & (1 << 3)) != 0 {
|
||||||
|
setFlags.insert(.masks)
|
||||||
|
}
|
||||||
|
stickerPackInfos.append(StickerPackCollectionInfo(id: ItemCollectionId(namespace: Namespaces.ItemCollection.CloudStickerPacks, id: id), flags: setFlags, accessHash: accessHash, title: title, shortName: shortName, hash: nHash))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
|
|||||||
@ -5,15 +5,47 @@ import Foundation
|
|||||||
import Postbox
|
import Postbox
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
public struct StickerPackCollectionInfoFlags : OptionSet {
|
||||||
|
public var rawValue: Int32
|
||||||
|
|
||||||
|
public init(rawValue: Int32) {
|
||||||
|
self.rawValue = rawValue
|
||||||
|
}
|
||||||
|
|
||||||
|
public init() {
|
||||||
|
self.rawValue = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
public init(_ flags: StickerPackCollectionInfoFlags) {
|
||||||
|
var rawValue: Int32 = 0
|
||||||
|
|
||||||
|
if flags.contains(StickerPackCollectionInfoFlags.masks) {
|
||||||
|
rawValue |= StickerPackCollectionInfoFlags.masks.rawValue
|
||||||
|
}
|
||||||
|
|
||||||
|
if flags.contains(StickerPackCollectionInfoFlags.official) {
|
||||||
|
rawValue |= StickerPackCollectionInfoFlags.official.rawValue
|
||||||
|
}
|
||||||
|
|
||||||
|
self.rawValue = rawValue
|
||||||
|
}
|
||||||
|
|
||||||
|
public static let masks = StickerPackCollectionInfoFlags(rawValue: 1)
|
||||||
|
public static let official = StickerPackCollectionInfoFlags(rawValue: 2)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public final class StickerPackCollectionInfo: ItemCollectionInfo, Equatable {
|
public final class StickerPackCollectionInfo: ItemCollectionInfo, Equatable {
|
||||||
public let id: ItemCollectionId
|
public let id: ItemCollectionId
|
||||||
|
public let flags:StickerPackCollectionInfoFlags
|
||||||
public let accessHash: Int64
|
public let accessHash: Int64
|
||||||
public let title: String
|
public let title: String
|
||||||
public let shortName: String
|
public let shortName: String
|
||||||
public let hash: Int32
|
public let hash: Int32
|
||||||
|
|
||||||
public init(id: ItemCollectionId, accessHash: Int64, title: String, shortName: String, hash: Int32) {
|
public init(id: ItemCollectionId, flags: StickerPackCollectionInfoFlags, accessHash: Int64, title: String, shortName: String, hash: Int32) {
|
||||||
self.id = id
|
self.id = id
|
||||||
|
self.flags = flags
|
||||||
self.accessHash = accessHash
|
self.accessHash = accessHash
|
||||||
self.title = title
|
self.title = title
|
||||||
self.shortName = shortName
|
self.shortName = shortName
|
||||||
@ -26,6 +58,7 @@ public final class StickerPackCollectionInfo: ItemCollectionInfo, Equatable {
|
|||||||
self.title = decoder.decodeStringForKey("t")
|
self.title = decoder.decodeStringForKey("t")
|
||||||
self.shortName = decoder.decodeStringForKey("s")
|
self.shortName = decoder.decodeStringForKey("s")
|
||||||
self.hash = decoder.decodeInt32ForKey("h")
|
self.hash = decoder.decodeInt32ForKey("h")
|
||||||
|
self.flags = StickerPackCollectionInfoFlags(rawValue: decoder.decodeInt32ForKey("f"))
|
||||||
}
|
}
|
||||||
|
|
||||||
public func encode(_ encoder: Encoder) {
|
public func encode(_ encoder: Encoder) {
|
||||||
@ -34,6 +67,7 @@ public final class StickerPackCollectionInfo: ItemCollectionInfo, Equatable {
|
|||||||
encoder.encodeString(self.title, forKey: "t")
|
encoder.encodeString(self.title, forKey: "t")
|
||||||
encoder.encodeString(self.shortName, forKey: "s")
|
encoder.encodeString(self.shortName, forKey: "s")
|
||||||
encoder.encodeInt32(self.hash, forKey: "h")
|
encoder.encodeInt32(self.hash, forKey: "h")
|
||||||
|
encoder.encodeInt32(self.flags.rawValue, forKey: "f")
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func ==(lhs: StickerPackCollectionInfo, rhs: StickerPackCollectionInfo) -> Bool {
|
public static func ==(lhs: StickerPackCollectionInfo, rhs: StickerPackCollectionInfo) -> Bool {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user