aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/services/NotificationService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/eu/siacs/conversations/services/NotificationService.java')
-rw-r--r--src/main/java/eu/siacs/conversations/services/NotificationService.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/main/java/eu/siacs/conversations/services/NotificationService.java b/src/main/java/eu/siacs/conversations/services/NotificationService.java
index 47364b30..2b09fba1 100644
--- a/src/main/java/eu/siacs/conversations/services/NotificationService.java
+++ b/src/main/java/eu/siacs/conversations/services/NotificationService.java
@@ -100,12 +100,27 @@ public class NotificationService {
}
}
- public void finishBacklog(boolean notify) {
+ public void finishBacklog(boolean notify, Account account) {
synchronized (notifications) {
mXmppConnectionService.updateUnreadCountBadge();
+ if (account == null || !notify) {
updateNotification(notify);
+ } else {
+ boolean hasPendingMessages = false;
+ for(ArrayList<Message> messages : notifications.values()) {
+ if (messages.size() > 0 && messages.get(0).getConversation().getAccount() == account) {
+ hasPendingMessages = true;
+ break;
+ }
+ }
+ updateNotification(hasPendingMessages);
}
}
+ }
+
+ public void finishBacklog(boolean notify) {
+ finishBacklog(notify,null);
+ }
private void pushToStack(final Message message) {
final String conversationUuid = message.getConversationUuid();