This commit is contained in:
iNPUTmice 2014-07-20 02:34:07 +02:00
parent 22e504b8f9
commit 185c485fc6
2 changed files with 18 additions and 6 deletions

View File

@ -141,7 +141,8 @@ public class Conversation extends AbstractEntity {
if ((getMode() == MODE_MULTI) && (getMucOptions().getSubject() != null) if ((getMode() == MODE_MULTI) && (getMucOptions().getSubject() != null)
&& useSubject) { && useSubject) {
return getMucOptions().getSubject(); return getMucOptions().getSubject();
} else if (getMode() == MODE_MULTI && bookmark!=null && bookmark.getName() != null) { } else if (getMode() == MODE_MULTI && bookmark != null
&& bookmark.getName() != null) {
return bookmark.getName(); return bookmark.getName();
} else { } else {
return this.getContact().getDisplayName(); return this.getContact().getDisplayName();
@ -238,7 +239,7 @@ public class Conversation extends AbstractEntity {
this.otrSessionNeedsStarting = false; this.otrSessionNeedsStarting = false;
return this.otrSession; return this.otrSession;
} else { } else {
this.otrSessionNeedsStarting = true; this.otrSessionNeedsStarting = true;
} }
return this.otrSession; return this.otrSession;
} catch (OtrException e) { } catch (OtrException e) {
@ -391,4 +392,13 @@ public class Conversation extends AbstractEntity {
public Bookmark getBookmark() { public Bookmark getBookmark() {
return this.bookmark; return this.bookmark;
} }
public void failWaitingOtrMessages() {
for (Message message : this.messages) {
if (message.getEncryption() == Message.ENCRYPTION_OTR
&& message.getStatus() == Message.STATUS_WAITING) {
message.setStatus(Message.STATUS_SEND_FAILED);
}
}
}
} }

View File

@ -532,11 +532,13 @@ public class XmppConnectionService extends Service {
} }
} else if (message.getEncryption() == Message.ENCRYPTION_DECRYPTED) { } else if (message.getEncryption() == Message.ENCRYPTION_DECRYPTED) {
message.getConversation().endOtrIfNeeded(); message.getConversation().endOtrIfNeeded();
message.getConversation().failWaitingOtrMessages();
packet = mMessageGenerator.generatePgpChat(message); packet = mMessageGenerator.generatePgpChat(message);
message.setStatus(Message.STATUS_SEND); message.setStatus(Message.STATUS_SEND);
send = true; send = true;
} else { } else {
message.getConversation().endOtrIfNeeded(); message.getConversation().endOtrIfNeeded();
message.getConversation().failWaitingOtrMessages();
if (message.getConversation().getMode() == Conversation.MODE_SINGLE) { if (message.getConversation().getMode() == Conversation.MODE_SINGLE) {
message.setStatus(Message.STATUS_SEND); message.setStatus(Message.STATUS_SEND);
} }