From 848fb2ec24f645d5f4b6e7e2348ddcf6a7dcdeee Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Wed, 12 Mar 2014 19:47:42 +0100 Subject: [PATCH] fix for otr problems --- src/eu/siacs/conversations/utils/MessageParser.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/eu/siacs/conversations/utils/MessageParser.java b/src/eu/siacs/conversations/utils/MessageParser.java index 2da0459e..136edc82 100644 --- a/src/eu/siacs/conversations/utils/MessageParser.java +++ b/src/eu/siacs/conversations/utils/MessageParser.java @@ -31,14 +31,16 @@ public class MessageParser { } public static Message parseOtrChat(MessagePacket packet, Account account, XmppConnectionService service) { + Log.d(LOGTAG,"otr message received: "+packet.toString()); String[] fromParts = packet.getFrom().split("/"); Conversation conversation = service.findOrCreateConversation(account, fromParts[0],false); String body = packet.getBody(); if (!conversation.hasValidOtrSession()) { conversation.startOtrSession(service.getApplicationContext(), fromParts[1]); } else { - if (body.startsWith("?OTRv")) { - Log.d("xmppService","new otr during existing otr session requested. ending old one"); + String foreignPresence = conversation.getOtrSession().getSessionID().getUserID(); + if (!foreignPresence.equals(fromParts[1])) { + Log.d(LOGTAG,"new otr during existing otr session requested. ending old one"); try { conversation.getOtrSession().endSession(); } catch (OtrException e) {