aboutsummaryrefslogtreecommitdiffstats
path: root/src/de/gultsch/chat/entities/Contact.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/gultsch/chat/entities/Contact.java')
-rw-r--r--src/de/gultsch/chat/entities/Contact.java86
1 files changed, 75 insertions, 11 deletions
diff --git a/src/de/gultsch/chat/entities/Contact.java b/src/de/gultsch/chat/entities/Contact.java
index 66221f8a..f235fb4d 100644
--- a/src/de/gultsch/chat/entities/Contact.java
+++ b/src/de/gultsch/chat/entities/Contact.java
@@ -2,33 +2,97 @@ package de.gultsch.chat.entities;
import java.io.Serializable;
-import android.net.Uri;
+import android.content.ContentValues;
+import android.database.Cursor;
-public class Contact implements Serializable {
+public class Contact extends AbstractEntity implements Serializable {
private static final long serialVersionUID = -4570817093119419962L;
- protected String display_name;
+
+
+ public static final String TABLENAME = "contacts";
+
+ public static final String DISPLAYNAME = "name";
+ public static final String JID = "jid";
+ public static final String SUBSCRIPTION = "subscription";
+ public static final String SYSTEMACCOUNT = "systemaccount";
+ public static final String PHOTOURI = "photouri";
+ public static final String OPENPGPKEY = "pgpkey";
+ public static final String LASTONLINEPRESENCE = "presence";
+ public static final String ACCOUNT = "accountUuid";
+
+ protected String accountUuid;
+ protected String displayName;
protected String jid;
- protected String photo;
+ protected String subscription;
+ protected int systemAccount;
+ protected String photoUri;
+ protected String openPGPKey;
+ protected long lastOnlinePresence;
+
+ public Contact(Account account, String displayName, String jid, String photoUri) {
+ if (account == null) {
+ this.accountUuid = null;
+ } else {
+ this.accountUuid = account.getUuid();
+ }
+ this.displayName = displayName;
+ this.jid = jid;
+ this.photoUri = photoUri;
+ }
- public Contact(String display_name, String jid, String photo) {
- this.display_name = display_name;
+ public Contact(String uuid, String account, String displayName, String jid, String subscription, String photoUri, int systemAccount, String pgpKey, long lastseen) {
+ this.uuid = uuid;
+ this.accountUuid = account;
+ this.displayName = displayName;
this.jid = jid;
- this.photo = photo;
+ this.subscription = subscription;
+ this.photoUri = photoUri;
+ this.systemAccount = systemAccount;
+ this.openPGPKey = pgpKey;
+ this.lastOnlinePresence = lastseen;
}
public String getDisplayName() {
- return this.display_name;
+ return this.displayName;
}
public String getProfilePhoto() {
- return photo;
+ return this.photoUri;
}
-
+
public String getJid() {
return this.jid;
}
public boolean match(String needle) {
- return (jid.toLowerCase().contains(needle.toLowerCase()) || (display_name.toLowerCase().contains(needle.toLowerCase())));
+ return (jid.toLowerCase().contains(needle.toLowerCase()) || (displayName.toLowerCase().contains(needle.toLowerCase())));
+ }
+
+ @Override
+ public ContentValues getContentValues() {
+ ContentValues values = new ContentValues();
+ values.put(UUID,uuid);
+ values.put(ACCOUNT,accountUuid);
+ values.put(DISPLAYNAME, displayName);
+ values.put(JID, jid);
+ values.put(SUBSCRIPTION,subscription);
+ values.put(SYSTEMACCOUNT, systemAccount);
+ values.put(PHOTOURI,photoUri);
+ values.put(OPENPGPKEY,openPGPKey);
+ values.put(LASTONLINEPRESENCE,lastOnlinePresence);
+ return values;
+ }
+
+ public static Contact fromCursor(Cursor cursor) {
+ return new Contact(cursor.getString(cursor.getColumnIndex(UUID)),
+ cursor.getString(cursor.getColumnIndex(ACCOUNT)),
+ cursor.getString(cursor.getColumnIndex(DISPLAYNAME)),
+ cursor.getString(cursor.getColumnIndex(JID)),
+ cursor.getString(cursor.getColumnIndex(SUBSCRIPTION)),
+ cursor.getString(cursor.getColumnIndex(PHOTOURI)),
+ cursor.getInt(cursor.getColumnIndex(SYSTEMACCOUNT)),
+ cursor.getString(cursor.getColumnIndex(OPENPGPKEY)),
+ cursor.getLong(cursor.getColumnIndex(LASTONLINEPRESENCE))
+ );
}
}