mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Animated emoji improvements
This commit is contained in:
@@ -351,6 +351,7 @@ func enqueueMessages(transaction: Transaction, account: Account, peerId: PeerId,
|
||||
}
|
||||
|
||||
var addedHashtags: [String] = []
|
||||
var emojiItems: [RecentEmojiItem] = []
|
||||
|
||||
var localGroupingKeyBySourceKey: [Int64: Int64] = [:]
|
||||
|
||||
@@ -475,6 +476,13 @@ func enqueueMessages(transaction: Transaction, account: Account, peerId: PeerId,
|
||||
let hashtag = nsText.substring(with: entityRange)
|
||||
addedHashtags.append(hashtag)
|
||||
}
|
||||
} else if case let .CustomEmoji(_, fileId) = entity.type {
|
||||
let mediaId = MediaId(namespace: Namespaces.Media.CloudFile, id: fileId)
|
||||
if let file = inlineStickers[mediaId] as? TelegramMediaFile {
|
||||
emojiItems.append(RecentEmojiItem(.file(file)))
|
||||
} else if let file = transaction.getMedia(mediaId) as? TelegramMediaFile {
|
||||
emojiItems.append(RecentEmojiItem(.file(file)))
|
||||
}
|
||||
}
|
||||
}
|
||||
break
|
||||
@@ -786,6 +794,19 @@ func enqueueMessages(transaction: Transaction, account: Account, peerId: PeerId,
|
||||
}
|
||||
var messageIds: [MessageId?] = []
|
||||
if !storeMessages.isEmpty {
|
||||
for emojiItem in emojiItems {
|
||||
if let entry = CodableEntry(emojiItem) {
|
||||
let id: RecentEmojiItemId
|
||||
switch emojiItem.content {
|
||||
case let .file(file):
|
||||
id = RecentEmojiItemId(file.fileId)
|
||||
case let .text(text):
|
||||
id = RecentEmojiItemId(text)
|
||||
}
|
||||
transaction.addOrMoveToFirstPositionOrderedItemListItem(collectionId: Namespaces.OrderedItemList.LocalRecentEmoji, item: OrderedItemListEntry(id: id.rawValue, contents: entry), removeTailIfCountExceeds: 20)
|
||||
}
|
||||
}
|
||||
|
||||
let globallyUniqueIdToMessageId = transaction.addMessages(storeMessages, location: .Random)
|
||||
for globallyUniqueId in globallyUniqueIds {
|
||||
messageIds.append(globallyUniqueIdToMessageId[globallyUniqueId])
|
||||
|
||||
Reference in New Issue
Block a user