From: AsamK Date: Tue, 7 Jul 2015 10:07:01 +0000 (+0200) Subject: Correctly send to multiple recipients X-Git-Tag: v0.0.2~7 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/01702276c580c5b07c36d1e1240f1760a4b3e0ec Correctly send to multiple recipients --- diff --git a/src/main/java/cli/Main.java b/src/main/java/cli/Main.java index adeb5262..35b7c254 100644 --- a/src/main/java/cli/Main.java +++ b/src/main/java/cli/Main.java @@ -21,9 +21,10 @@ import net.sourceforge.argparse4j.impl.Arguments; import net.sourceforge.argparse4j.inf.*; import org.apache.commons.io.IOUtils; import org.whispersystems.textsecure.api.TextSecureMessageSender; -import org.whispersystems.textsecure.api.crypto.UntrustedIdentityException; import org.whispersystems.textsecure.api.messages.*; import org.whispersystems.textsecure.api.messages.multidevice.TextSecureSyncMessage; +import org.whispersystems.textsecure.api.push.TextSecureAddress; +import org.whispersystems.textsecure.api.push.exceptions.EncapsulatedExceptions; import org.whispersystems.textsecure.api.util.InvalidNumberException; import java.io.File; @@ -150,13 +151,20 @@ public class Main { messageBuilder.withAttachments(textSecureAttachments); } TextSecureDataMessage message = messageBuilder.build(); + + List recipients = new ArrayList<>(ns.getList("recipient").size()); for (String recipient : ns.getList("recipient")) { try { - messageSender.sendMessage(m.getPushAddress(recipient), message); - } catch (UntrustedIdentityException | IOException | InvalidNumberException e) { - System.out.println("Failed to send message to \"" + recipient + "\": " + e.getMessage()); + recipients.add(m.getPushAddress(recipient)); + } catch (InvalidNumberException e) { + System.out.println("Failed to send message to \"" + recipient + "\": " + e.getMessage()); } } + try { + messageSender.sendMessage(recipients, message); + } catch (IOException | EncapsulatedExceptions e) { + System.out.println("Failed to send message: " + e.getMessage()); + } break; case "receive": if (!m.isRegistered()) {