made iterating over hashmap in notification service thread safe
This commit is contained in:
parent
63704b114c
commit
40c74b432e
|
@ -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());
|
||||
|
|
Loading…
Reference in a new issue