aboutsummaryrefslogtreecommitdiffstats
path: root/src/de/gultsch/chat/entities/Message.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/gultsch/chat/entities/Message.java')
-rw-r--r--src/de/gultsch/chat/entities/Message.java99
1 files changed, 89 insertions, 10 deletions
diff --git a/src/de/gultsch/chat/entities/Message.java b/src/de/gultsch/chat/entities/Message.java
index 3b4e2115..5e5cfbe4 100644
--- a/src/de/gultsch/chat/entities/Message.java
+++ b/src/de/gultsch/chat/entities/Message.java
@@ -1,19 +1,98 @@
package de.gultsch.chat.entities;
-public class Message {
+import android.content.ContentValues;
+import android.database.Cursor;
- String msg;
-
- public Message(String msg) {
- this.msg = msg;
+public class Message extends AbstractEntity {
+
+ private static final long serialVersionUID = 7222081895167103025L;
+
+ public static final int STATUS_RECIEVED = 0;
+ public static final int STATUS_UNSEND = 1;
+ public static final int STATUS_SEND = 2;
+
+ public static final int ENCRYPTION_NONE = 0;
+ public static final int ENCRYPTION_PGP = 1;
+ public static final int ENCRYPTION_OTR = 2;
+
+ public static String CONVERSATION = "conversationUuid";
+ public static String COUNTERPART = "counterpart";
+ public static String BODY = "body";
+ public static String TIME_SENT = "timeSent";
+ public static String ENCRYPTION = "encryption";
+ public static String STATUS = "status";
+
+ protected String conversationUuid;
+ protected String counterpart;
+ protected String body;
+ protected long timeSent;
+ protected int encryption;
+ protected int status;
+
+ protected transient Conversation conversation = null;
+
+ public Message(Conversation conversation, String body, int encryption) {
+ this(java.util.UUID.randomUUID().toString(), conversation.getUuid(),
+ conversation.getContactJid(), body, 0, encryption,
+ Message.STATUS_UNSEND);
+ }
+
+ public Message(String uuid, String conversationUUid, String counterpart,
+ String body, long timeSent, int encryption, int status) {
+ this.uuid = uuid;
+ this.conversationUuid = conversationUUid;
+ this.counterpart = counterpart;
+ this.body = body;
+ this.timeSent = timeSent;
+ this.encryption = encryption;
+ this.status = status;
+ }
+
+ @Override
+ public ContentValues getContentValues() {
+ ContentValues values = new ContentValues();
+ values.put(UUID, this.uuid);
+ values.put(CONVERSATION, conversationUuid);
+ values.put(COUNTERPART, counterpart);
+ values.put(BODY, body);
+ values.put(TIME_SENT, timeSent);
+ values.put(ENCRYPTION, encryption);
+ values.put(STATUS, status);
+ return values;
}
-
- public String toString() {
- return msg;
+
+ public String getConversationUuid() {
+ return conversationUuid;
+ }
+
+ public String getCounterpart() {
+ return counterpart;
+ }
+
+ public String getBody() {
+ return body;
+ }
+
+ public long getTimeSent() {
+ return timeSent;
+ }
+
+ public int getEncryption() {
+ return encryption;
+ }
+
+ public int getStatus() {
+ return status;
}
- public String getTimeReadable() {
- return "2 min";
+ public static Message fromCursor(Cursor cursor) {
+ return new Message(cursor.getString(cursor.getColumnIndex(UUID)),
+ cursor.getString(cursor.getColumnIndex(CONVERSATION)),
+ cursor.getString(cursor.getColumnIndex(COUNTERPART)),
+ cursor.getString(cursor.getColumnIndex(BODY)),
+ cursor.getLong(cursor.getColumnIndex(TIME_SENT)),
+ cursor.getInt(cursor.getColumnIndex(ENCRYPTION)),
+ cursor.getInt(cursor.getColumnIndex(STATUS)));
}
}