aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/eu/siacs/conversations/services/XmppConnectionService.java6
-rw-r--r--src/eu/siacs/conversations/utils/UIHelper.java10
2 files changed, 12 insertions, 4 deletions
diff --git a/src/eu/siacs/conversations/services/XmppConnectionService.java b/src/eu/siacs/conversations/services/XmppConnectionService.java
index 786605ab..722245b2 100644
--- a/src/eu/siacs/conversations/services/XmppConnectionService.java
+++ b/src/eu/siacs/conversations/services/XmppConnectionService.java
@@ -136,10 +136,12 @@ public class XmppConnectionService extends Service {
|| (packet.hasChild("sent"))) {
message = MessageParser.parseCarbonMessage(packet, account,
service);
- if (message != null) {
+ if ((message != null)&&(message.getStatus() == Message.STATUS_SEND)) {
message.getConversation().markRead();
+ notify = false;
+ } else {
+ notify = true;
}
- notify = false;
}
} else if (packet.getType() == MessagePacket.TYPE_GROUPCHAT) {
diff --git a/src/eu/siacs/conversations/utils/UIHelper.java b/src/eu/siacs/conversations/utils/UIHelper.java
index 3cc99dc5..73a0494b 100644
--- a/src/eu/siacs/conversations/utils/UIHelper.java
+++ b/src/eu/siacs/conversations/utils/UIHelper.java
@@ -191,8 +191,14 @@ public class UIHelper {
List<Conversation> unread = new ArrayList<Conversation>();
for (Conversation conversation : conversations) {
- if ((!conversation.isRead())&&((wasHighlighted(conversation)||(alwaysNotify)))) {
- unread.add(conversation);
+ if (conversation.getMode() == Conversation.MODE_MULTI) {
+ if ((!conversation.isRead())&&((wasHighlighted(conversation)||(alwaysNotify)))) {
+ unread.add(conversation);
+ }
+ } else {
+ if (!conversation.isRead()) {
+ unread.add(conversation);
+ }
}
}
String ringtone = preferences.getString("notification_ringtone", null);