aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel@gultsch.de>2016-02-03 10:40:02 +0100
committerDaniel Gultsch <daniel@gultsch.de>2016-02-03 10:40:02 +0100
commitf0798216d568bca30051ba5392263da31e78eb98 (patch)
tree11e55953a1d71d1a15d06e88cfc65e7c20bdb29b /src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java
parent4a1a59f0c8ce99fd42909fb472179daec5065625 (diff)
refactored disco cache. avoid making duplicate call. check hash
Diffstat (limited to 'src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java')
-rw-r--r--src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java b/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java
index 9d77efab..c50640e1 100644
--- a/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java
+++ b/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java
@@ -128,7 +128,6 @@ public class ServiceDiscoveryResult {
}
}
}
-
this.ver = this.mkCapHash();
}
@@ -139,16 +138,23 @@ public class ServiceDiscoveryResult {
this.ver = ver;
JSONArray identities = o.optJSONArray("identities");
- for(int i = 0; i < identities.length(); i++) {
- this.identities.add(new Identity(identities.getJSONObject(i)));
+ if (identities != null) {
+ for (int i = 0; i < identities.length(); i++) {
+ this.identities.add(new Identity(identities.getJSONObject(i)));
+ }
}
-
JSONArray features = o.optJSONArray("features");
- for(int i = 0; i < features.length(); i++) {
- this.features.add(features.getString(i));
+ if (features != null) {
+ for (int i = 0; i < features.length(); i++) {
+ this.features.add(features.getString(i));
+ }
}
}
+ public String getVer() {
+ return new String(Base64.encode(this.ver, Base64.DEFAULT)).trim();
+ }
+
public ServiceDiscoveryResult(Cursor cursor) throws JSONException {
this(
cursor.getString(cursor.getColumnIndex(HASH)),
@@ -235,7 +241,7 @@ public class ServiceDiscoveryResult {
public ContentValues getContentValues() {
final ContentValues values = new ContentValues();
values.put(HASH, this.hash);
- values.put(VER, new String(Base64.encode(this.ver, Base64.DEFAULT)).trim());
+ values.put(VER, getVer());
values.put(RESULT, this.toJSON().toString());
return values;
}