aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/entities/Conversation.java
diff options
context:
space:
mode:
authorChristian S <christian@pix-art.de>2015-12-28 08:21:23 +0100
committerChristian S <christian@pix-art.de>2015-12-28 08:21:23 +0100
commitf7afd7b26587e73aad789f1a8a5d91d7e7bdeb77 (patch)
tree12536b349199fa7cf54f44afd4c07e82c6dcf2c4 /src/main/java/eu/siacs/conversations/entities/Conversation.java
parent0ae86b22cbe44c7ae126f19d2628665ecb50a2ae (diff)
parent7bb67ee6605fbf3785782cf70d30fac4192d049b (diff)
copy commits
Diffstat (limited to 'src/main/java/eu/siacs/conversations/entities/Conversation.java')
-rw-r--r--src/main/java/eu/siacs/conversations/entities/Conversation.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java
index 81f789f8d..bc7f302ae 100644
--- a/src/main/java/eu/siacs/conversations/entities/Conversation.java
+++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java
@@ -21,6 +21,7 @@ import java.util.List;
import eu.siacs.conversations.Config;
import eu.siacs.conversations.R;
+import eu.siacs.conversations.crypto.axolotl.AxolotlService;
import eu.siacs.conversations.xmpp.chatstate.ChatState;
import eu.siacs.conversations.xmpp.jid.InvalidJidException;
import eu.siacs.conversations.xmpp.jid.Jid;
@@ -621,8 +622,16 @@ public class Conversation extends AbstractEntity implements Blockable {
}
public int getNextEncryption() {
+ final AxolotlService axolotlService = getAccount().getAxolotlService();
int next = this.getIntAttribute(ATTRIBUTE_NEXT_ENCRYPTION, -1);
if (next == -1) {
+ if (Config.X509_VERIFICATION && mode == MODE_SINGLE) {
+ if (axolotlService != null && axolotlService.isContactAxolotlCapable(getContact())) {
+ return Message.ENCRYPTION_AXOLOTL;
+ } else {
+ return Message.ENCRYPTION_NONE;
+ }
+ }
int outgoing = this.getMostRecentlyUsedOutgoingEncryption();
if (outgoing == Message.ENCRYPTION_NONE) {
next = this.getMostRecentlyUsedIncomingEncryption();
@@ -631,7 +640,7 @@ public class Conversation extends AbstractEntity implements Blockable {
}
}
if (Config.FORCE_ENCRYPTION && mode == MODE_SINGLE && next <= 0) {
- if (getAccount().getAxolotlService().isContactAxolotlCapable(getContact())) {
+ if (axolotlService != null && axolotlService.isContactAxolotlCapable(getContact())) {
return Message.ENCRYPTION_AXOLOTL;
} else {
return Message.ENCRYPTION_OTR;