1 package org
.asamk
.signal
.commands
;
3 import net
.sourceforge
.argparse4j
.inf
.Namespace
;
4 import net
.sourceforge
.argparse4j
.inf
.Subparser
;
5 import org
.asamk
.signal
.manager
.Manager
;
6 import org
.whispersystems
.libsignal
.util
.guava
.Optional
;
8 import java
.io
.IOException
;
10 public class SetPinCommand
implements LocalCommand
{
13 public void attachToSubparser(final Subparser subparser
) {
14 subparser
.addArgument("registrationLockPin")
15 .help("The registration lock PIN, that will be required for new registrations (resets after 7 days of inactivity)");
19 public int handleCommand(final Namespace ns
, final Manager m
) {
20 if (!m
.isRegistered()) {
21 System
.err
.println("User is not registered.");
25 String registrationLockPin
= ns
.getString("registrationLockPin");
26 m
.setRegistrationLockPin(Optional
.of(registrationLockPin
));
28 } catch (IOException e
) {
29 System
.err
.println("Set pin error: " + e
.getMessage());