2014-01-24 17:58:51 -05:00
|
|
|
package de.gultsch.chat.entities;
|
2014-01-23 20:04:05 -05:00
|
|
|
|
2014-01-25 13:33:12 -05:00
|
|
|
import android.content.ContentValues;
|
|
|
|
import android.database.Cursor;
|
2014-01-23 20:04:05 -05:00
|
|
|
|
2014-01-25 13:33:12 -05:00
|
|
|
public class Message extends AbstractEntity {
|
|
|
|
|
|
|
|
private static final long serialVersionUID = 7222081895167103025L;
|
2014-01-25 21:27:55 -05:00
|
|
|
|
|
|
|
public static final String TABLENAME = "messages";
|
2014-01-25 13:33:12 -05:00
|
|
|
|
|
|
|
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;
|
2014-02-10 16:45:59 -05:00
|
|
|
protected boolean read = true;
|
2014-01-25 13:33:12 -05:00
|
|
|
|
|
|
|
protected transient Conversation conversation = null;
|
|
|
|
|
|
|
|
public Message(Conversation conversation, String body, int encryption) {
|
|
|
|
this(java.util.UUID.randomUUID().toString(), conversation.getUuid(),
|
2014-01-27 14:40:42 -05:00
|
|
|
conversation.getContactJid(), body, System.currentTimeMillis(), encryption,
|
2014-01-25 13:33:12 -05:00
|
|
|
Message.STATUS_UNSEND);
|
2014-01-27 14:40:42 -05:00
|
|
|
this.conversation = conversation;
|
2014-01-25 13:33:12 -05:00
|
|
|
}
|
2014-02-01 09:07:20 -05:00
|
|
|
|
|
|
|
public Message(Conversation conversation, String counterpart, String body, int encryption, int status) {
|
|
|
|
this(java.util.UUID.randomUUID().toString(), conversation.getUuid(),counterpart, body, System.currentTimeMillis(), encryption,status);
|
|
|
|
this.conversation = conversation;
|
|
|
|
}
|
|
|
|
|
2014-01-25 13:33:12 -05:00
|
|
|
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();
|
2014-01-28 13:21:54 -05:00
|
|
|
values.put(UUID, uuid);
|
2014-01-25 13:33:12 -05:00
|
|
|
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;
|
2014-01-23 20:04:05 -05:00
|
|
|
}
|
2014-01-25 13:33:12 -05:00
|
|
|
|
|
|
|
public String getConversationUuid() {
|
|
|
|
return conversationUuid;
|
|
|
|
}
|
2014-01-27 14:40:42 -05:00
|
|
|
|
|
|
|
public Conversation getConversation() {
|
|
|
|
return this.conversation;
|
|
|
|
}
|
2014-01-25 13:33:12 -05:00
|
|
|
|
|
|
|
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;
|
2014-01-23 20:04:05 -05:00
|
|
|
}
|
|
|
|
|
2014-01-25 13:33:12 -05:00
|
|
|
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)));
|
2014-01-23 20:04:05 -05:00
|
|
|
}
|
|
|
|
|
2014-01-27 14:40:42 -05:00
|
|
|
public void setConversation(Conversation conv) {
|
|
|
|
this.conversation = conv;
|
|
|
|
}
|
|
|
|
|
2014-02-02 10:05:15 -05:00
|
|
|
public void setStatus(int status) {
|
|
|
|
this.status = status;
|
|
|
|
}
|
|
|
|
|
2014-02-10 16:45:59 -05:00
|
|
|
public boolean isRead() {
|
|
|
|
return this.read;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void markRead() {
|
|
|
|
this.read = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void markUnread() {
|
|
|
|
this.read = false;
|
|
|
|
}
|
2014-02-11 09:34:24 -05:00
|
|
|
|
|
|
|
public void setTime(long time) {
|
|
|
|
this.timeSent = time;
|
|
|
|
}
|
2014-02-16 10:32:15 -05:00
|
|
|
|
|
|
|
public void setEncryption(int encryption) {
|
|
|
|
this.encryption = encryption;
|
|
|
|
}
|
2014-02-10 16:45:59 -05:00
|
|
|
|
2014-01-23 20:04:05 -05:00
|
|
|
}
|