From d0b21228a4fa8a4fa1b6b7e090111a1891bbeb47 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Mon, 11 May 2020 12:34:55 +0200 Subject: [PATCH] Fix Timeline notifications and display name - Add interfaces to get full sip address - Use Full Sip addresses when using getSipAddressObserver - Return -1 instead of null when searching an index in an array in Javascript --- linphone-app/src/components/call/CallModel.cpp | 9 ++++++++- linphone-app/src/components/call/CallModel.hpp | 4 ++++ linphone-app/src/components/chat/ChatModel.cpp | 14 ++++++++++++-- linphone-app/src/components/chat/ChatModel.hpp | 2 ++ .../src/components/chat/ChatProxyModel.cpp | 16 ++++++++++++++++ .../src/components/chat/ChatProxyModel.hpp | 12 ++++++++++++ .../src/components/notifier/Notifier.cpp | 6 ++++-- .../components/settings/AccountSettingsModel.cpp | 11 ++++++++--- .../components/settings/AccountSettingsModel.hpp | 4 +++- .../src/components/timeline/TimelineModel.cpp | 4 ++-- .../ui/modules/Linphone/Calls/CallControls.qml | 4 +++- linphone-app/ui/modules/Linphone/Calls/Calls.qml | 2 ++ linphone-app/ui/modules/Linphone/Chat/Chat.qml | 2 +- .../ui/modules/Linphone/Contact/Contact.qml | 4 ++-- .../Notifications/NotificationReceivedCall.qml | 2 +- .../NotificationReceivedMessage.qml | 8 ++++++-- linphone-app/ui/scripts/Utils/utils.js | 2 +- .../ui/views/App/Calls/AbstractStartingCall.qml | 2 +- linphone-app/ui/views/App/Calls/Conference.qml | 3 ++- .../ui/views/App/Calls/Dialogs/CallTransfer.qml | 2 +- linphone-app/ui/views/App/Calls/EndedCall.qml | 2 +- linphone-app/ui/views/App/Calls/Incall.qml | 2 +- linphone-app/ui/views/App/Calls/IncallAvatar.qml | 2 +- linphone-app/ui/views/App/Main/Conversation.qml | 6 +++++- linphone-app/ui/views/App/Main/MainWindow.qml | 8 ++++++-- 25 files changed, 105 insertions(+), 28 deletions(-) diff --git a/linphone-app/src/components/call/CallModel.cpp b/linphone-app/src/components/call/CallModel.cpp index 95fca70b8..0069021eb 100644 --- a/linphone-app/src/components/call/CallModel.cpp +++ b/linphone-app/src/components/call/CallModel.cpp @@ -88,10 +88,17 @@ CallModel::~CallModel () { // ----------------------------------------------------------------------------- QString CallModel::getPeerAddress () const { - return Utils::coreStringToAppString(mCall->getRemoteAddress()->asString()); + return Utils::coreStringToAppString(mCall->getRemoteAddress()->asStringUriOnly()); } QString CallModel::getLocalAddress () const { + return Utils::coreStringToAppString(mCall->getCallLog()->getLocalAddress()->asStringUriOnly()); +} +QString CallModel::getFullPeerAddress () const { + return Utils::coreStringToAppString(mCall->getRemoteAddress()->asString()); +} + +QString CallModel::getFullLocalAddress () const { return Utils::coreStringToAppString(mCall->getCallLog()->getLocalAddress()->asString()); } // ----------------------------------------------------------------------------- diff --git a/linphone-app/src/components/call/CallModel.hpp b/linphone-app/src/components/call/CallModel.hpp index 195c88600..204814cb5 100644 --- a/linphone-app/src/components/call/CallModel.hpp +++ b/linphone-app/src/components/call/CallModel.hpp @@ -32,6 +32,8 @@ class CallModel : public QObject { Q_PROPERTY(QString peerAddress READ getPeerAddress CONSTANT); Q_PROPERTY(QString localAddress READ getLocalAddress CONSTANT); + Q_PROPERTY(QString fullPeerAddress READ getFullPeerAddress CONSTANT); + Q_PROPERTY(QString fullLocalAddress READ getFullLocalAddress CONSTANT); Q_PROPERTY(CallStatus status READ getStatus NOTIFY statusChanged); Q_PROPERTY(QString callError READ getCallError NOTIFY callErrorChanged); @@ -94,6 +96,8 @@ public: QString getPeerAddress () const; QString getLocalAddress () const; + QString getFullPeerAddress () const; + QString getFullLocalAddress () const; bool isInConference () const { return mIsInConference; diff --git a/linphone-app/src/components/chat/ChatModel.cpp b/linphone-app/src/components/chat/ChatModel.cpp index b585bbcdf..694e02363 100644 --- a/linphone-app/src/components/chat/ChatModel.cpp +++ b/linphone-app/src/components/chat/ChatModel.cpp @@ -383,16 +383,26 @@ bool ChatModel::removeRows (int row, int count, const QModelIndex &parent) { QString ChatModel::getPeerAddress () const { return Utils::coreStringToAppString( - mChatRoom->getPeerAddress()->asString() + mChatRoom->getPeerAddress()->asStringUriOnly() ); } QString ChatModel::getLocalAddress () const { return Utils::coreStringToAppString( - mChatRoom->getLocalAddress()->asString() + mChatRoom->getLocalAddress()->asStringUriOnly() + ); +} +QString ChatModel::getFullPeerAddress () const { + return Utils::coreStringToAppString( + mChatRoom->getPeerAddress()->asString() ); } +QString ChatModel::getFullLocalAddress () const { + return Utils::coreStringToAppString( + mChatRoom->getLocalAddress()->asString() + ); +} void ChatModel::setSipAddresses (const QString &peerAddress, const QString &localAddress) { shared_ptr core = CoreManager::getInstance()->getCore(); shared_ptr factory(linphone::Factory::get()); diff --git a/linphone-app/src/components/chat/ChatModel.hpp b/linphone-app/src/components/chat/ChatModel.hpp index 2bee38c9a..ec1b85704 100644 --- a/linphone-app/src/components/chat/ChatModel.hpp +++ b/linphone-app/src/components/chat/ChatModel.hpp @@ -82,6 +82,8 @@ public: QString getPeerAddress () const; QString getLocalAddress () const; + QString getFullPeerAddress () const; + QString getFullLocalAddress () const; bool getIsRemoteComposing () const; diff --git a/linphone-app/src/components/chat/ChatProxyModel.cpp b/linphone-app/src/components/chat/ChatProxyModel.cpp index 3c4ac0acd..b9a0241b9 100644 --- a/linphone-app/src/components/chat/ChatProxyModel.cpp +++ b/linphone-app/src/components/chat/ChatProxyModel.cpp @@ -172,6 +172,22 @@ void ChatProxyModel::setLocalAddress (const QString &localAddress) { reload(); } +QString ChatProxyModel::getFullPeerAddress () const { + return mChatModel ? mChatModel->getFullPeerAddress() : QString(""); +} + +void ChatProxyModel::setFullPeerAddress (const QString &peerAddress) { + mFullPeerAddress = peerAddress; +} + +QString ChatProxyModel::getFullLocalAddress () const { + return mChatModel ? mChatModel->getFullLocalAddress() : QString(""); +} + +void ChatProxyModel::setFullLocalAddress (const QString &localAddress) { + mFullLocalAddress = localAddress; +} + bool ChatProxyModel::getIsRemoteComposing () const { return mChatModel ? mChatModel->getIsRemoteComposing() : false; } diff --git a/linphone-app/src/components/chat/ChatProxyModel.hpp b/linphone-app/src/components/chat/ChatProxyModel.hpp index 4be4e7504..7f41e4574 100644 --- a/linphone-app/src/components/chat/ChatProxyModel.hpp +++ b/linphone-app/src/components/chat/ChatProxyModel.hpp @@ -36,6 +36,8 @@ class ChatProxyModel : public QSortFilterProxyModel { Q_PROPERTY(QString peerAddress READ getPeerAddress WRITE setPeerAddress NOTIFY peerAddressChanged); Q_PROPERTY(QString localAddress READ getLocalAddress WRITE setLocalAddress NOTIFY localAddressChanged); + Q_PROPERTY(QString fullPeerAddress READ getFullPeerAddress WRITE setFullPeerAddress NOTIFY fullPeerAddressChanged); + Q_PROPERTY(QString fullLocalAddress READ getFullLocalAddress WRITE setFullLocalAddress NOTIFY fullLocalAddressChanged); Q_PROPERTY(bool isRemoteComposing READ getIsRemoteComposing NOTIFY isRemoteComposingChanged); public: @@ -61,6 +63,8 @@ public: signals: void peerAddressChanged (const QString &peerAddress); void localAddressChanged (const QString &localAddress); + void fullPeerAddressChanged (const QString &fullPeerAddress); + void fullLocalAddressChanged (const QString &fullLocalAddress); bool isRemoteComposingChanged (bool status); void moreEntriesLoaded (int n); @@ -76,6 +80,12 @@ private: QString getLocalAddress () const; void setLocalAddress (const QString &localAddress); + + QString getFullPeerAddress () const; + void setFullPeerAddress (const QString &peerAddress); + + QString getFullLocalAddress () const; + void setFullLocalAddress (const QString &localAddress); bool getIsRemoteComposing () const; @@ -91,6 +101,8 @@ private: QString mPeerAddress; QString mLocalAddress; + QString mFullPeerAddress; + QString mFullLocalAddress; std::shared_ptr mChatModel; diff --git a/linphone-app/src/components/notifier/Notifier.cpp b/linphone-app/src/components/notifier/Notifier.cpp index d6c0df5e5..e17363bdf 100644 --- a/linphone-app/src/components/notifier/Notifier.cpp +++ b/linphone-app/src/components/notifier/Notifier.cpp @@ -255,8 +255,10 @@ void Notifier::notifyReceivedMessage (const shared_ptr &m : Utils::coreStringToAppString(message->getText()); shared_ptr chatRoom(message->getChatRoom()); - map["peerAddress"] = Utils::coreStringToAppString(chatRoom->getPeerAddress()->asString()); - map["localAddress"] = Utils::coreStringToAppString(chatRoom->getLocalAddress()->asString()); + map["peerAddress"] = Utils::coreStringToAppString(chatRoom->getPeerAddress()->asStringUriOnly()); + map["localAddress"] = Utils::coreStringToAppString(chatRoom->getLocalAddress()->asStringUriOnly()); + map["fullPeerAddress"] = Utils::coreStringToAppString(chatRoom->getPeerAddress()->asString()); + map["fullLocalAddress"] = Utils::coreStringToAppString(chatRoom->getLocalAddress()->asString()); map["window"].setValue(App::getInstance()->getMainWindow()); CREATE_NOTIFICATION(Notifier::ReceivedMessage, map) } diff --git a/linphone-app/src/components/settings/AccountSettingsModel.cpp b/linphone-app/src/components/settings/AccountSettingsModel.cpp index 0f131a3ac..9053d88cd 100644 --- a/linphone-app/src/components/settings/AccountSettingsModel.cpp +++ b/linphone-app/src/components/settings/AccountSettingsModel.cpp @@ -79,10 +79,13 @@ void AccountSettingsModel::setUsedSipAddress (const shared_ptrsetIdentityAddress(address) : core->setPrimaryContact(address->asString()); } -QString AccountSettingsModel::getUsedSipAddressAsString () const { +QString AccountSettingsModel::getUsedSipAddressAsStringUriOnly () const { return Utils::coreStringToAppString(getUsedSipAddress()->asStringUriOnly()); } +QString AccountSettingsModel::getUsedSipAddressAsString () const { + return Utils::coreStringToAppString(getUsedSipAddress()->asString()); +} // ----------------------------------------------------------------------------- bool AccountSettingsModel::addOrUpdateProxyConfig (const shared_ptr &proxyConfig) { @@ -397,7 +400,8 @@ QVariantList AccountSettingsModel::getAccounts () const { { QVariantMap account; - account["sipAddress"] = Utils::coreStringToAppString(core->createPrimaryContactParsed()->asString()); + account["sipAddress"] = Utils::coreStringToAppString(core->createPrimaryContactParsed()->asStringUriOnly()); + account["fullSipAddress"] = Utils::coreStringToAppString(core->createPrimaryContactParsed()->asString()); account["unreadMessageCount"] = core->getUnreadChatMessageCountFromLocal(core->createPrimaryContactParsed()); account["proxyConfig"].setValue(nullptr); accounts << account; @@ -405,7 +409,8 @@ QVariantList AccountSettingsModel::getAccounts () const { for (const auto &proxyConfig : core->getProxyConfigList()) { QVariantMap account; - account["sipAddress"] = Utils::coreStringToAppString(proxyConfig->getIdentityAddress()->asString()); + account["sipAddress"] = Utils::coreStringToAppString(proxyConfig->getIdentityAddress()->asStringUriOnly()); + account["fullSipAddress"] = Utils::coreStringToAppString(proxyConfig->getIdentityAddress()->asString()); account["proxyConfig"].setValue(proxyConfig); account["unreadMessageCount"] = proxyConfig->getUnreadChatMessageCount(); accounts << account; diff --git a/linphone-app/src/components/settings/AccountSettingsModel.hpp b/linphone-app/src/components/settings/AccountSettingsModel.hpp index e1bbe868c..f2ff76dee 100644 --- a/linphone-app/src/components/settings/AccountSettingsModel.hpp +++ b/linphone-app/src/components/settings/AccountSettingsModel.hpp @@ -34,7 +34,8 @@ class AccountSettingsModel : public QObject { // Selected proxy config. Q_PROPERTY(QString username READ getUsername WRITE setUsername NOTIFY accountSettingsUpdated); - Q_PROPERTY(QString sipAddress READ getUsedSipAddressAsString NOTIFY accountSettingsUpdated); + Q_PROPERTY(QString sipAddress READ getUsedSipAddressAsStringUriOnly NOTIFY accountSettingsUpdated); + Q_PROPERTY(QString fullSipAddress READ getUsedSipAddressAsString); Q_PROPERTY(RegistrationState registrationState READ getRegistrationState NOTIFY accountSettingsUpdated); // Default info. @@ -58,6 +59,7 @@ public: std::shared_ptr getUsedSipAddress () const; void setUsedSipAddress (const std::shared_ptr &address); + QString getUsedSipAddressAsStringUriOnly () const; QString getUsedSipAddressAsString () const; bool addOrUpdateProxyConfig (const std::shared_ptr &proxyConfig); diff --git a/linphone-app/src/components/timeline/TimelineModel.cpp b/linphone-app/src/components/timeline/TimelineModel.cpp index ebd8473eb..0f372bd93 100644 --- a/linphone-app/src/components/timeline/TimelineModel.cpp +++ b/linphone-app/src/components/timeline/TimelineModel.cpp @@ -31,9 +31,9 @@ TimelineModel::TimelineModel (QObject *parent) : QSortFilterProxyModel(parent) { AccountSettingsModel *accountSettingsModel = coreManager->getAccountSettingsModel(); QObject::connect(accountSettingsModel, &AccountSettingsModel::accountSettingsUpdated, this, [this]() { - handleLocalAddressChanged(CoreManager::getInstance()->getAccountSettingsModel()->getUsedSipAddressAsString()); + handleLocalAddressChanged(CoreManager::getInstance()->getAccountSettingsModel()->getUsedSipAddressAsStringUriOnly()); }); - mLocalAddress = accountSettingsModel->getUsedSipAddressAsString(); + mLocalAddress = accountSettingsModel->getUsedSipAddressAsStringUriOnly(); setSourceModel(coreManager->getSipAddressesModel()); sort(0); diff --git a/linphone-app/ui/modules/Linphone/Calls/CallControls.qml b/linphone-app/ui/modules/Linphone/Calls/CallControls.qml index c249220f2..9adefdf78 100644 --- a/linphone-app/ui/modules/Linphone/Calls/CallControls.qml +++ b/linphone-app/ui/modules/Linphone/Calls/CallControls.qml @@ -20,6 +20,8 @@ Rectangle { property string peerAddress property string localAddress + property string fullPeerAddress + property string fullLocalAddress // --------------------------------------------------------------------------- @@ -64,7 +66,7 @@ Rectangle { displayUnreadMessageCount: true - entry: SipAddressesModel.getSipAddressObserver(peerAddress, localAddress) + entry: SipAddressesModel.getSipAddressObserver((fullPeerAddress?fullPeerAddress:peerAddress), (fullLocalAddress?fullLocalAddress:localAddress)) } Item { diff --git a/linphone-app/ui/modules/Linphone/Calls/Calls.qml b/linphone-app/ui/modules/Linphone/Calls/Calls.qml index e6eaf2e5f..235e8bea2 100644 --- a/linphone-app/ui/modules/Linphone/Calls/Calls.qml +++ b/linphone-app/ui/modules/Linphone/Calls/Calls.qml @@ -144,6 +144,8 @@ ListView { peerAddress: $call.peerAddress localAddress: $call.localAddress + fullPeerAddress: $call.fullPeerAddress + fullLocalAddress: $call.fullLocalAddress width: parent.width diff --git a/linphone-app/ui/modules/Linphone/Chat/Chat.qml b/linphone-app/ui/modules/Linphone/Chat/Chat.qml index 9bba222b4..e36f33005 100644 --- a/linphone-app/ui/modules/Linphone/Chat/Chat.qml +++ b/linphone-app/ui/modules/Linphone/Chat/Chat.qml @@ -34,7 +34,7 @@ Rectangle { property bool bindToEnd: false property bool tryToLoadMoreEntries: true - property var sipAddressObserver: SipAddressesModel.getSipAddressObserver(proxyModel.peerAddress, proxyModel.localAddress) + property var sipAddressObserver: SipAddressesModel.getSipAddressObserver(proxyModel.fullPeerAddress, proxyModel.fullLocalAddress) // ----------------------------------------------------------------------- diff --git a/linphone-app/ui/modules/Linphone/Contact/Contact.qml b/linphone-app/ui/modules/Linphone/Contact/Contact.qml index b00fd78a4..e12312924 100644 --- a/linphone-app/ui/modules/Linphone/Contact/Contact.qml +++ b/linphone-app/ui/modules/Linphone/Contact/Contact.qml @@ -47,7 +47,7 @@ Rectangle { ? Presence.getPresenceLevel(entry.presenceStatus) : -1 - username: LinphoneUtils.getContactUsername(_contact || entry.sipAddress || entry.peerAddress || '') + username: LinphoneUtils.getContactUsername(_contact || entry.sipAddress || entry.fullPeerAddress || entry.peerAddress || '') } ContactDescription { @@ -57,7 +57,7 @@ Rectangle { Layout.fillWidth: true Layout.leftMargin: ContactStyle.spacing - sipAddress: entry.sipAddress || entry.peerAddress || '' + sipAddress: entry.sipAddress || entry.fullPeerAddress || entry.peerAddress || '' username: avatar.username } diff --git a/linphone-app/ui/modules/Linphone/Notifications/NotificationReceivedCall.qml b/linphone-app/ui/modules/Linphone/Notifications/NotificationReceivedCall.qml index ffbf5ad76..6a4b0ed70 100644 --- a/linphone-app/ui/modules/Linphone/Notifications/NotificationReceivedCall.qml +++ b/linphone-app/ui/modules/Linphone/Notifications/NotificationReceivedCall.qml @@ -36,7 +36,7 @@ Notification { entry: { var call = notification.call - return SipAddressesModel.getSipAddressObserver(call ? call.peerAddress : '', call ? call.localAddress : '') + return SipAddressesModel.getSipAddressObserver(call ? call.fullPeerAddress : '', call ? call.fullLocalAddress : '') } } diff --git a/linphone-app/ui/modules/Linphone/Notifications/NotificationReceivedMessage.qml b/linphone-app/ui/modules/Linphone/Notifications/NotificationReceivedMessage.qml index 127a7804e..b15b03588 100644 --- a/linphone-app/ui/modules/Linphone/Notifications/NotificationReceivedMessage.qml +++ b/linphone-app/ui/modules/Linphone/Notifications/NotificationReceivedMessage.qml @@ -16,6 +16,8 @@ Notification { readonly property string peerAddress: notificationData && notificationData.peerAddress || '' readonly property string localAddress: notificationData && notificationData.localAddress || '' + readonly property string fullPeerAddress: notificationData && notificationData.fullPeerAddress || '' + readonly property string fullLocalAddress: notificationData && notificationData.fullLocalAddress || '' // --------------------------------------------------------------------------- @@ -35,7 +37,7 @@ Notification { Contact { Layout.fillWidth: true - entry: SipAddressesModel.getSipAddressObserver(notification.peerAddress, notification.localAddress) + entry: SipAddressesModel.getSipAddressObserver(notification.fullPeerAddress, notification.fullLocalAddress) } Rectangle { @@ -76,7 +78,9 @@ Notification { AccountSettingsModel.setDefaultProxyConfigFromSipAddress(notification.localAddress) notification.notificationData.window.setView('Conversation', { peerAddress: notification.peerAddress, - localAddress: notification.localAddress + localAddress: notification.localAddress, + fullPeerAddress: notification.fullPeerAddress, + fullLocalAddress: notification.fullLocalAddress }) }) } diff --git a/linphone-app/ui/scripts/Utils/utils.js b/linphone-app/ui/scripts/Utils/utils.js index c9731d165..7260bf612 100644 --- a/linphone-app/ui/scripts/Utils/utils.js +++ b/linphone-app/ui/scripts/Utils/utils.js @@ -463,7 +463,7 @@ function findIndex (array, cb, context) { cb = _computeOptimizedCb(cb, context) var key = _indexFinder(array, cb, context) - return key != null && key !== -1 ? key : null + return key != null ? key : -1 } // ----------------------------------------------------------------------------- diff --git a/linphone-app/ui/views/App/Calls/AbstractStartingCall.qml b/linphone-app/ui/views/App/Calls/AbstractStartingCall.qml index c6daeeb29..50668522c 100644 --- a/linphone-app/ui/views/App/Calls/AbstractStartingCall.qml +++ b/linphone-app/ui/views/App/Calls/AbstractStartingCall.qml @@ -13,7 +13,7 @@ Rectangle { property var call default property alias _actionArea: actionArea.data - property var _sipAddressObserver: SipAddressesModel.getSipAddressObserver(call.peerAddress, call.localAddress) + property var _sipAddressObserver: SipAddressesModel.getSipAddressObserver(call.fullPeerAddress, call.fullLocalAddress) // --------------------------------------------------------------------------- diff --git a/linphone-app/ui/views/App/Calls/Conference.qml b/linphone-app/ui/views/App/Calls/Conference.qml index 75bb88bb9..5a7cf3665 100644 --- a/linphone-app/ui/views/App/Calls/Conference.qml +++ b/linphone-app/ui/views/App/Calls/Conference.qml @@ -117,6 +117,7 @@ Rectangle { Column { readonly property string sipAddress: $call.peerAddress + readonly property string fullSipAddress: $call.fullPeerAddress anchors { fill: parent @@ -133,7 +134,7 @@ Rectangle { horizontalTextAlignment: Text.AlignHCenter sipAddress: parent.sipAddress - username: LinphoneUtils.getContactUsername(parent.sipAddress) + username: LinphoneUtils.getContactUsername(parent.fullSipAddress) } IncallAvatar { diff --git a/linphone-app/ui/views/App/Calls/Dialogs/CallTransfer.qml b/linphone-app/ui/views/App/Calls/Dialogs/CallTransfer.qml index 8a2ac718d..0648d9ee3 100644 --- a/linphone-app/ui/views/App/Calls/Dialogs/CallTransfer.qml +++ b/linphone-app/ui/views/App/Calls/Dialogs/CallTransfer.qml @@ -46,7 +46,7 @@ DialogPlus { Contact { Layout.fillWidth: true - entry: SipAddressesModel.getSipAddressObserver(call ? call.peerAddress : '', call ? call.localAddress : '') + entry: SipAddressesModel.getSipAddressObserver(call ? call.fullPeerAddress : '', call ? call.fullLocalAddress : '') } // ------------------------------------------------------------------------- diff --git a/linphone-app/ui/views/App/Calls/EndedCall.qml b/linphone-app/ui/views/App/Calls/EndedCall.qml index 890944b20..241a6225c 100644 --- a/linphone-app/ui/views/App/Calls/EndedCall.qml +++ b/linphone-app/ui/views/App/Calls/EndedCall.qml @@ -16,7 +16,7 @@ Rectangle { property var call - property var _sipAddressObserver: SipAddressesModel.getSipAddressObserver(call ? call.peerAddress : '', call ? call.localAddress : '') + property var _sipAddressObserver: SipAddressesModel.getSipAddressObserver(call ? call.fullPeerAddress : '', call ? call.fullLocalAddress : '') // --------------------------------------------------------------------------- diff --git a/linphone-app/ui/views/App/Calls/Incall.qml b/linphone-app/ui/views/App/Calls/Incall.qml index 5d1e5cfcf..13215ed19 100644 --- a/linphone-app/ui/views/App/Calls/Incall.qml +++ b/linphone-app/ui/views/App/Calls/Incall.qml @@ -26,7 +26,7 @@ Rectangle { property var call - property var _sipAddressObserver: SipAddressesModel.getSipAddressObserver(call.peerAddress, call.localAddress) + property var _sipAddressObserver: SipAddressesModel.getSipAddressObserver(call.fullPeerAddress, call.fullLocalAddress) property var _fullscreen: null // --------------------------------------------------------------------------- diff --git a/linphone-app/ui/views/App/Calls/IncallAvatar.qml b/linphone-app/ui/views/App/Calls/IncallAvatar.qml index 1a94bdfe9..e1ed1f42e 100644 --- a/linphone-app/ui/views/App/Calls/IncallAvatar.qml +++ b/linphone-app/ui/views/App/Calls/IncallAvatar.qml @@ -10,7 +10,7 @@ import App.Styles 1.0 Avatar { property var call - readonly property var _sipAddressObserver: SipAddressesModel.getSipAddressObserver(call.peerAddress, call.localAddress) + readonly property var _sipAddressObserver: SipAddressesModel.getSipAddressObserver(call.fullPeerAddress, call.fullLocalAddress) readonly property var _username: LinphoneUtils.getContactUsername(_sipAddressObserver) backgroundColor: CallStyle.container.avatar.backgroundColor diff --git a/linphone-app/ui/views/App/Main/Conversation.qml b/linphone-app/ui/views/App/Main/Conversation.qml index 0d36b8fcf..26320e079 100644 --- a/linphone-app/ui/views/App/Main/Conversation.qml +++ b/linphone-app/ui/views/App/Main/Conversation.qml @@ -15,8 +15,10 @@ ColumnLayout { property string peerAddress property string localAddress + property string fullPeerAddress + property string fullLocalAddress - readonly property var _sipAddressObserver: SipAddressesModel.getSipAddressObserver(peerAddress, localAddress) + readonly property var _sipAddressObserver: SipAddressesModel.getSipAddressObserver((fullPeerAddress?fullPeerAddress:peerAddress), (fullLocalAddress?fullLocalAddress:localAddress)) // --------------------------------------------------------------------------- @@ -170,6 +172,8 @@ ColumnLayout { peerAddress: conversation.peerAddress localAddress: conversation.localAddress + fullPeerAddress: conversation.fullPeerAddress + fullLocalAddress: conversation.fullLocalAddress } } diff --git a/linphone-app/ui/views/App/Main/MainWindow.qml b/linphone-app/ui/views/App/Main/MainWindow.qml index fd195ad0e..6a3c5f783 100644 --- a/linphone-app/ui/views/App/Main/MainWindow.qml +++ b/linphone-app/ui/views/App/Main/MainWindow.qml @@ -159,7 +159,9 @@ ApplicationWindow { } else { window.setView('Conversation', { peerAddress: entry.sipAddress, - localAddress: AccountSettingsModel.sipAddress + localAddress: AccountSettingsModel.sipAddress, + fullPeerAddress: entry.fullSipAddress, + fullLocalAddress: AccountSettingsModel.fullSipAddress }) } } @@ -167,7 +169,9 @@ ApplicationWindow { onLaunchCall: CallsListModel.launchAudioCall(sipAddress) onLaunchChat: window.setView('Conversation', { peerAddress: sipAddress, - localAddress: AccountSettingsModel.sipAddress + localAddress: AccountSettingsModel.sipAddress, + fullPeerAddress: sipAddress, + fullLocalAddress: AccountSettingsModel.fullSipAddress }) onLaunchVideoCall: CallsListModel.launchVideoCall(sipAddress)