Adjust ad seen processing

This commit is contained in:
Ali 2021-11-05 20:45:04 +04:00
parent cdc04c733c
commit 40011a225a
2 changed files with 11 additions and 8 deletions

View File

@ -4975,8 +4975,17 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
var minOffsetForNavigation: CGFloat = 40.0
strongSelf.chatDisplayNode.historyNode.enumerateItemNodes { itemNode in
if let itemNode = itemNode as? ChatMessageBubbleItemNode {
if itemNode.item?.content.firstMessage.adAttribute != nil {
if let message = itemNode.item?.content.firstMessage, message.adAttribute != nil {
minOffsetForNavigation += itemNode.bounds.height
switch offset {
case let .known(offset):
if offset <= itemNode.bounds.height / 2.0 {
strongSelf.chatDisplayNode.historyNode.adSeenProcessingManager.add([message.id])
}
default:
break
}
}
}
return false

View File

@ -469,7 +469,7 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
private let galleryHiddenMesageAndMediaDisposable = MetaDisposable()
private let messageProcessingManager = ChatMessageThrottledProcessingManager()
private let adSeenProcessingManager = ChatMessageThrottledProcessingManager()
let adSeenProcessingManager = ChatMessageThrottledProcessingManager()
private let seenLiveLocationProcessingManager = ChatMessageThrottledProcessingManager()
private let unsupportedMessageProcessingManager = ChatMessageThrottledProcessingManager()
private let refreshMediaProcessingManager = ChatMessageThrottledProcessingManager()
@ -1563,7 +1563,6 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
let toLaterRange = (historyView.filteredEntries.count - 1 - (visible.firstIndex - 1), historyView.filteredEntries.count - 1)
var messageIdsWithViewCount: [MessageId] = []
var messageIdsWithAds: [MessageId] = []
var messageIdsWithLiveLocation: [MessageId] = []
var messageIdsWithUnsupportedMedia: [MessageId] = []
var messageIdsWithRefreshMedia: [MessageId] = []
@ -1589,8 +1588,6 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
if message.id.namespace == Namespaces.Message.Cloud {
messageIdsWithViewCount.append(message.id)
}
} else if attribute is AdMessageAttribute {
messageIdsWithAds.append(message.id)
} else if attribute is ReplyThreadMessageAttribute {
if message.id.namespace == Namespaces.Message.Cloud {
messageIdsWithViewCount.append(message.id)
@ -1754,9 +1751,6 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
if !messageIdsWithViewCount.isEmpty {
self.messageProcessingManager.add(messageIdsWithViewCount)
}
if !messageIdsWithAds.isEmpty {
self.adSeenProcessingManager.add(messageIdsWithAds)
}
if !messageIdsWithLiveLocation.isEmpty {
self.seenLiveLocationProcessingManager.add(messageIdsWithLiveLocation)
}