X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/90962296377ad76531191cea7caaad738af00f2f..7b0744ec758b1ccbe3c9ce5a1e6dea5d7e2313da:/src/main/java/org/asamk/signal/commands/ReceiveCommand.java diff --git a/src/main/java/org/asamk/signal/commands/ReceiveCommand.java b/src/main/java/org/asamk/signal/commands/ReceiveCommand.java index ab65f837..ba126f7e 100644 --- a/src/main/java/org/asamk/signal/commands/ReceiveCommand.java +++ b/src/main/java/org/asamk/signal/commands/ReceiveCommand.java @@ -8,6 +8,7 @@ import net.sourceforge.argparse4j.inf.Subparser; import org.asamk.signal.OutputType; import org.asamk.signal.ReceiveMessageHandler; +import org.asamk.signal.Shutdown; import org.asamk.signal.commands.exceptions.CommandException; import org.asamk.signal.commands.exceptions.IOErrorException; import org.asamk.signal.commands.exceptions.UserErrorException; @@ -29,7 +30,7 @@ import java.util.Optional; public class ReceiveCommand implements LocalCommand, JsonRpcSingleCommand { - private final static Logger logger = LoggerFactory.getLogger(ReceiveCommand.class); + private static final Logger logger = LoggerFactory.getLogger(ReceiveCommand.class); @Override public String getName() { @@ -67,6 +68,7 @@ public class ReceiveCommand implements LocalCommand, JsonRpcSingleCommand new JsonReceiveMessageHandler(m, writer); + case PlainTextWriter writer -> new ReceiveMessageHandler(m, writer); + }; final var duration = timeout < 0 ? null : Duration.ofMillis((long) (timeout * 1000)); final var maxMessages = maxMessagesRaw < 0 ? null : maxMessagesRaw; + Shutdown.registerShutdownListener(m::stopReceiveMessages); m.receiveMessages(Optional.ofNullable(duration), Optional.ofNullable(maxMessages), handler); } catch (IOException e) { throw new IOErrorException("Error while receiving messages: " + e.getMessage(), e); @@ -112,5 +117,5 @@ public class ReceiveCommand implements LocalCommand, JsonRpcSingleCommand