X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/f3b2df62dae51496c8c5c9c85ac5a3951ea27978..be28d13d0dfb46df57b8406d9c33651bce18eee9:/lib/src/main/java/org/asamk/signal/manager/RegistrationManagerImpl.java diff --git a/lib/src/main/java/org/asamk/signal/manager/RegistrationManagerImpl.java b/lib/src/main/java/org/asamk/signal/manager/RegistrationManagerImpl.java index bc543d8d..3529154a 100644 --- a/lib/src/main/java/org/asamk/signal/manager/RegistrationManagerImpl.java +++ b/lib/src/main/java/org/asamk/signal/manager/RegistrationManagerImpl.java @@ -73,7 +73,8 @@ class RegistrationManagerImpl implements RegistrationManager { GroupsV2Operations groupsV2Operations; try { - groupsV2Operations = new GroupsV2Operations(ClientZkOperations.create(serviceEnvironmentConfig.getSignalServiceConfiguration())); + groupsV2Operations = new GroupsV2Operations(ClientZkOperations.create(serviceEnvironmentConfig.getSignalServiceConfiguration()), + ServiceConfig.GROUP_MAX_SIZE); } catch (Throwable ignored) { groupsV2Operations = null; } @@ -94,6 +95,12 @@ class RegistrationManagerImpl implements RegistrationManager { @Override public void register(boolean voiceVerification, String captcha) throws IOException, CaptchaRequiredException { + if (account.isRegistered() + && account.getServiceEnvironment() != null + && account.getServiceEnvironment() != serviceEnvironmentConfig.getType()) { + throw new IOException("Account is registered in another environment: " + account.getServiceEnvironment()); + } + if (account.getAci() != null && attemptReactivateAccount()) { return; } @@ -148,6 +155,18 @@ class RegistrationManagerImpl implements RegistrationManager { } } + @Override + public void deleteLocalAccountData() throws IOException { + account.deleteAccountData(); + accountFileUpdater.removeAccount(); + account = null; + } + + @Override + public boolean isRegistered() { + return account.isRegistered(); + } + private boolean attemptReactivateAccount() { try { final var accountManager = new SignalServiceAccountManager(serviceEnvironmentConfig.getSignalServiceConfiguration(),