mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2025-12-16 10:01:08 +01:00
Merge branch '4.1'
Conflicts: smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java smack-core/src/main/java/org/jivesoftware/smack/PacketCollector.java smack-core/src/main/java/org/jivesoftware/smack/PacketListener.java smack-core/src/main/java/org/jivesoftware/smack/XMPPConnection.java smack-core/src/main/java/org/jivesoftware/smack/debugger/SmackDebugger.java smack-core/src/main/java/org/jivesoftware/smack/packet/Packet.java smack-core/src/main/java/org/jivesoftware/smack/util/XmlStringBuilder.java smack-core/src/test/java/org/jivesoftware/smack/ThreadedDummyConnection.java smack-extensions/src/main/java/org/jivesoftware/smackx/address/provider/MultipleAddressesProvider.java smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/DataListener.java smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/FaultTolerantNegotiator.java smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/IBBTransferNegotiator.java smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/Socks5TransferNegotiator.java smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/StreamNegotiator.java smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/LeafNode.java smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Node.java smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/PubSubManager.java smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/packet/PubSub.java smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/VCardManager.java smack-extensions/src/test/java/org/jivesoftware/smackx/receipts/DeliveryReceiptTest.java smack-im/src/main/java/org/jivesoftware/smack/chat/ChatManager.java smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/JingleSession.java smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/provider/JingleProvider.java smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/UserID.java smack-legacy/src/main/java/org/jivesoftware/smackx/xroster/provider/RosterExchangeProvider.java smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java version.gradle
This commit is contained in:
commit
701aa7d9c4
298 changed files with 2402 additions and 1562 deletions
|
|
@ -19,8 +19,8 @@ package org.jivesoftware.smackx.receipts;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.jivesoftware.smack.packet.Stanza;
|
||||
import org.jivesoftware.smack.packet.PacketExtension;
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.ExtensionElement;
|
||||
import org.jivesoftware.smack.provider.EmbeddedExtensionProvider;
|
||||
import org.jivesoftware.smack.util.XmlStringBuilder;
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
|
|||
*
|
||||
* @author Georg Lukas
|
||||
*/
|
||||
public class DeliveryReceipt implements PacketExtension
|
||||
public class DeliveryReceipt implements ExtensionElement
|
||||
{
|
||||
public static final String NAMESPACE = "urn:xmpp:receipts";
|
||||
public static final String ELEMENT = "received";
|
||||
|
|
@ -76,21 +76,21 @@ public class DeliveryReceipt implements PacketExtension
|
|||
*
|
||||
* @param p the packet
|
||||
* @return the {@link DeliveryReceipt} extension or {@code null}
|
||||
* @deprecated use {@link #from(Stanza)} instead
|
||||
* @deprecated use {@link #from(Message)} instead
|
||||
*/
|
||||
@Deprecated
|
||||
public static DeliveryReceipt getFrom(Stanza p) {
|
||||
public static DeliveryReceipt getFrom(Message p) {
|
||||
return from(p);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the {@link DeliveryReceipt} extension of the packet, if any.
|
||||
* Get the {@link DeliveryReceipt} extension of the message, if any.
|
||||
*
|
||||
* @param packet the packet
|
||||
* @param message the message.
|
||||
* @return the {@link DeliveryReceipt} extension or {@code null}
|
||||
*/
|
||||
public static DeliveryReceipt from(Stanza packet) {
|
||||
return packet.getExtension(ELEMENT, NAMESPACE);
|
||||
public static DeliveryReceipt from(Message message) {
|
||||
return message.getExtension(ELEMENT, NAMESPACE);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -101,7 +101,7 @@ public class DeliveryReceipt implements PacketExtension
|
|||
|
||||
@Override
|
||||
protected DeliveryReceipt createReturnExtension(String currentElement, String currentNamespace,
|
||||
Map<String, String> attributeMap, List<? extends PacketExtension> content)
|
||||
Map<String, String> attributeMap, List<? extends ExtensionElement> content)
|
||||
{
|
||||
return new DeliveryReceipt(attributeMap.get("id"));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,14 +26,14 @@ import org.jivesoftware.smack.SmackException.NotConnectedException;
|
|||
import org.jivesoftware.smack.XMPPConnection;
|
||||
import org.jivesoftware.smack.ConnectionCreationListener;
|
||||
import org.jivesoftware.smack.Manager;
|
||||
import org.jivesoftware.smack.PacketListener;
|
||||
import org.jivesoftware.smack.StanzaListener;
|
||||
import org.jivesoftware.smack.XMPPConnectionRegistry;
|
||||
import org.jivesoftware.smack.XMPPException;
|
||||
import org.jivesoftware.smack.filter.AndFilter;
|
||||
import org.jivesoftware.smack.filter.MessageTypeFilter;
|
||||
import org.jivesoftware.smack.filter.PacketExtensionFilter;
|
||||
import org.jivesoftware.smack.filter.PacketFilter;
|
||||
import org.jivesoftware.smack.filter.PacketTypeFilter;
|
||||
import org.jivesoftware.smack.filter.StanzaFilter;
|
||||
import org.jivesoftware.smack.filter.StanzaExtensionFilter;
|
||||
import org.jivesoftware.smack.filter.StanzaTypeFilter;
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.Stanza;
|
||||
import org.jivesoftware.smack.roster.Roster;
|
||||
|
|
@ -57,7 +57,7 @@ import org.jxmpp.jid.Jid;
|
|||
* });
|
||||
* Message message = …
|
||||
* DeliveryReceiptRequest.addTo(message);
|
||||
* connection.sendPacket(message);
|
||||
* connection.sendStanza(message);
|
||||
* </pre>
|
||||
*
|
||||
* DeliveryReceiptManager can be configured to automatically add delivery receipt requests to every
|
||||
|
|
@ -68,10 +68,10 @@ import org.jxmpp.jid.Jid;
|
|||
*/
|
||||
public class DeliveryReceiptManager extends Manager {
|
||||
|
||||
private static final PacketFilter MESSAGES_WITH_DEVLIERY_RECEIPT_REQUEST = new AndFilter(PacketTypeFilter.MESSAGE,
|
||||
new PacketExtensionFilter(new DeliveryReceiptRequest()));
|
||||
private static final PacketFilter MESSAGES_WITH_DELIVERY_RECEIPT = new AndFilter(PacketTypeFilter.MESSAGE,
|
||||
new PacketExtensionFilter(DeliveryReceipt.ELEMENT, DeliveryReceipt.NAMESPACE));
|
||||
private static final StanzaFilter MESSAGES_WITH_DEVLIERY_RECEIPT_REQUEST = new AndFilter(StanzaTypeFilter.MESSAGE,
|
||||
new StanzaExtensionFilter(new DeliveryReceiptRequest()));
|
||||
private static final StanzaFilter MESSAGES_WITH_DELIVERY_RECEIPT = new AndFilter(StanzaTypeFilter.MESSAGE,
|
||||
new StanzaExtensionFilter(DeliveryReceipt.ELEMENT, DeliveryReceipt.NAMESPACE));
|
||||
|
||||
private static Map<XMPPConnection, DeliveryReceiptManager> instances = new WeakHashMap<XMPPConnection, DeliveryReceiptManager>();
|
||||
|
||||
|
|
@ -128,10 +128,10 @@ public class DeliveryReceiptManager extends Manager {
|
|||
sdm.addFeature(DeliveryReceipt.NAMESPACE);
|
||||
|
||||
// Add the packet listener to handling incoming delivery receipts
|
||||
connection.addAsyncPacketListener(new PacketListener() {
|
||||
connection.addAsyncStanzaListener(new StanzaListener() {
|
||||
@Override
|
||||
public void processPacket(Stanza packet) throws NotConnectedException {
|
||||
DeliveryReceipt dr = DeliveryReceipt.from(packet);
|
||||
DeliveryReceipt dr = DeliveryReceipt.from((Message) packet);
|
||||
// notify listeners of incoming receipt
|
||||
for (ReceiptReceivedListener l : receiptReceivedListeners) {
|
||||
l.onReceiptReceived(packet.getFrom(), packet.getTo(), dr.getId(), packet);
|
||||
|
|
@ -140,7 +140,7 @@ public class DeliveryReceiptManager extends Manager {
|
|||
}, MESSAGES_WITH_DELIVERY_RECEIPT);
|
||||
|
||||
// Add the packet listener to handle incoming delivery receipt requests
|
||||
connection.addAsyncPacketListener(new PacketListener() {
|
||||
connection.addAsyncStanzaListener(new StanzaListener() {
|
||||
@Override
|
||||
public void processPacket(Stanza packet) throws NotConnectedException, InterruptedException {
|
||||
final Jid from = packet.getFrom();
|
||||
|
|
@ -157,9 +157,9 @@ public class DeliveryReceiptManager extends Manager {
|
|||
break;
|
||||
}
|
||||
|
||||
Message ack = new Message(from, Message.Type.normal);
|
||||
ack.addExtension(new DeliveryReceipt(packet.getStanzaId()));
|
||||
connection.sendPacket(ack);
|
||||
final Message messageWithReceiptRequest = (Message) packet;
|
||||
Message ack = receiptMessageFor(messageWithReceiptRequest);
|
||||
connection.sendStanza(ack);
|
||||
}
|
||||
}, MESSAGES_WITH_DEVLIERY_RECEIPT_REQUEST);
|
||||
}
|
||||
|
|
@ -234,7 +234,7 @@ public class DeliveryReceiptManager extends Manager {
|
|||
receiptReceivedListeners.remove(listener);
|
||||
}
|
||||
|
||||
private static final PacketListener AUTO_ADD_DELIVERY_RECEIPT_REQUESTS_LISTENER = new PacketListener() {
|
||||
private static final StanzaListener AUTO_ADD_DELIVERY_RECEIPT_REQUESTS_LISTENER = new StanzaListener() {
|
||||
@Override
|
||||
public void processPacket(Stanza packet) throws NotConnectedException {
|
||||
Message message = (Message) packet;
|
||||
|
|
@ -288,4 +288,17 @@ public class DeliveryReceiptManager extends Manager {
|
|||
public static String addDeliveryReceiptRequest(Message m) {
|
||||
return DeliveryReceiptRequest.addTo(m);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create and return a new message including a delivery receipt extension for the given message.
|
||||
*
|
||||
* @param messageWithReceiptRequest the given message with a receipt request extension.
|
||||
* @return a new message with a receipt.
|
||||
* @since 4.1
|
||||
*/
|
||||
public static Message receiptMessageFor(Message messageWithReceiptRequest) {
|
||||
Message message = new Message(messageWithReceiptRequest.getFrom(), messageWithReceiptRequest.getType());
|
||||
message.addExtension(new DeliveryReceipt(messageWithReceiptRequest.getStanzaId()));
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,9 +20,9 @@ import java.io.IOException;
|
|||
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.Stanza;
|
||||
import org.jivesoftware.smack.packet.PacketExtension;
|
||||
import org.jivesoftware.smack.packet.ExtensionElement;
|
||||
import org.jivesoftware.smack.packet.id.StanzaIdUtil;
|
||||
import org.jivesoftware.smack.provider.PacketExtensionProvider;
|
||||
import org.jivesoftware.smack.provider.ExtensionElementProvider;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ import org.xmlpull.v1.XmlPullParserException;
|
|||
*
|
||||
* @author Georg Lukas
|
||||
*/
|
||||
public class DeliveryReceiptRequest implements PacketExtension
|
||||
public class DeliveryReceiptRequest implements ExtensionElement
|
||||
{
|
||||
public static final String ELEMENT = "request";
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ public class DeliveryReceiptRequest implements PacketExtension
|
|||
/**
|
||||
* This Provider parses and returns DeliveryReceiptRequest packets.
|
||||
*/
|
||||
public static class Provider extends PacketExtensionProvider<DeliveryReceiptRequest> {
|
||||
public static class Provider extends ExtensionElementProvider<DeliveryReceiptRequest> {
|
||||
@Override
|
||||
public DeliveryReceiptRequest parse(XmlPullParser parser,
|
||||
int initialDepth) throws XmlPullParserException,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue