queryConversationList method
void
queryConversationList()
Implementation
void queryConversationList() async {
_logI('queryConversationList start');
if (_isLoading) {
return;
}
_isLoading = true;
final _resultData =
await ConversationRepo.getConversationList(0, pageLimit);
if (_resultData != null) {
_offset = _resultData.offset;
_finished = _resultData.finished;
final myId = IMKitClient.account();
if (myId != null) {
final aitSessionList = await AitServer.instance.getAllAitSession(myId);
var resultList = convertConversationInfo(_resultData.conversationList)!;
_logI('queryConversationList size ${resultList.length}');
for (int index = resultList.length - 1; index >= 0; index--) {
var element = resultList[index];
if (_isMineLeave(element)) {
deleteConversation(element);
_logI('queryConversationList ${element.getConversationId()}');
resultList.remove(index);
} else {
if (IMKitClient.enableAit) {
if (aitSessionList.contains(element.getConversationId()) &&
element.getUnreadCount() > 0) {
element.haveBeenAit = true;
}
}
}
}
_conversationList.clear();
_conversationList.addAll(resultList);
notifyListeners();
}
}
_isLoading = false;
}