aboutsummaryrefslogtreecommitdiffstats
path: root/src/de/gultsch/chat/entities
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel.gultsch@rwth-aachen.de>2014-01-27 20:40:42 +0100
committerDaniel Gultsch <daniel.gultsch@rwth-aachen.de>2014-01-27 20:40:42 +0100
commit4f902d8210d50a586c7ece1bb7da2ab26fd18da5 (patch)
treeb15d34a909443f79ac10d28f23eca19cf1c3301e /src/de/gultsch/chat/entities
parent898b0ca8c485888e06e2b5b1c798eebce1a6dabc (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.java27
-rw-r--r--src/de/gultsch/chat/entities/Message.java11
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;
+ }
+
}