mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Fix archived masks list
This commit is contained in:
parent
e083dd7eff
commit
4fdc5ebd78
@ -8,6 +8,15 @@ import SyncCore
|
||||
public enum ArchivedStickerPacksNamespace: Int32 {
|
||||
case stickers = 0
|
||||
case masks = 1
|
||||
|
||||
var itemCollectionNamespace: ItemCollectionId.Namespace {
|
||||
switch self {
|
||||
case .stickers:
|
||||
return Namespaces.ItemCollection.CloudStickerPacks
|
||||
case .masks:
|
||||
return Namespaces.ItemCollection.CloudMaskPacks
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public final class ArchivedStickerPackItem {
|
||||
@ -31,7 +40,7 @@ public func archivedStickerPacks(account: Account, namespace: ArchivedStickerPac
|
||||
switch result {
|
||||
case let .archivedStickers(_, sets):
|
||||
for set in sets {
|
||||
let (info, items) = parsePreviewStickerSet(set)
|
||||
let (info, items) = parsePreviewStickerSet(set, namespace: namespace.itemCollectionNamespace)
|
||||
archivedItems.append(ArchivedStickerPackItem(info: info, topItems: items))
|
||||
}
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ func updatedFeaturedStickerPacks(network: Network, postbox: Postbox) -> Signal<V
|
||||
let unreadIds = Set(unread)
|
||||
var updatedPacks: [FeaturedStickerPackItem] = []
|
||||
for set in sets {
|
||||
var (info, items) = parsePreviewStickerSet(set)
|
||||
var (info, items) = parsePreviewStickerSet(set, namespace: Namespaces.ItemCollection.CloudStickerPacks)
|
||||
if let previousPack = initialPackMap[info.id.id] {
|
||||
if previousPack.info.hash == info.hash {
|
||||
items = previousPack.topItems
|
||||
@ -78,7 +78,7 @@ public func requestOldFeaturedStickerPacks(network: Network, postbox: Postbox, o
|
||||
let unreadIds = Set(unread)
|
||||
var updatedPacks: [FeaturedStickerPackItem] = []
|
||||
for set in sets {
|
||||
let (info, items) = parsePreviewStickerSet(set)
|
||||
let (info, items) = parsePreviewStickerSet(set, namespace: Namespaces.ItemCollection.CloudStickerPacks)
|
||||
updatedPacks.append(FeaturedStickerPackItem(info: info, topItems: items, unread: unreadIds.contains(info.id.id)))
|
||||
}
|
||||
return updatedPacks
|
||||
@ -116,17 +116,17 @@ public func preloadedFeaturedStickerSet(network: Network, postbox: Postbox, id:
|
||||
} |> switchToLatest
|
||||
}
|
||||
|
||||
func parsePreviewStickerSet(_ set: Api.StickerSetCovered) -> (StickerPackCollectionInfo, [StickerPackItem]) {
|
||||
func parsePreviewStickerSet(_ set: Api.StickerSetCovered, namespace: ItemCollectionId.Namespace) -> (StickerPackCollectionInfo, [StickerPackItem]) {
|
||||
switch set {
|
||||
case let .stickerSetCovered(set, cover):
|
||||
let info = StickerPackCollectionInfo(apiSet: set, namespace: Namespaces.ItemCollection.CloudStickerPacks)
|
||||
let info = StickerPackCollectionInfo(apiSet: set, namespace: namespace)
|
||||
var items: [StickerPackItem] = []
|
||||
if let file = telegramMediaFileFromApiDocument(cover), let id = file.id {
|
||||
items.append(StickerPackItem(index: ItemCollectionItemIndex(index: 0, id: id.id), file: file, indexKeys: []))
|
||||
}
|
||||
return (info, items)
|
||||
case let .stickerSetMultiCovered(set, covers):
|
||||
let info = StickerPackCollectionInfo(apiSet: set, namespace: Namespaces.ItemCollection.CloudStickerPacks)
|
||||
let info = StickerPackCollectionInfo(apiSet: set, namespace: namespace)
|
||||
var items: [StickerPackItem] = []
|
||||
for cover in covers {
|
||||
if let file = telegramMediaFileFromApiDocument(cover), let id = file.id {
|
||||
|
Loading…
x
Reference in New Issue
Block a user