X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/8bfef24ef787be0e4dee0ca054e6c128afdf0c55..ae3e5be1241b3ae9d27fff950c3bb54bdcdc32e7:/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..77647d27 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,6 +1324,7 @@ class Manager implements Signal { if (output != null) { output.close(); } + input.close(); if (!tmpFile.delete()) { System.err.println("Failed to delete temp file: " + tmpFile); } @@ -1367,13 +1372,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();