do not use omemo by default for own server

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/entities/Contact.java      | 6 ++
src/main/java/eu/siacs/conversations/entities/Conversation.java | 5 ++
2 files changed, 9 insertions(+), 2 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/entities/Contact.java 🔗

@@ -443,7 +443,11 @@ public class Contact implements ListItem, Blockable {
 	}
 
 	public boolean isSelf() {
-		return account.getJid().asBareJid().equals(getJid().asBareJid());
+		return account.getJid().asBareJid().equals(jid.asBareJid());
+	}
+
+	public boolean isOwnServer() {
+		return account.getJid().getDomain().equals(jid.getDomain());
 	}
 
 	public void setCommonName(String cn) {

src/main/java/eu/siacs/conversations/entities/Conversation.java 🔗

@@ -622,6 +622,9 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl
 		if (conversation.getJid().asBareJid().equals(Config.BUG_REPORTS)) {
 			return false;
 		}
+		if (conversation.getContact().isOwnServer()) {
+			return false;
+		}
 		final String contact = conversation.getJid().getDomain();
 		final String account = conversation.getAccount().getServer();
 		if (Config.OMEMO_EXCEPTIONS.CONTACT_DOMAINS.contains(contact) || Config.OMEMO_EXCEPTIONS.ACCOUNT_DOMAINS.contains(account)) {
@@ -922,7 +925,7 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl
 	public boolean isWithStranger() {
 		final Contact contact = getContact();
 		return mode == MODE_SINGLE
-				&& !contactJid.equals(Jid.ofDomain(account.getJid().getDomain()))
+				&& !contact.isOwnServer()
 				&& !contact.showInRoster()
 				&& !contact.isSelf()
 				&& sentMessagesCount() == 0;