From d46f36d8d50f324cc58963bf79e58c42a69bea47 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 12 Dec 2017 11:51:29 +0100 Subject: [PATCH] Do not display messages with no displayable content + updated linphone --- src/android/org/linphone/LinphoneManager.java | 11 +++++++++++ .../org/linphone/chat/GroupChatFragment.java | 15 +++++++++++++++ submodules/linphone | 2 +- 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index 9c02f54ad..3ae37f00b 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -99,6 +99,7 @@ import org.linphone.core.Core.LogCollectionUploadState; import org.linphone.core.Core.RegistrationState; import org.linphone.core.Core.ConfiguringState; import org.linphone.core.CoreException; +import org.linphone.core.ErrorInfo; import org.linphone.core.Factory; import org.linphone.core.CoreListener; import org.linphone.core.Event; @@ -1069,6 +1070,16 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou return; } + if (message.getErrorInfo() != null && message.getErrorInfo().getReason() == Reason.UnsupportedContent) { + Log.w("Message received but content is unsupported, do not notify it"); + return; + } + + if (!message.hasTextContent() && message.getFileTransferInformation() == null) { + Log.w("Message has no text or file transfer information to display, ignoring it..."); + return; + } + Address from = message.getFromAddress(); LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(from); String textMessage = (message.getFileTransferInformation() != null) ? getString(R.string.content_description_incoming_file) : message.getText(); diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index 9b01a3600..e966c4f4f 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -64,6 +64,8 @@ import org.linphone.core.EventLog; import org.linphone.core.Factory; import org.linphone.core.Participant; import org.linphone.contacts.ContactsUpdatedListener; +import org.linphone.core.Reason; +import org.linphone.mediastream.Log; import org.linphone.ui.ListSelectionHelper; import java.io.File; @@ -604,6 +606,19 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con cr.markAsRead(); LinphoneActivity.instance().updateMissedChatCount(); + if (event.getType() == EventLog.Type.ConferenceChatMessage) { + ChatMessage message = event.getChatMessage(); + if (message.getErrorInfo() != null && message.getErrorInfo().getReason() == Reason.UnsupportedContent) { + Log.w("Message received but content is unsupported, do not display it"); + return; + } + + if (!message.hasTextContent() && message.getFileTransferInformation() == null) { + Log.w("Message has no text or file transfer information to display, ignoring it..."); + return; + } + } + ChatMessage msg = event.getChatMessage(); String externalBodyUrl = msg.getExternalBodyUrl(); Content fileTransferContent = msg.getFileTransferInformation(); diff --git a/submodules/linphone b/submodules/linphone index 4d277538b..d2fd296e8 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 4d277538b089fdaaaada694075fb33e3546c7fe2 +Subproject commit d2fd296e8c8ba84c9f192dbb7b59e22e9080a8f6