From 5ce1e80e730e0a682b3bd8a702a002d6bdc22fc9 Mon Sep 17 00:00:00 2001 From: kosyak Date: Tue, 15 Aug 2023 01:23:18 +0200 Subject: [PATCH] fix service discovery has identity --- .../entities/ServiceDiscoveryResult.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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 {