diff options
author | Daniel Gultsch <daniel.gultsch@rwth-aachen.de> | 2014-01-27 20:40:42 +0100 |
---|---|---|
committer | Daniel Gultsch <daniel.gultsch@rwth-aachen.de> | 2014-01-27 20:40:42 +0100 |
commit | 4f902d8210d50a586c7ece1bb7da2ab26fd18da5 (patch) | |
tree | b15d34a909443f79ac10d28f23eca19cf1c3301e /src/de/gultsch/chat/entities | |
parent | 898b0ca8c485888e06e2b5b1c798eebce1a6dabc (diff) |
conversation archiveable. new conversation will find or restart old conversations
Diffstat (limited to 'src/de/gultsch/chat/entities')
-rw-r--r-- | src/de/gultsch/chat/entities/Conversation.java | 27 | ||||
-rw-r--r-- | src/de/gultsch/chat/entities/Message.java | 11 |
2 files changed, 37 insertions, 1 deletions
diff --git a/src/de/gultsch/chat/entities/Conversation.java b/src/de/gultsch/chat/entities/Conversation.java index 413e3d62..a00dd476 100644 --- a/src/de/gultsch/chat/entities/Conversation.java +++ b/src/de/gultsch/chat/entities/Conversation.java @@ -53,8 +53,31 @@ public class Conversation extends AbstractEntity { public List<Message> getMessages() { if (messages == null) this.messages = new ArrayList<Message>(); //prevent null pointer + + //populate with Conversation (this) + + for(Message msg : messages) { + msg.setConversation(this); + } + return messages; } + + public String getLatestMessage() { + if ((this.messages == null)||(this.messages.size()==0)) { + return null; + } else { + return this.messages.get(this.messages.size() - 1).getBody(); + } + } + + public long getLatestMessageDate() { + if ((this.messages == null)||(this.messages.size()==0)) { + return this.getCreated(); + } else { + return this.messages.get(this.messages.size() - 1).getTimeSent(); + } + } public void setMessages(List<Message> msgs) { this.messages = msgs; @@ -112,4 +135,8 @@ public class Conversation extends AbstractEntity { cursor.getLong(cursor.getColumnIndex(CREATED)), cursor.getInt(cursor.getColumnIndex(STATUS))); } + + public void setStatus(int status) { + this.status = status; + } } diff --git a/src/de/gultsch/chat/entities/Message.java b/src/de/gultsch/chat/entities/Message.java index 26e646ff..b52e44b4 100644 --- a/src/de/gultsch/chat/entities/Message.java +++ b/src/de/gultsch/chat/entities/Message.java @@ -35,8 +35,9 @@ public class Message extends AbstractEntity { public Message(Conversation conversation, String body, int encryption) { this(java.util.UUID.randomUUID().toString(), conversation.getUuid(), - conversation.getContactJid(), body, 0, encryption, + conversation.getContactJid(), body, System.currentTimeMillis(), encryption, Message.STATUS_UNSEND); + this.conversation = conversation; } public Message(String uuid, String conversationUUid, String counterpart, @@ -66,6 +67,10 @@ public class Message extends AbstractEntity { public String getConversationUuid() { return conversationUuid; } + + public Conversation getConversation() { + return this.conversation; + } public String getCounterpart() { return counterpart; @@ -97,4 +102,8 @@ public class Message extends AbstractEntity { cursor.getInt(cursor.getColumnIndex(STATUS))); } + public void setConversation(Conversation conv) { + this.conversation = conv; + } + } |