diff --git a/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java b/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java index 8eccbe141..f6e482e53 100644 --- a/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java +++ b/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java @@ -85,7 +85,7 @@ public class ServiceDiscoveryResult { } } } - + private ServiceDiscoveryResult() { this.hash = "sha-1"; this.features = Collections.emptyList(); @@ -168,15 +168,19 @@ public class ServiceDiscoveryResult { return this.features; } - public boolean hasIdentity(String category, String type) { + public Identity getIdentity(String category, String type) { for (Identity id : this.getIdentities()) { if ((category == null || id.getCategory().equals(category)) && (type == null || id.getType().equals(type))) { - return true; + return id; } } - return false; + return null; + } + + public boolean hasIdentity(String category, String type) { + return getIdentity(category, type) != null; } public String getExtendedDiscoInformation(String formType, String name) { @@ -239,8 +243,8 @@ public class ServiceDiscoveryResult { return null; } - return md.digest(s.toString().getBytes(StandardCharsets.UTF_8)); - } + return md.digest(s.toString().getBytes(StandardCharsets.UTF_8)); + } private JSONObject toJSON() { try {