1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-11-26 00:02:06 +01:00

Merge pull request #234 from vanitasvitae/fixDeliveryReceipts

Make receipts id optional (SMACK-815)
This commit is contained in:
Florian Schmaus 2018-05-06 22:00:47 +02:00 committed by GitHub
commit 779ebd5d69
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 5 deletions

View file

@ -1,6 +1,6 @@
/**
*
* Copyright 2013-2015 the original author or authors
* Copyright 2013-2018 the original author or authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -22,7 +22,6 @@ import java.util.Map;
import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.provider.EmbeddedExtensionProvider;
import org.jivesoftware.smack.util.StringUtils;
import org.jivesoftware.smack.util.XmlStringBuilder;
/**
@ -41,9 +40,14 @@ public class DeliveryReceipt implements ExtensionElement {
private final String id;
public DeliveryReceipt(String id) {
this.id = StringUtils.requireNotNullOrEmpty(id, "id must not be null");
this.id = id;
}
/**
* Get the id of the message that has been delivered.
*
* @return id of the delivered message or {@code null}.
*/
public String getId() {
return id;
}
@ -61,7 +65,7 @@ public class DeliveryReceipt implements ExtensionElement {
@Override
public XmlStringBuilder toXML(String enclosingNamespace) {
XmlStringBuilder xml = new XmlStringBuilder(this);
xml.attribute("id", id);
xml.optAttribute("id", id);
xml.closeEmptyElement();
return xml;
}

View file

@ -35,7 +35,8 @@ public interface ReceiptReceivedListener {
*
* @param fromJid the jid that send this receipt
* @param toJid the jid which received this receipt
* @param receiptId the message ID of the stanza which has been received and this receipt is for
* @param receiptId the message ID of the stanza which has been received and this receipt is for.
* This might be {@code null}.
* @param receipt the receipt
*/
void onReceiptReceived(Jid fromJid, Jid toJid, String receiptId, Stanza receipt);