aboutsummaryrefslogtreecommitdiffstats
path: root/src/eu/siacs/conversations/entities/Contact.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/eu/siacs/conversations/entities/Contact.java')
-rw-r--r--src/eu/siacs/conversations/entities/Contact.java40
1 files changed, 35 insertions, 5 deletions
diff --git a/src/eu/siacs/conversations/entities/Contact.java b/src/eu/siacs/conversations/entities/Contact.java
index ab05b9d1..dfd6c059 100644
--- a/src/eu/siacs/conversations/entities/Contact.java
+++ b/src/eu/siacs/conversations/entities/Contact.java
@@ -32,6 +32,7 @@ public class Contact implements ListItem {
protected String accountUuid;
protected String systemName;
protected String serverName;
+ protected String presenceName;
protected String jid;
protected int subscription = 0;
protected String systemAccount;
@@ -76,6 +77,8 @@ public class Contact implements ListItem {
return this.systemName;
} else if (this.serverName != null) {
return this.serverName;
+ } else if (this.presenceName != null) {
+ return this.presenceName;
} else {
return this.jid.split("@")[0];
}
@@ -106,7 +109,7 @@ public class Contact implements ListItem {
values.put(SYSTEMACCOUNT, systemAccount);
values.put(PHOTOURI, photoUri);
values.put(KEYS, keys.toString());
- values.put(AVATAR,avatar);
+ values.put(AVATAR, avatar);
return values;
}
@@ -138,7 +141,7 @@ public class Contact implements ListItem {
public Account getAccount() {
return this.account;
}
-
+
public Presences getPresences() {
return this.presences;
}
@@ -175,6 +178,10 @@ public class Contact implements ListItem {
this.systemName = systemName;
}
+ public void setPresenceName(String presenceName) {
+ this.presenceName = presenceName;
+ }
+
public String getSystemAccount() {
return systemAccount;
}
@@ -309,7 +316,8 @@ public class Contact implements ListItem {
@Override
public int compareTo(ListItem another) {
- return this.getDisplayName().compareToIgnoreCase(another.getDisplayName());
+ return this.getDisplayName().compareToIgnoreCase(
+ another.getDisplayName());
}
public String getServer() {
@@ -323,9 +331,9 @@ public class Contact implements ListItem {
@Override
public Bitmap getImage(int size, Context context) {
- if (this.avatar!=null) {
+ if (this.avatar != null) {
Bitmap bm = FileBackend.getAvatar(avatar, size, context);
- if (bm==null) {
+ if (bm == null) {
return UIHelper.getContactPicture(this, size, context, false);
} else {
return bm;
@@ -343,4 +351,26 @@ public class Contact implements ListItem {
return true;
}
}
+
+ public boolean deleteOtrFingerprint(String fingerprint) {
+ boolean success = false;
+ try {
+ if (this.keys.has("otr_fingerprints")) {
+ JSONArray newPrints = new JSONArray();
+ JSONArray oldPrints = this.keys
+ .getJSONArray("otr_fingerprints");
+ for (int i = 0; i < oldPrints.length(); ++i) {
+ if (!oldPrints.getString(i).equals(fingerprint)) {
+ newPrints.put(oldPrints.getString(i));
+ } else {
+ success = true;
+ }
+ }
+ this.keys.put("otr_fingerprints", newPrints);
+ }
+ return success;
+ } catch (JSONException e) {
+ return false;
+ }
+ }
}