From 9fbecd81fa66cb210e45be906c0723238f55b649 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Wed, 27 Dec 2017 21:04:44 +0100 Subject: show pep as available if omemo_all_access has been installed on server --- .../de/pixart/messenger/crypto/axolotl/AxolotlService.java | 1 + src/main/java/de/pixart/messenger/ui/EditAccountActivity.java | 2 +- src/main/java/de/pixart/messenger/xmpp/XmppConnection.java | 10 ++++++---- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'src/main') diff --git a/src/main/java/de/pixart/messenger/crypto/axolotl/AxolotlService.java b/src/main/java/de/pixart/messenger/crypto/axolotl/AxolotlService.java index c29d507ba..b77bb24fb 100644 --- a/src/main/java/de/pixart/messenger/crypto/axolotl/AxolotlService.java +++ b/src/main/java/de/pixart/messenger/crypto/axolotl/AxolotlService.java @@ -63,6 +63,7 @@ public class AxolotlService implements OnAdvancedStreamFeaturesLoaded { public static final String PEP_DEVICE_LIST_NOTIFY = PEP_DEVICE_LIST + "+notify"; public static final String PEP_BUNDLES = PEP_PREFIX + ".bundles"; public static final String PEP_VERIFICATION = PEP_PREFIX + ".verification"; + public static final String PEP_OMEMO_WHITELISTED = PEP_PREFIX + ".whitelisted"; public static final String LOGPREFIX = "AxolotlService"; diff --git a/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java b/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java index c461370eb..4a203af43 100644 --- a/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java +++ b/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java @@ -972,7 +972,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat AxolotlService axolotlService = this.mAccount.getAxolotlService(); if (axolotlService != null && axolotlService.isPepBroken()) { this.mServerInfoPep.setText(R.string.server_info_broken); - } else if (features.pepPublishOptions()) { + } else if (features.pepPublishOptions() || features.pepOmemoWhitelisted()) { this.mServerInfoPep.setText(R.string.server_info_available); } else { this.mServerInfoPep.setText(R.string.server_info_partial); diff --git a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java index b7233b848..acb15e068 100644 --- a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java +++ b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java @@ -54,6 +54,7 @@ import de.duenndns.ssl.DomainHostnameVerifier; import de.duenndns.ssl.MemorizingTrustManager; import de.pixart.messenger.Config; import de.pixart.messenger.crypto.XmppDomainVerifier; +import de.pixart.messenger.crypto.axolotl.AxolotlService; import de.pixart.messenger.crypto.sasl.Anonymous; import de.pixart.messenger.crypto.sasl.DigestMd5; import de.pixart.messenger.crypto.sasl.External; @@ -1738,10 +1739,11 @@ public class XmppConnection implements Runnable { } public boolean pepPublishOptions() { - synchronized (XmppConnection.this.disco) { - ServiceDiscoveryResult info = disco.get(account.getJid().toBareJid()); - return info != null && info.getFeatures().contains(Namespace.PUBSUB_PUBLISH_OPTIONS); - } + return hasDiscoFeature(account.getJid().toBareJid(),Namespace.PUBSUB_PUBLISH_OPTIONS); + } + + public boolean pepOmemoWhitelisted() { + return hasDiscoFeature(account.getJid().toBareJid(), AxolotlService.PEP_OMEMO_WHITELISTED); } public boolean mam() { -- cgit v1.2.3