X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/2796fff56d74639d8c1c5296a42fea815979f41f..7f21bf0f23294d41653cd5328ce0746b43f68166:/src/main/java/cli/Manager.java diff --git a/src/main/java/cli/Manager.java b/src/main/java/cli/Manager.java index 18224897..fef7c81d 100644 --- a/src/main/java/cli/Manager.java +++ b/src/main/java/cli/Manager.java @@ -122,7 +122,7 @@ class Manager { writer.flush(); writer.close(); } catch (Exception e) { - System.out.println("Saving file error: " + e.getMessage()); + System.err.println("Saving file error: " + e.getMessage()); } } @@ -203,7 +203,7 @@ class Manager { public void verifyAccount(String verificationCode) throws IOException { verificationCode = verificationCode.replace("-", ""); signalingKey = Util.getSecret(52); - accountManager.verifyAccountWithCode(verificationCode, signalingKey, axolotlStore.getLocalRegistrationId()); + accountManager.verifyAccountWithCode(verificationCode, signalingKey, axolotlStore.getLocalRegistrationId(), false); //accountManager.setGcmId(Optional.of(GoogleCloudMessaging.getInstance(this).register(REGISTRATION_ID))); registered = true; @@ -259,7 +259,7 @@ class Manager { if (returnOnTimeout) return; } catch (InvalidVersionException e) { - System.out.println("Ignoring error: " + e.getMessage()); + System.err.println("Ignoring error: " + e.getMessage()); } save(); } @@ -292,8 +292,26 @@ 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(); + } } - tmpFile.delete(); } return outputFile; }