import org.asamk.signal.manager.api.CaptchaRequiredException;
import org.asamk.signal.manager.api.IncorrectPinException;
import org.asamk.signal.manager.api.NonNormalizedPhoneNumberException;
+import org.asamk.signal.manager.api.PinLockMissingException;
import org.asamk.signal.manager.api.PinLockedException;
import org.asamk.signal.manager.api.RateLimitException;
import org.asamk.signal.manager.api.UserAlreadyExistsException;
@Override
public void register(
- final String number, final boolean voiceVerification
+ final String number,
+ final boolean voiceVerification
) throws Error.Failure, Error.InvalidNumber {
registerWithCaptcha(number, voiceVerification, null);
}
@Override
public void registerWithCaptcha(
- final String number, final boolean voiceVerification, final String captcha
+ final String number,
+ final boolean voiceVerification,
+ final String captcha
) throws Error.Failure, Error.InvalidNumber {
if (!Manager.isValidNumber(number, null)) {
throw new SignalControl.Error.InvalidNumber(
@Override
public void verifyWithPin(
- final String number, final String verificationCode, final String pin
+ final String number,
+ final String verificationCode,
+ final String pin
) throws Error.Failure, Error.InvalidNumber {
try (final RegistrationManager registrationManager = c.getNewRegistrationManager(number)) {
registrationManager.verifyAccount(verificationCode, pin);
+ (e.getTimeRemaining() / 1000 / 60 / 60));
} catch (IncorrectPinException e) {
throw new Error.Failure("Verification failed! Invalid pin, tries remaining: " + e.getTriesRemaining());
+ } catch (PinLockMissingException e) {
+ throw new Error.Failure("Account is pin locked, but pin data has been deleted on the server.");
}
}