Throw an exception if FileTransferManager.createOutgoingFileTransfer() was used with a bare JID
Description
The code to throw an Exception was previously active, but got commented out with 10556. And I don't see a reason for that and I also believe that this wasn't a good idea...
createOutgoingFileTransfer() calls StreamNegotiator.negotiateOutgoingTransfer() at one place which is an implementation of XEP-0095. This XEP uses IQ stanzas to negotiate the stream. IQ stanzas to a client entity have to be addressed to a full JID, which is the reason why createOutgoingFileTransfer needs a full JID (This answers the question in the comment).
Smack users are having a hard time finding out why the File Transfer failes if they provided a bare JID to FileTransferManager. Reference 1, Reference 2.
The code to throw an Exception was previously active, but got commented out with 10556. And I don't see a reason for that and I also believe that this wasn't a good idea...
createOutgoingFileTransfer() calls StreamNegotiator.negotiateOutgoingTransfer() at one place which is an implementation of XEP-0095. This XEP uses IQ stanzas to negotiate the stream. IQ stanzas to a client entity have to be addressed to a full JID, which is the reason why createOutgoingFileTransfer needs a full JID (This answers the question in the comment).
Smack users are having a hard time finding out why the File Transfer failes if they provided a bare JID to FileTransferManager. Reference 1, Reference 2.