package net.blay09.mods.eirairc.client.screenshot; import net.blay09.mods.eirairc.api.upload.UploadHoster; import net.blay09.mods.eirairc.api.upload.UploadedFile; import net.blay09.mods.eirairc.config.ClientGlobalConfig; import net.blay09.mods.eirairc.config.ScreenshotAction; public class AsyncUploadScreenshot implements Runnable { private final UploadHoster hoster; private final Screenshot screenshot; private final ScreenshotAction followUpAction; private UploadedFile uploadedFile; private boolean complete; public AsyncUploadScreenshot(UploadHoster hoster, Screenshot screenshot, ScreenshotAction followUpAction) { this.hoster = hoster; this.screenshot = screenshot; this.followUpAction = followUpAction; Thread thread = new Thread(this, "ScreenshotUpload"); thread.start(); } @Override public void run() { uploadedFile = hoster.uploadFile(screenshot.getFile(), ClientGlobalConfig.uploadBufferSize.get()); if(uploadedFile != null) { screenshot.setUploadedFile(uploadedFile); } complete = true; } public boolean isComplete() { return complete; } public ScreenshotAction getFollowUpAction() { return followUpAction; } public Screenshot getScreenshot() { return screenshot; } public UploadedFile getUploadedFile() { return uploadedFile; } }