X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/5cccf521032954d7ad8e3f70e3cbef2ce1293e85..f7f882e834f33702e4cc36d9a20e0a89ed76dec8:/lib/src/main/java/org/asamk/signal/manager/MultiAccountManager.java diff --git a/lib/src/main/java/org/asamk/signal/manager/MultiAccountManager.java b/lib/src/main/java/org/asamk/signal/manager/MultiAccountManager.java index 9f1cf2fd..15b60594 100644 --- a/lib/src/main/java/org/asamk/signal/manager/MultiAccountManager.java +++ b/lib/src/main/java/org/asamk/signal/manager/MultiAccountManager.java @@ -1,58 +1,13 @@ package org.asamk.signal.manager; -import org.asamk.signal.manager.api.AccountCheckException; -import org.asamk.signal.manager.api.NotRegisteredException; -import org.asamk.signal.manager.config.ServiceEnvironment; -import org.asamk.signal.manager.storage.identities.TrustNewIdentity; -import org.slf4j.LoggerFactory; -import org.whispersystems.signalservice.api.util.PhoneNumberFormatter; - -import java.io.File; import java.io.IOException; import java.net.URI; -import java.util.Arrays; import java.util.List; -import java.util.Objects; import java.util.concurrent.TimeoutException; import java.util.function.Consumer; public interface MultiAccountManager extends AutoCloseable { - static MultiAccountManager init( - final File settingsPath, - final ServiceEnvironment serviceEnvironment, - final String userAgent, - final TrustNewIdentity trustNewIdentity - ) { - final var logger = LoggerFactory.getLogger(MultiAccountManager.class); - final var managers = getAllLocalAccountNumbers(settingsPath).stream().map(a -> { - try { - return Manager.init(a, settingsPath, serviceEnvironment, userAgent, trustNewIdentity); - } catch (NotRegisteredException | IOException | AccountCheckException e) { - logger.warn("Ignoring {}: {} ({})", a, e.getMessage(), e.getClass().getSimpleName()); - return null; - } - }).filter(Objects::nonNull).toList(); - - return new MultiAccountManagerImpl(managers, settingsPath, serviceEnvironment, userAgent); - } - - static List getAllLocalAccountNumbers(File settingsPath) { - var pathConfig = PathConfig.createDefault(settingsPath); - final var dataPath = pathConfig.dataPath(); - final var files = dataPath.listFiles(); - - if (files == null) { - return List.of(); - } - - return Arrays.stream(files) - .filter(File::isFile) - .map(File::getName) - .filter(file -> PhoneNumberFormatter.isValidNumber(file, null)) - .toList(); - } - List getAccountNumbers(); List getManagers();