diff options
Diffstat (limited to 'src/eu/siacs/conversations/services')
-rw-r--r-- | src/eu/siacs/conversations/services/NotificationService.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/eu/siacs/conversations/services/NotificationService.java b/src/eu/siacs/conversations/services/NotificationService.java index 8eba49a9..7a116ed4 100644 --- a/src/eu/siacs/conversations/services/NotificationService.java +++ b/src/eu/siacs/conversations/services/NotificationService.java @@ -1,7 +1,9 @@ package eu.siacs.conversations.services; import java.util.ArrayList; +import java.util.Iterator; import java.util.LinkedHashMap; +import java.util.Map.Entry; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -130,7 +132,11 @@ public class NotificationService { .getString(R.string.unread_conversations)); StringBuilder names = new StringBuilder(); Conversation conversation = null; - for (ArrayList<Message> messages : notifications.values()) { + Iterator<Entry<String, ArrayList<Message>>> it = notifications + .entrySet().iterator(); + while (it.hasNext()) { + Entry<String, ArrayList<Message>> entry = it.next(); + ArrayList<Message> messages = entry.getValue(); if (messages.size() > 0) { conversation = messages.get(0).getConversation(); String name = conversation.getName(); @@ -142,6 +148,7 @@ public class NotificationService { names.append(name); names.append(", "); } + it.remove(); } if (names.length() >= 2) { names.delete(names.length() - 2, names.length()); |