aboutsummaryrefslogtreecommitdiffstats
path: root/src/eu/siacs/conversations
diff options
context:
space:
mode:
authoriNPUTmice <daniel@gultsch.de>2014-08-31 18:55:15 +0200
committeriNPUTmice <daniel@gultsch.de>2014-08-31 18:55:15 +0200
commit94389ac22a1dd3d4e9bff1b64b6c74fa82c55084 (patch)
treeacb18d7d9d6ef1d9b61c4fcf50c4c1424930e299 /src/eu/siacs/conversations
parentbda7724e317dd46f831df29c4c920b3913c533cb (diff)
show merged time and status in message adapter
Diffstat (limited to 'src/eu/siacs/conversations')
-rw-r--r--src/eu/siacs/conversations/entities/Message.java18
-rw-r--r--src/eu/siacs/conversations/ui/adapter/MessageAdapter.java6
2 files changed, 21 insertions, 3 deletions
diff --git a/src/eu/siacs/conversations/entities/Message.java b/src/eu/siacs/conversations/entities/Message.java
index 2dc1bfb5f..84aac4f5a 100644
--- a/src/eu/siacs/conversations/entities/Message.java
+++ b/src/eu/siacs/conversations/entities/Message.java
@@ -336,6 +336,24 @@ public class Message extends AbstractEntity {
}
return body.trim();
}
+
+ public int getMergedStatus() {
+ Message next = this.next();
+ if (this.mergable(next)) {
+ return next.getMergedStatus();
+ } else {
+ return getStatus();
+ }
+ }
+
+ public long getMergedTimeSent() {
+ Message next = this.next();
+ if (this.mergable(next)) {
+ return next.getMergedTimeSent();
+ } else {
+ return getTimeSent();
+ }
+ }
public boolean wasMergedIntoPrevious() {
Message prev = this.prev();
diff --git a/src/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/eu/siacs/conversations/ui/adapter/MessageAdapter.java
index fcb574904..637711aba 100644
--- a/src/eu/siacs/conversations/ui/adapter/MessageAdapter.java
+++ b/src/eu/siacs/conversations/ui/adapter/MessageAdapter.java
@@ -96,7 +96,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
String info = null;
boolean error = false;
boolean multiReceived = message.getConversation().getMode() == Conversation.MODE_MULTI
- && message.getStatus() <= Message.STATUS_RECEIVED;
+ && message.getMergedStatus() <= Message.STATUS_RECEIVED;
if (message.getType() == Message.TYPE_IMAGE) {
String[] fileParams = message.getBody().split(",");
try {
@@ -106,7 +106,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
filesize = "0 KB";
}
}
- switch (message.getStatus()) {
+ switch (message.getMergedStatus()) {
case Message.STATUS_WAITING:
info = getContext().getString(R.string.waiting);
break;
@@ -154,7 +154,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
}
String formatedTime = UIHelper.readableTimeDifference(getContext(),
- message.getTimeSent());
+ message.getMergedTimeSent());
if (message.getStatus() <= Message.STATUS_RECEIVED) {
if ((filesize != null) && (info != null)) {
viewHolder.time.setText(filesize + " \u00B7 " + info);