diff --git a/src/cheogram/AndroidManifest.xml b/src/cheogram/AndroidManifest.xml
index 62396bed1af27fcdcac16db152115fbd362223ec..956e892fe1b1768858702f10c6c8aac4617bc18d 100644
--- a/src/cheogram/AndroidManifest.xml
+++ b/src/cheogram/AndroidManifest.xml
@@ -3,7 +3,18 @@
xmlns:tools="http://schemas.android.com/tools"
package="eu.siacs.conversations">
+
+
+
+
+
+
+
+
+
clazz) {
if (clazz == JabberIdContact.class) {
return Options.SYNCED_VIA_ADDRESSBOOK;
diff --git a/src/main/java/eu/siacs/conversations/entities/Presences.java b/src/main/java/eu/siacs/conversations/entities/Presences.java
index 04d378cc2602e9fd47b1da60d9a9fdf3433114c6..d0a25e884d52d0f3274bbceb0c961b99c1ccd5de 100644
--- a/src/main/java/eu/siacs/conversations/entities/Presences.java
+++ b/src/main/java/eu/siacs/conversations/entities/Presences.java
@@ -149,6 +149,21 @@ public class Presences {
return false;
}
+ public boolean anyIdentity(final String category, final String type) {
+ synchronized (this.presences) {
+ if (this.presences.size() == 0) {
+ return true;
+ }
+ for (Presence presence : this.presences.values()) {
+ ServiceDiscoveryResult disco = presence.getServiceDiscoveryResult();
+ if (disco != null && disco.hasIdentity(category, type)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
public Pair