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
.OutputWriter
;
7 import org
.asamk
.signal
.commands
.exceptions
.CommandException
;
8 import org
.asamk
.signal
.commands
.exceptions
.IOErrorException
;
9 import org
.asamk
.signal
.commands
.exceptions
.UnexpectedErrorException
;
10 import org
.asamk
.signal
.manager
.Manager
;
11 import org
.whispersystems
.libsignal
.util
.guava
.Optional
;
12 import org
.whispersystems
.signalservice
.internal
.contacts
.crypto
.UnauthenticatedResponseException
;
14 import java
.io
.IOException
;
16 public class RemovePinCommand
implements LocalCommand
{
18 public RemovePinCommand(final OutputWriter outputWriter
) {
21 public static void attachToSubparser(final Subparser subparser
) {
22 subparser
.help("Remove the registration lock pin.");
26 public void handleCommand(final Namespace ns
, final Manager m
) throws CommandException
{
28 m
.setRegistrationLockPin(Optional
.absent());
29 } catch (UnauthenticatedResponseException e
) {
30 throw new UnexpectedErrorException("Remove pin failed with unauthenticated response: " + e
.getMessage());
31 } catch (IOException e
) {
32 throw new IOErrorException("Remove pin error: " + e
.getMessage());