X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/8bfef24ef787be0e4dee0ca054e6c128afdf0c55..e364610c9304d6770118f36d02f8df74e452a43f:/src/main/java/org/asamk/signal/Manager.java diff --git a/src/main/java/org/asamk/signal/Manager.java b/src/main/java/org/asamk/signal/Manager.java index b16c8eae..d329990d 100644 --- a/src/main/java/org/asamk/signal/Manager.java +++ b/src/main/java/org/asamk/signal/Manager.java @@ -938,10 +938,14 @@ class Manager implements Signal { } break; case REQUEST_INFO: - try { - sendUpdateGroupMessage(groupInfo.getGroupId(), source); - } catch (IOException | EncapsulatedExceptions e) { - e.printStackTrace(); + if (group != null) { + try { + sendUpdateGroupMessage(groupInfo.getGroupId(), source); + } catch (IOException | EncapsulatedExceptions e) { + e.printStackTrace(); + } catch (NotAGroupMemberException e) { + // We have left this group, so don't send a group update message + } } break; } @@ -1320,8 +1324,12 @@ class Manager implements Signal { if (output != null) { output.close(); } - if (!tmpFile.delete()) { - System.err.println("Failed to delete temp file: " + tmpFile); + input.close(); + try { + Files.delete(tmpFile.toPath()); + } catch(Exception e) { + System.out.println("Failed to delete temp file: " + tmpFile); + e.printStackTrace(); } } return outputFile; @@ -1367,13 +1375,17 @@ class Manager implements Signal { if (groupsFile.exists() && groupsFile.length() > 0) { FileInputStream contactsFileStream = new FileInputStream(groupsFile); - SignalServiceAttachmentStream attachmentStream = SignalServiceAttachment.newStreamBuilder() - .withStream(contactsFileStream) - .withContentType("application/octet-stream") - .withLength(groupsFile.length()) - .build(); - - sendSyncMessage(SignalServiceSyncMessage.forGroups(attachmentStream)); + try { + SignalServiceAttachmentStream attachmentStream = SignalServiceAttachment.newStreamBuilder() + .withStream(contactsFileStream) + .withContentType("application/octet-stream") + .withLength(groupsFile.length()) + .build(); + + sendSyncMessage(SignalServiceSyncMessage.forGroups(attachmentStream)); + } finally { + contactsFileStream.close(); + } } } finally { groupsFile.delete();