System.err.println("User is not registered.");
System.exit(1);
}
+ int timeout = ns.getInt("timeout");
+ boolean returnOnTimeout = true;
+ if (timeout < 0) {
+ returnOnTimeout = false;
+ timeout = 5;
+ }
try {
- m.receiveMessages(5, true, new ReceiveMessageHandler(m));
+ m.receiveMessages(timeout, returnOnTimeout, new ReceiveMessageHandler(m));
} catch (IOException e) {
System.err.println("Error while receiving message: " + e.getMessage());
System.exit(3);
.help("Add file as attachment");
Subparser parserReceive = subparsers.addParser("receive");
+ parserReceive.addArgument("-t", "--timeout")
+ .type(int.class)
+ .help("Number of seconds to wait for new messages (negative values disable timeout)");
try {
Namespace ns = parser.parseArgs(args);
if (attachment.isPointer()) {
final TextSecureAttachmentPointer pointer = attachment.asPointer();
System.out.println(" Id: " + pointer.getId() + " Key length: " + pointer.getKey().length + (pointer.getRelay().isPresent() ? " Relay: " + pointer.getRelay().get() : ""));
- System.out.println((pointer.getSize().isPresent() ? " Size: " + pointer.getSize().get() : " bytes") + (pointer.getPreview().isPresent() ? " (Preview is available: " + pointer.getPreview().get().length + " bytes)" : ""));
+ System.out.println(" Size: " + (pointer.getSize().isPresent() ? pointer.getSize().get() + " bytes" : "<unavailable>") + (pointer.getPreview().isPresent() ? " (Preview is available: " + pointer.getPreview().get().length + " bytes)" : ""));
try {
File file = m.retrieveAttachment(pointer);
System.out.println(" Stored plaintext in: " + file);