KInTagChatMergingDispatcher

标签下的会话列表

注:跟KChatMergingDispatcher的区别在于,标签下不需要处理盒子、文档...等逻辑。

Constructors

Link copied to clipboard
constructor(assummerId: String = "", _state: MediatorLiveData<KBaseChatListViewModel.State>, _draftState: LiveData<List<KChatDraft>>?, _paginationState: MediatorLiveData<KBaseChatListViewModel.PaginationState>?, _chatItemChangedState: MutableLiveData<KChatListItem>?)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val TAG: String

Functions

Link copied to clipboard
Link copied to clipboard
fun filterBoxList(allChats: Collection<KIMCoreChat>): MutableList<KIMCoreBox>

筛选出消息盒子

Link copied to clipboard

筛选出BaseChatItemBaseBoxItem两种类型的会话数据

Link copied to clipboard
fun filterTargetBoxList(allChats: Collection<KIMCoreChat>, targetBoxTypes: Set<Int>): MutableList<KIMCoreBox>
Link copied to clipboard
open override fun findLocalMaxChatSeq(): Long?

查找本地最大的会话seq

Link copied to clipboard

三方拓展会话

Link copied to clipboard
fun <T> getExtra(key: String): T?
Link copied to clipboard
fun mergeComingChats(comingChats: List<KIMCoreChat>, currAllChatsMap: MutableMap<String, KIMCoreChat>, comingSignalTime: Pair<String, Long>, currSignalTime: Pair<String, Long>?)

根据signalTime决定数据的合并方式,用于解决新旧数据覆盖问题;

Link copied to clipboard
fun mergeList(chatList: List<KIMCoreChat>, boxList: List<KIMCoreBox>, extList: List<KExtChatItem>? = null): MutableList<KChatListItem>

合并KIMCoreChatKIMCoreBoxKExtChatItem三种会话数据,创建适用于会话列表的KChatListItem

Link copied to clipboard
open override fun onDestroy()

资源回收操作

Link copied to clipboard
open override fun onDispatchChats(pagingFrom: String, allChats: List<KIMCoreChat>, signalTime: Pair<String, Long>)

用于分发会话数据;实现此方法,可对allChats进行下一步的定制分发处理

Link copied to clipboard
open override fun onMergeChats(pagingFrom: String, comingChatList: List<KIMCoreChat>, countDownLatch: CountDownLatch, signalTime: Pair<String, Long>)

comingChatList列表合并到总会话列表

Link copied to clipboard
open override fun onPostLoadError(pagingFrom: String, errorCode: ErrorCode)

处理加载异常

Link copied to clipboard
open override fun onPostPreLoadedFirstPage(comingChatList: List<KIMCoreChat>, signalTime: Pair<String, Long>)

预加载的首页会话上屏处理

Link copied to clipboard
open override fun onPostReloadChat(comingChat: KIMCoreChat, signalTime: Pair<String, Long>)

处理重新加载某个会话

Link copied to clipboard
open override fun onRemoveChat(countDownLatch: CountDownLatch, chatIdToRemove: String, signalTime: Pair<String, Long>)

从会话列表中删除会话

Link copied to clipboard
fun putExtra(key: String, value: Any)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

根据会话折叠功能开关,决定是否过滤掉置顶会话

Link copied to clipboard

更新本地数据