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