From ea087ea3dd2566d922caa58d9f742a587d6278e2 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Tue, 26 Jul 2022 16:56:44 +0200 Subject: [PATCH] - Remove conference from timelines as they have no chat rooms yet. Keep logs in history. - Update SDK. - Add an API to merge all call into a conference. --- linphone-app/src/components/call/CallModel.cpp | 4 ++-- linphone-app/src/components/calls/CallsListModel.cpp | 4 +++- linphone-app/src/components/calls/CallsListModel.hpp | 2 ++ linphone-sdk | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/linphone-app/src/components/call/CallModel.cpp b/linphone-app/src/components/call/CallModel.cpp index fcac27454..e21043c25 100644 --- a/linphone-app/src/components/call/CallModel.cpp +++ b/linphone-app/src/components/call/CallModel.cpp @@ -165,7 +165,7 @@ ContactModel *CallModel::getContactModel() const{ } ChatRoomModel * CallModel::getChatRoomModel() const{ - if(mCall && mCall->getCallLog()->getCallId() != "") { + if(mCall && mCall->getCallLog()->getCallId() != "" && !mCall->getConference()) {// Conference has no chat room yet. auto currentParams = mCall->getCurrentParams(); bool isEncrypted = currentParams->getMediaEncryption() != linphone::MediaEncryption::None; SettingsModel * settingsModel = CoreManager::getInstance()->getSettingsModel(); @@ -221,7 +221,7 @@ QSharedPointer CallModel::getConferenceSharedModel(){ bool CallModel::isConference () const{ // Check status to avoid crash when requesting a conference on an ended call. - return getStatus() != CallStatusEnded && mCall->getConference() != nullptr; + return Utils::coreStringToAppString(mCall->getRemoteAddress()->asString()).toLower().contains("conf-id") || (getStatus() != CallStatusEnded && mCall->getConference() != nullptr); } // ----------------------------------------------------------------------------- diff --git a/linphone-app/src/components/calls/CallsListModel.cpp b/linphone-app/src/components/calls/CallsListModel.cpp index d2dd39ee1..600b5e016 100644 --- a/linphone-app/src/components/calls/CallsListModel.cpp +++ b/linphone-app/src/components/calls/CallsListModel.cpp @@ -371,7 +371,9 @@ void CallsListModel::prepareConferenceCall(ConferenceInfoModel * model){ app->smartShowWindow(app->getCallsWindow()); emit callConferenceAsked(model); } - +int CallsListModel::addAllToConference(){ + return CoreManager::getInstance()->getCore()->addAllToConference(); +} // ----------------------------------------------------------------------------- int CallsListModel::getRunningCallsNumber () const { diff --git a/linphone-app/src/components/calls/CallsListModel.hpp b/linphone-app/src/components/calls/CallsListModel.hpp index 29bc6911e..30f3df3b0 100644 --- a/linphone-app/src/components/calls/CallsListModel.hpp +++ b/linphone-app/src/components/calls/CallsListModel.hpp @@ -56,6 +56,8 @@ public: Q_INVOKABLE QVariantMap createChatRoom(const QString& subject, const int& securityLevel, const QVariantList& participants, const bool& selectAfterCreation) const; Q_INVOKABLE void prepareConferenceCall(ConferenceInfoModel * model); + Q_INVOKABLE int addAllToConference(); + Q_INVOKABLE int getRunningCallsNumber () const; diff --git a/linphone-sdk b/linphone-sdk index b1d3f2d6d..fe54d5571 160000 --- a/linphone-sdk +++ b/linphone-sdk @@ -1 +1 @@ -Subproject commit b1d3f2d6db0879ddbe5e475b135256d2d477cab0 +Subproject commit fe54d5571dd50e17b0de0bfe56a634990a3e6ff7