From a52e3e635f82fcc907a6dd18f58b9b277e96cc17 Mon Sep 17 00:00:00 2001 From: Matus Kosut Date: Thu, 14 May 2020 17:33:31 +0200 Subject: [PATCH] add message expiration time option to contactUpdate --- .../asamk/signal/commands/UpdateContactCommand.java | 10 ++++++++++ src/main/java/org/asamk/signal/manager/Manager.java | 6 ++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/asamk/signal/commands/UpdateContactCommand.java b/src/main/java/org/asamk/signal/commands/UpdateContactCommand.java index 77f38e5e..6f7f373d 100644 --- a/src/main/java/org/asamk/signal/commands/UpdateContactCommand.java +++ b/src/main/java/org/asamk/signal/commands/UpdateContactCommand.java @@ -15,6 +15,10 @@ public class UpdateContactCommand implements LocalCommand { subparser.addArgument("-n", "--name") .required(true) .help("New contact name"); + subparser.addArgument("-e", "--expiration") + .required(false) + .type(int.class) + .help("Specify expiration time of messages"); subparser.help("Update the details of a given contact"); } @@ -30,6 +34,12 @@ public class UpdateContactCommand implements LocalCommand { try { m.setContactName(number, name); + + int expiration = 0; + if (ns.getInt("expiration") != null) { + expiration = ns.getInt("expiration"); + m.setExpirationTimer(number, expiration); + } } catch (InvalidNumberException e) { System.out.println("Invalid contact number: " + e.getMessage()); } diff --git a/src/main/java/org/asamk/signal/manager/Manager.java b/src/main/java/org/asamk/signal/manager/Manager.java index 1340cd0a..beb52947 100644 --- a/src/main/java/org/asamk/signal/manager/Manager.java +++ b/src/main/java/org/asamk/signal/manager/Manager.java @@ -810,10 +810,12 @@ public class Manager implements Signal { /** * Change the expiration timer for a contact */ - public void setExpirationTimer(SignalServiceAddress address, int messageExpirationTimer) { - ContactInfo c = account.getContactStore().getContact(address); + public void setExpirationTimer(String number, int messageExpirationTimer) throws InvalidNumberException { + ContactInfo c = account.getContactStore().getContact(canonicalizeAndResolveSignalServiceAddress(number)); c.messageExpirationTime = messageExpirationTimer; + System.err.println("Set message expiration " + c.number + " -> " + c.messageExpirationTime + " seconds"); account.getContactStore().updateContact(c); + account.save(); } /**