log ending otr sessions on disconnect

This commit is contained in:
iNPUTmice 2014-10-16 15:53:44 +02:00
parent 6cfb14a2e4
commit c1a55608df
2 changed files with 10 additions and 3 deletions

View file

@ -297,18 +297,23 @@ public class Conversation extends AbstractEntity {
} }
} }
public void endOtrIfNeeded() { public boolean endOtrIfNeeded() {
if (this.otrSession != null) { if (this.otrSession != null) {
if (this.otrSession.getSessionStatus() == SessionStatus.ENCRYPTED) { if (this.otrSession.getSessionStatus() == SessionStatus.ENCRYPTED) {
try { try {
this.otrSession.endSession(); this.otrSession.endSession();
this.resetOtrSession(); this.resetOtrSession();
return true;
} catch (OtrException e) { } catch (OtrException e) {
this.resetOtrSession(); this.resetOtrSession();
return false;
} }
} else { } else {
this.resetOtrSession(); this.resetOtrSession();
return false;
} }
} else {
return false;
} }
} }

View file

@ -1269,7 +1269,7 @@ public class XmppConnectionService extends Service {
conversation.getMucOptions().setOffline(); conversation.getMucOptions().setOffline();
conversation.deregisterWithBookmark(); conversation.deregisterWithBookmark();
Log.d(Config.LOGTAG, conversation.getAccount().getJid() Log.d(Config.LOGTAG, conversation.getAccount().getJid()
+ " leaving muc " + conversation.getContactJid()); + ": leaving muc " + conversation.getContactJid());
} else { } else {
account.pendingConferenceLeaves.add(conversation); account.pendingConferenceLeaves.add(conversation);
} }
@ -1286,7 +1286,9 @@ public class XmppConnectionService extends Service {
if (conversation.getMode() == Conversation.MODE_MULTI) { if (conversation.getMode() == Conversation.MODE_MULTI) {
leaveMuc(conversation); leaveMuc(conversation);
} else { } else {
conversation.endOtrIfNeeded(); if (conversation.endOtrIfNeeded()) {
Log.d(Config.LOGTAG,account.getJid()+": ended otr session with "+conversation.getContactJid());
}
} }
} }
} }