From 7048d1eeef542e9b1381cd36cf04d9702043792e Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Wed, 20 Oct 2021 10:34:20 +0200 Subject: [PATCH] Optimize loading chats on startup --- .../src/components/sip-addresses/SipAddressesModel.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/linphone-app/src/components/sip-addresses/SipAddressesModel.cpp b/linphone-app/src/components/sip-addresses/SipAddressesModel.cpp index dc09006e9..4c9d77250 100644 --- a/linphone-app/src/components/sip-addresses/SipAddressesModel.cpp +++ b/linphone-app/src/components/sip-addresses/SipAddressesModel.cpp @@ -578,12 +578,10 @@ void SipAddressesModel::initSipAddresses () { } void SipAddressesModel::initSipAddressesFromChat () { - for (const auto &chatRoom : CoreManager::getInstance()->getCore()->getChatRooms()) { - list> history(chatRoom->getHistory(1)); - if (history.empty()) - continue; - + auto lastMessage = chatRoom->getLastMessageInHistory(); + if( !lastMessage) + continue; QString peerAddress(Utils::cleanSipAddress(Utils::coreStringToAppString(chatRoom->getPeerAddress()->asStringUriOnly()))); QString localAddress(Utils::cleanSipAddress(Utils::coreStringToAppString(chatRoom->getLocalAddress()->asStringUriOnly()))); @@ -591,7 +589,7 @@ void SipAddressesModel::initSipAddressesFromChat () { chatRoom->getUnreadMessagesCount(), CoreManager::getInstance()->getMissedCallCount(peerAddress, localAddress), false, - QDateTime::fromMSecsSinceEpoch(history.back()->getTime() * 1000) + QDateTime::fromMSecsSinceEpoch(lastMessage->getTime() * 1000) }; } }