end otr session if plain text message from another instance is being received

iNPUTmice created

Change summary

src/eu/siacs/conversations/parser/MessageParser.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

Detailed changes

src/eu/siacs/conversations/parser/MessageParser.java 🔗

@@ -256,7 +256,6 @@ public class MessageParser extends AbstractParser implements
 				return null;
 			}
 		}
-
 		return finishedMessage;
 	}
 
@@ -478,6 +477,14 @@ public class MessageParser extends AbstractParser implements
 		}
 		Conversation conversation = message.getConversation();
 		conversation.add(message);
+
+		if (message.getStatus() == Message.STATUS_RECEIVED
+				&& conversation.getOtrSession() != null
+				&& !conversation.getOtrSession().getSessionID().getUserID()
+						.equals(message.getPresence())) {
+			conversation.endOtrIfNeeded();
+		}
+
 		if (packet.getType() != MessagePacket.TYPE_ERROR) {
 			if (message.getEncryption() == Message.ENCRYPTION_NONE
 					|| mXmppConnectionService.saveEncryptedMessages()) {