Change summary
src/main/java/eu/siacs/conversations/entities/Message.java | 12 ++++
src/main/java/eu/siacs/conversations/parser/MessageParser.java | 4 +
2 files changed, 16 insertions(+)
Detailed changes
@@ -418,6 +418,18 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable
this.subject = subject;
}
+ public Element getThread() {
+ if (this.payloads == null) return null;
+
+ for (Element el : this.payloads) {
+ if (el.getName().equals("thread") && el.getNamespace().equals("jabber:client")) {
+ return el;
+ }
+ }
+
+ return null;
+ }
+
public void setMucUser(MucOptions.User user) {
this.user = new WeakReference<>(user);
}
@@ -610,6 +610,10 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
if (el.getName().equals("query") && el.getNamespace().equals("http://jabber.org/protocol/disco#items") && el.getAttribute("node").equals("http://jabber.org/protocol/commands")) {
message.addPayload(el);
}
+ if (el.getName().equals("thread") && (el.getNamespace() == null || el.getNamespace().equals("jabber:client"))) {
+ el.setAttribute("xmlns", "jabber:client");
+ message.addPayload(el);
+ }
}
if (conversationMultiMode) {
message.setMucUser(conversation.getMucOptions().findUserByFullJid(counterpart));