|
|
|
@ -4198,14 +4198,25 @@ class Core {
|
|
|
|
|
if (s != null)
|
|
|
|
|
map.put(s.id, s);
|
|
|
|
|
|
|
|
|
|
List<EntityMessage> reported = db.message().getMessagesByMsgId(folder.account, message.inreplyto);
|
|
|
|
|
if (reported != null)
|
|
|
|
|
for (EntityMessage m : reported)
|
|
|
|
|
if (!map.containsKey(m.folder)) {
|
|
|
|
|
EntityFolder f = db.folder().getFolder(m.folder);
|
|
|
|
|
if (f != null)
|
|
|
|
|
map.put(f.id, f);
|
|
|
|
|
}
|
|
|
|
|
List<EntityMessage> all = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
if (message.inreplyto != null) {
|
|
|
|
|
List<EntityMessage> replied = db.message().getMessagesByMsgId(folder.account, message.inreplyto);
|
|
|
|
|
if (replied != null)
|
|
|
|
|
all.addAll(replied);
|
|
|
|
|
}
|
|
|
|
|
if (r.refid != null) {
|
|
|
|
|
List<EntityMessage> refs = db.message().getMessagesByMsgId(folder.account, r.refid);
|
|
|
|
|
if (refs != null)
|
|
|
|
|
all.addAll(refs);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (EntityMessage m : all)
|
|
|
|
|
if (!map.containsKey(m.folder)) {
|
|
|
|
|
EntityFolder f = db.folder().getFolder(m.folder);
|
|
|
|
|
if (f != null)
|
|
|
|
|
map.put(f.id, f);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (EntityFolder f : map.values())
|
|
|
|
|
EntityOperation.queue(context, f, EntityOperation.REPORT, message.inreplyto, label);
|
|
|
|
|