package de.thedevstack.conversationsplus.services.filetransfer.httpupload; import de.thedevstack.conversationsplus.Config; import de.thedevstack.conversationsplus.ConversationsPlusApplication; import de.thedevstack.conversationsplus.entities.Message; import de.thedevstack.conversationsplus.services.filetransfer.FileTransferEntity; import de.thedevstack.conversationsplus.xmpp.httpupload.HttpUploadSlot; /** * */ public class HttpFileTransferEntity extends FileTransferEntity { private HttpUploadSlot slot; private final byte[] key; private final boolean delayed; public HttpFileTransferEntity(Message message, boolean delayed) { super(message); this.getMessage().setHttpUploaded(true); this.getMessage().setNoDownloadable(); if (Config.ENCRYPT_ON_HTTP_UPLOADED || message.getEncryption() == Message.ENCRYPTION_AXOLOTL || message.getEncryption() == Message.ENCRYPTION_OTR) { this.key = new byte[48]; ConversationsPlusApplication.getSecureRandom().nextBytes(this.key); this.getFile().setKeyAndIv(this.key); } else { this.key = null; } this.delayed = delayed; } public void setSlot(HttpUploadSlot slot) { this.slot = slot; } public String getGetUrl() { return this.slot.getGetUrl(); } public String getPutUrl() { return this.slot.getPutUrl(); } public byte[] getKey() { return key; } public boolean isDelayed() { return this.delayed; } }