diff options
Diffstat (limited to '')
-rw-r--r-- | src/de/gultsch/chat/entities/Account.java | 15 | ||||
-rw-r--r-- | src/de/gultsch/chat/entities/Contact.java | 86 | ||||
-rw-r--r-- | src/de/gultsch/chat/entities/Message.java | 4 |
3 files changed, 91 insertions, 14 deletions
diff --git a/src/de/gultsch/chat/entities/Account.java b/src/de/gultsch/chat/entities/Account.java index 5f95af63..dcb5516a 100644 --- a/src/de/gultsch/chat/entities/Account.java +++ b/src/de/gultsch/chat/entities/Account.java @@ -13,10 +13,14 @@ public class Account extends AbstractEntity{ public static final String USERNAME = "username"; public static final String SERVER = "server"; public static final String PASSWORD = "password"; + public static final String OPTIONS = "options"; + public static final String ROSTERVERSION = "rosterversion"; protected String username; protected String server; protected String password; + protected int options; + protected String rosterVersion; protected boolean online = false; @@ -25,13 +29,15 @@ public class Account extends AbstractEntity{ } public Account(String username, String server, String password) { - this(java.util.UUID.randomUUID().toString(),username,server,password); + this(java.util.UUID.randomUUID().toString(),username,server,password,0,null); } - public Account(String uuid, String username, String server,String password) { + public Account(String uuid, String username, String server,String password, int options, String rosterVersion) { this.uuid = uuid; this.username = username; this.server = server; this.password = password; + this.options = options; + this.rosterVersion = rosterVersion; } public String getUsername() { @@ -80,7 +86,10 @@ public class Account extends AbstractEntity{ return new Account(cursor.getString(cursor.getColumnIndex(UUID)), cursor.getString(cursor.getColumnIndex(USERNAME)), cursor.getString(cursor.getColumnIndex(SERVER)), - cursor.getString(cursor.getColumnIndex(PASSWORD))); + cursor.getString(cursor.getColumnIndex(PASSWORD)), + cursor.getInt(cursor.getColumnIndex(OPTIONS)), + cursor.getString(cursor.getColumnIndex(ROSTERVERSION)) + ); } } 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)) + ); } } diff --git a/src/de/gultsch/chat/entities/Message.java b/src/de/gultsch/chat/entities/Message.java index 530a4db4..4349e341 100644 --- a/src/de/gultsch/chat/entities/Message.java +++ b/src/de/gultsch/chat/entities/Message.java @@ -111,4 +111,8 @@ public class Message extends AbstractEntity { this.conversation = conv; } + public void setStatus(int status) { + this.status = status; + } + } |