From f0798216d568bca30051ba5392263da31e78eb98 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Wed, 3 Feb 2016 10:40:02 +0100 Subject: refactored disco cache. avoid making duplicate call. check hash --- .../entities/ServiceDiscoveryResult.java | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java') diff --git a/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java b/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java index 9d77efab8..c50640e1f 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; } -- cgit v1.2.3