X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/b91abad2b53d74ba5549c95f09835b2f426912ea..ab250030619b2b470d62ce60f462d9b43f5bbab2:/src/main/java/cli/Manager.java diff --git a/src/main/java/cli/Manager.java b/src/main/java/cli/Manager.java index 3f9237fb..846e0dc9 100644 --- a/src/main/java/cli/Manager.java +++ b/src/main/java/cli/Manager.java @@ -51,7 +51,9 @@ class Manager { private final static String URL = "https://textsecure-service.whispersystems.org"; private final static TrustStore TRUST_STORE = new WhisperTrustStore(); - private final static String USER_AGENT = "textsecure-cli"; + public final static String PROJECT_NAME = Manager.class.getPackage().getImplementationTitle(); + public final static String PROJECT_VERSION = Manager.class.getPackage().getImplementationVersion(); + private final static String USER_AGENT = PROJECT_NAME + " " + PROJECT_VERSION; private final static String settingsPath = System.getProperty("user.home") + "/.config/textsecure"; private final static String dataPath = settingsPath + "/data"; @@ -292,11 +294,27 @@ class Manager { } finally { if (output != null) { output.close(); + output = null; } if (!tmpFile.delete()) { System.err.println("Failed to delete temp file: " + tmpFile); } } + if (pointer.getPreview().isPresent()) { + File previewFile = new File(outputFile + ".preview"); + try { + output = new FileOutputStream(previewFile); + byte[] preview = pointer.getPreview().get(); + output.write(preview, 0, preview.length); + } catch (FileNotFoundException e) { + e.printStackTrace(); + return null; + } finally { + if (output != null) { + output.close(); + } + } + } return outputFile; }