aboutsummaryrefslogtreecommitdiffstats
path: root/src/de/gultsch/chat/entities
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/gultsch/chat/entities')
-rw-r--r--src/de/gultsch/chat/entities/Account.java15
-rw-r--r--src/de/gultsch/chat/entities/Contact.java86
-rw-r--r--src/de/gultsch/chat/entities/Message.java4
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;
+ }
+
}