From 5dc37ab2394785d6b5329d0c6ff2653eb24dcaca Mon Sep 17 00:00:00 2001 From: vanitasvitae Date: Wed, 21 Jun 2017 18:03:31 +0200 Subject: [PATCH] Fixed some sending issues --- .../jingle_filetransfer/IncomingJingleFileOffer.java | 1 + .../jingle_filetransfer/JingleFileTransferManager.java | 10 +++++++++- .../jingle_ibb/JingleIBBTransportManager.java | 3 +++ .../jingle_s5b/JingleS5BTransportManager.java | 3 +++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/IncomingJingleFileOffer.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/IncomingJingleFileOffer.java index 5b37f4da2..66e12776f 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/IncomingJingleFileOffer.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/IncomingJingleFileOffer.java @@ -57,6 +57,7 @@ public class IncomingJingleFileOffer extends JingleFileTransferSession implement public IncomingJingleFileOffer(XMPPConnection connection, FullJid initiator, String sid) { super(connection, initiator, connection.getUser().asFullJidOrThrow(), Role.responder, sid, Type.offer); + state = State.fresh; } public IncomingJingleFileOffer(XMPPConnection connection, Jingle request) { diff --git a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferManager.java b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferManager.java index d0a45ae76..4ac2f79b1 100644 --- a/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferManager.java +++ b/smack-experimental/src/main/java/org/jivesoftware/smackx/jingle_filetransfer/JingleFileTransferManager.java @@ -22,7 +22,9 @@ import java.util.Collections; import java.util.WeakHashMap; import org.jivesoftware.smack.Manager; +import org.jivesoftware.smack.SmackException; import org.jivesoftware.smack.XMPPConnection; +import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; import org.jivesoftware.smackx.jingle.JingleHandler; @@ -32,10 +34,12 @@ import org.jivesoftware.smackx.jingle.element.Jingle; import org.jivesoftware.smackx.jingle.element.JingleAction; import org.jivesoftware.smackx.jingle.element.JingleContent; import org.jivesoftware.smackx.jingle.element.JingleContentDescriptionChildElement; +import org.jivesoftware.smackx.jingle.provider.JingleContentProviderManager; import org.jivesoftware.smackx.jingle_filetransfer.callback.IncomingFileOfferCallback; import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransfer; import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChild; import org.jivesoftware.smackx.jingle_filetransfer.listener.JingleFileTransferOfferListener; +import org.jivesoftware.smackx.jingle_filetransfer.provider.JingleFileTransferProvider; import org.jxmpp.jid.FullJid; @@ -53,6 +57,8 @@ public final class JingleFileTransferManager extends Manager implements JingleHa ServiceDiscoveryManager.getInstanceFor(connection).addFeature(JingleFileTransfer.NAMESPACE_V5); JingleManager jingleManager = JingleManager.getInstanceFor(connection); jingleManager.registerDescriptionHandler(JingleFileTransfer.NAMESPACE_V5, this); + JingleContentProviderManager.addJingleContentDescriptionProvider( + JingleFileTransfer.NAMESPACE_V5, new JingleFileTransferProvider()); jutil = new JingleUtil(connection); } @@ -65,7 +71,9 @@ public final class JingleFileTransferManager extends Manager implements JingleHa return manager; } - public void sendFile(FullJid recipient, File file) { + public void sendFile(FullJid recipient, File file) + throws InterruptedException, XMPPException.XMPPErrorException, + SmackException.NotConnectedException, SmackException.NoResponseException { OutgoingJingleFileOffer offer = new OutgoingJingleFileOffer(connection(), recipient); offer.send(file); } diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/transports/jingle_ibb/JingleIBBTransportManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/transports/jingle_ibb/JingleIBBTransportManager.java index 63a591a5a..bf93aa7b9 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/transports/jingle_ibb/JingleIBBTransportManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/transports/jingle_ibb/JingleIBBTransportManager.java @@ -27,9 +27,11 @@ import org.jivesoftware.smackx.bytestreams.BytestreamSession; import org.jivesoftware.smackx.bytestreams.ibb.InBandBytestreamManager; import org.jivesoftware.smackx.jingle.element.Jingle; import org.jivesoftware.smackx.jingle.element.JingleContentTransport; +import org.jivesoftware.smackx.jingle.provider.JingleContentProviderManager; import org.jivesoftware.smackx.jingle.transports.JingleTransportInitiationCallback; import org.jivesoftware.smackx.jingle.transports.JingleTransportManager; import org.jivesoftware.smackx.jingle.transports.jingle_ibb.element.JingleIBBTransport; +import org.jivesoftware.smackx.jingle.transports.jingle_ibb.provider.JingleIBBTransportProvider; import org.jxmpp.jid.FullJid; @@ -42,6 +44,7 @@ public final class JingleIBBTransportManager extends JingleTransportManager