[guardian-dev] Gibberbot Smack XMPPConnection

Leonid Verhovskij l.verhovskij at creosoft.de
Mon Jun 17 10:20:48 EDT 2013


Hi,

i am trying to integrate file transfer into Gibberbot.

I already tested File transfer with Android-Smack lib successful with
the following code in my test app:

        // Create the file transfer manager
        new ServiceDiscoveryManager(mConnections.get(0).connection);
        //mConnections.get(0).connection is XMPPConnection from Smack
Lib here
        // FileTransferNegotiator.setServiceEnabled(connection, true);
        FileTransferManager manager = new FileTransferManager(
                mConnections.get(0).connection);
        // FileTransferNegotiator.setServiceEnabled(connection, true);

        OutgoingFileTransfer transfer =
manager.createOutgoingFileTransfer(user
                + "/office"); //Hardcoded for testing purpose only

        File file = new File(getRealPathFromURI(selectedImage));

        try {
            transfer.sendFile(file, "Image");
        } catch (XMPPException e) {
            e.printStackTrace();
        }
        while (!transfer.isDone()) {
            if (transfer.getStatus().equals(Status.error)) {
                System.out.println("ERROR!!! " + transfer.getError());
            } else if (transfer.getStatus().equals(Status.cancelled)
                    || transfer.getStatus().equals(Status.refused)) {
                System.out.println("Cancelled!!! " + transfer.getError());
            }
            try {
                Thread.sleep(1000L);

                Log.i("transfer file",
                        "sending file status :- " + transfer.getStatus()
+ " "
                                + "progress:-" + transfer.getProgress());

            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        if (transfer.getStatus().equals(Status.refused)
                || transfer.getStatus().equals(Status.error)
                || transfer.getStatus().equals(Status.cancelled)) {
            System.out
                    .println("refused cancelled error " +
transfer.getError());
        } else {
            System.out.println("Success");
        }

As you can see i use XMPPConnection from Smack Lib, how can i get it in
Gibberbot?
I try to integrate it in
/info/guardianproject/otr/app/im/app/NewChatActivity.java

Thanks for advice.


More information about the Guardian-dev mailing list