Fix call list presentation data updates

This commit is contained in:
Ali
2019-12-01 01:35:20 +04:00
parent c1728f9719
commit 8eccc02e55
4 changed files with 32 additions and 31 deletions

View File

@@ -6,10 +6,12 @@ import SyncCore
import SwiftSignalKit
import Display
import MergeLists
import ItemListUI
struct CallListNodeView {
let originalView: CallListView
let filteredEntries: [CallListNodeEntry]
let presentationData: ItemListPresentationData
}
enum CallListNodeViewTransitionReason {
@@ -49,7 +51,7 @@ enum CallListNodeViewScrollPosition {
func preparedCallListNodeViewTransition(from fromView: CallListNodeView?, to toView: CallListNodeView, reason: CallListNodeViewTransitionReason, disableAnimations: Bool, account: Account, scrollPosition: CallListNodeViewScrollPosition?) -> Signal<CallListNodeViewTransition, NoError> {
return Signal { subscriber in
let (deleteIndices, indicesAndItems, updateIndices) = mergeListsStableWithUpdates(leftList: fromView?.filteredEntries ?? [], rightList: toView.filteredEntries)
let (deleteIndices, indicesAndItems, updateIndices) = mergeListsStableWithUpdates(leftList: fromView?.filteredEntries ?? [], rightList: toView.filteredEntries, allUpdated: fromView?.presentationData != toView.presentationData)
var adjustedDeleteIndices: [ListViewDeleteItem] = []
let previousCount: Int