package de.thedevstack.conversationsplus.services.filetransfer.httpupload; import de.thedevstack.android.logcat.Logging; import de.thedevstack.conversationsplus.entities.Account; import de.thedevstack.conversationsplus.services.filetransfer.FileTransferFailureReason; import de.thedevstack.conversationsplus.xmpp.OnIqPacketReceived; import de.thedevstack.conversationsplus.xmpp.exceptions.XmppException; import de.thedevstack.conversationsplus.xmpp.httpupload.HttpUploadSlot; import de.thedevstack.conversationsplus.xmpp.httpupload.SlotPacketParser; import de.thedevstack.conversationsplus.xmpp.stanzas.IqPacket; /** * */ public class HttpUploadSlotRequestReceived implements OnIqPacketReceived { private final HttpFileTransferEntity entity; public HttpUploadSlotRequestReceived(HttpFileTransferEntity entity) { this.entity = entity; } @Override public void onIqPacketReceived(Account account, IqPacket packet) { try { HttpUploadSlot slot = SlotPacketParser.parseGetAndPutUrl(packet); this.entity.setSlot(slot); if (!this.entity.isCanceled()) { new Thread(new HttpFileUploader(this.entity)).start(); } } catch (XmppException e) { Logging.e("httpupload", e.getMessage()); this.entity.fail(FileTransferFailureReason.createNonRecoverableFailureReason(e)); } } }